淺談Small RTOS51 下CAN總線數(shù)據(jù)收發(fā)實現(xiàn)
現(xiàn)場總線(Fieldbus)是近年來迅速發(fā)展起來的一種工業(yè)數(shù)據(jù)總線,它主要解決工業(yè)現(xiàn)場的智能化儀器儀表、控制器、執(zhí)行機構等現(xiàn)場設備間的數(shù)字通信以及這些現(xiàn)場控制設備和高級控制系統(tǒng)之間的信息傳遞問題。由于現(xiàn)場總線簡單、可靠、經(jīng)濟實用等一系列突出的優(yōu)點,因而受到了許多標準團體和計算機廠商的高度重視?,F(xiàn)場總線(Fieldbus)是20世紀80年代末、90年代初國際上發(fā)展形成的,用于 現(xiàn)場總線技術
過程自動化、制造自動化、樓宇自動化等領域的現(xiàn)場智能設備互連通訊網(wǎng)絡。它作為工廠數(shù)字通信網(wǎng)絡的基礎,溝通了生產(chǎn)過程現(xiàn)場及控制設備之間及其與更高控制管理層次之間的聯(lián)系。它不僅是一個基層網(wǎng)絡,而且還是一種開放式、新型全分布控制系統(tǒng)。這項以智能傳感、控制、計算機、數(shù)字通訊等技術為主要內(nèi)容的綜合技術,已經(jīng)受到世界范圍的關注,成為自動化技術發(fā)展的熱點,并將導致自動化系統(tǒng)結構與設備的深刻變革。國際上許多實力、有影響的公司都先后在不同程度上進行了現(xiàn)場總線技術與產(chǎn)品的開發(fā)。德國Bosch公司的CAN(1Mbit/s)是國際標準之一,也是Controller Area Network 的應用標準。它屬于現(xiàn)場總線范疇,是一種有效支持分布式控制或實時控制的串行通信網(wǎng)絡。由于其高性能、高可靠性、及獨特設計,CAN總線已成為目前國外最普及和實時性最高的現(xiàn)場總線。CAN總線在可靠性和實時性方面遠遠優(yōu)于RS-485等工業(yè)現(xiàn)線CAN總線主要有下列特征:
1. 數(shù)據(jù)信號采用差分電壓傳輸,兩條信號線"CAN_H"和" CAN_L".
2. 傳輸介質(zhì)可用雙絞線、同軸電纜或光纖,具有較強的抗干擾能力。直接通信距離最大可達10km(速率小于5kbit/s),最高通信速率可達1Mbit/s(此時距離最長為40m)。
3. 節(jié)點不分主從,節(jié)點任意時刻可向其他節(jié)點發(fā)送信息,依據(jù)優(yōu)先權進行總線訪問,滿足不同的實時要求。
4. 采用非破壞性基于優(yōu)先權總線仲裁技術。
5. 采用短幀結構,每幀為8bit,保證了數(shù)據(jù)出錯率低。
6. 可以點對點、點對多點及全局廣播方式傳送接收數(shù)據(jù)。
7. 發(fā)送期間若丟失仲裁或由于出錯而遭破壞的幀可自動重發(fā)送。
2 Small RTOS51簡介
Small RTOS51是一個用于8051系列單片機的多任務實時操作系統(tǒng)。8051系列單片機一般只有很少的ROM和RAM資源,如P89C51只有4KB Flash和128字節(jié)RAM.單片微型計算機簡稱為單片機,又稱為微型控制器,是微型計算機的一個重要分支。單片機是70年代中期發(fā)展起來的一種大規(guī)模集成電路芯片,是CPU、RAM、ROM、I/O接口和中斷系統(tǒng)于同一硅片的器件。80年代以來,單片機發(fā)展迅速,各類新產(chǎn)品不斷涌現(xiàn),出現(xiàn)了許多高性能新型機種,現(xiàn)已逐漸成為工廠自動化和各控制領域的支柱產(chǎn)業(yè)之一。一般的實時操作系統(tǒng)如RTX Tiny 雖然小,但是任務沒有優(yōu)先級和中斷管理,也無源代碼,而uc/os-II規(guī)模太大,需要大量外部RAM.基于此,Small RTOS51是專為51 單片機編寫嵌入式操作系統(tǒng),它使用了RTX51 Tiny 的堆棧管理機制,并像uc/os-II一樣是搶占式的。
3 一個典型的CAN節(jié)點
3.1.CAN總線接口的結構
一個CAN總線接口有3 部分組成,如圖(a)所示,它們分別對應于CAN總線的物理層、數(shù)據(jù)鏈路層和應用層。
最上層為微控制器,主要負責上層應用以及系統(tǒng)控制,包括CAN協(xié)議的應用層協(xié)議的實現(xiàn),協(xié)調(diào)各系統(tǒng)設備的工作。(本設計采用的MCU是8051)
中間層為CAN控制器,CAN控制器負責處理數(shù)據(jù)幀,完成數(shù)據(jù)的打包、解包,錯誤界定,并提供報文緩沖和傳輸濾波。(本設計采用的CAN總線控制器是Philips公司生產(chǎn)SJA1000)
最底層為CAN收發(fā)器,主要是接口電平的轉換,接口電器特性的處理。(本設計采用82C250)
?。╝)CAN接口結構
評論