DAC7724数模转换芯片小结

DAC7724的主要特点

    DAC7724是TI公司生产的12位并行输入4通道D/A转换器,该转换器具有以下特征:
    ◇±15V以内的双电源工作;
    ◇输出电压:VREFL~VREFH,VREF:-10~+10V;
    ◇采用12位并口输入和4通道隔离输出方式;
    ◇可以上电自动复位;
    ◇转换速率快,更新率为1 MHz;
    ◇工作温度范围在-40~85℃的范围内。

内部结构及引脚说明

 结构原理

    DAC7724的内部结构如图1所示,它带有双缓冲区的逻辑电路,可以同时更新4个通道的数据,另外,它还具有回读电路,可以读取内部寄存器的内容。器件中的各输入寄存器(Input Register)均为电平触发,并可由A0、A1、 a1.jpg a2.jpg 四个信号控制。当 a1.jpg a2.jpg 为低电平时,可以向输入寄存器写数据,具体写入哪个数据由A0和A1决定。DAC寄存器(DAC Register)随着输入寄存器的更新而更新,输出通道(Vout)是否输出则由控制信号 a3.jpg 决定,当 a3.jpg 为低电平时,各通道皆输出相应电压,而当 a3.jpg 为高电平时,各通道的输入数据便被锁存在DAC寄存器中。因此,设计时可以通过控制A0、A1、 a1.jpg a2.jpg a3.jpg 来使 a3.jpg 为高电平,再依次修改A、B、C、D四通道数据;然后再使 a3.jpg 为低电平,从而完成四通道同时输出。每个通道的输出电压为:
     a.JPG
    其中,VREFL为负参考电压,VREFH为正参考电压,N为微处理器输出二进制数,N的取值范围是0~4096。


引脚分布图                                                                       引脚描述图

   
  

时序图

 

快速使用步骤 

1、引脚初始化
   
   
  1. void DAC7724_Init(void)
  2. {
  3. GPIO_InitTypeDef GPIO_InitStructure;
  4. RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOA, ENABLE);//使能GPIO_C时钟
  5. /*初始化DAC的RW/CS/A1/A0/RESET/LDAC等6个引脚*/
  6. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8| GPIO_Pin_9| GPIO_Pin_10| GPIO_Pin_11|GPIO_Pin_12| GPIO_Pin_13;
  7. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
  8. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//输出频率100M
  9. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;//上拉
  10. GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化
  11. /*初始化12位数据线*/
  12. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0| GPIO_Pin_1|GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4|GPIO_Pin_5| GPIO_Pin_6| 
  13. GPIO_Pin_7|GPIO_Pin_8| GPIO_Pin_9 | GPIO_Pin_10| GPIO_Pin_11;
  14. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  15. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  16. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;
  17. GPIO_Init(GPIOA, &GPIO_InitStructure);
  18. GPIO_ResetBits(GPIOA,GPIO_Pin_0| GPIO_Pin_1|GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4|GPIO_Pin_5| GPIO_Pin_6| GPIO_Pin_7|
  19. GPIO_Pin_8| GPIO_Pin_9 | GPIO_Pin_10| GPIO_Pin_11);
  20. /*复位DAC7724*/
  21. GPIO_SetBits(GPIOC,GPIO_Pin_12);
  22. GPIO_ResetBits(GPIOC,GPIO_Pin_8| GPIO_Pin_9| GPIO_Pin_10| GPIO_Pin_11| GPIO_Pin_13);
  23. }
A0和A1是控制4路DAC输出通道哪一路控制?
 
 2、MCU向12位数据线写数据实现对DAC7724的数字输入(这里以通道A/B为例)
   
   
  1. /* speed 为数字量输入
  2. * num==1为通道B输出
  3. * num==0位通道A输出
  4. */
  5. void DAC7724_Write(u16 speed,u8 num)
  6. {
  7. u8 i;
  8. LDAC=1;        //寄存器输出锁存
  9. if(num==1)     //判断几号通道输出
  10. A0=1;
  11. speed&=0x0fff;
  12. for(i=0;i<12;i++)
  13. DB(i)=(speed>>i)&0x0001;    //数据线赋值
  14. LDAC=0;                     //关闭寄存器锁存,输出DAC转换值
  15. // GPIO_ResetBits(GPIOC,GPIO_Pin_8| GPIO_Pin_9| GPIO_Pin_10| GPIO_Pin_11| GPIO_Pin_13);//拉低控制信号
  16. }
注意:
1、LDAC高电平为寄存器锁存状态,不输出DAC转换值,低电平输出DAC转化值。
2、speed范围为0-4095,num=0则为A通道输出,num=1则为B通道输出
3、假如参考电压为10V,则将10V电压等分为4095份,0-4095代表0-10v输出

详细图文见一下链接

DAC7724


  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值