DAC完全资料含STM驱动源码_第1页
DAC完全资料含STM驱动源码_第2页
DAC完全资料含STM驱动源码_第3页
DAC完全资料含STM驱动源码_第4页
DAC完全资料含STM驱动源码_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DAC8760资料特性16位DAC+10V 至+36V 单电源,或者±18V 的双电源供电输出电流:4-20mA 或 0-20mA 或 0-24mA输出电压:0-5V 或 0-10V 或 ±5V 或 ±10V ,可以通过设置寄存器超出量程10%的范围.同步电压和电流输出可靠特性CRC校验看门狗过热告警开路告警,适中电流限制其它加电复位功能,以确保在一个已知状态中加电(IOUT 和VOUT 被禁用,并且处于高阻抗(Hi-Z) 状态)CLR 和CLR-SEL 引脚可将输出设定为0增益寄存器可被设定为对器件进行数字校准输出转换率也由寄存器设定芯片管脚功能1 AVSS 在

2、双电源供电,模拟电源负极。连接到GND做单电源供电2 DVDD 数字电源。DVDD-EN悬空时DVDD输出+4.6V,DVDD-EN接地时DVDD连接外部+5V电源3 /ALARM 报警引脚。开漏输出。外接10K上拉电阻。当检测到报警状态(超温断路,超时等等)该引脚警报拉低(主动)4 GND 5 CLR-SEL 选用上电复位清除VOUT状态6 CLR 清除输入。此引脚高电平时进入CLEAR状态,使VOUT=07 LATCH DAC寄存器的输入锁存。输入移位寄存器在此脚的上升沿将数据加载到数据寄存器和控制寄存器以更新DAC的输出。此脚在SCLK的第24个时钟之前置低,之后置高更新输出,此脚功能类

3、似于片选8 SCLK 串行时钟输入。速率可高达30MHz9 DIN 串行数据输入。数据在串行时钟输入的每个上升沿被计时至24位输入移位寄存器10 SDO 串行数据输出。数据在SCLK的上升沿有效11 GND 12 GND 13 ISET-R 外部精密电阻连接引脚(15K)。看到这个数据表操作部分的理论14 REFOUT 内部参考输出。连接至REFIN时使用内部参考15 REFIN 参考输入16 DVDD-EN 内部电源使能。此引脚连接到GND禁用内部供应,或离开这个引脚无关,使内部供应。该引脚时连接到GND,外部电源必须连接到的DVDD引脚17 CMP 外部补偿电容连接销(可选)。另外的外部电

4、容器(连接在VOUT和这个引脚)提高了稳定性与高电容负载在VOUT引脚通过降低输出放大器的带宽,从而增加沉降时间。18 HART-IN HART调制输入引脚19 IOUT 电流输出引脚20 BOOST 提高销。外部晶体管连接(可选)。21 VOUT 电压输出引脚22 +VSENSE 为正电压输出负载连接针感23 -VSENSE 对于负电压输出负载连接针感 24 AVDD 正模拟电源简单的测试电路理想输出电压为通讯时序写模式时序回读模式时序SPI移位寄存器默认的框架是24位的(使用CRC校验则是32位数据模式)数据模式,数据高位在前,第个数据都在时钟SCLK的上升沿被锁存。默认的24位输入模式是

5、由一个8位地址加上一个16位数据组成在24个时钟周期之后LATCH引脚的上升沿将输入的数据锁存,并更新输出状态。上电复位后SPI移位寄存器复位到000000h地址写操作地址读操作读操作的地址字节是0x02。跟着读操作命令寻址的寄存器。从寄存器中读出地址或数据。读寄存器输出的数据高位在前, SDO在SCLK的下降沿连续输出数据,MCU在下一个SCLK的上升沿读取SDO上的数据。指令和寄存器映射DACx760寄存器描述控制寄存器该DACx760控制寄存器写入地址0x55。配置寄存器该DACx760配置寄存器写入地址0x57。DAC寄存器DAC寄存器包含一个数据寄存器一个DAC增益校准寄存器和一个D

6、AC零校准寄存器. 用户校准在用户校准部分描述,可以微调系统增益和零误差DAC数据寄存器DAC增益校准寄存器DAC零校准寄存器复位寄存器该DACx760复位寄存器写入地址0x56。状态寄存器此只读寄存器由四个报警状态位(CRC-FLT, WD-FLT, I-FLT, T-FLT)和SR-ON位显示转换率状态。该装置连续监视输出和模块温度。当报警发生时,对应的报警状态位置1。每当一个报警状态位被设置,直到造成问题的事件被解决。报警位只能通过执行软复位清除,或上电复位,或错误已经解决了。这些位是重申如果报警条件继续在下一监测周期存在。报警位置“0”的条件是当错误解决了。设置输出电压和电流范围在正常

7、模式下的电压和电流输出(VOUT和IOUT不同时启用)。当输出电压和输出电流的同时启用(双输出模式)通过设置配置寄存器中的DUAL OUTEN位,电压输出范围在控制寄存器的RANGE位设置,电流输出范围在配置寄存器中的IOUT RANGE位设置。 内部参考电源DACx760包括一个集成的5V参考电源(REFOUT),有5mA的驱动能力,初始精度为±5 mV。数字电源内部产生4.6v电压输出,具有10mA驱动能力,可悬空DVD-EN引脚使DVDD引脚上输出。这个供电缓解了系统的电源设计时的隔离需要交叉产生的数字电源。它可以用来驱动隔离组件用于数字数据线和其它部件。如果选择外部电源给DV

8、DD引脚供电,可以通过把DVD-EN引脚接到GND。DAC CLEARDAC具有异步清零功能,通过将CLR引脚置高电平,允许输出电压被清除为零或中值。这动作是用户通过选择CLR-SEL引脚和设置控制寄存器的CLRSEL位决定的。电流输出的值清除到最小范围。当CLR信号返回到低,输出保持在清理后的值。清除前的值可以通过LATCH信号在没有任何时钟和数据恢复。一个新的值不会被编程到CLR引脚返回到低。要注意的是,在双输出模式,DAC数据寄存器的值被清除之后,设置电压输出模式。除了定义一个明确的操作的输出值, 该CLRSEL位和CLR-SEL引脚也定义默认值。一个新的电压范围在选择,输出值对应于表1

9、4中给出的定义。为了避免在输出毛刺,写一个0到OUTEN位改变之前禁用输出电压范围。当OUTEN位设置为1时,输出到默认值由CLRSEL位和CLR-SEL引脚定义。电源顺序DACx760具有内部上电复位(POR)功能,有数字DVDD和模拟AVDD两个供电电路。这个电路可以确保内部逻辑上电状态的DAC电源上升到适当的状态独立的电源序列。虽然没有所需的电源上电顺序,建议先有数字的DVDD供电上来,然后由模拟电源AVDD和AVSS。如果使用双电源供电时AVSS接电源的负极,否则,AVSS连接到GND。上电复位.检测报警该模块还提供报警检测功能。当下列一个或多个事件发生时,报警引脚变为低电平电流输出负

10、载开路在电流输出电压达到一定的水平,对输出电流的精度受到损害。这种情况通过监测电流输出电路内部电压水平检测并通常低于指定的遵从电压余量(指AVDD和IOUT引脚之间的电压降)至少2V模块的温度已超过142°C看门狗定时器超时(如果已启用)CRC校验时遇到一个错误(如果已启用)看门狗定时器此功能是用于确保主处理器和DACx760之间的联络不丢失。可以通过设置配置寄存器的WDEN位置1启用”。看门狗超时周期可以设置配置寄存器的WDPD位,如下表所示。定时器的周期是基于一个内部振荡器在8MHz时的典型值如果启用,该芯片必须通过SPI为0x95地址写入的装置程序超时时间。否则,ALARM引脚

11、被拉低并且状态寄存器的WD-FLT位设置为“1”。要注意的是,ALARM引脚可以拉低任何条件不同解释的报警检测部分。可以通过软件复位将WD-FLT位复位到“0”,或通过禁用看门狗定时器,或通过关闭装置。帧错误检测如果DACx760在嘈杂的环境中使用,错误检查可用于检查该设备与主处理器之间的SPI通信数据的完整性。这个功能可以通过将配置寄存器的CRCEN位设置为“1”启用。帧错误检测方案是基于CRC-8-ATM (HEC)多项式X8 + x2 + x + 1(即,100000111)。当错误检查已启用,SPI的宽度是32位,如下表所示。从默认的24位帧使用帧错误检测并通过CRCEN位切换到32位

12、的框架。主处理器正常的24位SPI数据被追加的8位CRC多项式,然后传给设备。从寄存器读出,CRC多项式在通过器件SDO引脚输出成为32位框架的一部分。DACx760解码的32位输入帧数据来计算CRC余数。如果没有错误帧存在,CRC余数为零。当余数非零,ALARM引脚拉低且状态寄存器CRC-FLT位也被置为1。要注意的是,ALARM引脚可以拉低任何不同的条件,这在报警检测部分有解释。可以通过软件复位将CRC-FLT位复位到0,或通过禁用帧错误检查,或给设备断电。在CRC错误的情况下,特定的SPI框架是禁止写入设备。用户校准可编程的转换率读状态寄存器 0X200000读数据寄存器 0X20000

13、1读控制寄存器 0X200002读配置寄存器 0X20000B读增益校准寄存器 0X200013读零校准寄存器 0X200017写复位寄存器 0X560001写数据寄存器 0X01 + 16位DAC数据写控制寄存器 0X55 + (1<<14) 增加输出范围10% + (1<<13) 外部电流设置电阻使能 + (1<<12) 输出使能 + 000 电压输出范围(000,0-5V;001, 0-10V)写配置寄存器 0X57 + (00<<9) 电流输出范围(01,4-20mA;10,0-20mA;11,0-24mA) + (1<<8)

14、 双输出使能 + (1<<5) 用户校准功能开启 + (1<<3) CRC校验+ (1<<2) 使能看门狗 + 00 看门狗定时周期(00,10mS; 01,51mS;10,102mS;11,204mS)写增益校准寄存器 0X58 + 16位数据写零校准寄存器 0X59 + 16位数据写看门狗寄存器 0X95 + ? 电压输出范围0-5V, 电流输出范围0-24mA,以下是PCB截图.以下是在STM32F103上测试通过的程序,(72M系统时钟)/库文件名: dac8760.h#ifndef _dac8760_H#define _dac8760_H#incl

15、ude "stm32f10x.h"/*/以下是使用到的SPI通讯端口,需要根据实际连接情况进行配置#define DAC8760_GPIO GPIOA#define DAC8760_RCC RCC_APB2Periph_GPIOA#define DAC8760_DIN GPIO_Pin_11 /写数据线#define DAC8760_SCK GPIO_Pin_12 /时钟线#define DAC8760_LAT GPIO_Pin_13 /使能线#define DIN_1 GPIO_SetBits(DAC8760_GPIO, DAC8760_DIN) #define DIN_

16、0 GPIO_ResetBits(DAC8760_GPIO, DAC8760_DIN)#define SCK_1 GPIO_SetBits(DAC8760_GPIO, DAC8760_SCK) #define SCK_0 GPIO_ResetBits(DAC8760_GPIO, DAC8760_SCK)#define LAT_1 GPIO_SetBits(DAC8760_GPIO, DAC8760_LAT) #define LAT_0 GPIO_ResetBits(DAC8760_GPIO, DAC8760_LAT)/*#define V_0_5 0x0000 /电压范围0-5V#define

17、 V_0_10 0x0001 /电压范围0-10V#define I_4_20 (u16)(1<<9) /电流范围4-20mA#define I_0_20 (u16)(2<<9) /电流范围0-20mA#define I_0_24 (u16)(3<<9) /电流范围0-24mA/*extern void DAC8760_Init(void);extern void DAC8760_Out(u16 dat);#endif/文件名: dac8760.c/*DAC8760控制程序*/#include "stm32f10x.h"#include

18、"dac8760.h"/*void DAC8760_Write(u8 add,u16 dat);void DAC8760_Config(void);/u16 DAC8760_Read(u16 add);void DAC8760_Init(void);void DAC8760_Out(u16 dat);/*void DAC8760_Write(u8 add,u16 dat)/写寄存器u8 i;u8 h_8bit, l_8bit;h_8bit=(dat>>8)&0x00FF;/取高8位数据 l_8bit=dat&0x00FF; /取低8位数据LAT_

19、0;for(i=8;i>0;i-)/写8位地址SCK_0;if(add&0x80)DIN_1;elseDIN_0;SCK_1;add<<=1;for(i=8;i>0;i-)/写高8位数据SCK_0;if(h_8bit&0x80)DIN_1;elseDIN_0;SCK_1;h_8bit<<=1;for(i=8;i>0;i-)/写低8位数据SCK_0;if(l_8bit&0x80)DIN_1;elseDIN_0;SCK_1;l_8bit<<=1;LAT_1;DIN_1;/*u16 DAC8760_Read(u16 add)/00 读状态寄存器, 01 读数据寄存器, 02 读控制寄存器, 0B 读配置寄存器u16 i,dat;DAC8760_Write(0x02,add);LAT_0;for(i=8;i>0;i-)/前8位数据无效SCK_0;_nop();SCK_1;_nop();dat=0;for(i=16;i>0;i-)SCK_0;dat<<=1;SCK_1;dat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论