基于CAN總線(xiàn)的高壓開(kāi)關(guān)柜狀態(tài)監(jiān)測(cè)單元通訊模塊
3.3CAN應(yīng)用層協(xié)議
CAN總線(xiàn)協(xié)議對(duì)應(yīng)于ISO/OSI模型的物理層和鏈路層,沒(méi)有包括其他的層次。CAN的高層協(xié)議是在CAN現(xiàn)有的協(xié)議(物理層和鏈路層)上實(shí)現(xiàn)的。CAN作為一種小型的測(cè)控網(wǎng)絡(luò),不涉及到路由選擇,同時(shí)為了減少層間轉(zhuǎn)換的復(fù)雜性,一般高層的協(xié)議只采用應(yīng)用層。這樣在應(yīng)用時(shí),CAN實(shí)際就有了三層協(xié)議。應(yīng)用層的報(bào)文對(duì)于鏈路層來(lái)講認(rèn)為是數(shù)據(jù),而真正需要傳送的數(shù)據(jù)是封裝在應(yīng)用層報(bào)文中的。采用的應(yīng)用層協(xié)議一般有標(biāo)準(zhǔn)(例如DeviceNet,SDS等)和自定義(根據(jù)實(shí)際系統(tǒng)而定)的兩種。筆者根據(jù)實(shí)際情況自定義了應(yīng)用層協(xié)議,應(yīng)用層報(bào)文的詳細(xì)定義這里不再詳述。
4.通訊模塊的硬件實(shí)現(xiàn)
監(jiān)測(cè)單元部分通訊模塊實(shí)現(xiàn)CAN協(xié)議的控制器選用SJA1000,它是PCA82C200的替代產(chǎn)品,同時(shí)支持CAN2.0A和CAN2.0B協(xié)議,位速率可達(dá)1Mb/s。具有擴(kuò)展的接收緩沖器、完善的錯(cuò)誤檢測(cè)機(jī)制、擴(kuò)展的驗(yàn)收濾波器以及錯(cuò)誤累計(jì)到一定時(shí)就脫離總線(xiàn)等特征。
硬件的設(shè)計(jì)并不復(fù)雜。可以將SJA1000和PCA82C250的應(yīng)用文檔上的典型電路移植到80C196KC微控制器上(80C196KC采用8位數(shù)據(jù)總線(xiàn)模式),但在設(shè)計(jì)時(shí)還應(yīng)該注意以下幾點(diǎn):①SJA1000與外部ROM,RAM統(tǒng)一編址,微控制器對(duì)它的存取操作就像對(duì)RAM操作一樣(區(qū)別在于有的SJA1000寄存器有的不可讀,有的不可寫(xiě))。②總線(xiàn)的連接電纜一般使用雙絞線(xiàn),對(duì)抗干擾要求較高可以使用屏蔽雙絞線(xiàn),或者光纖。電纜線(xiàn)徑與傳輸距離、節(jié)點(diǎn)數(shù)目有關(guān),傳輸距離變長(zhǎng)或節(jié)點(diǎn)數(shù)目增加,電纜線(xiàn)徑也要相應(yīng)增加,同時(shí)終端匹配電阻(一
般為120Ω)。也要增大。③SJA1000控制器RX1引腳要接0.5V,以便形成正確的電平邏輯。PCA82C250的Vref引腳可提供0.5V的電壓輸出,因此在不加光隔的測(cè)試系統(tǒng)中,可直接將RX1引腳接Vref引腳,以簡(jiǎn)化電路設(shè)計(jì)。④SJA1000有中斷產(chǎn)生時(shí),引腳INT產(chǎn)生的是一個(gè)高電平到低電平的跳變,文檔中給出的是和80C51(它的外中斷0可以是下降沿或低電平有效)接口的,因此兩個(gè)引腳可以直接相接。而80C196KC的EXTINT1引腳是上升沿有效,故在兩個(gè)引腳之間要加一個(gè)反相器。
評(píng)論