Ethernet 的冗余CAN 總線協(xié)議轉(zhuǎn)換器設(shè)計_第1頁
Ethernet 的冗余CAN 總線協(xié)議轉(zhuǎn)換器設(shè)計_第2頁
Ethernet 的冗余CAN 總線協(xié)議轉(zhuǎn)換器設(shè)計_第3頁
Ethernet 的冗余CAN 總線協(xié)議轉(zhuǎn)換器設(shè)計_第4頁
Ethernet 的冗余CAN 總線協(xié)議轉(zhuǎn)換器設(shè)計_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 Ethernet 的冗余CAN 總線協(xié)議轉(zhuǎn)換器設(shè)計 1. 2 CAN 總線接口電路 采用NXP 公司SJA1000 作為CAN 總線轉(zhuǎn)換器.NXP 公司TJA1050 用做CAN 總線收發(fā)器.為了提高CAN 總線電路的可靠性,在設(shè)計中采用雙冗余的CAN總線構(gòu)造,具體設(shè)計為:在各節(jié)點設(shè)備之間布下兩條基于CAN 的系統(tǒng)通信總線,即用兩套CAN 總線控制電路分別連接到兩路CAN 總線通路上,正常情況下在兩條總線上傳送相同的通信數(shù)據(jù),當(dāng)一條總線出現(xiàn)故障時通信數(shù)據(jù)仍然可以通過另一條正常的總線傳輸,不影響節(jié)點設(shè)備的正常通信,然后對故障總線重新初始化使其恢復(fù)正常投入使用,這樣

2、即使一條通信通道出現(xiàn)故障也不會影響整個系統(tǒng)的數(shù)據(jù)傳輸;同時考慮工業(yè)應(yīng)用,在CAN 總線控制器和CAN 總線收發(fā)器之間開展隔離. 在電路中將SJA1000 的AD0 AD7 直接與主控芯片的低8 位地址/ 數(shù)據(jù)復(fù)用總線相連,MODE 引腳與+5V 相連使得SJA1000 工作于Intel 模式 , 兩路SJA1000 的中斷輸出信號分別連接至C8051F340 的端口P0. 2 和P0. 7,使得CAN 通信可以采用中斷或查詢兩種方式工作,其中雙冗余CAN 總線電路的晶振均為16MHz,復(fù)位信號采用軟件復(fù)位,詳細電路原理圖見圖2. 1. 3 以太網(wǎng)接口電路 在以太網(wǎng)接口電路中選用Silicon

3、Labs 公司的CP2200 作為以太網(wǎng)控制器,采用HanRun 公司的內(nèi)部集成以太網(wǎng)隔離變壓器.指示燈和RJ45 插座的HR911175A 與以太網(wǎng)接口.CP2200 是Silicon Labs 公司推出的一款主流的8 位總線控制的以太網(wǎng)驅(qū)動芯片,其外圍電路非常簡單,集成了IEEE 802. 3 以太網(wǎng)媒體訪問控制器( MAC ).10 BASE T 物理層(PHY) ,完全兼容100/1000 BASE-T 網(wǎng)絡(luò),具有自動極性檢測和糾正功能,可以自適應(yīng)地工作在全雙工或半雙工模式,具有接收數(shù)據(jù)包中斷和網(wǎng)絡(luò)喚醒中斷功能.CP2200 內(nèi)部帶有2K 字節(jié)的專用發(fā)送緩沖RAM和4KB 接收FIFO

4、 緩沖RAM ,同時還具有8K 字節(jié)的內(nèi)部非易失性Flash 存儲器,用于存儲用戶常數(shù).Web服務(wù)器內(nèi)容,它的6 個存儲單元是工廠預(yù)編程的48 位MAC 地址 ,不需外部EEPROM .此芯片8 位并行總線接口支持Intel 和Motorola 總線方式,可以為具有11 個以上端口I/ O 引腳的主處理器或微處理器增加以太網(wǎng)通信功能,可以使用復(fù)用或非復(fù)用方式尋址,在非復(fù)用模式下數(shù)據(jù)傳輸率超過30Mbps,可以直接連接LED 表示網(wǎng)絡(luò)“連接”.“活動”狀態(tài). 在電路中CP2200 采用數(shù)據(jù)地址復(fù)用模式,晶體頻率為20M,CP2200 的TX.RX 引腳連接到RJ45 插座的收發(fā)針腳,同時將信號L

5、INK.ACK 也連接到后者的LED 控制針腳上,詳細電路原理圖見圖3. 1. 4 EEPROM 接口電路 該電路的作用是實現(xiàn)CAN 總線初始化參數(shù)的寫入與讀取功能, 設(shè)計中選用了512KB 的EEPROM24C512 芯片.詳細電路原理圖見圖4. 1. 5 POE 電路 以太網(wǎng)供電電路分別采用TI 公司的電源管理器芯片TPS 2383 和電源接口芯片TPS 2370,這2 款芯片完全符合以太網(wǎng)供電標(biāo)準(zhǔn)IEEE 802. 3af,利用這2 款芯片即可通過1 條標(biāo)準(zhǔn)的以太網(wǎng)線纜就實現(xiàn)同時傳輸電能和數(shù)據(jù). 2 軟件設(shè)計 本設(shè)計的軟件主要分為三部分: CAN-以太網(wǎng)協(xié)議轉(zhuǎn)換程序.CAN 通信程序和以

6、太網(wǎng)通信程序.軟件整體的設(shè)計思路為:當(dāng)CAN 總線節(jié)點設(shè)備需要向以太網(wǎng)發(fā)送數(shù)據(jù)時,首先通過CAN 通信程序讀取CAN 總線節(jié)點設(shè)備產(chǎn)生的CAN 協(xié)議數(shù)據(jù)包,并將其存儲在CAN 總線接口發(fā)送緩沖區(qū)中,然后調(diào)用CAN-以太網(wǎng)協(xié)議轉(zhuǎn)換程序?qū)AN 協(xié)議數(shù)據(jù)包解析并重新封裝成TCP 或UDP 數(shù)據(jù)包,調(diào)用以太網(wǎng)通信程序?qū)?shù)據(jù)發(fā)送到以太網(wǎng);要將數(shù)據(jù)通過以太網(wǎng)發(fā)送給一個CAN節(jié)點設(shè)備時,首先通過調(diào)用以太網(wǎng)通信程序?qū)⒁蕴W(wǎng)傳輸層上的TCP 或UDP 數(shù)據(jù)包存儲到以太網(wǎng)接口的發(fā)送緩沖區(qū),然后調(diào)用以太網(wǎng)-CAN 協(xié)議轉(zhuǎn)換程序?qū)CP 或UDP 數(shù)據(jù)包解析并封裝成CAN 協(xié)議數(shù)據(jù)包,之后再調(diào)用CAN 通信程序?qū)

7、AN 接口發(fā)送緩沖區(qū)中的數(shù)據(jù)發(fā)送到CAN 總線上的指定節(jié)點. 2. 1 CAN 通信程序 CAN 通信程序主要包括以下幾部分:SJA1000 初始化程序.讀寫SJA1000 內(nèi)部存放器程序.CAN 數(shù)據(jù)發(fā)送程序.CAN 數(shù)據(jù)接收程序.CAN 總線冗余控制程序. SJA1000 的初始化程序主要作用是設(shè)定總線上所有節(jié)點的地址.所有總線上節(jié)點設(shè)備的波特率.設(shè)置控制器的工作模式.設(shè)置中斷存放器.命令存放器等相關(guān)的芯片存放器 .CAN 數(shù)據(jù)發(fā)送程序的功能是當(dāng)發(fā)送CAN 協(xié)議數(shù)據(jù)包給節(jié)點設(shè)備時,調(diào)用CAN 數(shù)據(jù)發(fā)送程序,通過將數(shù)據(jù)寫入SJA1000 的數(shù)據(jù)發(fā)送存放器中來實現(xiàn)數(shù)據(jù)發(fā)送.CAN 數(shù)據(jù)接收程序

8、的功能是當(dāng)SJA1000 接收到數(shù)據(jù)時,向單片機發(fā)出中斷請求,單片機響應(yīng)中斷后調(diào)用CAN 數(shù)據(jù)接收程序讀取SJA1000的內(nèi)部存放器程序,將其數(shù)據(jù)接收緩沖區(qū)中接收到的數(shù)據(jù)讀取到單片機的相應(yīng)存儲空間內(nèi). CAN 總線冗余控制程序的基本設(shè)計思路為:在上電初始化時同時激活兩個總線控制器的中斷,在節(jié)點設(shè)備向上位機發(fā)送數(shù)據(jù)的情況下,單片機通過兩路CAN 總線向上位機發(fā)送相同內(nèi)容的數(shù)據(jù)來實現(xiàn)冗余效果.在節(jié)點設(shè)備接收通信數(shù)據(jù)的情況下,當(dāng)兩個總線控制器同時接收到來自上位機的報文時,將分別通過不同的中斷端口向單片機發(fā)出中斷請求,單片機在響應(yīng)先到達的中斷請求信號后進入中斷服務(wù)程序關(guān)閉中斷,并在對數(shù)據(jù)開展處理完成后

9、,去除中斷并在一段延時后再打開所有中斷,這樣就可以屏蔽后到的另一個CAN 控制器中斷信號.如果一路CAN 總線接口電路出現(xiàn)故障,那么它就不會產(chǎn)生中斷信號,單片機只能接收到另一路正常CAN 總線控制器的中斷信號,從而通過正常的CAN 總線接收數(shù)據(jù),這樣就可以實現(xiàn)雙通道冗余的目的;在節(jié)點設(shè)備與上位機之間完成數(shù)據(jù)發(fā)送和接收后,節(jié)點設(shè)備會通過兩路CAN 總線以每秒1次的頻率交替向上位機發(fā)送“心跳”信號,并接收上位機回傳的響應(yīng)信息,如果一路CAN 總線狀態(tài)異常,不能正常發(fā)送“心跳”信號,則節(jié)點設(shè)備的單片機就不會收到響應(yīng)信息,從而無法對錯誤計數(shù)器開展清零,當(dāng)錯誤計數(shù)器的值累加到設(shè)定值時,單片機就會對異常的

10、CAN 總線接口電路復(fù)位,重行初始化使其恢復(fù)正常,保證雙通道CAN 總線冗余電路的正常. 2. 2 CAN / 以太網(wǎng)協(xié)議轉(zhuǎn)換程序 CAN/ 以太網(wǎng)協(xié)議轉(zhuǎn)換程序的大致流程如下:在系統(tǒng)接收到數(shù)據(jù)后會先對數(shù)據(jù)的數(shù)據(jù)類型開展判斷,如果接收到的數(shù)據(jù)是以太網(wǎng)數(shù)據(jù),就會依次去掉IP 頭.TCP 或UDP 頭和應(yīng)用層頭 ,然后將解析后的數(shù)據(jù)封裝為CAN 報文格式,并存人CAN 接口電路發(fā)送緩沖區(qū),由CAN 接口電路發(fā)往CAN 總線中相應(yīng)的節(jié)點設(shè)備.如果接收到的數(shù)據(jù)是CAN 協(xié)議報文,便解析出數(shù)據(jù)部分,然后將報文數(shù)據(jù)部分封裝成規(guī)定的應(yīng)用層格式并存入以太網(wǎng)接口發(fā)送緩沖區(qū),將數(shù)據(jù)封裝成以太網(wǎng)幀格式后通過以太網(wǎng)接口

11、電路發(fā)往至以太網(wǎng). 協(xié)議轉(zhuǎn)換流程圖見圖5. 2. 3 以太網(wǎng)通信程序 以太網(wǎng)通信程序主要包括CP2200 初始化程序.以太網(wǎng)數(shù)據(jù)發(fā)送程序和接收程序.CP2200 芯片的初始化程序的作用主要是對芯片存放器開展常規(guī)配置 ,這里就不開展詳細說明. 以太網(wǎng)數(shù)據(jù)的發(fā)送和接收程序:由于主控芯片C8051F340 的處理速度以及內(nèi)部集成的資源有限,不可能集成所有的TCP/ IP 協(xié)議,因此需要對TCP/ IP 協(xié)議開展適當(dāng)?shù)募舨煤蟛拍苁褂?.在本設(shè)計中的協(xié)議棧主要包括IP 協(xié)議.ICMP 協(xié)議.TCP 協(xié)議.ARP 協(xié)議 . 本設(shè)計的嵌入式TCP/ IP 協(xié)議棧的流程見圖6. 基本流程為在CP2200 芯片從以太網(wǎng)接收到有效數(shù)據(jù)后,單片時機調(diào)用相關(guān)程序?qū)⒃摂?shù)據(jù)包從CP2200 的接收緩沖區(qū)讀取,然后判斷該數(shù)據(jù)幀是IP 數(shù)據(jù)包還是ARP 數(shù)據(jù) ,如果判斷為接收到的是IP 數(shù)據(jù)包時,那么就繼續(xù)判斷是UDP 數(shù)據(jù)包還是ICMP 數(shù)據(jù)包,如果是UDP 數(shù)據(jù)包,就根據(jù)UDP 數(shù)據(jù)包首部的讀取結(jié)果來處理相應(yīng)數(shù)據(jù),完成CAN 協(xié)議數(shù)據(jù)的提取并將其存儲到相應(yīng)的數(shù)據(jù)緩沖區(qū),從而實現(xiàn)以太網(wǎng)數(shù)據(jù)的解碼;如果判斷結(jié)果是ICMP 數(shù)據(jù)包那么就處理該數(shù)據(jù)包并進一步處理IP 數(shù)據(jù)包;如果接收到的是ARP 數(shù)據(jù),就判斷其是ARP 請求還是ARP 應(yīng)答并根據(jù)結(jié)果開展相應(yīng)的處理,如果該數(shù)據(jù)幀既不是IP 數(shù)據(jù)包又不是ARP數(shù)據(jù),

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論