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