• 
    

    
    

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

      基于SJA1000的雙CAN收發(fā)器通信實(shí)現(xiàn)

      2019-04-20 02:23:10姚宇陽黃志堅(jiān)蔡鵬
      科技視界 2019年4期
      關(guān)鍵詞:CAN總線數(shù)據(jù)通信

      姚宇陽 黃志堅(jiān) 蔡鵬

      【摘 要】CAN是控制器局域網(wǎng)的簡(jiǎn)稱,是德國(guó)Bosch公司為解決現(xiàn)在汽車中眾多測(cè)量控制部件之間的數(shù)據(jù)交換問題而開發(fā)的一種數(shù)據(jù)通信總線。本文主要介紹了基于SJA1000的雙CAN通訊實(shí)現(xiàn),通過硬件與軟件的設(shè)計(jì),在keil 5中編寫程序、下載、運(yùn)行,進(jìn)而實(shí)現(xiàn)雙CAN通訊及控制。

      【關(guān)鍵詞】CAN總線;SJA1000;數(shù)據(jù)通信

      中圖分類號(hào): TN859 文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 2095-2457(2019)04-0028-002

      DOI:10.19694/j.cnki.issn2095-2457.2019.04.011

      Communication Implementation of Double CAN Transceiver Based on SJA1000

      YAO Yu-yang HUANG Zhi-jian CAI Peng

      (College of Electornic & Information Engineering,Suzhou Vocational University,Suzhou Jiangsu 215021)

      【Abstract】CAN is the abbreviation of controller local area network (LAN), which is a data communication bus developed by Bosch Company to solve the problem of data exchange between many measurement and control parts in automobile.This paper mainly introduces the realization of dual can communication based on SJA1000.Through the design of hardware and software,write program in keil5,download,run,and then achieve communication control.

      【Key words】CAN bus;SJA1000

      0 引言

      CAN控制器是一種獨(dú)立控制器,用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制,全稱為Controller Area Network,即控制器局域網(wǎng).CAN是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一,它在通信能力、可靠性、實(shí)時(shí)性、靈活性、易用性以及傳輸距離方面有很好的優(yōu)勢(shì)。起初,CAN主要用于解決汽車內(nèi)部信號(hào)連接的問題;如今,其應(yīng)用范圍已擴(kuò)展到了機(jī)械工業(yè)、交通工業(yè)、醫(yī)療設(shè)備、建筑、環(huán)境控制等等。本課題使用STM32F107VC單片機(jī)編寫程序,實(shí)現(xiàn)CAN總線中簡(jiǎn)單的通訊,達(dá)到雙CAN遠(yuǎn)程通信控制的目的。

      1 理論分析

      CAN模塊是一個(gè)通信控制器,其支持2.0A與2.0B協(xié)議,同時(shí)支持的類型有標(biāo)準(zhǔn)數(shù)據(jù)幀、擴(kuò)展數(shù)據(jù)幀、遠(yuǎn)成幀、出錯(cuò)幀、過載幀和空閑幀。目前CAN總線器件有兩大類:一是獨(dú)立的CAN控制器,如82C200,SJA1000;另一類是帶有芯片CAN的微控制器,如P8XC582。

      本課題使用獨(dú)立CAN控制器SJA1000,SJA1000有兩種工作模式:基本模式和增強(qiáng)模式。在基本模式下,SJA1000只可以收發(fā)標(biāo)準(zhǔn)數(shù)據(jù)幀,并且不能修改錯(cuò)誤報(bào)警的極限值;而在增強(qiáng)模式下,SJA1000不僅可以接收標(biāo)準(zhǔn)數(shù)據(jù)幀,還可以接收擴(kuò)展數(shù)據(jù)幀,也可以修改錯(cuò)誤報(bào)警的極限值[1]。

      為簡(jiǎn)化編程,采用CAN的基本模式,即上電后直接使用。通過使用軟件編程、下載進(jìn)而實(shí)現(xiàn)通訊功能。

      在使用前,還需要對(duì)SJA1000收發(fā)器進(jìn)行初始化,收發(fā)報(bào)文的處理以及對(duì)節(jié)點(diǎn)脫離總線的檢測(cè)與處理等等。同時(shí)SJA1000需要進(jìn)行加電自檢,通過自發(fā)自收一組報(bào)文來判斷控制節(jié)點(diǎn)是否處于總線上。

      2 硬件部分

      硬件部分結(jié)構(gòu)圖如圖1,CPU類型為STM32F107VC,STM32F107VC是意法半導(dǎo)體推出全新STM32互連型(Connectivity)系列微控制器中的一款性能較強(qiáng)產(chǎn)品,此芯片集成了各種高性能工業(yè)標(biāo)準(zhǔn)接口,且STM32不同型號(hào)產(chǎn)品在引腳和軟件上具有完美的兼容性,可以輕松適應(yīng)更多的應(yīng)用。

      SJA1000一種獨(dú)立的CAN 控制器,一般用于區(qū)域網(wǎng)絡(luò)控制,它的材料為PHILIPS半導(dǎo)體且PCA82C200CAN 控制器BasicCAN的替代產(chǎn)品,它增加了一種新的工作模式PeliCAN, 這種模式支持具有很多新特性的CAN 2.0B協(xié)議。

      LED驅(qū)動(dòng)芯片采用CH452。CH452是數(shù)碼管顯示驅(qū)動(dòng)和鍵盤掃描控制芯片,內(nèi)置時(shí)針振蕩電路,可以動(dòng)態(tài)驅(qū)動(dòng)八位數(shù)碼管及64鍵的鍵盤掃描。CH452通過可以級(jí)聯(lián)的四線串行借口與單片機(jī)交換數(shù)據(jù),并且可以對(duì)單片機(jī)提供上電復(fù)位信號(hào)。

      CAN通信模式采用自回環(huán)模式,包括CPU內(nèi)核功能測(cè)試,位綁定,特權(quán)模式。CPU調(diào)試使用方法包含中斷控制器即中斷喚醒低功耗,IRQ通道配置,中斷優(yōu)先級(jí),中斷向量表重定位低功耗測(cè)試(STANDBY模式,STOP模式)[2]。

      CPU驅(qū)動(dòng)電源為3.3V,SJA1000驅(qū)動(dòng)電源為5V,同時(shí)一個(gè)芯片的數(shù)據(jù)輸出引腳和另一個(gè)芯片的數(shù)據(jù)接收引腳采用3.3V和1k的上拉電路,引腳上拉可以保證數(shù)據(jù)傳輸?shù)目煽啃?,同時(shí)消除部分干擾信號(hào)。

      如圖1所示,CPU(STM32F107VC)通過CAN1、CAN2、SJA1000、上拉電路發(fā)送信息,引腳J7是連接插針,可以實(shí)現(xiàn)線路的互通,CPU接收信息后經(jīng)過H與L兩條通道在兩個(gè)CAN通信模塊之間實(shí)現(xiàn)互相的調(diào)用。

      3 軟件部分

      軟件部分結(jié)構(gòu)圖如圖2,軟件部分主要包括初始化、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收三部分。

      SJA1000初始化只有在復(fù)位模式下才可以進(jìn)行。初始化包括工作方式、接收屏蔽寄存器(AMR)和接收代碼寄存器和中斷寄存器(ACR)、總線時(shí)序寄存器、輸出模式寄存器和中斷寄存器的設(shè)置等。

      發(fā)送部分當(dāng)復(fù)位鍵(reset)按下后,再通過key1與key2按鍵由GPIO口傳送數(shù)據(jù),通道為can的1H與2H,1L與2L間。最后接收數(shù)據(jù),LED燈點(diǎn)亮即可表明實(shí)現(xiàn)了雙CAN數(shù)據(jù)通信。

      SJA1000提供了兩種數(shù)據(jù)操作模式,中斷模式和狀態(tài)查詢模式。由于查詢模式需占用大量的CPU內(nèi)存,是實(shí)時(shí)要求較高的自動(dòng)化儀表中常用中斷方式,因此采用中斷模式。通訊模塊的程序包括SJA1000的初始化、節(jié)點(diǎn)自測(cè)、通訊波特率偵測(cè)程序。通訊模塊的中斷處理程序包括錯(cuò)誤處理子程序、發(fā)送接收、放棄發(fā)送子程序等[3]。

      4 結(jié)束語

      本文主要講述了利用SJA1000芯片實(shí)現(xiàn)雙CAN控制器簡(jiǎn)單的通訊,即CAN1、CAN2間互相傳送接收數(shù)據(jù)從而實(shí)現(xiàn)通信操控。通過研究了解了基于SJA1000收發(fā)器的雙CAN通信的硬件配置,軟件配置,實(shí)驗(yàn)結(jié)果驗(yàn)證了理論分析。學(xué)校在目前的總線課程教學(xué)過程中,主要是基于目前實(shí)驗(yàn)室現(xiàn)有的profibubus總線開展,本實(shí)驗(yàn)為后續(xù)開展CAN總線教學(xué)打下了一定的基礎(chǔ)。

      【參考文獻(xiàn)】

      [1]郭丹丹、楊瀛陸,基于SJA1000的CAN通信,《中國(guó)新技術(shù)新產(chǎn)品》,2015.08.

      [2]來清民,手把手教你學(xué)CAN總線[M].北京航空航天大學(xué)出版社,2010.

      [3]邵玉華,基于SJA1000的CAN總線通信系統(tǒng)的設(shè)計(jì),《鐵道通信信號(hào)》.

      猜你喜歡
      CAN總線數(shù)據(jù)通信
      基于快牙平臺(tái)實(shí)現(xiàn)全站儀與計(jì)算機(jī)的數(shù)據(jù)通信
      監(jiān)測(cè)系統(tǒng)接口數(shù)據(jù)通信方式
      論網(wǎng)絡(luò)通信技術(shù)
      基于嵌入式的汽車輔助制動(dòng)系統(tǒng)研究
      CAN總線通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
      基于CANoe的J1939協(xié)議在ECU通信中的應(yīng)用
      科技視界(2016年18期)2016-11-03 22:53:48
      商用車基于CAN總線的組合儀表開發(fā)與應(yīng)用
      光纖CAN總線集線器及其組網(wǎng)研究
      一種高效可靠的串行數(shù)據(jù)通信協(xié)議及處理算法
      TCN實(shí)時(shí)協(xié)議棧過程數(shù)據(jù)通信研究
      新乐市| 白河县| 安岳县| 黄冈市| 塔河县| 双城市| 华坪县| 万荣县| 清新县| 延安市| 仙居县| 千阳县| 灌云县| 崇州市| 博客| 本溪市| 思南县| 宁蒗| 沂水县| 晴隆县| 搜索| 柳林县| 如东县| 湟中县| 灵石县| 阜新市| 上犹县| 新蔡县| 铜陵市| 上杭县| 永安市| 石门县| 通河县| 商都县| 开化县| 丹阳市| 阳新县| 长葛市| 大丰市| 葫芦岛市| 镇沅|