STM32驱动D芯片DAC7617.docVIP

  • 52
  • 0
  • 约3.92万字
  • 约 10页
  • 2016-12-03 发布于河南
  • 举报
STM32驱动D芯片DAC7617

STM32驱动DAC7617 这是本人第一次根据时序图写程序,完成后的确是有点成就感的。所以记录下这次驱动的经历,聊以慰藉。 DAC7617是块四路串行输入 12位电压输出的数模转换器芯片,低功耗,单电源供电,使用很方便。从TI公司那里申请了两块,本来还申请其他型号的16位的,但是被拒绝了,只这两片成功了。 芯片到手后搜索了些资料,下载了芯片手册,对照着手册焊出了电路。手册上说供电用3V的,参考电压才1.25V。但是我系统板上的电源是5V或者3.3V的,而且1.25V的参考电压不容易得到。我手头上有3.3V和2.5V的AMS1117稳压芯片,于是我就用上这两块稳压芯片,把供电电压改成3.3V,参考电压改成2.5V。硬件原理图如图1: 图1 首先看看手册,了解一下芯片,都是英文的,大概看懂了一些,主要看引脚的功能,和时序的描述,然后把引脚都注释上中文,方便查阅。引脚功能如图2: 图2 接着就是看懂时序图开始写程序,时序图是这样叙述的:发送数据前,LOADREG先从低电平置为高电平,然后CS从高电平变为低电平,开始传输数据,CLK先从高电平置为低电平,然后传输一位数据,CLK置高,上升沿让这位数据进位,然后再如此传输接下来的15位数据;传送完16位数据把CS置高电平,最后LOADREG置为低电平把数据锁存到DAC寄存器。如此便完成了一次DA传输。时序图如图3: 图3 DAC16位寄存器的说明:第十五位和第十六位A1和A0为DAC通道选择通道,共4个通道,十三位和十四为无效,第零位到第十二位为DAC值寄存器,值为0-4096;通道说明如图4: 图4 程序源码: /********************************************************************************* ** 文件名: mian.c ** 库函数版本 V3.5.0 ** 工作环境: RealView MDK-ARM 4.20 ** 修改: 韦冬成 ** 生成日期: 2011-07-25 ** 功能: DAC7617E驱动测试 ** 说明: 3.3V供电,2.5V参考电压,0对应0V,2048对应1.25V,4095对应最大值2.50V ** 因此计算公式应为AD_Out = (2.50/4095)*N; *********************************************************************************/ /* 包含头文件*******************************************************************/ #include stm32f10x.h #include stdio.h #include DAC7617E.h /* 类型声明 --------------——----------------------------------------------------*/ /* 宏定义 --------------——------------------------------------------------------*/ /* 变量 --------------——--------------------------------------------------------*/ /* 函数声明 -----------------------------------------------------------------*/ /* 函数功能 ------------------------------------------------------------------*/ /******************************************************************************* ** 函数名称: main ** 函数说明: 主函数 ** 输入参数: 无 ** 输出参数: 无 ** 返回参数: 无 *******************************************************************************/ int main(void) { #ifdef DEBUG debug(); #endif SystemInit(); /* 系统初始化 */ DAC7617E_Configuration(); DAC7617E_Set_Value(0,2048); /* 通道A输出2048对应1.25V*/

文档评论(0)

1亿VIP精品文档

相关文档