當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]摘要:以太網(wǎng)和CAN總線應用廣泛,但由于其通信協(xié)議不同,兩種總線器件間無法進行數(shù)據(jù)通信,因此,設計了基于CP2200與C8051F040的以太網(wǎng)總線與CAN總線接口轉換電路,并給出部分相關硬件電路與軟件設計分析。在保證數(shù)據(jù)

摘要:以太網(wǎng)CAN總線應用廣泛,但由于其通信協(xié)議不同,兩種總線器件間無法進行數(shù)據(jù)通信,因此,設計了基于CP2200與C8051F040的以太網(wǎng)總線與CAN總線接口轉換電路,并給出部分相關硬件電路與軟件設計分析。在保證數(shù)據(jù)完整和協(xié)議可靠的前提下,通過握手協(xié)議和簡化的以太網(wǎng)協(xié)議,不僅實現(xiàn)了以太網(wǎng)數(shù)據(jù)與CAN數(shù)據(jù)的轉發(fā),同時還順利的解決了以太網(wǎng)的高速性與CAN的低速率沖突,以及兩者數(shù)據(jù)包之間的大小不同的矛盾。
關鍵詞:CP2200;C8051F040;以太網(wǎng);CAN;總線

    控制器局域網(wǎng)(Controller Area Network,CAN)總線是Bosch公司為解決現(xiàn)代汽車控制設備與測試儀器之間數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,主要用于各種設備的檢測及控制。目前,CAN總線被廣泛應用于汽車等交通運輸工具、工業(yè)控制、智能樓宇、機械工業(yè)、醫(yī)療器械、傳感器等領域,被稱為最有前途的現(xiàn)場總線之一,但其主要缺點是不適合遠距離傳輸。以太網(wǎng)接口開始是為了連接實驗室的多個計算機設備,開發(fā)的快速連接方式。隨著傳輸速率的提高和交換技術的使用,以太網(wǎng)的確定性和實時性得到了保證,工業(yè)以太網(wǎng)的安全性和網(wǎng)絡生存性也得到了很大程度的提高。使其在工業(yè)控制領域得到廣泛的應用。目前計算機已經(jīng)廣泛應用與各個操控領域,而計算機常用的連接端口就是以太網(wǎng),只要接口標準統(tǒng)一,并安裝好必要的軟件,計算機就可以介入到各個控制系統(tǒng)中去。因此,為了提高效率,有必要采用技術手段,實現(xiàn)通過以太網(wǎng)接口使計算機融入CAN網(wǎng)絡,把以太網(wǎng)的遠距離傳輸性與CAN的專業(yè)性結合起來,優(yōu)勢組合。

1 芯片選擇
1.1 CP2200芯片介紹
    CP2200芯片是Sificon Labs公司推出的工業(yè)界體積最小、性能最高、8位總線控制的以太網(wǎng)驅動芯片,支持IEEE802·3以太網(wǎng)媒體訪問MAC控制協(xié)議,支持10BASE/T物理層,完全兼容100/1 000 BASE T網(wǎng)絡,可以工作在全雙工或半雙工模式,能進行自動極性檢測和糾正,具有碰撞自動重發(fā)功能,能自動填充和生成CRC,支持廣播和多播。CP2200內部帶有2 k字節(jié)的發(fā)送緩存和4 k字節(jié)的接收緩存,還有8 k字節(jié)的內部Flash存儲器,用于存儲用戶常數(shù)、Web服務器內容,它的最后6個存儲單元是工廠預編程的唯一48位MAC地址。此芯片采用48管腳的TQFP封裝,工作的溫度范圍在-40~+85℃,可為具有11個以上I/O引腳的微處理器擴展以太網(wǎng)通信功能。此芯片具有30 Mb/s速率的并行主機接口,支持Intel和Motorola兩種總線方式。
    CP2200的多種集成功能(如CRC校驗、數(shù)據(jù)濾波等)有效減輕了單片機的載荷,它內部的收發(fā)接口單元操作起來靈活方便,為以太網(wǎng)數(shù)據(jù)包提供了有效緩沖。使用該芯片時,電路只需增加1個RJ-45快速以太網(wǎng)接口即可,其工作特性可以滿足CAN總線的傳輸波特率要求。其內部結構如圖1所示。


1.2 C8051F040芯片介紹
    C8051F系列單片機是Silicon Labs公司推出的系統(tǒng)級芯片,具有與80C51兼容的CIP-51內核。C8051F040內部集成的CAN控制器包括1個CAN內核、消息RAM(獨立于CIP-51內核)、消息處理單元、控制寄存器等。C8051F040內部包含1個CAN協(xié)議控制器,并沒有提供物理層的驅動器,實現(xiàn)與CAN總線的接口。數(shù)據(jù)接收和濾波都由CAN控制器完成,不需要CIP-51內核的參與。這種方式可使CAN通信時占用的系統(tǒng)資源最小。CIP-51內核通過配置其內部的特殊功能寄存器來實現(xiàn)CAN的數(shù)據(jù)交互。其內部結構如圖2所示。

[!--empirenews.page--]

2 系統(tǒng)硬件設計
    系統(tǒng)電路如圖3所示,由CP2200、C8051F040、CAN驅動芯片的SN65HVD230等組成。其中CP2200與HR911105A組成以太網(wǎng)電路部分,SN65H-VD230單個組成CAN收發(fā)電路。工作原理如下,當CP2200收到以太網(wǎng)數(shù)據(jù)時,觸發(fā)C8051F040的INTO,C8051F040把數(shù)據(jù)從CP2200的接收緩沖區(qū)拷貝到其內存空間,然后通過SN65HVD230轉發(fā)到CAN網(wǎng)絡;當CAN數(shù)據(jù)有要發(fā)送到以太網(wǎng),C8051F040收到數(shù)據(jù)后,就向CP2200的發(fā)送緩沖區(qū)轉發(fā)數(shù)據(jù),最后由CP2200通過HR911105A發(fā)到以太網(wǎng)。


2.1 以太網(wǎng)部分電路
    CP2200通過HR9011105A連接到以太網(wǎng)上。HR9011105A是HanRun公司生產的集以太網(wǎng)隔離變壓器、RJ-45接口和指示燈為一體的網(wǎng)絡連接器。CP2200的收發(fā)信號分別連接到HR9011105A的收發(fā)針腳,同時前者的LED控制信號LINK、ACK也都接到后者相應針腳。其中,LINK是連接成功指示燈,ACK是數(shù)據(jù)傳輸指示燈。CP2200與C8051F040的連接,首先數(shù)據(jù)和地址總線、讀寫信號相連接,其次CP2200的中斷引腳INT與C8051-F040的INT0引腳連接在一起,其片選CS陣腳接C8051F040的A15腳。CP2200的發(fā)送緩沖區(qū)地址為0x0000~0x07FF,接收緩沖區(qū)地址前部分與發(fā)送緩沖器重合,具體地址為0x0000~0x0FFF。當A15為低電平(CS也為低)時,C8051F040就選中CP2200,即CP2200的內部地址空間0x0000~0x0 FFF的外部映射地址為0x8000~0x8FFF。
    CP2200發(fā)送數(shù)據(jù)包:通過使用自動寫(AutoWrite)寄存器將數(shù)據(jù)裝載到發(fā)送緩沖區(qū),并向內部存儲器TXGO寫1來發(fā)送數(shù)據(jù)包。一旦發(fā)送完成,會產生數(shù)據(jù)包已發(fā)送中斷,通知C8051F040。CP2200接收數(shù)據(jù)包:當MAC接收被使能且接收緩沖區(qū)未滿時,包接收會自動進行。一旦收到數(shù)據(jù)包,就會產生包接收中斷通知主機。主機可以用自動讀(AutoRead)接口讀取數(shù)據(jù)包。
2.2 CAN部分電路
    C8051F040已經(jīng)集成CAN控制器,電路只需1個CAN總線收發(fā)器。這里使用TI公司的SN65HVD230收發(fā)器。由于SN65HV230收發(fā)器具有強電磁干擾下寬共模電壓范圍的差動接收能力、交叉線保護、過熱保護、失地保護、過壓保護等卓越特性,所以設計中省去了高速光耦6N137以簡化電路設計,如果需要增強抗干擾能力,也可在C8051F040和SN65HV230之間增加2個高速光耦6N137,以滿足CAN的高速率通信。在CANH與CANL引腳各串聯(lián)1個5 Ω電阻與總線相連以起到限流作用。

3 軟件設計及協(xié)議轉換
    在充分遵循以太網(wǎng)和CAN協(xié)議的基礎上,設計軟件程序,實現(xiàn)以太網(wǎng)數(shù)據(jù)與CAN數(shù)據(jù)之間的協(xié)議轉換與轉發(fā)。在本設計中,CAN與以太網(wǎng)都采用接收中斷,把數(shù)據(jù)包先存入緩沖區(qū),然后進一步分析數(shù)據(jù)。在數(shù)據(jù)接收時,不允許接收新的數(shù)據(jù)和中斷,直到數(shù)據(jù)完全接收后,才將接收緩沖區(qū)釋放。在數(shù)據(jù)發(fā)送時,先確認發(fā)送緩沖區(qū)空閑才寫入數(shù)據(jù)。由于兩者都有內部的發(fā)送和接收緩沖區(qū),主程序的主要任務就是實現(xiàn)數(shù)據(jù)的轉發(fā)以及通訊的握手協(xié)議。若定義,由CAN數(shù)據(jù)轉發(fā)為以太網(wǎng)數(shù)據(jù),稱為上行通訊;由以太網(wǎng)數(shù)據(jù)轉發(fā)為CAN數(shù)據(jù),稱為下行通訊。
相對于CAN總線的傳輸速率,本電路的以太網(wǎng)傳輸速率要高10倍,緩沖區(qū)大小也差很多。因此在下行通訊中,需要完成CAN數(shù)據(jù)的拆包和重新打包任務,屬較慢的操作,采用定時查詢方式發(fā)送。在上行通訊中,直接轉發(fā)CAN接收到CP2200發(fā)送緩沖區(qū)。
3.1 CAN總線程序
    1)CAN總線發(fā)送任務  當以太網(wǎng)有新的數(shù)據(jù)轉發(fā)給CAN時,主程序通知此任務運行。讀出CP2200接收緩沖區(qū)中的數(shù)據(jù)到內存緩沖區(qū),然后分成不大于8字節(jié)的數(shù)據(jù)包,增加CAN協(xié)議包頭,送入C8051F040的發(fā)送緩沖區(qū)。
    此任務耗時最長。CAN發(fā)送任務收到主程序的運行通知,開始讀取CP2200的接收緩沖區(qū)數(shù)據(jù)到內存,然后采用查詢發(fā)送方式,把數(shù)發(fā)送到C8051F040的發(fā)送緩沖區(qū)。在查詢過程中,如果C8051F040正處于發(fā)送中,將任務等待10 ms,然后再查詢一次,直到發(fā)送成功。
    2)CAN總線接收任務  當CAN有數(shù)據(jù)接收,則將數(shù)據(jù)直接送人CP2200的發(fā)送緩沖區(qū),并通知其工作。此任務很少占用時間。在轉發(fā)過程中,由于CAN每次數(shù)據(jù)只有8字節(jié),而CP2200的發(fā)送緩沖區(qū)有2 K,CP2200的發(fā)送不影響CAN的接收。所以CAN接收中斷只需在本程序將CAN數(shù)據(jù)送入CP2200的發(fā)送緩沖區(qū)后就可打開。
3.2 以太網(wǎng)程序模塊
    以太網(wǎng)接口模塊主要實現(xiàn)CP2200的驅動函數(shù),主要包括初始化函數(shù)、幀發(fā)送函數(shù)和幀接收函數(shù)。
    1)CP2200的初始化模塊  CP2200的初始化是進行CP2200寄存器的配置。CP2200占用C8051F040的外部RAM的地址,外部存儲器接口(EMIF)被設置在高端口(端口47),EMIFLE(XBR2·1)位被設置為0。然后依次進行下面的設置:配置端口引腳的輸出方式為推挽方式;配置對應EMIF引腳的端口鎖存器為休眠態(tài),設置為邏輯‘1’;選擇地址線和數(shù)據(jù)線的非復用方式;選擇存儲器模式為不帶塊選擇的分片方式:設置與片外存儲器或外設接口的時序。初始化時按以下步驟進行:等待復位引腳電平升高;MCU通過中斷請求信號得到振蕩器是否完成初始化;MCU查詢INT0來確定CP2200自身的初始化是否完成;禁止那些主處理器不監(jiān)視或不處理的事件的中斷;初始化物理層;用IOPWR寄存器使能所需要的活動(Ack)、連接(Link)LED;初始化媒體訪問控制器(MAC);配置接收過濾器。
    2)以太網(wǎng)數(shù)據(jù)的發(fā)送接收模塊  C8051F040的外部中斷0和定時器0用于TCP/IP協(xié)議棧。由于C8051F040的處理速度、內部集成的資源有限,而TCP/IP協(xié)議種類繁多,不可能集成所有的TEP/IP協(xié)議,所以,使用裁剪后的TCP/IP協(xié)議。結合項目的實際需要,本設計中裁剪后的協(xié)議棧包括IP協(xié)議、ARP協(xié)議、ICMP協(xié)議、TCP協(xié)議。由于TCP協(xié)議是基于連接的協(xié)議,在正式收發(fā)數(shù)據(jù)前,必須和對方經(jīng)過3次對話,建立可靠的連接,而且當數(shù)據(jù)從A端傳到B端后,B端會發(fā)送一個確認包給A端,所以,TCP協(xié)議適用于對可靠性要求較高的數(shù)據(jù)通信系統(tǒng)。而UDP協(xié)議是面向非連接的協(xié)議,不與對方建立連接,直接就把數(shù)據(jù)包發(fā)送過去,當數(shù)據(jù)從A端傳到B端后,B端不會發(fā)送一個確認包給A端,此協(xié)議適用于對可靠性要求不高的通信系統(tǒng)。由于該系統(tǒng)應用于在線數(shù)字識別系統(tǒng),可靠性要求高,所以,該系統(tǒng)采用了TCP協(xié)議。

4 結束語
    本文描述了一種CAN數(shù)據(jù)與以太網(wǎng)數(shù)據(jù)轉換器的設計原理與電路構成。創(chuàng)新點在于:電路設計使用高度集成化的網(wǎng)絡接口芯片CP2200和集成CAN控制器的C8051F040,在不降低效率的同時,有效地節(jié)省空間與資源。在遵循CAN與以太網(wǎng)協(xié)議的基礎上,通過通訊的握手協(xié)議和簡化的以太網(wǎng)協(xié)議,實現(xiàn)了以太網(wǎng)數(shù)據(jù)與CAN數(shù)據(jù)的轉發(fā),順利地解決了以太網(wǎng)的高速性與CAN的低速率,以及兩者數(shù)據(jù)包之間的大小矛盾,能夠保證數(shù)據(jù)的完整和協(xié)議的可靠。本轉換器可廣泛應用于廠礦、油田等監(jiān)控設施的改進。
 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉