《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM控制器LPC2294的CAN/PCI智能通信卡設計
基于ARM控制器LPC2294的CAN/PCI智能通信卡設計
摘要: LPC2294是PHILIPS公司推出的一款功能強大、超低功耗且具有ARM7TDMI內核的32位微控制器。它具有豐富的片上資源,完全可以滿足一般的工業控制需要,同時還可以減少系統硬件設計的復雜度,提高系統的穩定性。
Abstract:
Key words :

       LPC2294是PHILIPS公司推出的一款功能強大、超低功耗且具有ARM7TDMI內核的32位微控制器。它具有豐富的片上資源,完全可以滿足一般的工業控制需要,同時還可以減少系統硬件設計的復雜度,提高系統的穩定性。

  CAN(“Controller Area Network”)總線控制器局域網是一種能有效支持分布式控制或實時控制的串行通信網絡。CAN總線以其高性能、高可靠性、廉價等特性,越來越受到人們的重視和青睞。為了有效的管理工業現場的CAN節點,充分發揮CAN總線的性能,通信卡的設計與研究十分必要。但目前市場上類似產品存在著兩點不足。

  首先是一般工業現場中可能擁有不止1條CAN總線,而目前設計的通信卡上的CAN的接口太少,因而會給設備的集中管理帶來困難。

  二是目前兩條CAN網段問的通信主要通過一對一CAN總線網橋來實現,但這種方式解決不了工業現場中同時在幾條CAN網段問傳輸數據的需求,也容易導致組網混亂。

  為此,本設計選用的ARM控制器LPC2294內部集成有四路CAN控制器,完全符合CAN規范CAN2.0B標準和ISO11989-1標準。全局驗收過濾器可識別幾乎所有總線的11位和29位Rx標識符。作為本設計的核心部件,LPC2294的使用能夠很好地解決上述2個問題,它不僅能擔起主控制器的工作,同時還可作為CAN網絡的數據傳輸控制器,來與網絡中的節點實現數據交換。

  1 硬件設計方案

  目前計算機的發展,除了少數專門的工控機還在使用ISA總線以外,PC機上使用最為普遍的就是PCI總線了。PCI總線是Intel公司推出的一種高性能32/64位PC機局部總線,可能同時支持多組外圍沒備而不受制于處理器,其數據吞吐量很大(33 MHz總線頻率、32位傳輸時,其峰值可高達132 MB/s),PCI總線依靠其優越的性能必將取代ISA總線。因此,本文基于PCI總線來設計一個帶有4個CAN總線網段的智能通信卡。圖1是該通信卡的整體硬件結構圖。

       1.1 PCI總線接口的實現

  PCI總線具有非常嚴格的規范,也具有良好的兼容性。但是PCI總線協議也比較復雜。本設計選用專用的PCI總線接口芯片PCI9030來實現網關的PCI總線接口。PCI9030是PLX公司開發的低價格PCI總線從模式接口芯片。該芯片功耗低,符合PCI2.2規范,用戶設計時只需考慮局部總線一側的邏輯控制電路和用于配置的外部EEP-ROM,而不必考慮PCI協議的具體實現方法,這樣就大大簡化了設計難度,縮短了開發周期。

  PCI9030要求有一塊EEPROM作為初始化存儲器。在系統加載時,PCI9030先從該EEPROM中加載初始數據,進行初始設置,因此,EEP-ROM中的信息是否正確決定了PCI卡的加載和運行是否正常。本設計選用ST93CS56作為PCI9030的初始化存儲器,其結構方案如圖2所示。

       1.2 CAN總線接口的實現

  該通信卡中CAN總線接口部分實現有以下兩種常用的方法:

  (1) 獨立CAN總線控制芯片實現

  即采用飛利浦公司的SJA1000獨立CAN控制器來實現CAN協議。這種方法的優點是能實現較復雜的功能,靈活性也不錯,但由于它是獨立的控制器,設計通信卡擁有4個CAN網段就需要4片SJA1000,這樣會造成資源冗余,系統會比較龐大,而且穩定性也會受影響,設計難度也較大。

  (2) 帶CAN接口的微控制器實現

  該方法具有代表性的有飛利浦公司的ARM芯片LPC2294,它集成有4路片上CAN總線控制器,能很方便地實現多路CAN總線接口,減小系統規模,提高系統穩定性。

  比較上述兩種方法,在傳統的SJA1000中,接收過濾只能滿足一些規律性較高的ID篩選過濾,或對個數較少的ID (一般小于10~15個)進行任意篩選過濾,而難以實現更復雜的任意ID進行篩選過濾,這無疑增加了系統軟件設計及運行負擔。

  而第二種設計方法相對較為簡便。由于LPC2294微控制器中為所有CAN控制器提供了全局的接收標識符查詢功能,因而能容易地設計較復雜的ID接收過濾,其工作的重點主要在ARM芯片的軟件設計上。本文采用第二種方法來實現CAN總線接口,并采用PCA82C250作為CAN總線驅動器,同時將6N137連入CAN控制器和CAN驅動器之間以降低CAN總線對網關卡的電磁干擾。圖3所示是LPC2294中一個CAN接口的連接圖,其它接口與之類似。

       1.3 微控制器與PCI9030之間的硬件接口設計

  微控制器與PCI9030之間的硬件設計是該通信卡的核心控制部分。本設計采用ALTERA公司的FPGA EPlC6來實現微控制器與PCI9030之間的接口。EPlC6是ALTERA公司的一款FPGA芯片,它內部集成了20塊128×36 bits的RAM模塊,可以方便地將它編程為所需要的“雙口RAM”,然后將上行數據(CAN節點發往PC機的數據)和下行數據(PC機發往CAN節點的數據)通過該“雙口RAM”緩存轉發。由于EPlC6擁有豐富的I/O口,故可靈活選擇數據格式(32位/16位/8位)以及傳輸方法,本文采用16位復用傳輸模式。

  EPlC6還要編程實現PCI9030與ARM之間的邏輯控制時序轉換。由于PCI9030與ARM的控制信號不完全一致,所以需要進行邏輯控制時序轉換。同時,本文PCI9030的局部總線一側采用的是地址/數據復用模式,而ARM控制器采用的是非復用模式,因此也需要EPlC6進行模式轉換:在PCI9030的地址周期內可利用LALE將16位地址鎖存到EPlC6內部寄存器,等到PCI9030的數據周期來臨時,再與數據一起送到ARM的地址口與數據口上,以方便ARM取用。

  2 軟件設計

  2.1 通信卡軟件設計

  通信卡上的軟件主要指的是ARM控制器上的軟件程序。本文選用ARM控制器LPC2294來實現智能數據傳輸路徑選擇。LPC2294是通信卡的控制核心。它集成有4路CAN控制器,每個CAN控制器都與獨立CAN控制器SJA1000有著相似的寄存器結構,它只是對器件寄存器訪問由原來的8bit字節訪問轉變為了32 bit的雙字訪問。LPC2294可實現CAN網段與上位機之間的數據傳輸控制(包括上行數據傳輸和下行數據傳輸)以及不同CAN網段間的數據傳輸控制(平行數據傳輸)。

  LPC2294為所有CAN控制器提供了全局接收標識符查詢功能。它包含一個512×32 (2 k字節)的RAM,可通過軟件處理在RAM中存放1~5個標識符表格。整個接收濾波RAM可容納1024個標準標識符或512個擴展標識符,或兩種類型的混合標識符。由于允許的表格范圍有2 k字節,故能容易地滿足復雜的ID接收過濾要求。LPC2294在FullCAN模式下能自動接收并選定網段的標準幀,但本文不采用FullCAN模式。

  若在EPlC6的“雙口RAM”中設置一個狀態與控制寄存器組(SOR),那么,上位機便可通過訪問該寄存器組查詢通信卡的運行狀態。為了有效管理數據傳輸,防止傳輸過程中的數據丟失,本設計在ARM內部的靜態RAM區開辟了一個全局數據收發緩存區(GRTB),其示意圖如圖4所示。

       圖4中,對于標準幀來說,它只有11位標識符,因此,圖中的標識符字節3和4保留不用。而幀格式用來區別此幀是標準幀(0)還是擴展幀(1)。當RTR為1時,表示此幀是遠程幀。圖中的源段號和目的段號用于表明此幀來自哪個網段以及將要送往哪個網段(此處將上位機也作為其中一段來處理)。DLC表明傳輸的數據字節數目。

  2.2 通信卡的運行流程

  系統上電復位后,系統將首先運行初始化程序。LPC2294的初始化主要是初始化全局接收和發送緩沖區以及清除狀態寄存器中的值等;PCI9030的初始化主要是從EEPROM中加載初始數據以進行初始設置,CAN初始化包括設置模式、總線時序、中斷使能、標識符表格,這些設置均可通過給CAN芯片的內部寄存器賦值來實現。初始化成功之后,通信卡將進行自檢,并在確定啟動正常之后進入工作狀態。這一部分的程序流程圖如圖5的A部分所示。

       系統進入工作狀態后(圖5中的B部分)將等待中斷產生,如有,則進人相應的中斷服務程序。如果是數據傳輸,則轉入數據傳輸子程序,數據傳輸子程序主要包括3個部分:

  (1) 下行數據傳輸

  下行數據傳輸指的是上位機向CAN網段發送數據。即上位機把數據寫入到“雙口RAM”中以等待LPC2294將數據取走。LPC2294將上位機發來的數據暫時存放在全局數據收發緩存區(GRTB)中,然后檢查匹配的目的段是否有空閑的發送區(CANSR中的TBS位為1),若有則將數據分別寫入每個網段的發送區并發送。如果匹配網段的3個發送緩沖器全為忙,則循環等待,直到有一個以上的發送緩沖器為空再進行發送。

  (2) 上行數據傳輸

  上行數據傳輸指的是CAN網段向上位機發送數據。當程序檢測到某個網段X的CAN中斷/捕獲寄存器(CANICR)中的接收中斷位(RI)置位后,它將進入接收中斷服務程序。此時程序將到標識符表格中查找匹配的標識符,CAN控制器會在接收時自動搜索接收濾波器的RAM中的表格并進行匹配,只要找到匹配值則產生接收中斷并通知用戶保留信息,否則自動放棄這一幀信息而不產生接收中斷,如果它只找到一個匹配值(源網段中),則說明此數據是只傳輸給上位機的,此時程序會將接收到的數據信息按上面介紹的格式保存到全局數據收發緩沖區(GRTB),以等待LPC2294將其發送給EPlC6的“雙口RAM”,以便上位機讀取。

  (3) 平行數據傳輸

  當出現接收中斷時,程序也會到標識符表格中查找匹配的標識符,如果找到一個以上的匹配值,則說明還有其他網段需要這些數據。此時程序會將接收到的數據信息讀入到全局數據收發緩沖區(GRTB)中去,然后把數據發往匹配網段。

  在調用相應的數據傳輸子程序后,程序將置標志位并返回。如果是其它一些中斷,則轉入相應的中斷服務程序。若沒有中斷產生,則檢查PC機是否有參數配置需要,最后進行系統自檢。本系統會在系統閑暇時進行自檢并上傳狀態報表,這樣可以使用戶隨時了解通信卡的工作情況,對于提高系統的工作可靠性以及出現故障時的查錯效率具有重要的意義。

  2.3 上位機程序設計

  本設計中,上位機軟件設計程序主要包括通信卡底層驅動程序和用戶服務程序。其設計框圖圖6所示。

       通信卡底層驅動程序的功能主要是配置CAN總線接口、收發CAN總線上的數據、對CAN總線進行實時監測、執行用戶程序的收發命令等。CAN總線和PCI總線錯誤均采用中斷處理,并通過事件(Event)內核對象直接通知給用戶程序。

  PCI的用戶服務程序則通過PCI通信程序與系統PCIDI (PCI device interface)進行通信,并由系統完成PCI協議的處理與數據傳輸。用戶可以在設計好的上位機界面上方便的設定節點參數,查詢節點狀態信息。

  3 結束語

  本文設計的CAN/PCI智能通信卡采用功能強大的ARM芯片LPC2294作為核心控制芯片,因此,該通信卡能夠同時處理4路CAN總線向上位機的數據傳輸。對于CAN網段之間的通信需求,本通信卡也能夠很好地滿足,并可使工業現場的CAN網絡組網更為簡單。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产一区三区三区| 亚洲免费在线视频一区 二区| 一区二区三区自拍| 在线日韩日本国产亚洲| 欧美日本韩国在线| 亚洲国产欧美精品| 久久久五月天| 久久蜜桃精品| 黑人巨大精品欧美一区二区| 一区精品在线播放| 亚洲精品欧美激情| 亚洲黄页一区| 男女精品视频| 久久精品91久久久久久再现| 久久成人精品一区二区三区| 亚洲一区二区三区乱码aⅴ| 亚洲黄色影片| 久久久久久久久久码影片| 国产专区欧美专区| 欧美日韩ab片| 国产欧美一区二区精品性| 久久国产一二区| 久久久久免费观看| 午夜亚洲福利在线老司机| 亚洲国产精品专区久久| 韩国在线视频一区| 中文一区二区在线观看| 亚洲欧美久久久久一区二区三区| 欧美日韩精品不卡| 在线观看欧美日韩国产| 狠狠色狠狠色综合人人| 国产精品免费看片| 久久av一区二区三区| 欧美大片免费观看| 国产精品视频九色porn| 伊大人香蕉综合8在线视| 欧美成人精品激情在线观看| 国产精品欧美日韩久久| 亚洲欧美国产另类| 国产精品久久7| 亚洲欧美电影在线观看| 亚洲欧洲精品一区二区三区波多野1战4| 国产精品美女久久久久av超清| 国产在线精品成人一区二区三区| 免费在线欧美黄色| 一区二区三区免费网站| 亚洲乱码国产乱码精品精98午夜| 午夜精彩国产免费不卡不顿大片| 亚洲黄色在线观看| 久久精品亚洲乱码伦伦中文| 欧美日韩免费观看中文| 国产三级欧美三级日产三级99| 久久www成人_看片免费不卡| 午夜一区二区三区在线观看| 国产一区久久| 亚洲欧洲三级| 欧美在线视频导航| aa成人免费视频| 欧美1级日本1级| 欧美在线视频网站| 一区二区三区日韩欧美| 亚洲福利视频三区| 久久免费高清视频| 亚洲一区久久久| 亚洲国产一区二区a毛片| 激情综合中文娱乐网| 欧美日韩国产小视频在线观看| 日韩视频在线你懂得| 国产一区二区三区丝袜| 国产模特精品视频久久久久| 国产精品第一区| 午夜精品久久99蜜桃的功能介绍| 日韩网站在线| 欧美日韩极品在线观看一区| 亚洲午夜视频在线| 蜜臀av在线播放一区二区三区| 一本综合精品| 激情六月婷婷综合| 一区二区日韩伦理片| 亚洲片在线观看| 欧美精品一区二区三区蜜桃| 亚洲深爱激情| 欧美在线视频在线播放完整版免费观看| 香蕉尹人综合在线观看| 亚洲制服丝袜在线| 久久综合给合久久狠狠狠97色69| 99re这里只有精品6| 好看的日韩av电影| 午夜视频一区在线观看| 久久久综合网站| 国产综合精品一区| 一区二区在线观看视频在线观看| 国产一级揄自揄精品视频| 国产一区二区三区在线观看免费视频| 男人的天堂成人在线| 欧美国产精品中文字幕| 久久亚洲不卡| 蜜桃久久精品乱码一区二区| 日韩亚洲视频| 噜噜噜久久亚洲精品国产品小说| 在线观看的日韩av| 欧美在线视频全部完| 欧美日韩麻豆| 欧美喷潮久久久xxxxx| 国产一区二区三区不卡在线观看| 国内精品美女在线观看| 揄拍成人国产精品视频| 久久嫩草精品久久久精品| 欧美精品在线极品| 亚洲欧美日韩国产综合| 欧美日韩免费在线观看| 亚洲精品综合精品自拍| 欧美精品在线极品| 欧美日韩视频在线一区二区观看视频| 一本色道久久加勒比88综合| 国模一区二区三区| 每日更新成人在线视频| 久久精品亚洲热| 国产精品一区久久| 欧美91精品| 亚洲一区二区三区在线视频| 蘑菇福利视频一区播放| 99国产精品视频免费观看一公开| 欧美中文字幕在线播放| aa成人免费视频| 一区二区三区欧美成人| 亚洲成色www8888| 久久综合色婷婷| 伊人久久婷婷色综合98网| 国产日韩在线视频| 欧美日韩免费观看一区三区| 亚洲国产一区在线| 久久免费午夜影院| 在线亚洲成人| 久久人人精品| 久久电影一区| 久久综合伊人77777尤物| 美国十次了思思久久精品导航| 欧美性猛交视频| 欧美制服第一页| 久久国产综合精品| 久热成人在线视频| 欧美一区午夜视频在线观看| 欧美日韩不卡一区| 国产精品人人爽人人做我的可爱| 国产精品毛片a∨一区二区三区|国| 99在线热播精品免费99热| 久久综合九色九九| 欧美精品色综合| 欧美精品久久久久久久久久| 亚洲黄色一区二区三区| 亚洲高清激情| 久久综合久久美利坚合众国| 国产最新精品精品你懂的| 国产精品初高中精品久久| 精品999成人| 日韩视频免费看| 亚洲午夜免费福利视频| 亚洲欧洲综合| 欧美在线网址| 欧美日韩国产免费| 国产综合香蕉五月婷在线| 国产精品剧情在线亚洲| 香蕉精品999视频一区二区| 欧美专区日韩视频| 欧美国产专区| 久久综合久色欧美综合狠狠| 亚洲美女电影在线| 一区二区三区视频在线看| 久久影院午夜片一区| 国产精品一区二区三区四区| 午夜精品久久久久久99热软件| 国产精自产拍久久久久久蜜| 欧美xart系列高清| 久久久久久久一区二区三区| 激情成人在线视频| 亚洲欧美日韩国产一区二区三区| 日韩天堂在线视频| 久久字幕精品一区| 欧美一区二区免费观在线| 国产在线欧美日韩| 老司机久久99久久精品播放免费| 国产精品一级| 亚洲视频久久| 国产精品免费视频xxxx| 亚洲自拍偷拍麻豆| 在线高清一区| 亚洲欧洲日产国产综合网| 免费在线成人| 欧美黄色一区| 欧美不卡视频一区发布| 亚洲日本免费电影| 欧美日韩精品二区第二页| 一区免费在线| 亚洲激情婷婷| 亚洲一级黄色av| 欧美粗暴jizz性欧美20| 久久精品国产成人| 国产精品一区亚洲| 亚洲美女在线国产| 国产精品日韩欧美综合| 国产欧美日韩高清| 亚洲一区在线视频| 欧美 日韩 国产 一区| 国产精品综合视频| 日韩一级黄色大片| 国产午夜精品全部视频播放| 欧美日韩午夜| 一区二区不卡在线视频 午夜欧美不卡在| 午夜精品免费在线| 欧美日韩午夜精品| 亚洲欧美日韩国产| 欧美三级资源在线| 夜夜狂射影院欧美极品| 午夜激情久久久| 国产精品二区二区三区| 日韩一级成人av| 国产一区二区成人久久免费影院| 国产人成一区二区三区影院| 欧美国产视频日韩| 好看不卡的中文字幕| 一本色道久久88综合亚洲精品ⅰ| 麻豆精品视频在线观看| 欧美精品在线观看91| 亚洲欧洲日本mm| 欧美风情在线观看| 国产精品综合色区在线观看| 欧美日韩国产另类不卡| 亚洲精品女人| 国产精品激情偷乱一区二区∴| 欧美激情一区二区三区| 一区二区欧美日韩视频| 亚洲福利视频在线| 日韩小视频在线观看专区| 欧美亚洲免费在线| 国产精品免费一区二区三区观看| 日韩视频第一页| 久久九九热re6这里有精品| 国产精品影片在线观看| 国产精品青草久久| 欧美高清视频一区二区三区在线观看| 国产精品网站在线观看| 久久漫画官网| 久久综合精品国产一区二区三区| 久久综合五月| 亚洲乱码日产精品bd| 欧美另类99xxxxx| 久久av一区二区三区| 亚洲四色影视在线观看| 在线看视频不卡| 亚洲精品在线看| 欧美日韩精品免费观看视频完整| 精品96久久久久久中文字幕无| 一本大道久久a久久精品综合| 久久久国产91| 亚洲永久免费观看| 久热爱精品视频线路一| 日韩一区二区电影网| 亚洲三级色网| 中文网丁香综合网| 亚洲天堂网在线观看| 91久久久久久国产精品| 久久精品一区二区三区中文字幕| 亚洲国产精品一区二区第四页av| 亚洲视频视频在线| 国产欧美一区二区精品婷婷| 亚洲国产日韩一区二区| 亚洲清纯自拍| 国产精品无码专区在线观看| 欧美精品1区| 日韩视频在线观看免费| 一区二区电影免费在线观看| 国产揄拍国内精品对白| 亚洲欧美国产视频| 欧美亚洲视频| 亚洲巨乳在线| 欧美一区二区视频观看视频| 亚洲欧美自拍偷拍| 欧美韩国在线| 好吊色欧美一区二区三区四区| 嫩模写真一区二区三区三州| 国产精品午夜在线观看| 久久亚洲国产精品一区二区| 亚洲精品综合精品自拍| 亚洲图片欧洲图片日韩av| 久久综合久久综合九色| a91a精品视频在线观看| 国产精品igao视频网网址不卡日韩| 国产精品视频你懂的| 亚洲一区二区三区精品视频| 欧美大香线蕉线伊人久久国产精品| 国产精品一区一区| 午夜精品av| 欧美精品一区二| 国产欧美一区二区精品性色| 国产精品揄拍一区二区| 欧美h视频在线| 99国内精品久久| 亚洲国产成人午夜在线一区| 国内久久精品视频| 欧美激情一区二区三区全黄| 久久精品一区中文字幕| 亚洲永久免费| 亚洲成色最大综合在线| 亚洲午夜精品福利| 久久久久综合一区二区三区| 国产欧美另类| 在线不卡视频| 国产精品一区二区三区乱码| 欧美性感一类影片在线播放| 亚洲日本va午夜在线影院| 国产午夜精品在线| 欧美高清视频在线播放| 在线观看精品一区| 亚洲激情第一页| 国产精品久久一卡二卡| 国产精品久久久久99| 男同欧美伦乱| 欧美影院久久久| 亚洲人体一区| 国产精品xxxav免费视频| 亚洲美女在线看| 一区二区在线视频| 国产视频精品va久久久久久| 国产精品久久一区二区三区| 一本到高清视频免费精品| 亚洲美女av在线播放| 国内精品久久久久影院色|