關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于AT91RM9200的CAN智能節(jié)點設計

        基于AT91RM9200的CAN智能節(jié)點設計

        作者: 時間:2010-08-13 來源:網(wǎng)絡 收藏

        控制器MCP2510可以通過串行數(shù)據(jù)發(fā)送引腳(TX)和串行數(shù)據(jù)接收引腳(RX)直接連接到CANPCA82C250。該為了實現(xiàn)MC-P2510與PCA82C250之間的電流隔離,在它們之間放置了2個光耦。然而,在協(xié)議控制器和之間使用光耦,通常會增加總線的循環(huán)延遲。光耦6N137的典型傳播延時為60 ns,比較適合傳輸速率小于等于125 Kb/s時的中低速應用場合;而在傳輸速率在125 Kb/s~1 Mb/s的高速應用場合中,應考慮使用傳播延時小于40 ns的高速光耦,如HCPL-7101。
        CANPCA82C250通過有差動發(fā)送和接收功能的2個總線終端CANH和CANL連接到總線電纜。PCA82C250的輸入引腳Rs通過外接電阻Rext到地,可以選擇3種不同的工作模式。第1種是高速模式,支持最大的總線速度和/或長度;第2種是斜率模式,其輸出轉(zhuǎn)換速度可故意降低以減少電磁輻射;第3種是準備模式,其在電池供電并對功耗消耗非常低的應用非常適合。該將PCA82C250的引腳RS外接阻值為47 kΩ的電阻,從而使它工作在斜率模式,這樣可以使用非屏蔽的總線電纜,降低系統(tǒng)的成本。但總線信號轉(zhuǎn)換速率被故意減低了,因此該只能應用在傳輸速率小于等于125 Kb/s時的中低速應用場合,相應光耦選擇6N137即可。

        2 軟件設計
        CAN軟件設計主要包括2個方面:CAN通信和CAN功能模塊的軟件設計。CAN節(jié)點功能模塊軟件的實現(xiàn)因需求而異,在此不做介紹。本文著重介紹CAN通信軟件的設計,它主要由3部分組成:CAN初始化、CAN發(fā)送數(shù)據(jù)、CAN接收數(shù)據(jù)。
        2.1 CAN初始化
        由圖2(a)可知,CAN初始化主要包括PIOA端口初始化、SPI初始化、MCP2510初始化、中斷初始化。

        本文引用地址:http://www.104case.com/article/162936.htm


        現(xiàn)分別介紹如下:
        (1)PIOA端口初始化。由于每個引腳可配置為通用功能I/O線或與1個或2個外設I/O復用的I/O線。因此必須通過軟件配置PIOA端口:將PA0,PAl,PA2,PA4引腳分別定義為MISO,MOSI,SPCK,NPCSl,從而完成CAN節(jié)點SPI接口的定義;將PA3引腳定義為IRQ5,從而完成CAN節(jié)點中斷信號的定義。
        (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位數(shù)據(jù)進行傳輸匹配MCP2510的命令及數(shù)據(jù)格式,指定SPI的串行時鐘波特率以匹配與MCP2510的通信。
        (3)MCP2510初始化。在完成PIOA端口、SPI初始化的基礎上,即可按照圖2(a)虛線框中的流程進行MCP2510初始化:首先必須使MCP2510進入配置模式;然后對MCP2510相關寄存器(位定時配置寄存器、接收濾波寄存器、接收屏蔽寄存器、引腳控制和狀態(tài)寄存器)進行配置;最后使MCP2510進入正常模式。根據(jù)MCP2510提供的SPI命令集(讀指令、寫指令、請求發(fā)送指令、狀態(tài)讀指令、位修改指令、復位指令),可以通過對
        的SPI接收數(shù)據(jù)寄存器SPI_RDR,SPI發(fā)送數(shù)據(jù)寄存器SPI_TDR,SPI狀態(tài)寄存器SPI_SR的操作實現(xiàn)相應的函數(shù):McpRdByte(),Mcp-WrByte(),WriteRTS(),McpRdStatus(),BitModify(),McpReset()。軟件通過這些基本的指令函數(shù)完成MCP2510相關寄存器的配置。
        (4)中斷初始化。通過的高級中斷控制器(AIC),首先配置IRQ5中斷的優(yōu)先級為最高,中斷觸發(fā)類型為下降沿觸發(fā);接著將中斷服務程序IRQ5_ISR()的地址設置到中斷向量寄存器;最后使能IRQ5中斷。



        評論


        相關推薦

        技術(shù)專區(qū)

        關閉
        主站蜘蛛池模板: 永靖县| 丽水市| 威远县| 双桥区| 永吉县| 巴东县| 于田县| 西充县| 册亨县| 津市市| 郯城县| 太仆寺旗| 盖州市| 长阳| 邵阳县| 离岛区| 东明县| 临夏县| 阳泉市| 昆明市| 前郭尔| 宿松县| 峨边| 新巴尔虎左旗| 扎囊县| 民丰县| 秦皇岛市| 台山市| 宁南县| 班玛县| 江达县| 新平| 滦南县| 和田市| 张掖市| 阳朔县| 淮滨县| 怀来县| 武山县| 广水市| 长泰县|