時間:2006-09-09 15:09:00來源:jiangf
圖1 基于CAN總線的數據采集模塊功能圖
對合理的結果進行必要的處理,然后將數據寫入CAN微控制器轉換成CAN 協議的數據格式通過其接口發送到總線上供上位機進一步處理或其他模塊使用.而對于數字量數據采集部分,該模塊主要是將從控制現場以RS-232協議形式傳送來的數據信息轉換成CAN 協議要求的數據格式并發送到CAN 總線上供上位機和其他模塊使用.由于該數據采集模塊帶有CPU,是一種微機化的智能設備,能對采集到的數據作初步的處理和完成一定的控制,顯示任務,因此在該模塊上還擴展了多路數字量輸入輸出和與其他單片機進行直接串行通訊的接口.整個模塊可實現對現場信息的采集,對設備狀態的顯示,報警,與現場設備及上位機進行通訊等功能.
3. 數據采集模塊硬件實現
根據基于CAN 總線的數據采集模塊所要實現的功能,其硬件實現電路如圖2所示:
圖2 基于CAN總線的數據采集模塊硬件結構圖
由圖2可知,基于CAN總線的數據采集模塊以單片機SST89C54為核心處理芯片;SST89C54單片機是MCS-51系列單片機的派生產品.它在指令系統,硬件結構和片內資源上與標準8052單片機完全兼容,只是加大了內部程序存儲器Flash的容量.內置20K ROM,程序空間余量大,方便系統的軟件升級,而且SST89C54內置EEPROM,看門狗定時器,成本低廉,可靠性高.整個硬件實現電路由四個部分組成:
1)CAN總線接口電路:由SJA1000及82C250組成,SST89C54對SJA1000的操作相當于外部RAM的操作,其P0口接SJA1000的AD0~AD7,ALE,/WR,/RD,P2.4端分別接SJA1000的ALE,/WR,/RD,/CS端,另外SJA1000的中斷信號端/INT接SST89C54的/INT0端,使得SST89C54可收發各類信息.CAN總線收發器82C250提供了CAN控制器與物理總線之間的接口,提供總線的差動發送和接收能力,抗干擾能力,使得信號能更遠更可靠的傳輸.其 TXD,RXD端通過高速光隔分別接SJA1000的TX0,RX0,兩個輸出端CANH和CANL分別與物理總線的CANH和CANL連接.
2)A/D轉換電路:由11路模/數轉換芯片TLC2543實現,SST89C54的P1.0~P1.3引腳分別與TLC2543的/CS,CLOCK,DATA IN和DATA OUT相連,通過這些連接,SST89C54可以控制A/D轉換的時機,選擇轉換通道,極性;當A/D轉換結束后,TLC2543通過EOC引腳,以中斷的形式通知SST89C54接收數據.其中TLC2543 為CMOS 12位開關電容逐次逼近模/數轉換器.具有快速轉換和通用的控制能力.片內設有采樣-保持電路.
3)RS-232協議轉換電路:SST89C54通過串口TXD,RXD與MAX232的相應管腳相連,當SST89C54需要將從現場采集到的數據或從CAN總線上接收到的數據轉換成RS-232協議格式的信息與現場設備或其他模塊進行通信時,可直接將信息通過串口TXD,RXD傳送給MAX232,由芯片MAX232完成數據格式的轉換.同時該部分還擴展了串口通信電路,通過高速光電隔離器隔離可實現與其他設備進行串行通信.
4)多路輸入輸出電路:由于基于CAN總線的數據采集模塊可直接與多種模擬量或數字量設備相連,且內部帶有CPU,具有一定的數據處理和控制能力,所以當模塊需要采集現場的I/O量信息或需要根據處理結果進行顯示,報警,控制時,可通過由P1.4-P1.7和高速光隔組成的多路輸入輸出電路實現.
此外,為了滿足數據存取和處理的需要,電路中還擴展了8K 的數據存貯器空間(RAM).
4. 數據采集模塊軟件結構
基于CAN總線的數據采集模塊的軟件結構圖如圖3所示:
圖3 基于CAN總線的數據采集模塊軟件結構圖
由軟件結構圖可知,SST89C54先對自身進行初始化,然后立即對SJA1000進行初始化以盡快建立該數據采集模塊與CAN總線之間的通信鏈接,其中對SJA1000的初始化是該軟件設計中一個比較關鍵的部分,主要包括在復位模式下設置通信的波特率,AMR,ACR,OCR,CDR,在通用模式下寫控制寄存器命令字等.其中對ACR,AMR寄存器中所寫的內容要根據網絡系統和現場工藝的實際要求來確定,并且與將要發送的報文標識符有關;BTR0,BTR1寄存器的內容可唯一確定系統的通信波特率和同步跳轉寬度,所以整個系統中的所有節點,這兩個寄存器的內容必須相同,否則將無法進行通信;對OCR的操作可確定CAN控制器的輸出方式,并建立起CAN總線要求的電平邏輯所需輸出驅動器的配置.
與CAN總線的通信建立之后,SST89C54就開始采集現場數據,先是模擬量,然后是數字量,在對模擬量的數據采集中,為了減少外部干擾帶來的誤差還進行了消除誤差處理,主要包括判斷數據是否存在超大誤差,對連續多次采樣得到的數據求平均值作為采樣值等措施,以減少系統采樣誤差.在采集到了現場的各種數據后,CPU還要進行數據處理,主要包括將采集到的數據進行組裝,拆包打包,簡單的數據運算,與設定值作比較;判斷現場參數是否超出了設備正常工作的上下限,是否需要顯示設備狀態或報警,如需要則進行顯示或報警;判斷是否需要往CAN總線上發送數據,如需要則要進行不同數據格式的轉換,當需要往CAN總線發送超過8個字節的數據時,還要按事先設計好的算法分多個數據包發送.
5. 結束語
實踐證明基于CAN總線的數據采集模塊具有采樣數據更新速度快(10毫秒),轉換精度高(±0.5%),轉換線性誤差小(±1LSB Max),通信速率高,抗干擾性能強,出錯率極低,傳輸舉例較遠等特點,能很好地完成對現場信息的采集和進行簡單的數據處理及數據通信,由該類模塊組成的系統特別適合于現場環境比較復雜,實時性要求高的分布式控制系統,且由于其價格低廉,在自動化領域有著廣泛的應用前景.
標簽:
傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(www.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-09-08
華為昇騰Atlas800iA2 910B服務器Deepsee...
2025-09-04
2025-08-06
2025-07-08
2025-06-30
2025-06-16