基于TMS320F2812的智能變送器
3.1 主程序
智能變送器的main函數(shù)軟件代碼如下:
3.2 A/D轉(zhuǎn)換模塊軟件設計
在對MAXl400進行操作時,首先應對其初始化。若不初始化,而直接讀取A/D轉(zhuǎn)換的數(shù)據(jù),MAXl400將按其內(nèi)部各寄存器上電復位時的缺省值進行轉(zhuǎn)換。InitMAXl400()的程序流程如圖3所示。本文引用地址:http://www.biyoush.com/article/163115.htm
分別用軟件控制MAXl400的DRDY,CS,SCLK,DIN和DOUT5個引腳的狀態(tài),從而實現(xiàn)對它的操作,MAXl400的讀寫按照嚴格的時序進行。
主程序中SPIRXINTA_ISR、SPIRXINTA_ISR分別為SPI輸入、輸出子程序。
Measure()子程序是TMS320F2812對A/D轉(zhuǎn)換器采集后的數(shù)據(jù)進行處理的過程。當SPISTS.SPINTFLAG=1時,CPU將SPIRXBUF中的值存儲到Sci_VarRx[i]數(shù)組中,MAXl400是18位,而TMS320F2812為16位處理器。所以每一個采樣值要占2個存儲空間。測量結果濾波采用中位值平均濾波法,即每個測量值采樣10次,去除最大值和最小值,其余8個值取算術平均值。
3.3 eCAN通信模塊軟件設計
在使用eCAN模塊之前首先必須對其內(nèi)部寄存器進行初始化設置。InitECan()包括:1)為正確配置2個引腳CANTX和CANRX,因為這兩個I/O口均為復用口。2)初始化位定時器,位定時器CANBTC包括CAN控制器的通訊波特率預分頻器BRP、同步跳轉(zhuǎn)寬度SJW、采樣次數(shù)SAM和TSEGl、TSEG2。3)初始化郵箱,郵箱初始化主要設置郵箱的標識符、控制域以及對相應的郵箱賦初值。
4 結束語
以TMS320F2812和MAXl400為核心、基于eCAN技術的智能變送器,集轉(zhuǎn)換、計算、通信等功能于一體,具有高精度、體積小、功耗低的特點。將數(shù)據(jù)經(jīng)eCAN總線傳輸至上位機,提高了工業(yè)儀器的可靠性及靈活性,為工業(yè)現(xiàn)場的集中控制提供了較好的硬件平臺。
評論