《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于AT91RM9200的CAN智能節點設計
基于AT91RM9200的CAN智能節點設計
現代電子技術 何炳林 張煥文 梁柱揚 杜祺漳
摘要: 本文將提出一種基于ARM9處理器AT91RM9200和CAN控制器MCP25lO構建的CAN智能節點的設計方案,并介紹了該方案的軟硬件設計及調試方法。
Abstract:
Key words :

 

        近年來工業測控系統從傳統的集中測量控制系統轉向網絡化的集散控制系統。隨著現場總線技術高速發展和標準化程度的不斷提高,以現場總線技術為基礎的開放型集散測控系統得到廣泛應用??偩€是控制器局域網(controller area network,CAN)屬于現場總線范疇,是一種能有效支持分布式控制的串行通信網絡,可將掛接在現場總線上作為網絡節點的智能設備連接成網絡系統,并進一步構成集散測控系統。CAN智能節點位于傳感器和執行機構所在的現場,在集散控制系統中起著承上啟下的作用。一方面,它必須和上位機進行通信,以完成數據交換;另一方面,它根據系統的需要以完成測量與控制的功能。因此,CAN智能節點的設計在工業集散測控系統中有著十分重要的作用。本文將提出一種基于ARM9處理器AT91RM9200和CAN控制器MCP25lO構建的CAN智能節點的設計方案,并介紹了該方案的軟硬件設計及調試方法。
 
  1 硬件設計
 
  CAN智能節點的設計涉及2個方面:需要實現的功能;如何實現CAN通信。因此本文基于AT91RM9200和MCP2510提出的CAN智能節點的設計框架如圖1所示。在此首先介紹主要芯片的特性,然后再說明智能節點的設計原理。
 
 
  1.1 芯片特性
  AT91RM9200是Atmel公司生產的一款ARM9處理器,它是完全圍繞ARM920T ARM Thumb處理器構建的系統。它有豐富的系統與應用外設及標準的接口,從而為低功耗、低成本、高性能的計算機寬范圍應用提供一個單片解決方案。
 
  MCP2510是由美國微芯科技有限公司(MicrochipTechnology Inc.)生產的一款帶SPI接口的CAN協議控制器,完全支持CAN總線V2.0A/B技術規范;能夠發送和接收標準和擴展報文,通信速率最高可達1 Mb/s,同時具備驗收過濾以及報文管理功能;通過SPI接口與MCU進行通信,最高數據傳輸速率高達5 Mb/s;包含3個發送緩沖器和2個接收緩沖器,還具有靈活的中斷管理能力。所有這些特點使得MCU對CAN總線的操作變得非常簡單。PCA82C250是由Philips半導體公司生產的一款CAN收發器,是CAN協議控制器和物理傳輸線路之間的接口。它可以用高達l Mb/s的位速率在2條有差動電壓的總線電纜上傳輸數據。
 
  1.2 設計原理
 
  本文將CAN智能節點需要實現的功能統稱為功能模塊。由于AT91RM9200處理器具有豐富的系統與應用外設及標準的接口,因此根據應用的需要很容易就可實現功能模塊的擴展。本文著重說明AT91RM9200處理器如何實現CAN總線的擴展。
 
  AT91RM9200處理器提供4個SPI接口。其中MOSI(主機輸出從機輸入)、MISO(主機輸入從機輸出)、SPCK(串行時鐘)3個引腳信號由4個SPI接口共用;而4個片選信號NPCSO,NPCSl,NPCS2,NPCS3則用于分別選通4個SPI接口。而CAN控制器MCP2510的SPI接口引腳定義:SI(數據輸入)、SO(數據輸出)、SCK(時鐘輸入)、CS(片選輸入)。該設計將AT91RM9200第二個SPI接口與MCP2510的SPI接口相連(MOSI←→SI,MIS0←→SO,SPCK←→SCK,NPCSl←→CS),從而建立了它們之間通信的橋梁。同時將MCP2510芯片的中斷輸出引腳INT與AT91RM9200芯片的中斷輸入引腳IRQ5相連,從而可將MCP2510芯片產生的中斷(包括發送、接收、報文錯誤、總線活動喚醒、錯誤等中斷)事件通知AT91RM9200處理器,讓其作出相應的處理。
 
  CAN控制器MCP2510可以通過串行數據發送引腳(TXCAN)和串行數據接收引腳(RXCAN)直接連接到CAN收發器PCA82C250。該設計為了實現MC-P2510與PCA82C250之間的電流隔離,在它們之間放置了2個光耦。然而,在協議控制器和收發器之間使用光耦,通常會增加總線節點的循環延遲。光耦6N137的典型傳播延時為60 ns,比較適合傳輸速率小于等于125 Kb/s時的中低速應用場合;而在傳輸速率在125 Kb/s~1 Mb/s的高速應用場合中,應考慮使用傳播延時小于40 ns的高速光耦,如HCPL-7101。
 
  CAN收發器PCA82C250通過有差動發送和接收功能的2個總線終端CANH和CANL連接到總線電纜。PCA82C250的輸入引腳Rs通過外接電阻Rext到地,可以選擇3種不同的工作模式。第1種是高速模式,支持最大的總線速度和/或長度;第2種是斜率模式,其輸出轉換速度可故意降低以減少電磁輻射;第3種是準備模式,其在電池供電并對功耗消耗非常低的應用非常適合。該設計將PCA82C250的引腳RS外接阻值為47 kΩ的電阻,從而使它工作在斜率模式,這樣可以使用非屏蔽的總線電纜,降低系統的成本。但總線信號轉換速率被故意減低了,因此該設計只能應用在傳輸速率小于等于125 Kb/s時的中低速應用場合,相應光耦選擇6N137即可。
 
         2 軟件設計
  CAN智能節點軟件設計主要包括2個方面:CAN通信和CAN節點功能模塊的軟件設計。CAN節點功能模塊軟件的實現因需求而異,在此不做介紹。本文著重介紹CAN通信軟件的設計,它主要由3部分組成:CAN初始化、CAN發送數據、CAN接收數據。
 
  2.1 CAN初始化

  由圖2(a)可知,CAN初始化主要包括PIOA端口初始化、SPI初始化、MCP2510初始化、中斷初始化。
 
 
  現分別介紹如下:
 
  (1)PIOA端口初始化。由于AT91RM9200每個引腳可配置為通用功能I/O線或與1個或2個外設I/O復用的I/O線。因此必須通過軟件配置PIOA端口:將PA0,PAl,PA2,PA4引腳分別定義為MISO,MOSI,SPCK,NPCSl,從而完成CAN智能節點SPI接口的定義;將PA3引腳定義為IRQ5,從而完成CAN智能節點中斷信號的定義。
 
  (2)SPI初始化。通過PIOA端口初始化,只是完成SPI接口的引腳定義。為了使SPI接口能夠正常工作,首先配置電源管理控制器(PMC)以使能SPI時鐘;如果允許SPI中斷請求,必須對高級中斷控制器(AIC)進行配置;最后通過SPI的模式寄存器SPI_MR。指定SPI為主機模式、固定外設選擇、SPI時鐘為MCK、片選信號NPCSl有效;通過SPI的片選1寄存器SPI_CSRl指定SPCK時鐘極性、時鐘相位以支持MCP2510的(O,O)或(1,1)的SPI模式,指定SPI接口以8位數據進行傳輸匹配MCP2510的命令及數據格式,指定SPI的串行時鐘波特率以匹配與MCP2510的通信。
 
  (3)MCP2510初始化。在完成PIOA端口、SPI初始化的基礎上,即可按照圖2(a)虛線框中的流程進行MCP2510初始化:首先必須使MCP2510進入配置模式;然后對MCP2510相關寄存器(位定時配置寄存器、接收濾波寄存器、接收屏蔽寄存器、引腳控制和狀態寄存器)進行配置;最后使MCP2510進入正常模式。根據MCP2510提供的SPI命令集(讀指令、寫指令、請求發送指令、狀態讀指令、位修改指令、復位指令),可以通過對AT91RM9200的SPI接收數據寄存器SPI_RDR,SPI發送數據寄存器SPI_TDR,SPI狀態寄存器SPI_SR的操作實現相應的函數:McpRdByte(),Mcp-WrByte(),WriteRTS(),McpRdStatus(),BitModify(),McpReset()。軟件通過這些基本的指令函數完成MCP2510相關寄存器的配置。
 
  (4)中斷初始化。通過AT91RM9200的高級中斷控制器(AIC),首先配置IRQ5中斷的優先級為最高,中斷觸發類型為下降沿觸發;接著將中斷服務程序IRQ5_ISR()的地址設置到中斷向量寄存器;最后使能IRQ5中斷。
 
  2.2 CAN發送數據
 
  當完成CAN的初始化后,即可使用3個發送緩沖器發送報文數據。由圖2(b)可知:在發送數據前,首先通過發送緩沖器N(N=O,1,2)控制寄存器TXBNCTRL終止報文發送,并設定發送緩沖器N報文發送的優先級;接著通過發送緩沖器N標準標識符高低位寄存器TXBNSIDH,TXBNSIDL設定標準標識符,如果報文采用擴展標識符,還需通過發送緩沖器N擴展標識符高低位寄存器TXBNEID8,TXBNEID0設定擴展標識符。當發送緩沖器N相關寄存器初始化后,發送任務處于休眠等待狀態。一旦有數據需要發送,即可將需要發送的數據(每次最多8 B)存放在發送緩沖器N的數據寄存器TXBND7~TXlBND0,并且通過送緩沖器N的數據長度寄存器TXBNDLC設定每次發送的字節數,最后通過發送緩沖器N控制寄存器TXB-NCTRL啟動數據發送。當數據發送完畢,發送任務又處于休眠等待狀態。
 
  2.3 CAN接收數據
 
  當完成CAN的初始化后,即可使用兩個接收緩沖器接收報文數據。由圖2(c)可知:在接收數據前,首先通過接收緩沖器N(N=0,1)控制寄存器RXBNCTRL,設定接收緩沖器的工作模式為接收符合濾波條件的所有帶擴展標識符或標準標識符的有效報文;如果允許MCP2510接收中斷,還需通過中斷使能寄存器CANINTE允許接收緩沖器N裝入報文時產生中斷。
 
  當接收緩沖器N相關寄存器初始化后,接收任務處于休眠等待狀態。當接收任務通過輪詢或中斷方法發現需要接收數據時,它通過接收緩沖器N標準標識符高低位寄存器RXBNSIDH,RXBNSIDL獲取標準標識符;如果收到的報文是擴展幀,可通過RXBNSIDL及接收緩沖器N擴展標識符中間、低位寄存器RXBNEID8,RXBNEIDO獲取擴展標識符;通過接收緩沖器N數據長度碼寄存器RXBNDLC獲取接收到的數據字節個數,進而通過接收緩沖器N數據寄存器RBNDm7~RBNDm0獲取接收報文中的數據信息。當數據接收完畢,接收任務又處于休眠等待狀態。 
 
  3 軟硬件調試
 
  當CAN智能節點的硬件和軟件設計完畢,需要對其進行軟、硬件的調試以驗證其設計的正確性。CAN智能節點軟、硬件調試按以下步驟依次進行:
 
  (1)CAN自發、自收功能調試。只要在CAN初始化過程完成MCP2510相關寄存器的配置,將MCP2510設置為環回模式,即可使MCP2510器件內部發送緩沖器和接收緩沖器之間進行報文自發、自收,而無需通過CAN總線。
 
  (2)CAN通信功能調試。按照圖3所示方案進行CAN通信功能的調試。其中USB_CAN適配器采用武漢吉陽光電科技有限公司一款帶有USB接口和1路CAN接口的GY8507 USB_CAN總線適配器。通過該適配器,PC可以通過USB接口連接一個標準CAN網絡,從而與CAN智能節點通信。使用廠家提供的CANTools工具軟件可以方便進行CAN智能節點數據的發送和接收調試。
 
 
  (3)CAN功能模塊調試。由于CAN智能節點具體實現的功能各異,不詳細介紹CAN功能模塊的調試。
 
  4 結語
 
  目前已完成CAN智能節點通信電路的軟、硬件設計及調試,并成功將軟件移植到VxWorks 5.5操作系統上運行?;诠δ軓姶蟮腁T91RM-9200處理器以及高可靠和強實時的VxWorks 5.5操作系統,容易構建出滿足應用需求的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>
          欧美午夜一区二区| 亚洲国产一区二区三区青草影视| 国产精品腿扒开做爽爽爽挤奶网站| 国产一区二区日韩| 欧美大片在线观看一区| 亚洲区欧美区| 国产精品成人一区| 久久久久久综合| 国产精品国产亚洲精品看不卡15| 最新亚洲电影| 亚洲欧美综合一区| 在线观看日韩www视频免费| 久久久女女女女999久久| 性欧美18~19sex高清播放| 一区二区亚洲欧洲国产日韩| 亚洲人成网站精品片在线观看| 欧美一级大片在线观看| 免费一级欧美片在线播放| 亚洲一区在线播放| 欧美美女bb生活片| 激情综合电影网| 久久不射中文字幕| 亚洲午夜久久久久久尤物| 美女精品一区| 欧美日韩喷水| 久久久久国色av免费看影院| 好看的日韩视频| 国产精品看片你懂得| 午夜精品福利电影| 久久人人97超碰国产公开结果| 久久久久久久一区二区三区| 嫩草成人www欧美| 久久久久久夜精品精品免费| 亚洲乱码国产乱码精品精可以看| 一区二区视频免费完整版观看| 欧美视频一区在线| 亚洲性人人天天夜夜摸| 久热爱精品视频线路一| 欧美激情一区二区久久久| 国内精品久久久久国产盗摄免费观看完整版| 欧美影院午夜播放| 亚洲美女免费视频| 欧美成人在线免费视频| 欧美日韩精品一区二区三区四区| 久久精品国产亚洲一区二区| 欧美日韩在线不卡一区| 亚洲综合导航| 国产精品乱码久久久久久| 国产精品热久久久久夜色精品三区| 欧美美女bbbb| 亚洲精品国产精品国自产观看| 亚洲精品国产精品国自产观看浪潮| 在线成人性视频| 欧美区日韩区| 欧美日韩日本网| 欧美一区二区网站| 亚洲精品国产精品国产自| 一区二区三区欧美激情| 欧美在线不卡| 蜜乳av另类精品一区二区| 久久夜色精品国产噜噜av| 亚洲人成在线播放| 午夜精品福利视频| 国产精品久久| 欧美成在线视频| 国产欧美日韩免费| 欧美精品在线免费| 久久激情视频| 国产日韩精品一区| 欧美在线你懂的| 日韩视频在线你懂得| 欧美一区二区在线免费播放| 国产精品一区二区在线| 欧美一级一区| 一二三四社区欧美黄| 老司机亚洲精品| 久久久中精品2020中文| 欧美一区二区三区喷汁尤物| 樱桃视频在线观看一区| 亚洲欧洲日韩女同| 在线午夜精品| 欧美人成网站| 欧美影视一区| 美日韩精品视频免费看| 亚洲午夜激情网站| 亚洲国产精品综合| 亚洲一区二区av电影| 亚洲手机成人高清视频| 亚洲日本在线观看| 午夜精彩视频在线观看不卡| 国产日韩亚洲欧美| a4yy欧美一区二区三区| 欧美一级专区| 久久精品123| 欧美日韩性视频在线| 久久人人97超碰国产公开结果| 在线看片成人| 亚洲少妇最新在线视频| 亚洲人成啪啪网站| 久久久久久久97| 亚洲国产天堂久久国产91| 午夜天堂精品久久久久| 国产精品成人一区二区| 欧美日韩在线不卡一区| 欧美成人a视频| 精品福利免费观看| 日韩特黄影片| 欧美视频在线观看免费网址| 牛牛国产精品| 亚洲影视综合| 国产九色精品成人porny| 理论片一区二区在线| 中日韩男男gay无套| 亚洲六月丁香色婷婷综合久久| 欧美日韩妖精视频| 亚洲欧美日韩在线观看a三区| 午夜免费久久久久| 国产精品大片wwwwww| 亚洲七七久久综合桃花剧情介绍| 欧美福利一区二区| 国产在线精品二区| 国产精品成人一区二区三区吃奶| 欧美成人精品高清在线播放| 欧美大片一区二区三区| 欧美日本国产在线| 99视频在线观看一区三区| 国产一区成人| 免费成人在线视频网站| 伊伊综合在线| 91久久久久久久久久久久久| 一本高清dvd不卡在线观看| 国产欧美日本一区视频| 国产精品www| 久久久久久噜噜噜久久久精品| 欧美高清视频一区二区三区在线观看| 亚洲影院高清在线| 国产精品亚洲网站| 欧美福利视频一区| 一区二区三区高清| 亚洲国产91| 国产欧美婷婷中文| 国产一区二区三区在线观看免费视频| 亚洲欧美日韩一区在线观看| 国产精品午夜国产小视频| 国产视频一区在线| 国产精品日日摸夜夜添夜夜av| 亚洲综合视频一区| 久久人体大胆视频| 国产精品久久久久久妇女6080| 亚洲欧美中文日韩在线| 欧美日韩精品欧美日韩精品一| 国产欧美日韩精品专区| 欧美在线观看你懂的| 欧美激情1区2区3区| 欧美在线观看网站| 99精品欧美一区二区三区综合在线| 久久精品国产2020观看福利| 激情久久久久久久| 久久在精品线影院精品国产| 国产综合色产在线精品| 午夜亚洲影视| 国产欧美va欧美va香蕉在| 欧美精品1区2区3区| 久久偷看各类wc女厕嘘嘘偷窃| 欧美成人在线免费视频| 久久这里只有精品视频首页| 国产精品人人爽人人做我的可爱| 久久午夜精品| 日韩视频在线一区二区三区| 亚洲精品欧美在线| 国产精品主播| 国产在线视频不卡二| 国产精品久久久久国产a级| 久久国产精品久久w女人spa| 久久麻豆一区二区| 宅男噜噜噜66一区二区66| 亚洲一区二区三区在线视频| 亚洲黄色片网站| 久久噜噜噜精品国产亚洲综合| 午夜综合激情| 欧美丰满少妇xxxbbb| 韩日在线一区| 欧美日本三区| 国产视频一区欧美| 在线视频日韩精品| 久久国产精品72免费观看| 国产精品一区视频| 亚洲韩国青草视频| 国产精品捆绑调教| 欧美日韩精品在线| 国产精品一香蕉国产线看观看| 国产亚洲精品一区二555| 国产一区二区日韩精品| 亚洲激情网站| 久久九九有精品国产23| 欧美午夜www高清视频| 你懂的视频一区二区| 欧美不卡激情三级在线观看| 亚洲永久网站| 欧美一区二区成人| 亚洲欧美激情诱惑| 国产亚洲视频在线观看| 蜜桃伊人久久| 狠狠色狠狠色综合日日91app| 国产精品v欧美精品v日韩精品| 亚洲国产日韩一区二区| 亚洲国产精品第一区二区三区| 亚洲视频福利| 欧美午夜精品久久久久久人妖| 欧美日韩国产一级片| 午夜欧美精品| 久久天天躁狠狠躁夜夜爽蜜月| 日韩一区二区福利| 欧美精品在线一区二区三区| 亚洲开发第一视频在线播放| 国产免费一区二区三区香蕉精| 国产精品中文字幕欧美| 亚洲电影自拍| 国产欧美亚洲日本| 亚洲精品1区| 欧美一区二视频| 欧美激情久久久久久| 亚洲免费观看高清完整版在线观看| 国产日韩欧美91| 国产精品久久久久久久久久免费| 国产一区再线| 欧美三级电影网| 久久亚洲精品欧美| 亚洲毛片在线观看| 欧美区高清在线| 欧美日韩亚洲一区三区| 久久久久9999亚洲精品| 久久精品夜色噜噜亚洲aⅴ| 欧美在线观看网址综合| 国产精品福利av| 欧美日韩的一区二区| 国内精品视频在线观看| 久久伊人亚洲| 国产伦精品一区二区三区在线观看| 亚洲美女黄色| 性一交一乱一区二区洋洋av| 国产精品网站一区| 一区二区三区视频免费在线观看| 国产午夜精品一区二区三区欧美| 亚洲欧美国产va在线影院| 久久久91精品国产一区二区精品| 欧美日韩在线综合| 亚洲午夜精品一区二区三区他趣| 欧美一区国产在线| 国产精品久久久久毛片大屁完整版| 亚洲高清精品中出| 亚洲成色777777在线观看影院| 亚洲国产成人精品女人久久久| 欧美v国产在线一区二区三区| 亚洲一区二区三区精品在线观看| 欧美精品乱码久久久久久按摩| 欧美成人自拍视频| 国产一区二区三区四区在线观看| 国产九九精品| 免费成人在线视频网站| av成人动漫| 麻豆91精品| 国产亚洲永久域名| 韩国女主播一区二区三区| 国产精品vip| 亚洲欧美在线另类| 国产精品一区二区女厕厕| 欧美精品www在线观看| 性18欧美另类| 欧美日本亚洲| 国模大胆一区二区三区| 亚洲精品亚洲人成人网| 欧美色区777第一页| 欧美成人伊人久久综合网| 久久久噜噜噜久噜久久| 国产精品久久久久久福利一牛影视| 欧美在线一二三| 欧美日韩大片| 国产情人节一区| 欧美日韩人人澡狠狠躁视频| 亚洲福利视频专区| 免费在线观看精品| 欧美在线视频一区二区| 91久久中文字幕| 国产亚洲精品久久久| 国产欧美一区二区三区视频| 亚洲成人影音| 亚洲午夜精品一区二区三区他趣| 影音先锋久久精品| 亚洲国产一区视频| 亚洲国产一区二区在线| 一区二区不卡在线视频 午夜欧美不卡'| 欧美三级在线视频| 一区二区三区在线免费视频| 欧美国产精品人人做人人爱| 红桃视频欧美| 每日更新成人在线视频| 欧美国产一区二区三区激情无套| 国产精品国产三级国产专播品爱网| 美女图片一区二区| 亚洲欧洲精品一区| 欧美第一黄网免费网站| 99亚洲伊人久久精品影院红桃| 久久久午夜电影| 在线亚洲+欧美+日本专区| 亚洲福利视频一区| 免费成人在线视频网站| 亚洲欧美综合精品久久成人| 亚洲人屁股眼子交8| 亚洲精品婷婷| 欧美激情欧美狂野欧美精品| 欧美精品久久99久久在免费线| 欧美一区二区三区在线视频| 欧美.日韩.国产.一区.二区| 一本色道婷婷久久欧美| 亚洲欧美日韩一区在线观看| 日韩网站免费观看| 欧美日韩色综合| 国产精品一区二区久久精品| 欧美mv日韩mv亚洲| 国产亚洲精品bv在线观看| 欧美理论视频| 一区二区免费在线视频| 午夜国产欧美理论在线播放| 欧美精品日韩www.p站| 欧美专区在线观看一区| 国产精品护士白丝一区av| 亚洲精品人人|