基于ARM7處理器LPC2119的USB-CAN轉(zhuǎn)換器設(shè)計
引言
控制器局域網(wǎng)(controller area network,CAN)是20世紀80年代德國BOSCH公司為現(xiàn)代汽車應(yīng)用而推出的一種多主機局部網(wǎng),由于CAN總線具有可靠性高、功能完善、成本合理、實時性等優(yōu)點,CAN總線早已不再局限于汽車行業(yè),而被廣泛應(yīng)用于各個自動化控制系統(tǒng)中,例如汽車電子、工業(yè)控制、智能大廈、安防監(jiān)控、環(huán)境控制等。目前CAN總線是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。通用串行總線(universalserial bus,USB)作為一種協(xié)議規(guī)范,是以Intel為首的7家計算機及通信產(chǎn)業(yè)廠商公司于1994年11月共同提出,其除具有使用方便(即插即用)、功耗低、數(shù)據(jù)傳輸率高等優(yōu)點外,還具有軟硬件支持廣泛、功耗低、硬件結(jié)構(gòu)標準化和總線拓撲結(jié)構(gòu)完備等特點。目前在以計算機為上位機的應(yīng)用領(lǐng)域,都首選USB口作為計算機與外設(shè)的接口。
為了更好的將USB的通用性和CAN的專業(yè)性結(jié)合起來,通過計算機的USB接口接入CAN專業(yè)網(wǎng)絡(luò),實現(xiàn)系統(tǒng)控制的便利性和應(yīng)用的高效性,本文講述了一種基于ARM7處理器實現(xiàn)USB接口與CAN總線的實例,通過其可以在PC實現(xiàn)對CAN總線上設(shè)備的監(jiān)控。
1 硬件系統(tǒng)設(shè)計
1.1 處理器簡介及其外圍電路設(shè)計
主控制器選用NXP公司的ARM7核處理器LPC2119。LPC2119是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-STM CPU,并帶有128 KB嵌入的高速FLASH存儲器。128位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使32位代碼能夠在最大時鐘速率下運行。對代碼規(guī)模有嚴格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。實行流水線作業(yè),提供Embedded ICE邏輯,支持片上斷點和調(diào)試點,具有先進的軟件開發(fā)和調(diào)試環(huán)境。LPC2119具有非常小的64腳封裝、極低的功耗、多個32位定時器、4路10位ADC、2路CAN、PWM通道、多個串行接口,包括2個16C550工業(yè)標準UART、高速I2C接口(400 kHz)和2個SPI接口,46個GPIO以及多達9個外部中斷,特別適用于汽車、工業(yè)控制應(yīng)用以及醫(yī)療系統(tǒng)和容錯維護總線。
LPC2119內(nèi)部集成2個CAN控制器,每一個CAN控制器都與獨立CAN控制器SJA1000有著相似的寄存器結(jié)構(gòu)。它的主要特性有:單個總線上的數(shù)據(jù)傳輸速率高達1 Mb/s;32位寄存器和RAM訪問;兼容CAN2.0B,ISO11898-1規(guī)范;全局驗收濾波器可以識別所有的11位和29位標識符;驗收濾波器為選擇的標準標識符提供Full CAN-style自動接收。圖1所示為LPC2119外圍電路,為保證可靠復(fù)位,采用外部復(fù)位電路STM809。
1.2 USB接口電路設(shè)計
USB接口采用沁恒電子的CH375。CH375是一個USB總線的通用接口芯片,支持USB-HOST主機方式和USB-DEVICE/SLAVE設(shè)備方式。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機/DSP/MCU/MPU等控制器的系統(tǒng)總線上。CH375提供了串行通信方式,通過串行輸入、串行輸出和中斷輸出與單片機/DSP/MCU/MPU等相連接。圖2所示為CH375的接口電路。
評論