采用TMS320F2812的高精度智能變送器軟硬件設計
在工業(yè)應用中常使用傳感器測量參數,但傳感器信號一般較弱,并不適合遠距離傳輸,而且非線性效果不理想,達不到較高的精度需求。本文將DSP和eCAN(增強型控制器局域網)總線技術應用于智能變送器中,以TMS320F2812為核心控制器,將數據通過CAN總線進行可靠通信,設計一種高精度智能變送器。
1 系統組成
基于eCAN現場總線技術的智能變送器由上位機和智能測控節(jié)點構成。位于監(jiān)控現場的上位機采用通用計算機(PC)或工控機(ICP),在ISA擴展槽使用1塊總線通信適配卡,使上位機具有總線通信功能;而位于工業(yè)現場的多個智能測控節(jié)點采集現場數據。直接面向生產過程。圖l為系統組成框圖。
2 eCAN智能變送節(jié)點的硬件設計
智能變送器節(jié)點具有現場數據采集、控制以及與CAN總線通信功能。節(jié)點是以TMS320F2812型DSP為核心,利用其內部集成的eCAN模塊進行通信。其硬件電路由4部分組成:單片機微控制器電路、數據采集電路、通信接口電路以及現場監(jiān)控電路。其主要應用電路如圖2所示。
TMS320F2812通過SPI串行接口與MAXl400連接,數據經過處理后,通過光電隔離和電源隔離實現CPU單元的隔離保護,提高通信過程的抗干擾能力。
2.1 單片機微控器
本裝置的核心器件為TMS320F2812。TMS320F2812 DSP內部集成有eCAN模塊,完全兼容CAN2.0B協議,是TI公司新一代32位內部結構的高級CAN控制器。該器件還集成有多種先進的外設,為控制領域的應用提供了良好的平臺。TMS320F2812型DSP提高了運算精度(32位)和系統的處理能力(最高達到150 MI/s)。該系列器件還集成有128 KB的Flash存儲器,4KB的引導ROM,數學運算表及2 KB的0TPROM,從而大大改善應用的靈活性。
2.2 數據采集
傳感器模塊是實現eCAN通信的通信終端設備之一。上位機的控制命令信息由微處理器處理后,利用傳感器進行數據采集或對其進行參數設置。通常輸入傳感器的信號幅值很小,而且混雜干擾信號以及噪聲。為了方便后續(xù)處理,首先要將信號整形成具有最佳特性的波形,有時還需要將信號線性化。本裝置可以直接與現場各種傳感器連接,然后通過屏蔽雙絞線與上位機雙向數據傳輸。
在調試中采用半導體壓阻傳感器。為提高滿量程輸出,減少零點漂移和提高線性度,通常把感壓電阻連成惠斯登電橋,每個橋臂電阻都比較大,一般為2 kΩ。采用恒流源供電,這種方式的優(yōu)點是電橋的輸出與橋臂電阻無關,同時采用雙電源供電,所以可進一步減小對傳感器的非線性和溫度傳感器輸出靈敏度的影響。
在模數轉換方面,不采用TMS320F2812內部A/D轉換器,需要一個增益可調的儀表放大器和一個分辨率至少在14位A/D轉換器實現對傳感器信號的放大和模數轉換,這樣才能達到智能變送器的高精度、自動調節(jié)量程、大量程的設計要求。對于任何智能變送器,還需要對各種傳感器進行采樣,從而對各種傳感器對現場數據測量值進行補償,提高全范圍的測量精度。這樣,還需要一個多路轉換器實現通道間的切換。如果選用分立元件,必然會引入相當大的功耗。這里用MAXl400器件。該器件為低功耗、多通道、帶SPI同步串行口的∑/△、分辨率達18位的A/D轉換器。
2.3 通信接口
TMS320F2812內部集成有eCAN,可以方便的接入到CAN總線系統中。因此,在設計中不必外加CAN控制器實現CAN總線底層協議,外部只需連接CAN總線驅動器即可實現CAN接口。
這里選用SN65HVD230收發(fā)器,可提高系統的瞬間抗干擾能力,增大通信距離,保護總線,降低射頻干擾,實現熱防護等。6N137系列器件是高速光耦,實現TMS320F2812和物理總線間的光電隔離,降低由于不同節(jié)點的高共模電壓引起的串擾,甚至對器件的損壞,進而提高系統的可靠性,其通信速率可高達10 Mbit/s,完全能滿足CAN總線通信需要。
因為DSP是+3.3 V供電,而SN65HVD230內部的比較器需要5 V供電,所以在接收端連接有R2和R3實現電平轉換。
2.4 現場監(jiān)控電路
該電路主要顯示節(jié)點的工作狀態(tài)和被控對象的測量值,并根據設置對被控對象進行控制,該電路是由液晶顯示器、輸出驅動器件等組成。
3 系統軟件設計
系統軟件設計是整套裝置的重要組成部分。本裝置的軟件設計是在CCS集成開發(fā)環(huán)境中使用C語言開發(fā)的。CCS是TI公司提高的功能強大的集成開發(fā)環(huán)境,可提供環(huán)境配置、源文件編輯、程序調試、跟蹤和分析等工具,在軟件環(huán)境下完成編輯、編譯鏈接、調試和數據分析等工作。[!--empirenews.page--]
3.1 主程序
智能變送器的main函數軟件代碼如下:
3.2 A/D轉換模塊軟件設計
在對MAXl400進行操作時,首先應對其初始化。若不初始化,而直接讀取A/D轉換的數據,MAXl400將按其內部各寄存器上電復位時的缺省值進行轉換。InitMAXl400()的程序流程如圖3所示。
[!--empirenews.page--]
分別用軟件控制MAXl400的DRDY,CS,SCLK,DIN和DOUT5個引腳的狀態(tài),從而實現對它的操作,MAXl400的讀寫按照嚴格的時序進行。
主程序中SPIRXINTA_ISR、SPIRXINTA_ISR分別為SPI輸入、輸出子程序。
Measure()子程序是TMS320F2812對A/D轉換器采集后的數據進行處理的過程。當SPISTS.SPINTFLAG=1時,CPU將SPIRXBUF中的值存儲到Sci_VarRx[i]數組中,MAXl400是18位,而TMS320F2812為16位處理器。所以每一個采樣值要占2個存儲空間。測量結果濾波采用中位值平均濾波法,即每個測量值采樣10次,去除最大值和最小值,其余8個值取算術平均值。
3.3 eCAN通信模塊軟件設計
在使用eCAN模塊之前首先必須對其內部寄存器進行初始化設置。InitECan()包括:1)為正確配置2個引腳CANTX和CANRX,因為這兩個I/O口均為復用口。2)初始化位定時器,位定時器CANBTC包括CAN控制器的通訊波特率預分頻器BRP、同步跳轉寬度SJW、采樣次數SAM和TSEGl、TSEG2。3)初始化郵箱,郵箱初始化主要設置郵箱的標識符、控制域以及對相應的郵箱賦初值。
4 結束語
以TMS320F2812和MAXl400為核心、基于eCAN技術的智能變送器,集轉換、計算、通信等功能于一體,具有高精度、體積小、功耗低的特點。將數據經eCAN總線傳輸至上位機,提高了工業(yè)儀器的可靠性及靈活性,為工業(yè)現場的集中控制提供了較好的硬件平臺.