<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > LPC2000系列CAN驗收濾波的編程及應用

LPC2000系列CAN驗收濾波的編程及應用

作者: 時(shí)間:2008-03-13 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要 隨著(zhù)總線(xiàn)的廣泛,有些系統對有更復雜的要求。LPC200O32住ARM微控制器內嵌的控制器提供全局的ID查詢(xún)功能,可以滿(mǎn)足復雜的要求。減小系統軟件設計及運行負擔。本文對ARM的驗收作了詳細的描述,給出C語(yǔ)言編制的程序以方便移植和使用,希望此模塊對于有復雜驗收濾波要求的CAN起到一定的作用。
關(guān)鍵詞 CAN 驗收濾波 SJAl000


引 言
隨著(zhù)信息技術(shù)的飛速發(fā)展,32位ARM微控制器以其低功耗、高性能以及小體積等特性,得到了廣泛的。在汽車(chē)、消費娛樂(lè )、儀器儀表、工業(yè)控制、海量存儲、網(wǎng)絡(luò )、安保和無(wú)線(xiàn)等領(lǐng)域,隨處可見(jiàn)其應用實(shí)例。因而,基于A(yíng)RM的技術(shù)方案是最具市場(chǎng)前景和市場(chǎng)優(yōu)勢的解決方案。
現場(chǎng)總線(xiàn)是當前工業(yè)通信領(lǐng)域中應用最廣的技術(shù)之一。作為現場(chǎng)總線(xiàn)之一的CAN總線(xiàn),以其高性能、高可靠性以及靈活的設計越來(lái)越受到人們的重視,越來(lái)越多的ARM微控制器帶有CAN控制器。Philips 2000ARM微控制器是基于A(yíng)RM7的集成有2個(gè)或4個(gè)CAN控制器的微控制器,在工業(yè)通信網(wǎng)絡(luò )中有廣泛的應用。

1 CAN總線(xiàn)的硬/軟件設計簡(jiǎn)述
1.1 硬件設計
系列ARM內置CAN控制器,每一個(gè)CAN控制器都與SJAl000有相似的寄存器結構,只是寄存器訪(fǎng)問(wèn)由8位字節訪(fǎng)問(wèn)轉變?yōu)?2位雙字訪(fǎng)問(wèn),因而使得硬件連接相對變得簡(jiǎn)單。CAN總線(xiàn)驅動(dòng)器使用82C250或TJA1050。為增強節點(diǎn)的抗干擾能力,CAN控制器與總線(xiàn)驅動(dòng)器可不直接相連,而是通過(guò)高速光耦6N137連接。光耦部分采用的兩個(gè)電源應隔離,故采用電源隔離模塊。
1.2 軟件設計
CAN節點(diǎn)的基本軟件設計包括CAN節點(diǎn)初始化、報文發(fā)送、報文接收3部分。在這3部分程序的基礎上可編出CAN總線(xiàn)通信的一般應用程序。當然,要將CAN總線(xiàn)應用于通信任務(wù)比較復雜的系統中,還需要編寫(xiě)CAN總線(xiàn)異常處理、驗收濾波設置等內容。

2 驗收濾波器的設置及工作原理
當CAN控制器接收一完整的標識符時(shí),將通知驗收濾波器。驗收濾波器響應這個(gè)信號,并讀出標識符,與AF(驗收濾波)RAM中的標識符表格進(jìn)行匹配,以決定接收或放棄此幀信息。
AF RAM是一個(gè)容量為51232位(2KB)的RAM。通過(guò)軟件設置,可在RAM中存放1~5個(gè)標識符表格。圖1為一個(gè)完整的AFRAM內部表格分布。

為方便實(shí)現,把AF RAM的內容按32位模式排列,每個(gè)32位稱(chēng)為一個(gè)“cell”。表格就是cell的集合。前兩種表格中每個(gè)cell包含2個(gè)標識符,且配置時(shí)每個(gè)cell中高位標識符小于低位標識符,否則會(huì )引起驗收濾波器執行失敗。接下來(lái)的2個(gè)表格,每一對范圍或每一個(gè)標識符占用1個(gè)cell,而合法的擴展標識符范圍表格必須以偶數個(gè)cell出現。每個(gè)表格均需按升序排列,每種表格可根據應用需要適當裁減。

3 驗收濾波實(shí)現
程序用C語(yǔ)言編制,在A(yíng)DSl.2開(kāi)發(fā)環(huán)境下通過(guò)JTAG接口進(jìn)行實(shí)時(shí)調試、仿真和下載,并在實(shí)際應用中得到了驗證。要說(shuō)明的是,Fullcan模式應用較少,程序未涉及它的設置;設置了獨立標準標識符和標準標識符范圍表格,對標準ID{1,2,0x10,0x20}和指定范圍{{90=ID=100}及{0x300=ID=0x400}}的信號進(jìn)行接收,獨立擴展標識符表格和擴展標識符范圍表格未設置。需要設置時(shí),可參考前兩種表格的設置程序。
在CANREG.H中,定義驗收濾波模式寄存器結構如下:

②初始化一個(gè)獨立標準標識符表格的內容。
③初始化一個(gè)標準標識符組表格的內容。
④用獨立標準標識符表格內容初始化1,uT的獨立標準標淤符表格。
⑤用標準標識符范圍表格內容初始化LuT的標準標識符范圍表格。
⑥模式2,啟動(dòng)全局驗收濾波器。
在majn.c中所含的4個(gè)相關(guān)函數略。

結語(yǔ)
在SJAlO∞的應用巾,驗收濾波器只能對一些規律性較強的ID和個(gè)數較少的ID進(jìn)行濾波‘硼。當需要設計復雜的驗收濾波器時(shí),以上的驗收濾波模塊能起到一定的作用。當然,在具體的應.Hj場(chǎng)合.還需要考慮通信協(xié)議、CAK總線(xiàn)異常處理、cAN初始化、接收和發(fā)送等程序。
編者注:本文為期刊縮略版,全文見(jiàn)本刊網(wǎng)站www.mesnet.com.cn。



關(guān)鍵詞: 編程 應用 濾波 驗收 系列 CAN LPC2000

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>