<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于MAX232轉換器和SJA1000CAN總線控制器實現遠程通信網絡的設計

電子設計 ? 來源:電子技術應用 ? 作者:王強,張建喜 ? 2021-06-22 17:26 ? 次閱讀

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

基于CAN通信的優越性,本文介紹一種可以將RS232通信網絡轉換成CAN通信網絡的方法,以更好地解決用戶建立遠程通信網絡的問題。

1 CAN總線簡介

1.1 CAN總線概述

控制器局域網絡CAN(Controller Area Network),屬于現場總線的范疇,它是一種有效支持分布式控制或實時控制的串行通信網絡, 最初由德國Bosch公司于20 世紀80 年代用于汽車內部測試和控制儀器之間的數據通信。其總線規范已被ISO國際標準組織定為國際標準,CAN 協議經ISO 標準化后有ISO11898 標準和ISO11519標準兩種,這兩種標準對于數據鏈路層定義是相同的,但物理層不同。ISO11898是通信速度為125 kb/s-1 Mb/s的CAN高速通信標準; ISO11519是通信速度為125 kb/s以下的CAN低速通信標準。CAN協議建立在國際標準組織的開放系統互聯模型基礎上,但其模型結構只有三層:ISO底層的物理層、數據鏈路層和應用層;其信號傳輸介質可采用雙絞線、同軸電纜和光纖等;通信最大距離可達10 km;最大通信波特率可達1 Mb/s,可掛設備最多達110個。CAN總線具有的特點,越來越廣泛地被應用于各種工業現場,并被公認為是最有前途的現場總線之一。

1.2 CAN總線工作機制

1.2.1 CAN的報文類型

CAN系統中節點之間以報文的形式進行通信,其報文有五種類型:數據幀、遠程幀、錯誤幀、過載幀和幀空間。每種幀都有相應固定的格式,其中數據幀和遠程幀與應用密切相關,其他類型幀由CAN控制器根據具體的情況自動傳輸。幀種類及用途如表1所示。

1.2.2 CAN節點的仲裁機制

只要總線空閑,任何單元都可以開始發送報文(多主控制)。最先訪問總線的節點可獲得總線控制權。若多個節點同時開始傳送報文,就會有總線訪問沖突,可使用識別符的位形式仲裁解決這個沖突。仲裁期間,每一個發送器都對發送位的電平與被監控的總線電平進行比較。如果電平相同,則這個節點繼續發送。若發送的是隱性電平而監控到的是顯性電平,則這個節點失去了仲裁,必須退出發送狀態。ID越小優先權越高,發送高優先級 ID 消息的節點可獲得發送權。

1.2.3 CAN節點的報文濾波機制

CAN 控制器監聽接收總線上的所有報文,只有通過CAN控制器的報文篩選器篩選的報文才能進入CAN 的報文接收緩沖區,為該節點所接收并傳送給應用程序。

1.2.4 CAN節點狀態

CAN總線上每個節點都處于“錯誤主動”、“錯誤被動”和“總線關閉”三種狀態之一。區分這幾種狀態的主要依據是發送錯誤計數器和接收錯誤計數器的值,并且這三種狀態可以在一定條件下相互轉化。

處于錯誤主動狀態的節點,當發現總線上有錯誤傳輸時,將向總線上發“主動出錯幀”;處于錯誤被動狀態的節點,當發現總線上有錯誤傳輸時,將向總線上發“被動出錯幀”;當節點進入總線脫離狀態時,將完全退出總線操作。

2 硬件電路設計

2.1 硬件設計原理

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

RS232接口端信號經過RS232電平轉換成TTL電平,直接輸入到微控制器的通用同步/異步串行接口(USART),微控制器控制CAN控制器讀出有效的數據經光電隔離的CAN收發器發送到CAN總線上。

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

RS232接口的發送數據端和接收數據端經MAX232電平轉換分別與Atmega128串口、接收數據端PE0/RXD0、發送數據端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的時鐘取自SJA1000的振蕩器,即SJA1000的CLKOUT連接到Atmega128的XTAL1;收發器CTM1050的RX0、TX0分別連接SJA1000T的RX0、TX0, CANH、CANL連接到CAN總線上。

2.2 主要芯片

RS232用正負電壓來表示邏輯狀態,與TTL以高低電平表示邏輯狀態的規定不同。因此,為了能夠同計算機接口或終端的TTL器件連接,必須在RS232接口與TTL電路之間進行電平和邏輯關系的變換。MAX232芯片可完成TTL?RS232電平的雙向轉換。

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

SJA1000是一種獨立的CAN控制器,主要用于移動目標和一般工業環境中的區域網絡控制,具有新的PeliCAN操作模式,這種模式兼容CAN2.0A 和CAN2.0B 兩種技術規范。SJA1000可完成CAN總線的物理層和數據鏈路層的所有功能,由CAN核心模塊、發送緩沖區、接收FIFO、驗收濾波器和接口管理邏輯組成。

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

3 軟件設計

本設計程序主要包括:串口初始化程序、SJA1000初始化程序、單片機接收串口中斷服務子程序、單片機發送數據到串口中斷服務子程序、單片機接收CAN數據子程序、單片機發送CAN數據程序以及一些異常錯誤處理子程序等等。程序流程圖如圖3所示。

本設計可以將RS232通信網絡轉換成CAN通信網絡,能夠很方便地實現RS232多點組網、遠程通信,且不需要更改原有RS232通信軟件,用戶可直接嵌入原有的應用領域,使系統設計達到更先進的水平。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 轉換器
    +關注

    關注

    27

    文章

    8261

    瀏覽量

    142676
  • 控制器
    +關注

    關注

    112

    文章

    15311

    瀏覽量

    172143
  • 總線
    +關注

    關注

    10

    文章

    2720

    瀏覽量

    87310
收藏 人收藏

    評論

    相關推薦

    CAN控制器SJA1000及其應用

    CAN控制器SJA1000及其應用摘要:介紹CAN控制器SJA1000的特點、內部結構以及
    發表于 10-03 14:15

    Link-Max CAN485/CAN232智能型CAN串口轉換網橋

    ,可讓您方便地完成RS-232協議和CAN協議的轉換,使RS232設備和CAN網絡
    發表于 11-01 11:05

    Link-Max CAN485/CAN232智能型CAN串口轉換網橋

    您方便地完成RS-232協議和CAN協議的轉換,使RS232設備和CAN網絡
    發表于 11-16 11:02

    USBCAN轉換器|CAN總線通信模塊

    通訊網絡;USB接口CAN網絡接口。USBCAN轉換器
    發表于 05-27 09:13

    CAN總線控制器與DSP的接口

    摘要:討論了CAN總線控制器與DSP之間的接口,介紹了流行的CAN控制器芯片SJA1000和TM
    發表于 12-03 15:22

    SJA1000CAN通信控制器作用

    SJA1000 是 Philips 公司于 1997 年推出的一種獨立 CAN 總線控制器。它實現C
    發表于 12-18 14:55

    CAN通信控制器程序框架與實現

    實現CAN 通信控制器參照 SJA1000 CAN 通信
    發表于 12-19 17:26

    232485轉換器的軟件問題

    的GPIO口要重新設置其他兩個腳了,也將接收的中斷函數中的判斷回車換行代碼也刪去了)????????可以嗎?不可以的話那是為什么?232485轉換器,我們是應該根據232來編寫程序嗎
    發表于 06-03 04:37

    自制RS232-485轉換器

    特性做出規定,而不涉及接插件、電纜或協議,在此基礎上用戶可以建立自己的高層通信協議。二、自制RS232-485轉換器電路圖:RS232-485轉換器
    發表于 06-19 05:00

    如何設計基于FPGA的CAN總線控制器SJA1000軟核?

    控制局域網(CAN)屬于現場總線的范疇,它是一種有效支持分布式控制或實時控制的串行通信網絡。與一
    發表于 10-18 07:30

    怎么實現RS232通信網絡CAN總線通信網絡互聯的設計?

    本文采用ATMega16、SJAl000、MCP2551和MAX232,設計開發了CAN總線232的接口,完成了兩種協議的
    發表于 06-02 06:30

    SJA1000CAN 總線系統節點的應用

    介紹CAN 總線控制器SJA1000; 給出其在CAN 總線系統節點中的應用方法、節點電路原理圖
    發表于 05-13 16:43 ?62次下載

    基于DSP與SJA1000CAN總線系統設計方案

    協議所要求的全部必要功能,因此,CAN控制器與其它微處理器的接口設計成為設計CAN總線系統的首要工作。本文重點介紹以SHARC DSP為核心的、基于
    發表于 10-23 15:48 ?12次下載
    基于DSP與<b class='flag-5'>SJA1000</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>系統設計方案

    DSP與CAN控制器SJA1000總線接口的差別

    SJA1000簡介 SJA1000是一種獨立的CAN控制器,用于移動目標和一般工業環境中的控制器局域網絡
    發表于 10-30 15:00 ?5次下載

    基于FPGA的VHDL語言設計控制器SJA1000的IP軟核設計

    分析了CAN控制器SJA1000的特點及CAN協議通信格式。設計了控制器
    發表于 04-12 10:55 ?2796次閱讀
    基于FPGA的VHDL語言設計<b class='flag-5'>控制器</b><b class='flag-5'>SJA1000</b>的IP軟核設計
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>