1 引言
眾所周知,對于每一個復雜的控制系統(tǒng)都是由各種各樣的傳感器,變送器等檢測設備組成,以便及時地將現(xiàn)場設備的運行狀態(tài)和被控對象的各種參數(shù)反應到控制器或控制計算機,從而實現(xiàn)整個系統(tǒng)的精確控制.我們將這些傳感器檢測到的現(xiàn)場信號盡快的傳送到控制器或上位機進行顯示,處理,傳輸和記錄的技術,稱之為數(shù)據(jù)采集技術,他是當今控制領域所研究的一個重要方向.目前,對于數(shù)據(jù)采集設備也提出了微型化,低功耗,長壽命,高可靠性等要求.同時,為了適應多種任務的需要以及在各個領域中普遍應用,需要研制一種比較靈敏通用的數(shù)據(jù)采集模塊,對不同的采集任務應具有一定的適應性和實時性.隨著計算機,通信,集成電路,傳感器技術的發(fā)展,在控制領域又出現(xiàn)了一種新興的控制技術,即現(xiàn)場總線(FCS).現(xiàn)場總線的出現(xiàn),為數(shù)據(jù)采集提供了一種新的手段.在總線系統(tǒng)中,總線中的各個單元將分別完成各種不同的任務,系統(tǒng)中的測量,控制任務將大部分下放到現(xiàn)場的智能儀表單元中去.這種智能化儀表設計的概念使得總線系統(tǒng)的數(shù)據(jù)采集任務可以通過單獨的數(shù)據(jù)采集單元來完成.而基于CAN總線的數(shù)據(jù)采集模塊則是為了適應這樣的要求而設計的.CAN總線是一種有效支持分布式控制和實時控制的串行通信網(wǎng)絡,具有可靠性高,成本低,傳輸距離遠,傳輸速率快等優(yōu)點,在國際上已經(jīng)得到了廣泛的應用.
2. 數(shù)據(jù)采集模塊的功能
由于分布在控制現(xiàn)場的各種傳感器,變送器的輸出可以是模擬量,也可以是數(shù)字量,為了將這些不同形式,不同類型的信號能夠被基于CAN總線的控制器或上位機所識別,因此基于CAN總線的數(shù)據(jù)采集模塊所要完成的功能分為兩個方面:一方面是將未知的連續(xù)的模擬輸入信號轉換為微計算機能接收的數(shù)字信號,即模擬量數(shù)據(jù)采集,另一方面是將現(xiàn)場數(shù)字傳感器,變送器等設備所輸出的遵循某一協(xié)議格式的數(shù)字信號或數(shù)字量I/O信號轉換成符合CAN總線協(xié)議的信息,即數(shù)字量數(shù)據(jù)采集.其具體實現(xiàn)功能圖如圖1所示:
由圖1可知,對于模擬量數(shù)據(jù)采集部分,多路模擬信號通過模擬輸入通道進入A/D轉換器的輸入端,A/D轉換器在微計算機(即CPU)的控制下開始逐個對多路模擬信號進行轉換,并將轉換的結果讀入CPU中,當一輪數(shù)據(jù)轉換完后,判斷各路轉換結果是否合理,
圖1 基于CAN總線的數(shù)據(jù)采集模塊功能圖
對合理的結果進行必要的處理,然后將數(shù)據(jù)寫入CAN微控制器轉換成CAN 協(xié)議的數(shù)據(jù)格式通過其接口發(fā)送到總線上供上位機進一步處理或其他模塊使用.而對于數(shù)字量數(shù)據(jù)采集部分,該模塊主要是將從控制現(xiàn)場以RS-232協(xié)議形式傳送來的數(shù)據(jù)信息轉換成CAN 協(xié)議要求的數(shù)據(jù)格式并發(fā)送到CAN 總線上供上位機和其他模塊使用.由于該數(shù)據(jù)采集模塊帶有CPU,是一種微機化的智能設備,能對采集到的數(shù)據(jù)作初步的處理和完成一定的控制,顯示任務,因此在該模塊上還擴展了多路數(shù)字量輸入輸出和與其他單片機進行直接串行通訊的接口.整個模塊可實現(xiàn)對現(xiàn)場信息的采集,對設備狀態(tài)的顯示,報警,與現(xiàn)場設備及上位機進行通訊等功能.
3. 數(shù)據(jù)采集模塊硬件實現(xiàn)
根據(jù)基于CAN 總線的數(shù)據(jù)采集模塊所要實現(xiàn)的功能,其硬件實現(xiàn)電路如圖2所示:
圖2 基于CAN總線的數(shù)據(jù)采集模塊硬件結構圖
由圖2可知,基于CAN總線的數(shù)據(jù)采集模塊以單片機SST89C54為核心處理芯片;SST89C54單片機是MCS-51系列單片機的派生產(chǎn)品.它在指令系統(tǒng),硬件結構和片內資源上與標準8052單片機完全兼容,只是加大了內部程序存儲器Flash的容量.內置20K ROM,程序空間余量大,方便系統(tǒng)的軟件升級,而且SST89C54內置EEPROM,看門狗定時器,成本低廉,可靠性高.整個硬件實現(xiàn)電路由四個部分組成:
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可收發(fā)各類信息.CAN總線收發(fā)器82C250提供了CAN控制器與物理總線之間的接口,提供總線的差動發(fā)送和接收能力,抗干擾能力,使得信號能更遠更可靠的傳輸.其 TXD,RXD端通過高速光隔分別接SJA1000的TX0,RX0,兩個輸出端CANH和CANL分別與物理總線的CANH和CANL連接.
2)A/D轉換電路:由11路模/數(shù)轉換芯片TLC2543實現(xiàn),SST89C54的P1.0~P1.3引腳分別與TLC2543的/CS,CLOCK,DATA IN和DATA OUT相連,通過這些連接,SST89C54可以控制A/D轉換的時機,選擇轉換通道,極性;當A/D轉換結束后,TLC2543通過EOC引腳,以中斷的形式通知SST89C54接收數(shù)據(jù).其中TLC2543 為CMOS 12位開關電容逐次逼近模/數(shù)轉換器.具有快速轉換和通用的控制能力.片內設有采樣-保持電路.
3)RS-232協(xié)議轉換電路:SST89C54通過串口TXD,RXD與MAX232的相應管腳相連,當SST89C54需要將從現(xiàn)場采集到的數(shù)據(jù)或從CAN總線上接收到的數(shù)據(jù)轉換成RS-232協(xié)議格式的信息與現(xiàn)場設備或其他模塊進行通信時,可直接將信息通過串口TXD,RXD傳送給MAX232,由芯片MAX232完成數(shù)據(jù)格式的轉換.同時該部分還擴展了串口通信電路,通過高速光電隔離器隔離可實現(xiàn)與其他設備進行串行通信.
4)多路輸入輸出電路:由于基于CAN總線的數(shù)據(jù)采集模塊可直接與多種模擬量或數(shù)字量設備相連,且內部帶有CPU,具有一定的數(shù)據(jù)處理和控制能力,所以當模塊需要采集現(xiàn)場的I/O量信息或需要根據(jù)處理結果進行顯示,報警,控制時,可通過由P1.4-P1.7和高速光隔組成的多路輸入輸出電路實現(xiàn).
此外,為了滿足數(shù)據(jù)存取和處理的需要,電路中還擴展了8K 的數(shù)據(jù)存貯器空間(RAM).
4. 數(shù)據(jù)采集模塊軟件結構
基于CAN總線的數(shù)據(jù)采集模塊的軟件結構圖如圖3所示:
圖3 基于CAN總線的數(shù)據(jù)采集模塊軟件結構圖
由軟件結構圖可知,SST89C54先對自身進行初始化,然后立即對SJA1000進行初始化以盡快建立該數(shù)據(jù)采集模塊與CAN總線之間的通信鏈接,其中對SJA1000的初始化是該軟件設計中一個比較關鍵的部分,主要包括在復位模式下設置通信的波特率,AMR,ACR,OCR,CDR,在通用模式下寫控制寄存器命令字等.其中對ACR,AMR寄存器中所寫的內容要根據(jù)網(wǎng)絡系統(tǒng)和現(xiàn)場工藝的實際要求來確定,并且與將要發(fā)送的報文標識符有關;BTR0,BTR1寄存器的內容可唯一確定系統(tǒng)的通信波特率和同步跳轉寬度,所以整個系統(tǒng)中的所有節(jié)點,這兩個寄存器的內容必須相同,否則將無法進行通信;對OCR的操作可確定CAN控制器的輸出方式,并建立起CAN總線要求的電平邏輯所需輸出驅動器的配置.
與CAN總線的通信建立之后,SST89C54就開始采集現(xiàn)場數(shù)據(jù),先是模擬量,然后是數(shù)字量,在對模擬量的數(shù)據(jù)采集中,為了減少外部干擾帶來的誤差還進行了消除誤差處理,主要包括判斷數(shù)據(jù)是否存在超大誤差,對連續(xù)多次采樣得到的數(shù)據(jù)求平均值作為采樣值等措施,以減少系統(tǒng)采樣誤差.在采集到了現(xiàn)場的各種數(shù)據(jù)后,CPU還要進行數(shù)據(jù)處理,主要包括將采集到的數(shù)據(jù)進行組裝,拆包打包,簡單的數(shù)據(jù)運算,與設定值作比較;判斷現(xiàn)場參數(shù)是否超出了設備正常工作的上下限,是否需要顯示設備狀態(tài)或報警,如需要則進行顯示或報警;判斷是否需要往CAN總線上發(fā)送數(shù)據(jù),如需要則要進行不同數(shù)據(jù)格式的轉換,當需要往CAN總線發(fā)送超過8個字節(jié)的數(shù)據(jù)時,還要按事先設計好的算法分多個數(shù)據(jù)包發(fā)送.
5. 結束語
實踐證明基于CAN總線的數(shù)據(jù)采集模塊具有采樣數(shù)據(jù)更新速度快(10毫秒),轉換精度高(±0.5%),轉換線性誤差?。ā?LSB Max),通信速率高,抗干擾性能強,出錯率極低,傳輸舉例較遠等特點,能很好地完成對現(xiàn)場信息的采集和進行簡單的數(shù)據(jù)處理及數(shù)據(jù)通信,由該類模塊組成的系統(tǒng)特別適合于現(xiàn)場環(huán)境比較復雜,實時性要求高的分布式控制系統(tǒng),且由于其價格低廉,在自動化領域有著廣泛的應用前景.