車輛中引入以太網(wǎng)連接正成為一種快速發(fā)展的趨勢。100Mbps標(biāo)準(zhǔn)提供快速強大的數(shù)據(jù)互連,適用于ADAS功能,例如診斷和Flash下載、遠(yuǎn)程信息處理和雷達。它還支持新一代信息和娛樂消費電子應(yīng)用。隨著以太網(wǎng)功能的擴展,它將成為車輛的高寬帶基礎(chǔ)。
控制器局域網(wǎng)(Controller Area Network,CAN)總線是為解決現(xiàn)代汽車控制設(shè)備與測試儀器之間數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,主要用于各種設(shè)備的檢測及控制。
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ò),可以工作在全雙工或半雙工模式,能進行自動極性檢測和糾正,具有碰撞自動重發(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引腳的微處理器擴展以太網(wǎng)通信功能。此芯片具有30 Mb/s速率的并行主機接口,支持Intel和Motorola兩種總線方式。
CP2200的多種集成功能(如CRC校驗、數(shù)據(jù)濾波等)有效減輕了單片機的載荷,它內(nèi)部的收發(fā)接口單元操作起來靈活方便,為以太網(wǎng)數(shù)據(jù)包提供了有效緩沖。使用該芯片時,電路只需增加1個RJ-45快速以太網(wǎng)接口即可,其工作特性可以滿足CAN總線的傳輸波特率要求。其內(nèi)部結(jié)構(gòu)如圖1所示。

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

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

圖3 以太網(wǎng)-CAN轉(zhuǎn)換卡硬件電路框圖[!--empirenews.page--]
系統(tǒng)的硬件電路原理可參考圖4。其中,要特別注意CP2200控制器與RJ-45的連接電路,因為這些參數(shù)對通信的可靠性影響很大。
CP2200的外圍電路比較簡單,主要考慮其復(fù)位引腳、晶振輸入、并行接口和與以太網(wǎng)變壓器的連接。
CP2200具有上電復(fù)位功能。一旦VDD上升到某個門限值后,就會在片內(nèi)產(chǎn)生上電復(fù)位脈沖。當(dāng)VDD上升到足夠器件上作時,器件會以初始化狀態(tài)啟動。CP2200支持軟件復(fù)位,可以通過并口將復(fù)位寄存器置位來實現(xiàn)軟件復(fù)位。
CP2200的工作頻率為20MHz,晶振連接在XTAL1和XTAL2之間。CP2200也可由連接到XTAL1引腳的外部時鐘源驅(qū)動。
CP2200的并行主機接口,支持Motorola和Intel兩種總線方式,且支持地址數(shù)據(jù)復(fù)用和非復(fù)用方式??梢酝ㄟ^將MUXEN和MOTEN引腳接地或拉高電平來實現(xiàn)對主機接口總線方式的配置。
要實現(xiàn)以太網(wǎng)接口,以太網(wǎng)變壓器是不可缺少的。在差分接收引腳(RX+/RX-)上,需要1個專用于10BASE-T操作的l:1脈沖變壓器;在差分發(fā)送引腳(TX+/TX-)上,需要外接1個帶有中心抽頭的l:2.5脈沖變壓器。變壓器應(yīng)具有2 kV以上的電壓隔離性能,以防止靜電干擾。發(fā)送端需要2個8Ω(精度為1%)的電阻和1個560pF的電容與特定端相連,接收端需要1個100Ω電阻與特定端相連。

圖4 系統(tǒng)硬件電路原理圖
LINK和ACT引腳輸出電平用于驅(qū)動LED,以指示網(wǎng)絡(luò)的連接和活動狀態(tài)。
所有電源引腳都必須與同一個外部3.3V電源相連。類似地,所有參考地都應(yīng)在外部連接到相同的接地點。每個VDD和地之間都應(yīng)連接一個0.1μF的陶瓷旁路電容,且盡可能靠近引腳。
CP2200的多種集成功能(如CRC校驗、數(shù)據(jù)濾波等)有效地減輕了單片機的載荷,它內(nèi)部的收發(fā)接口單元操作起來靈活方便,為以太網(wǎng)數(shù)據(jù)包提供了有效的緩沖;另外,該芯片具有穩(wěn)定的工作性能和抗干擾抗震性能。
需要特別說明的是,驅(qū)動雙絞線接口需要相對高的電流,因此以太網(wǎng)的收發(fā)數(shù)據(jù)線應(yīng)盡可能短,并且線徑適當(dāng)加大以減少電阻損耗(為了保證數(shù)據(jù)的可靠傳輸,筆者的PCB電路板選擇了20mil的線徑)。(注:100mil=2.54 mm。)





