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

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

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

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

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