LPC2000系列CAN驗收濾波的編程及應(yīng)用
關(guān)鍵詞 LPC2000 CAN 驗收濾波 SJAl000
引 言
隨著信息技術(shù)的飛速發(fā)展,32位ARM微控制器以其低功耗、高性能以及小體積等特性,得到了廣泛的應(yīng)用。在汽車、消費娛樂、儀器儀表、工業(yè)控制、海量存儲、網(wǎng)絡(luò)、安保和無線等領(lǐng)域,隨處可見其應(yīng)用實例。因而,基于ARM的技術(shù)方案是最具市場前景和市場優(yōu)勢的解決方案。
現(xiàn)場總線是當(dāng)前工業(yè)通信領(lǐng)域中應(yīng)用最廣的技術(shù)之一。作為現(xiàn)場總線之一的CAN總線,以其高性能、高可靠性以及靈活的設(shè)計越來越受到人們的重視,越來越多的ARM微控制器帶有CAN控制器。Philips 2000系列ARM微控制器是基于ARM7的集成有2個或4個CAN控制器的微控制器,在工業(yè)通信網(wǎng)絡(luò)中有廣泛的應(yīng)用。
1 CAN總線的硬/軟件設(shè)計簡述
1.1 硬件設(shè)計
LPC2000系列ARM內(nèi)置CAN控制器,每一個CAN控制器都與SJAl000有相似的寄存器結(jié)構(gòu),只是寄存器訪問由8位字節(jié)訪問轉(zhuǎn)變?yōu)?2位雙字訪問,因而使得硬件連接相對變得簡單。CAN總線驅(qū)動器使用82C250或TJA1050。為增強節(jié)點的抗干擾能力,CAN控制器與總線驅(qū)動器可不直接相連,而是通過高速光耦6N137連接。光耦部分采用的兩個電源應(yīng)隔離,故采用電源隔離模塊。
1.2 軟件設(shè)計
CAN節(jié)點的基本軟件設(shè)計包括CAN節(jié)點初始化、報文發(fā)送、報文接收3部分。在這3部分程序的基礎(chǔ)上可編出CAN總線通信的一般應(yīng)用程序。當(dāng)然,要將CAN總線應(yīng)用于通信任務(wù)比較復(fù)雜的系統(tǒng)中,還需要編寫CAN總線異常處理、驗收濾波設(shè)置等內(nèi)容。
2 驗收濾波器的設(shè)置及工作原理
當(dāng)CAN控制器接收一完整的標(biāo)識符時,將通知驗收濾波器。驗收濾波器響應(yīng)這個信號,并讀出標(biāo)識符,與AF(驗收濾波)RAM中的標(biāo)識符表格進(jìn)行匹配,以決定接收或放棄此幀信息。
AF RAM是一個容量為51232位(2KB)的RAM。通過軟件設(shè)置,可在RAM中存放1~5個標(biāo)識符表格。圖1為一個完整的AFRAM內(nèi)部表格分布。
為方便編程實現(xiàn),把AF RAM的內(nèi)容按32位模式排列,每個32位稱為一個“cell”。表格就是cell的集合。前兩種表格中每個cell包含2個標(biāo)識符,且配置時每個cell中高位標(biāo)識符小于低位標(biāo)識符,否則會引起驗收濾波器執(zhí)行失敗。接下來的2個表格,每一對范圍或每一個標(biāo)識符占用1個cell,而合法的擴展標(biāo)識符范圍表格必須以偶數(shù)個cell出現(xiàn)。每個表格均需按升序排列,每種表格可根據(jù)應(yīng)用需要適當(dāng)裁減。
3 驗收濾波編程實現(xiàn)
程序用C語言編制,在ADSl.2開發(fā)環(huán)境下通過JTAG接口進(jìn)行實時調(diào)試、仿真和下載,并在實際應(yīng)用中得到了驗證。要說明的是,F(xiàn)ullcan模式應(yīng)用較少,程序未涉及它的設(shè)置;設(shè)置了獨立標(biāo)準(zhǔn)標(biāo)識符和標(biāo)準(zhǔn)標(biāo)識符范圍表格,對標(biāo)準(zhǔn)ID{1,2,0x10,0x20}和指定范圍{{90=ID=100}及{0x300=ID=0x400}}的信號進(jìn)行接收,獨立擴展標(biāo)識符表格和擴展標(biāo)識符范圍表格未設(shè)置。需要設(shè)置時,可參考前兩種表格的設(shè)置程序。
在CANREG.H中,定義驗收濾波模式寄存器結(jié)構(gòu)如下:
②初始化一個獨立標(biāo)準(zhǔn)標(biāo)識符表格的內(nèi)容。
③初始化一個標(biāo)準(zhǔn)標(biāo)識符組表格的內(nèi)容。
④用獨立標(biāo)準(zhǔn)標(biāo)識符表格內(nèi)容初始化1,uT的獨立標(biāo)準(zhǔn)標(biāo)淤符表格。
⑤用標(biāo)準(zhǔn)標(biāo)識符范圍表格內(nèi)容初始化LuT的標(biāo)準(zhǔn)標(biāo)識符范圍表格。
⑥模式2,啟動全局驗收濾波器。
在majn.c中所含的4個相關(guān)函數(shù)略。
結(jié)語
在SJAlO∞的應(yīng)用巾,驗收濾波器只能對一些規(guī)律性較強的ID和個數(shù)較少的ID進(jìn)行濾波‘硼。當(dāng)需要設(shè)計復(fù)雜的驗收濾波器時,以上的驗收濾波模塊能起到一定的作用。當(dāng)然,在具體的應(yīng).Hj場合.還需要考慮通信協(xié)議、CAK總線異常處理、cAN初始化、接收和發(fā)送等程序。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
評論