車輛中引入以太網(wǎng)的電路設(shè)計(jì)
車輛中引入以太網(wǎng)連接正成為一種快速發(fā)展的趨勢(shì)。100Mbps標(biāo)準(zhǔn)提供快速強(qiáng)大的數(shù)據(jù)互連,適用于ADAS功能,例如診斷和Flash下載、遠(yuǎn)程信息處理和雷達(dá)。它還支持新一代信息和娛樂消費(fèi)電子應(yīng)用。隨著以太網(wǎng)功能的擴(kuò)展,它將成為車輛的高寬帶基礎(chǔ)。
控制器局域網(wǎng)(Controller Area Network,CAN)總線是為解決現(xiàn)代汽車控制設(shè)備與測(cè)試儀器之間數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,主要用于各種設(shè)備的檢測(cè)及控制。
1 芯片選擇
1.1 CP2200芯片介紹
CP2200芯片是Sificon Labs公司推出的工業(yè)界體積最小、性能最高、8位總線控制的以太網(wǎng)驅(qū)動(dòng)芯片,支持IEEE802·3以太網(wǎng)媒體訪問MAC控制協(xié)議,支持 10BASE/T物理層,完全兼容100/1 000 BASE T網(wǎng)絡(luò),可以工作在全雙工或半雙工模式,能進(jìn)行自動(dòng)極性檢測(cè)和糾正,具有碰撞自動(dòng)重發(fā)功能,能自動(dòng)填充和生成CRC,支持廣播和多播。CP2200內(nèi)部帶有2 k字節(jié)的發(fā)送緩存和4 k字節(jié)的接收緩存,還有8 k字節(jié)的內(nèi)部Flash存儲(chǔ)器,用于存儲(chǔ)用戶常數(shù)、Web服務(wù)器內(nèi)容,它的最后6個(gè)存儲(chǔ)單元是工廠預(yù)編程的唯一48位MAC地址。此芯片采用48管腳的 TQFP封裝,工作的溫度范圍在-40~+85℃,可為具有11個(gè)以上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ù)包提供了有效緩沖。使用該芯片時(shí),電路只需增加1個(gè)RJ-45快速以太網(wǎng)接口即可,其工作特性可以滿足CAN總線的傳輸波特率要求。其內(nèi)部結(jié)構(gòu)如圖1所示。

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

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

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