文-沙鷗
1.電流信號輸出的優勢
話說到工業控制上的模擬信號,一般來說最常見的不過就是電壓信號和電流信號,不過電流信號相比于電壓信號卻有著太多的優勢了:
電流信號不受交流感應的影響,干擾問題易于解決。
電流信號不受傳輸線中的電感、電容等參數變化的影響。
長距離傳輸信號衰減小,在10到100米的距離內有很好的傳輸效果,而電壓信號只適合于短距離的傳輸,且易受電磁干擾的影響。
正因為有著這么多優勢,所以電流信號應用廣泛。作為自控開發攻城獅來說在工作中會經常使用到電流信號,比如將來自儀表輸出的4-20mA的信號采集到處理器里面,這個顯然不難,那么有個問題,假設控制器想要輸出4(0)-20mA的電流信號給其他設備,該怎么實現呢?這個,就是本文的主要內容。
2.一些驅動電流信號輸出的方案
驅動電流信號輸出的方案有很多,本文只簡單介紹幾種比較常見的方案。
基于XTR111的方案
XTR111是TI公司的電流信號輸出芯片,它能把輸入的電壓信號轉換為0-20mA,4-20mA或5-25mA的電流信號輸出,TI公司的其他芯片如XRT115/116等,也可以驅動輸出4-20mA電流信號。XTR111方案是將模擬電壓信號轉換為電流信號,假如我們一個項目使用微處理器來開發,且微處理器本身不帶DAC的話,那么本身輸出模擬電壓信號就是一件麻煩的事情,所以這里就不細談。
基于AD5420/AD5410的方案
那么,有沒有直接把微處理器的數字信號直接轉換為電流信號的器件呢?
這個肯定是有的,AD5420/5410就是能把數字信號直接輸出轉換為電流信號的一種器件,它們的特點如圖 1。
1.PNG (85.27 KB, 下載次數: 38)
下載附件
2019-12-28 19:21 上傳
3.AD5420怎么使用
AD5420是一個單通道、16位、串行輸入、電流源DAC芯片,AD5410與AD5420的使用方法類似,只不過AD5410的輸入數據是12位,AD5420的輸入數據是16位,本文主要就講一講AD5420的用法。
3.1 AD5420與微處理器的連接電路和引腳定義
2.PNG (109.6 KB, 下載次數: 43)
下載附件
2019-12-28 19:21 上傳
圖 2為AD5420與微處理器的部分接線圖,更詳細的參考資料可以查看圖 2中紅色文字所示公眾號或者圖 1中 紅色網址/資料中心 里面的同名文章中的附件(下用“附件”代替)。可以看出,要讓AD5420輸出的電流信號受微處理器控制,需要將AD5420的FAULT、CLEAR、LATCH、SCLK、SDIN、SDO與微處理器的IO口連接起來,具體的引腳含義如下。
B1.PNG (80.54 KB, 下載次數: 33)
下載附件
2019-12-28 19:22 上傳
3.2微處理器怎么控制AD5420輸出電流信號
AD5420里面有很多寄存器,其實微處理器控制AD5420的原理就是利用SPI通信協議控制改變AD5420內部對應寄存器的值來更新輸出的電流信號,微處理器通過SPI讀取AD5420寄存器的值來獲得AD5420的運行狀態。
(1)AD5420的寄存器
AD5420的寄存器主要是移位寄存器,移位寄存器又包括地址字和數據寄存器、控制寄存器、復位寄存器、狀態寄存器等,其中:
移位寄存器為一個24位的寄存器,由地址字節(8位)和數據字(16位)組成,地址字節主要是為了尋址對哪個寄存器進行操作,根據地址字節可以定位到數據寄存器、控制寄存器、復位寄存器等,后面的數據字就是操作的參數。
數據寄存器為16位(根據地址字尋址,移位寄存器的低16位),這個數據的大小就直接映射到輸出電流的大小。
控制寄存器為16位(根據地址字尋址,移位寄存器的低16位),用于對AD5420進行設置,包括選擇外部電流設置電阻、輸出使能、數字壓擺、菊花鏈模式、輸出范圍選擇等控制。
復位寄存器為16位(根據地址字尋址,移位寄存器的低16位),可以將器件復位到上電狀態。
狀態寄存器為16位(根據地址字尋址,移位寄存器的低16位),用于獲取AD5420運行狀態。
A 移位寄存器
3.PNG (148.1 KB, 下載次數: 34)
下載附件
2019-12-28 19:22 上傳
移位寄存器是一個總的稱呼,可讀可寫,使用的時候先用高8位定位到對哪個寄存器進行操作,后面再根據需要給定16位的操作參數。
B 數據寄存器
4.PNG (23.39 KB, 下載次數: 32)
下載附件
2019-12-28 19:23 上傳
數據寄存器只能寫入,這里的16位數據D就直接決定輸出電流Iout的大小,輸出電流Iout與數據存儲器值D的對應關系如下:
5.PNG (138.46 KB, 下載次數: 51)
下載附件
2019-12-28 19:23 上傳
C 控制寄存器
6.PNG (196.37 KB, 下載次數: 38)
下載附件
2019-12-28 19:23 上傳
控制寄存器只能寫入,用于對AD5420進行設置。具體參數設置含義如圖 6。
另外的復位寄存器和狀態寄存器等更詳細的描述,可以查看附件。
(2)寄存器的讀寫時序
7.PNG (69.11 KB, 下載次數: 31)
下載附件
2019-12-28 19:24 上傳
8.PNG (109.35 KB, 下載次數: 38)
下載附件
2019-12-28 19:24 上傳
AD5420的數據交換是SPI通信協議,在SCLK時鐘的驅動下通過SDI和SDO引腳進行數據讀寫,完成數據傳輸后需要LATCH上升沿的確認。關于SPI的介紹,可以查看圖 2中紅色文字所示公眾號或者圖 1中紅色網址/資料中心里面的一篇文章《SPI通信協議淺談》。
需要注意的是,AD5420的數據交換是發生在SCLK的上升沿,這里的SCLK、SID、SDO脈沖信號對持續時間是有要求的,具體信息還是需要查看附件。
(3)怎么控制AD5420輸出的電流
前面講過,微處理器控制AD5420輸出電流信號的原理就是利用SPI通信改變AD5420的數據寄存器的值,這樣就可以改變輸出電流的大小。
(4)向數據寄存器寫數據控制輸出電流的程序流程
9.PNG (31.54 KB, 下載次數: 39)
下載附件
2019-12-28 19:24 上傳
全文完。更多信息,請查看圖 2中紅色文字所示公眾號或者圖 1中 紅色網址/資料中心 里面的同名文章中的附件。
|