99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于MAX232轉(zhuǎn)換器和SJA1000CAN總線控制器實(shí)現(xiàn)遠(yuǎn)程通信網(wǎng)絡(luò)的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:電子技術(shù)應(yīng)用 ? 作者:王強(qiáng),張建喜 ? 2021-06-22 17:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目前工業(yè)設(shè)備之間的通信很多采用RS232接口,但由于RS232通信距離短(根據(jù)EAT/TAI-232標(biāo)準(zhǔn),僅為15 m)、接口易損,而且只能進(jìn)行點(diǎn)到點(diǎn)通信,不能直接組成多點(diǎn)通信網(wǎng)絡(luò)。為了延長(zhǎng)RS232的通信距離,并將RS232節(jié)點(diǎn)組成通信網(wǎng)絡(luò),目前廣泛使用RS232/RS485信號(hào)轉(zhuǎn)換器。但是,由于RS485通信本身的局限性,在實(shí)際應(yīng)用中存在許多不足:總線效率低、系統(tǒng)的實(shí)時(shí)性差、通信的可靠性低、網(wǎng)絡(luò)工程調(diào)試復(fù)雜、傳輸距離不理想、單總線可掛接的節(jié)點(diǎn)少、應(yīng)用不靈活等。

基于CAN通信的優(yōu)越性,本文介紹一種可以將RS232通信網(wǎng)絡(luò)轉(zhuǎn)換成CAN通信網(wǎng)絡(luò)的方法,以更好地解決用戶建立遠(yuǎn)程通信網(wǎng)絡(luò)的問(wèn)題。

1 CAN總線簡(jiǎn)介

1.1 CAN總線概述

控制器局域網(wǎng)絡(luò)CAN(Controller Area Network),屬于現(xiàn)場(chǎng)總線的范疇,它是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò), 最初由德國(guó)Bosch公司于20 世紀(jì)80 年代用于汽車內(nèi)部測(cè)試和控制儀器之間的數(shù)據(jù)通信。其總線規(guī)范已被ISO國(guó)際標(biāo)準(zhǔn)組織定為國(guó)際標(biāo)準(zhǔn),CAN 協(xié)議經(jīng)ISO 標(biāo)準(zhǔn)化后有ISO11898 標(biāo)準(zhǔn)和ISO11519標(biāo)準(zhǔn)兩種,這兩種標(biāo)準(zhǔn)對(duì)于數(shù)據(jù)鏈路層定義是相同的,但物理層不同。ISO11898是通信速度為125 kb/s-1 Mb/s的CAN高速通信標(biāo)準(zhǔn); ISO11519是通信速度為125 kb/s以下的CAN低速通信標(biāo)準(zhǔn)。CAN協(xié)議建立在國(guó)際標(biāo)準(zhǔn)組織的開放系統(tǒng)互聯(lián)模型基礎(chǔ)上,但其模型結(jié)構(gòu)只有三層:ISO底層的物理層、數(shù)據(jù)鏈路層和應(yīng)用層;其信號(hào)傳輸介質(zhì)可采用雙絞線、同軸電纜和光纖等;通信最大距離可達(dá)10 km;最大通信波特率可達(dá)1 Mb/s,可掛設(shè)備最多達(dá)110個(gè)。CAN總線具有的特點(diǎn),越來(lái)越廣泛地被應(yīng)用于各種工業(yè)現(xiàn)場(chǎng),并被公認(rèn)為是最有前途的現(xiàn)場(chǎng)總線之一。

1.2 CAN總線工作機(jī)制

1.2.1 CAN的報(bào)文類型

CAN系統(tǒng)中節(jié)點(diǎn)之間以報(bào)文的形式進(jìn)行通信,其報(bào)文有五種類型:數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀、過(guò)載幀和幀空間。每種幀都有相應(yīng)固定的格式,其中數(shù)據(jù)幀和遠(yuǎn)程幀與應(yīng)用密切相關(guān),其他類型幀由CAN控制器根據(jù)具體的情況自動(dòng)傳輸。幀種類及用途如表1所示。

1.2.2 CAN節(jié)點(diǎn)的仲裁機(jī)制

只要總線空閑,任何單元都可以開始發(fā)送報(bào)文(多主控制)。最先訪問(wèn)總線的節(jié)點(diǎn)可獲得總線控制權(quán)。若多個(gè)節(jié)點(diǎn)同時(shí)開始傳送報(bào)文,就會(huì)有總線訪問(wèn)沖突,可使用識(shí)別符的位形式仲裁解決這個(gè)沖突。仲裁期間,每一個(gè)發(fā)送器都對(duì)發(fā)送位的電平與被監(jiān)控的總線電平進(jìn)行比較。如果電平相同,則這個(gè)節(jié)點(diǎn)繼續(xù)發(fā)送。若發(fā)送的是隱性電平而監(jiān)控到的是顯性電平,則這個(gè)節(jié)點(diǎn)失去了仲裁,必須退出發(fā)送狀態(tài)。ID越小優(yōu)先權(quán)越高,發(fā)送高優(yōu)先級(jí) ID 消息的節(jié)點(diǎn)可獲得發(fā)送權(quán)。

1.2.3 CAN節(jié)點(diǎn)的報(bào)文濾波機(jī)制

CAN 控制器監(jiān)聽接收總線上的所有報(bào)文,只有通過(guò)CAN控制器的報(bào)文篩選器篩選的報(bào)文才能進(jìn)入CAN 的報(bào)文接收緩沖區(qū),為該節(jié)點(diǎn)所接收并傳送給應(yīng)用程序。

1.2.4 CAN節(jié)點(diǎn)狀態(tài)

CAN總線上每個(gè)節(jié)點(diǎn)都處于“錯(cuò)誤主動(dòng)”、“錯(cuò)誤被動(dòng)”和“總線關(guān)閉”三種狀態(tài)之一。區(qū)分這幾種狀態(tài)的主要依據(jù)是發(fā)送錯(cuò)誤計(jì)數(shù)器和接收錯(cuò)誤計(jì)數(shù)器的值,并且這三種狀態(tài)可以在一定條件下相互轉(zhuǎn)化。

處于錯(cuò)誤主動(dòng)狀態(tài)的節(jié)點(diǎn),當(dāng)發(fā)現(xiàn)總線上有錯(cuò)誤傳輸時(shí),將向總線上發(fā)“主動(dòng)出錯(cuò)幀”;處于錯(cuò)誤被動(dòng)狀態(tài)的節(jié)點(diǎn),當(dāng)發(fā)現(xiàn)總線上有錯(cuò)誤傳輸時(shí),將向總線上發(fā)“被動(dòng)出錯(cuò)幀”;當(dāng)節(jié)點(diǎn)進(jìn)入總線脫離狀態(tài)時(shí),將完全退出總線操作。

2 硬件電路設(shè)計(jì)

2.1 硬件設(shè)計(jì)原理

RS232串口通信與CAN通信是兩種不同的傳輸方式,無(wú)論是數(shù)據(jù)的傳輸方式還是邏輯電平的電壓表示都是不同的,本設(shè)計(jì)主要完成RS232接口與CAN總線協(xié)議之間的轉(zhuǎn)換,以及數(shù)據(jù)的雙向傳輸。設(shè)計(jì)原理如圖1所示。

RS232接口端信號(hào)經(jīng)過(guò)RS232電平轉(zhuǎn)換成TTL電平,直接輸入到微控制器的通用同步/異步串行接口(USART),微控制器控制CAN控制器讀出有效的數(shù)據(jù)經(jīng)光電隔離的CAN收發(fā)器發(fā)送到CAN總線上。

本設(shè)計(jì)采用的RS232電平轉(zhuǎn)換器為MAX232,微控制器為ATmega128,CAN總線控制器采用SJA1000,CAN總線收發(fā)器采用高速的具有收發(fā)和隔離功能的CTM1050控制器。ATmega128是整個(gè)模塊的控制中心,控制著RS232接口和CAN總線的通信。器件連接示意圖如圖2所示。

RS232接口的發(fā)送數(shù)據(jù)端和接收數(shù)據(jù)端經(jīng)MAX232電平轉(zhuǎn)換分別與Atmega128串口、接收數(shù)據(jù)端PE0/RXD0、發(fā)送數(shù)據(jù)端PE1/TXD0相連;SJA1000的AD0“AD7連接到Atmega128的PA口,INT與Atmega128的INT0相連,ALE與Atmega128的PG2/ALE相連,讀寫端RD、WR分別連接Atmega128的PG1/RD、PG0/WR,CS連接到Atmega128的PC6,Atmega128的時(shí)鐘取自SJA1000的振蕩器,即SJA1000的CLKOUT連接到Atmega128的XTAL1;收發(fā)器CTM1050的RX0、TX0分別連接SJA1000T的RX0、TX0, CANH、CANL連接到CAN總線上。

2.2 主要芯片

RS232用正負(fù)電壓來(lái)表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計(jì)算機(jī)接口或終端的TTL器件連接,必須在RS232接口與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換。MAX232芯片可完成TTL?RS232電平的雙向轉(zhuǎn)換。

ATmega128單片機(jī)是基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS微處理器,為AVR單片機(jī)系列中的高性能單片機(jī)。ATmega128單片機(jī)內(nèi)部帶有128 KB的系統(tǒng)內(nèi)可編程Flash程序存儲(chǔ)器,具有同時(shí)讀寫能力;4 KB的E2PROM;4 KB的SRAM;53個(gè)通用I/O端口線;32個(gè)通用工作寄存器;4個(gè)靈活的具有比較模式和PWM功能的定時(shí)器/計(jì)數(shù)器(T/C);2個(gè)USART;串行外圍設(shè)備接口(SPI);與IEEE1149.1規(guī)范兼容的JTAG測(cè)試接口,可以用于片上調(diào)試;6種省電模式;53個(gè)可編程I/O端13線;由于其先進(jìn)的指令集以及單周期指令執(zhí)行時(shí)間,數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz等。

SJA1000是一種獨(dú)立的CAN控制器,主要用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制,具有新的PeliCAN操作模式,這種模式兼容CAN2.0A 和CAN2.0B 兩種技術(shù)規(guī)范。SJA1000可完成CAN總線的物理層和數(shù)據(jù)鏈路層的所有功能,由CAN核心模塊、發(fā)送緩沖區(qū)、接收FIFO、驗(yàn)收濾波器和接口管理邏輯組成。

CTM1050是一款帶隔離的高速CAN收發(fā)器芯片,該芯片內(nèi)部集成了所有必需的CAN隔離及CAN收、發(fā)器件,其主要功能是將CAN 控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平并且具有直流2 500 V的隔離功能及ESD 保護(hù)作用。該芯片符合ISO 11898標(biāo)準(zhǔn),可與其他遵從ISO 11898標(biāo)準(zhǔn)的CAN 收發(fā)器互連。

3 軟件設(shè)計(jì)

本設(shè)計(jì)程序主要包括:串口初始化程序、SJA1000初始化程序、單片機(jī)接收串口中斷服務(wù)子程序、單片機(jī)發(fā)送數(shù)據(jù)到串口中斷服務(wù)子程序、單片機(jī)接收CAN數(shù)據(jù)子程序、單片機(jī)發(fā)送CAN數(shù)據(jù)程序以及一些異常錯(cuò)誤處理子程序等等。程序流程圖如圖3所示。

本設(shè)計(jì)可以將RS232通信網(wǎng)絡(luò)轉(zhuǎn)換成CAN通信網(wǎng)絡(luò),能夠很方便地實(shí)現(xiàn)RS232多點(diǎn)組網(wǎng)、遠(yuǎn)程通信,且不需要更改原有RS232通信軟件,用戶可直接嵌入原有的應(yīng)用領(lǐng)域,使系統(tǒng)設(shè)計(jì)達(dá)到更先進(jìn)的水平。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    27

    文章

    9072

    瀏覽量

    151902
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17116

    瀏覽量

    184438
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2961

    瀏覽量

    89801
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CAN控制器SJA1000及其應(yīng)用

    CAN控制器SJA1000及其應(yīng)用摘要:介紹CAN控制器SJA1000的特點(diǎn)、內(nèi)部結(jié)構(gòu)以及
    發(fā)表于 10-03 14:15

    Link-Max CAN轉(zhuǎn)485/CAN轉(zhuǎn)232智能型CAN轉(zhuǎn)串口轉(zhuǎn)換網(wǎng)橋

    ,可讓您方便地完成RS-232協(xié)議和CAN協(xié)議的轉(zhuǎn)換,使RS232設(shè)備和CAN網(wǎng)絡(luò)
    發(fā)表于 11-01 11:05

    Link-Max CAN轉(zhuǎn)485/CAN轉(zhuǎn)232智能型CAN轉(zhuǎn)串口轉(zhuǎn)換網(wǎng)橋

    您方便地完成RS-232協(xié)議和CAN協(xié)議的轉(zhuǎn)換,使RS232設(shè)備和CAN網(wǎng)絡(luò)
    發(fā)表于 11-16 11:02

    USB轉(zhuǎn)CAN轉(zhuǎn)換器|CAN總線通信模塊

    通訊網(wǎng)絡(luò);USB接口轉(zhuǎn)CAN網(wǎng)絡(luò)接口。USB轉(zhuǎn)CAN轉(zhuǎn)換器
    發(fā)表于 05-27 09:13

    SJA1000CAN通信控制器作用

    SJA1000 是 Philips 公司于 1997 年推出的一種獨(dú)立 CAN 總線控制器。它實(shí)現(xiàn)C
    發(fā)表于 12-18 14:55

    怎么實(shí)現(xiàn)RS232通信網(wǎng)絡(luò)CAN總線通信網(wǎng)絡(luò)互聯(lián)的設(shè)計(jì)?

    本文采用ATMega16、SJAl000、MCP2551和MAX232,設(shè)計(jì)開發(fā)了CAN總線轉(zhuǎn)232的接口,完成了兩種協(xié)議的
    發(fā)表于 06-02 06:30

    SJA1000CAN 總線系統(tǒng)節(jié)點(diǎn)的應(yīng)用

    介紹CAN 總線控制器SJA1000; 給出其在CAN 總線系統(tǒng)節(jié)點(diǎn)中的應(yīng)用方法、節(jié)點(diǎn)電路原理圖
    發(fā)表于 05-13 16:43 ?62次下載

    CAN總線 RS232接口的軟件設(shè)計(jì)

    采用獨(dú)立CAN控制器SJA1000作為CAN總線/RS232智能電平
    發(fā)表于 12-16 16:35 ?106次下載

    SHARC DSP與SJA1000CAN總線接口設(shè)計(jì)

    SHARC DSP與SJA1000CAN總線接口設(shè)計(jì) 本文討論了DSP與CAN控制器SJA1000
    發(fā)表于 09-27 16:10 ?1517次閱讀
    SHARC DSP與<b class='flag-5'>SJA1000</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>接口設(shè)計(jì)

    SJA1000 獨(dú)立的CAN 控制器應(yīng)用指南

    SJA1000 獨(dú)立的CAN 控制器應(yīng)用指南。
    發(fā)表于 05-06 11:29 ?31次下載

    CAN總線控制器SJA1000的初始化程序設(shè)計(jì)

    CAN總線控制器SJA1000的初始化程序設(shè)計(jì)。
    發(fā)表于 05-06 11:29 ?12次下載

    波仕RS-232/RS-485/RS-422轉(zhuǎn)換器

      波仕RS-232/RS-485/RS-422轉(zhuǎn)換器都可將RS-232通信距離延長(zhǎng)至1.2Km以上(9600bps時(shí))。都可以用于PC機(jī)之間、PC機(jī)與單片機(jī)之間構(gòu)成
    發(fā)表于 09-22 11:44 ?17次下載
    波仕RS-<b class='flag-5'>232</b>/RS-485/RS-422<b class='flag-5'>轉(zhuǎn)換器</b>

    基于DSP與SJA1000CAN總線系統(tǒng)設(shè)計(jì)方案

    協(xié)議所要求的全部必要功能,因此,CAN控制器與其它微處理的接口設(shè)計(jì)成為設(shè)計(jì)CAN總線系統(tǒng)的首要工作。本文重點(diǎn)介紹以SHARC DSP為核心
    發(fā)表于 10-23 15:48 ?13次下載
    基于DSP與<b class='flag-5'>SJA1000</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>系統(tǒng)設(shè)計(jì)方案

    SJA1000獨(dú)立CAN控制器中文資料

    電子發(fā)燒友網(wǎng)站提供《SJA1000獨(dú)立CAN控制器中文資料.pdf》資料免費(fèi)下載
    發(fā)表于 10-13 10:51 ?3次下載
    <b class='flag-5'>SJA1000</b>獨(dú)立<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>中文資料

    SJA1000獨(dú)立CAN控制器英文資料

    電子發(fā)燒友網(wǎng)站提供《SJA1000獨(dú)立CAN控制器英文資料.pdf》資料免費(fèi)下載
    發(fā)表于 10-13 10:53 ?2次下載
    <b class='flag-5'>SJA1000</b>獨(dú)立<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>英文資料