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

提交評論