基于LPC2119和μC/OSII 的CAN中繼器設(shè)計(jì)
摘要:基于提高CAN總線組網(wǎng)能力的考慮,提出一種新穎的CAN中繼器設(shè)計(jì)方法;闡述以LPC2119控制器為核心的硬件設(shè)計(jì)方案;詳細(xì)分析在μC/OSII實(shí)時(shí)操作系統(tǒng)下的軟件實(shí)現(xiàn)過程;針對中繼器的實(shí)時(shí)性和安全性以及總線與總線之間可能存在的速度不匹配的問題,確立提升緊急任務(wù)優(yōu)先級、建立相關(guān)事件標(biāo)志、合理地對事件與任務(wù)進(jìn)行同步的改進(jìn)方法,從而有效地解決組網(wǎng)中最遠(yuǎn)傳輸距離和最大節(jié)電數(shù)限制的問題。
關(guān)鍵詞:中繼器 CAN LPC2119 μC/OSII
引 言
CAN總線的直接通信距離只有10 km左右,而且由于收發(fā)器驅(qū)動(dòng)能力的限制,總線上最多只能掛110個(gè)節(jié)點(diǎn),給系統(tǒng)組網(wǎng)帶來一定的困難。CAN中繼器就是為了解決這個(gè)問題而設(shè)計(jì)的。由于中繼器具有數(shù)據(jù)轉(zhuǎn)發(fā)功能,不僅可以擴(kuò)大通信距離,還可以增加節(jié)點(diǎn)的最大數(shù)目。對CAN中繼器初始化參數(shù)進(jìn)行設(shè)置,可以在不同的網(wǎng)段內(nèi)采用不同的通信速率,還可以對報(bào)文進(jìn)行過濾,減輕總線負(fù)擔(dān)。
1 CAN中繼器的硬件設(shè)計(jì)
1.1 微控制器LPC2119簡介
CAN中繼器是以ARM微控制器LPC2119為核心的軟硬件系統(tǒng)。LPC2119是Philips公司生產(chǎn)的一款基于支持實(shí)時(shí)仿真和跟蹤的16/32位ARM7TDMISMCU,帶有128 KB嵌入的高速Flash存儲器。獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行。對代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過30 %,而性能的損失卻很小。LPC2119內(nèi)部集成2個(gè)CAN控制器。它的主要特性有:單個(gè)總線上的數(shù)據(jù)傳輸速率高達(dá)1 Mb/s;32位寄存器和RAM訪問;兼容CAN 2.0B, ISO 118981規(guī)范;全局驗(yàn)收濾波器可以識別所有的11位和29位Rx標(biāo)識符;驗(yàn)收濾波器為選擇的標(biāo)準(zhǔn)標(biāo)識符提供Full CANstyle自動(dòng)接收。
1.2 LPC2119內(nèi)部CAN控制器與SJA1000比較
LPC2119內(nèi)部集成的CAN控制器與Philips公司的SJA1000 CAN控制器相比較大致相同,只是在驗(yàn)收濾波這一環(huán)略有不同,這為習(xí)慣SJA1000的開發(fā)人員采用LPC2119提供了方便。SJA1000驗(yàn)收濾波器由驗(yàn)收代碼寄存器和驗(yàn)收屏蔽寄存器定義,要接收報(bào)文的位模式在驗(yàn)收代碼寄存器中定義,相應(yīng)的驗(yàn)收屏蔽寄存器允許定義某些位為“無關(guān)”,通過模式寄存器可以選擇不同的過濾模式:單過濾模式和雙過濾模式。而對LPC2119內(nèi)部集成的CAN控制器,全局驗(yàn)收過濾器包含一個(gè)512
評論