基于C8051F040的以太網(wǎng)-CAN轉(zhuǎn)換電路設(shè)計(jì)
摘要:以太網(wǎng)和CAN總線應(yīng)用廣泛,但由于其通信協(xié)議不同,兩種總線器件間無法進(jìn)行數(shù)據(jù)通信,因此,設(shè)計(jì)了基于CP2200與C8051F040的以太網(wǎng)總線與CAN總線接口轉(zhuǎn)換電路,并給出部分相關(guān)硬件電路與軟件設(shè)計(jì)分析。在保證數(shù)據(jù)完整和協(xié)議可靠的前提下,通過握手協(xié)議和簡化的以太網(wǎng)協(xié)議,不僅實(shí)現(xiàn)了以太網(wǎng)數(shù)據(jù)與CAN數(shù)據(jù)的轉(zhuǎn)發(fā),同時還順利的解決了以太網(wǎng)的高速性與CAN的低速率沖突,以及兩者數(shù)據(jù)包之間的大小不同的矛盾。
關(guān)鍵詞:CP2200;C8051F040;以太網(wǎng);CAN;總線
控制器局域網(wǎng)(Controller Area Network,CAN)總線是Bosch公司為解決現(xiàn)代汽車控制設(shè)備與測試儀器之間數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,主要用于各種設(shè)備的檢測及控制。目前,CAN總線被廣泛應(yīng)用于汽車等交通運(yùn)輸工具、工業(yè)控制、智能樓宇、機(jī)械工業(yè)、醫(yī)療器械、傳感器等領(lǐng)域,被稱為最有前途的現(xiàn)場總線之一,但其主要缺點(diǎn)是不適合遠(yuǎn)距離傳輸。以太網(wǎng)接口開始是為了連接實(shí)驗(yàn)室的多個計(jì)算機(jī)設(shè)備,開發(fā)的快速連接方式。隨著傳輸速率的提高和交換技術(shù)的使用,以太網(wǎng)的確定性和實(shí)時性得到了保證,工業(yè)以太網(wǎng)的安全性和網(wǎng)絡(luò)生存性也得到了很大程度的提高。使其在工業(yè)控制領(lǐng)域得到廣泛的應(yīng)用。目前計(jì)算機(jī)已經(jīng)廣泛應(yīng)用與各個操控領(lǐng)域,而計(jì)算機(jī)常用的連接端口就是以太網(wǎng),只要接口標(biāo)準(zhǔn)統(tǒng)一,并安裝好必要的軟件,計(jì)算機(jī)就可以介入到各個控制系統(tǒng)中去。因此,為了提高效率,有必要采用技術(shù)手段,實(shí)現(xiàn)通過以太網(wǎng)接口使計(jì)算機(jī)融入CAN網(wǎng)絡(luò),把以太網(wǎng)的遠(yuǎn)距離傳輸性與CAN的專業(yè)性結(jié)合起來,優(yōu)勢組合。
1 芯片選擇
1.1 CP2200芯片介紹
CP2200芯片是Sificon Labs公司推出的工業(yè)界體積最小、性能最高、8位總線控制的以太網(wǎng)驅(qū)動芯片,支持IEEE802·3以太網(wǎng)媒體訪問MAC控制協(xié)議,支持10BASE/T物理層,完全兼容100/1 000 BASE T網(wǎng)絡(luò),可以工作在全雙工或半雙工模式,能進(jìn)行自動極性檢測和糾正,具有碰撞自動重發(fā)功能,能自動填充和生成CRC,支持廣播和多播。CP2200內(nèi)部帶有2 k字節(jié)的發(fā)送緩存和4 k字節(jié)的接收緩存,還有8 k字節(jié)的內(nèi)部Flash存儲器,用于存儲用戶常數(shù)、Web服務(wù)器內(nèi)容,它的最后6個存儲單元是工廠預(yù)編程的唯一48位MAC地址。此芯片采用48管腳的TQFP封裝,工作的溫度范圍在-40~+85℃,可為具有11個以上I/O引腳的微處理器擴(kuò)展以太網(wǎng)通信功能。此芯片具有30 Mb/s速率的并行主機(jī)接口,支持Intel和Motorola兩種總線方式。
CP2200的多種集成功能(如CRC校驗(yàn)、數(shù)據(jù)濾波等)有效減輕了單片機(jī)的載荷,它內(nèi)部的收發(fā)接口單元操作起來靈活方便,為以太網(wǎng)數(shù)據(jù)包提供了有效緩沖。使用該芯片時,電路只需增加1個RJ-45快速以太網(wǎng)接口即可,其工作特性可以滿足CAN總線的傳輸波特率要求。其內(nèi)部結(jié)構(gòu)如圖1所示。
1.2 C8051F040芯片介紹
C8051F系列單片機(jī)是Silicon Labs公司推出的系統(tǒng)級芯片,具有與80C51兼容的CIP-51內(nèi)核。C8051F040內(nèi)部集成的CAN控制器包括1個CAN內(nèi)核、消息RAM(獨(dú)立于CIP-51內(nèi)核)、消息處理單元、控制寄存器等。C8051F040內(nèi)部包含1個CAN協(xié)議控制器,并沒有提供物理層的驅(qū)動器,實(shí)現(xiàn)與CAN總線的接口。數(shù)據(jù)接收和濾波都由CAN控制器完成,不需要CIP-51內(nèi)核的參與。這種方式可使CAN通信時占用的系統(tǒng)資源最小。CIP-51內(nèi)核通過配置其內(nèi)部的特殊功能寄存器來實(shí)現(xiàn)CAN的數(shù)據(jù)交互。其內(nèi)部結(jié)構(gòu)如圖2所示。
評論