• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SJA1000的CAN通信

      2015-07-19 03:02:51郭丹丹楊瀛陸鄭州同源電力設(shè)計有限公司河南鄭州450000北京軒宇空間科技有限公司北京00085
      中國新技術(shù)新產(chǎn)品 2015年8期
      關(guān)鍵詞:接收數(shù)據(jù)發(fā)送數(shù)據(jù)寄存器

      郭丹丹楊瀛陸(.鄭州同源電力設(shè)計有限公司,河南 鄭州 450000;.北京軒宇空間科技有限公司,北京 00085)

      基于SJA1000的CAN通信

      郭丹丹1楊瀛陸2
      (1.鄭州同源電力設(shè)計有限公司,河南 鄭州 450000;2.北京軒宇空間科技有限公司,北京 100085)

      本文介紹了CAN總線的概念,給出了SJA1000控制器的基本功能,原理框圖,描述了軟件設(shè)計的流程,分為初始化、發(fā)送和接收流程,給出了上位機(jī)測試軟件界面,總結(jié)SJA1000是很好的CAN通訊控制器。

      CAN;SJA1000控制器;硬件設(shè)計框圖

      1 CAN總線概述

      CAN總線(Controller Area Network)是眾多現(xiàn)場通信總線的一種,它屬于串行數(shù)據(jù)通訊總線。CAN網(wǎng)絡(luò)最大通訊距離為10km(5kbps),通訊速率可配置最高可達(dá)1Mbps(40m)。

      2 SJA1000獨(dú)立控制器簡介

      CAN總線器件有兩種:一種是獨(dú)立CAN控制器;另外一種是片上微控制器的總線控制器。SJA1000CAN控制器屬于獨(dú)立的CAN控制器,因為它支持CAN2.0B規(guī)約,軟件和硬件都兼容之前的同類型芯片PCA82C200,技術(shù)相對比較成熟,并能應(yīng)用在汽車和工業(yè)環(huán)境下,因此應(yīng)用的范圍比較廣泛。SJA1000的主要特性為:

      (1)硬件的外特性與CAN總線控制器PCA82C200兼容;(2)軟件操作和使用與PCA82C200兼容;(3)增加了擴(kuò)展接收緩沖器;(4)在通信上支持CAN2.0B協(xié)議;(5)同時支持11位和29位標(biāo)識符;(6)通訊速率1Mbits/s;(7)對于增強(qiáng)CAN模式的支持;(8)時鐘頻率可以支持到24MHz;(9)對于微處理器接口支持多種;(10)CAN輸出配置可編程;芯片的工作溫度范圍-40℃~+125℃。

      3 硬件設(shè)計框圖

      板卡集成了1片PCI9054總線接口芯片,它負(fù)責(zé)PCI總線接口的轉(zhuǎn)換;1片Cyclone III系列的FPGA(EP3C25F324),它負(fù)責(zé)輸出控制信號和初始化CAN控制器;4片CAN控制器(SJA1000),它負(fù)責(zé)并行數(shù)據(jù)總線到CAN總線協(xié)議的轉(zhuǎn)換;4片CAN總線接口控制器(PCA82C250),它負(fù)責(zé)TTL的CAN總線信號到符合ISO 11898標(biāo)準(zhǔn)的CAN總線信號的轉(zhuǎn)換;2片高速數(shù)字隔離器(ADuM1410),它實現(xiàn)CAN總線控制器的數(shù)字信號與CAN總線接口控制器的數(shù)字信號的隔離。另外,板卡還集成了電平轉(zhuǎn)換芯片(TXS0108EPWR)、隔離電源模塊、EEPROM(93LC56)配置芯片、Flash存儲器(EPCS16)、狀態(tài)指示燈和JTAG/AS下載座等。

      表1

      4 軟件設(shè)計

      軟件設(shè)計思想:

      CAN通信分為兩種模式:基本模式和擴(kuò)展模式,擴(kuò)展模式較為復(fù)雜,本文以基本模式為范例講述CAN的通信流程。

      軟件從整體上分為:初始化,發(fā)送和接收三個部分。

      注意一些寄存器只在PeliCAN 模式有效控制寄存器就僅在BasicCAN 模式里有效而且一些寄存器是只讀的或只寫的還有一些只能在復(fù)位模式中訪問。

      4.1 初始化。SJA1000的初始化只有在復(fù)位模式下才可以進(jìn)行。芯片的初始化包括工作方式的設(shè)定、芯片的接收屏蔽寄存器(AMR)設(shè)置和芯片的接收代碼寄存器(ACR)的設(shè)置、芯片的總線時序寄存器的設(shè)置、芯片的輸出模式寄存器和芯片的中斷寄存器的設(shè)置等。初始化設(shè)置完成,需要設(shè)定SJA1000芯片進(jìn)入工作模式,然后就可以進(jìn)行正常的通訊。芯片的初始化步驟如下:(1)關(guān)閉中斷,進(jìn)入復(fù)位模式;(2)配置接收屏蔽寄存器(AMR)和配置接收代碼寄存器(ACR);(3)配置波特率;(4)輸出寄存器的配置(建議選擇開開漏輸出);(5)配置basican模式,關(guān)閉CLKOUT輸出;(6)打開數(shù)據(jù)溢出中斷、錯誤中斷、發(fā)送中斷和接收中斷(中斷寄存器);(7)進(jìn)入工作模式。

      4.2 發(fā)送數(shù)據(jù)。發(fā)送數(shù)據(jù)的流程相對簡單主要是配置設(shè)備的ID,發(fā)送數(shù)據(jù)長度,然后把需要發(fā)送數(shù)據(jù)放到buffer即可,(表1為發(fā)送區(qū)列表)發(fā)送數(shù)據(jù)流程如下:(1)首先判斷上次發(fā)送數(shù)據(jù)是否完成;(2)判斷發(fā)送緩沖區(qū)是否鎖定;(3)如果數(shù)據(jù)發(fā)送完成并且發(fā)送緩沖區(qū)沒有鎖定;(4)啟動發(fā)送。

      4.3 接收數(shù)據(jù)

      (1)判斷中斷寄存器是否有接收中斷;(2)如果有接收中斷則判斷狀態(tài)寄存器是否有數(shù)據(jù);(3)狀態(tài)寄存器中有數(shù)據(jù)那么判斷報文是否有效;(4)如果有效,那么從接收buffer中獲取接收數(shù)據(jù)的長度和數(shù)據(jù)屬于遠(yuǎn)程幀還是數(shù)據(jù)幀,然后開始接收數(shù)據(jù);(5)接收數(shù)據(jù)完成清buffer,以便下次接收數(shù)據(jù)。

      結(jié)語

      本文以使用SJA1000作為CAN通信的控制芯片進(jìn)行數(shù)據(jù)發(fā)送和接收,在基本模式下滿足了通信的需要并且滿足了對于CAN通信參數(shù)的設(shè)置,在效率測試中可以實現(xiàn)1ms周期接收數(shù)據(jù)64小時不丟包。通過搭建的測試界面,不但大大地方便了通信的調(diào)試,而且驗證了邏輯功能以及驅(qū)動和動態(tài)庫的可靠性。

      [1]郭發(fā)東.P89V51RD2與SJA1000實現(xiàn)CAN節(jié)點(diǎn)實例[J].山東科學(xué),2006.

      TN915

      A

      猜你喜歡
      接收數(shù)據(jù)發(fā)送數(shù)據(jù)寄存器
      移動自組網(wǎng)中MAC層協(xié)議研究
      沖激噪聲背景下基于幅度預(yù)處理的測向新方法*
      Lite寄存器模型的設(shè)計與實現(xiàn)
      低復(fù)雜度多輸入多輸出雷達(dá)目標(biāo)角度估計方法
      基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點(diǎn)性能分析
      帶標(biāo)記方式的CRDSA++協(xié)議性能分析*
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      使用IPSec安全傳輸數(shù)據(jù)
      單片機(jī)模擬串口數(shù)據(jù)接收程序的實現(xiàn)及優(yōu)化
      高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
      天柱县| 屏东县| 清河县| 监利县| 尼玛县| 鄂托克前旗| 名山县| 虹口区| 梁河县| 普定县| 石城县| 龙胜| 德阳市| 集贤县| 崇礼县| 女性| 武宣县| 织金县| 徐水县| 大化| 荆门市| 永新县| 云林县| 英山县| 仲巴县| 丹阳市| 崇阳县| 丰台区| 东莞市| 浑源县| 武功县| 阿克苏市| 鲜城| 潍坊市| 黔东| 吉木乃县| 科技| 安溪县| 贵德县| 平泉县| 瑞安市|