《電子技術(shù)應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于ARM7處理器的USB接口與CAN總線的實例
基于ARM7處理器的USB接口與CAN總線的實例
摘要: 為了更好的將USB的通用性和CAN的專業(yè)性結(jié)合起來,,通過計算機的USB接口接入CAN專業(yè)網(wǎng)絡,實現(xiàn)系統(tǒng)控制的便利性和應用的高效性,,本文講述了一種基于ARM7處理器實現(xiàn)USB接口與CAN總線的實例,,通過其可以在PC實現(xiàn)對CAN總線上設備的監(jiān)控。
Abstract:
Key words :

為了更好的將USB的通用性和CAN的專業(yè)性結(jié)合起來,,通過計算機的USB接口接入CAN專業(yè)網(wǎng)絡,,實現(xiàn)系統(tǒng)控制的便利性和應用的高效性,本文講述了一種基于ARM7處理器實現(xiàn)USB接口與CAN總線的實例,,通過其可以在PC實現(xiàn)對CAN總線上設備的監(jiān)控,。

1 硬件系統(tǒng)設計

1.1 處理器簡介及其外圍電路設計

主控制器選用NXP公司的ARM7核處理器LPC2119。LPC2119是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-STM CPU,,并帶有128 KB嵌入的高速FLASH存儲器,。128位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使32位代碼能夠在最大時鐘速率下運行。對代碼規(guī)模有嚴格控制的應用可使用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ī)療系統(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外圍電路,為保證可靠復位,采用外部復位電路STM809,。

  

 

圖1 LPC2119外圍電路

1.2 USB接口電路設計

USB接口采用沁恒電子的CH375,。CH375是一個USB總線的通用接口芯片,支持USB-HOST主機方式和USB-DEVICE/SLAVE設備方式,。在本地端,,CH375具有8位數(shù)據(jù)總線和讀、寫,、片選控制線以及中斷輸出,,可以方便地掛接到單片機/DSP/MCU/MPU等控制器的系統(tǒng)總線上。CH375提供了串行通信方式,,通過串行輸入,、串行輸出和中斷輸出與單片機/DSP/MCU/MPU等相連接。圖2所示為CH375的接口電路,。

圖2 USB接口電路

1.3 CAN總線接口電路設計

CAN總線收發(fā)器采用82C250,,并選用6N137作隔離,LPC2119的TD和RD引腳不是直接與82C250的TX,、RX引腳相連,,而是通過高速光耦6N137與82C250相連,這樣可增強CAN總線節(jié)點的抗干擾能力,,從而實現(xiàn)總線各節(jié)點間電氣隔離,。高速光耦6N137用于保護LPC2119內(nèi)部CAN總線控制器,該光耦兩側(cè)采用5 V的DC-DC電源,,可使器件的VCC與VCC1完全隔離,,提高系統(tǒng)的抗干擾能力以及節(jié)點的穩(wěn)定性和安全性。圖3所示為LPC2 119與CAN驅(qū)動器82C250的連接電路,。DC-DC電源模塊采用B0505LS-2W,,電路在圖4中所示。

  圖3 CAN驅(qū)動器82C250的連接電路

圖4 DC-DC隔離電路

1.4 系統(tǒng)電源設計

整個電路的電源由USB供電,,由于LPC2119的IO電路電源要求為3.3 V,,內(nèi)核電路電源要求為1.8 V,在本應用中采用兩片低壓差線性溫壓器(LDO)1117為系統(tǒng)供電,,如圖4所示,。

1.5 系統(tǒng)PCB設計

整個系統(tǒng)的PCB采用雙面板方式設計,大小為100×120,,布局及外形如圖5所示,。

圖5 布局及外形

2 固件設計

本系統(tǒng)軟件設計時采用μVision3 IDE,μVision3IDE是一個窗口化的軟件開發(fā)平臺,,它集成了功能強大的編輯器,、工程管理器以及各種編譯工具(包括C編譯器,、宏匯編器、鏈接/裝載器和16進制文件轉(zhuǎn)換器),,通過ULINK仿真調(diào)試,。程序框架采用傳統(tǒng)的前后臺方式。CAN控制器驅(qū)動程序包括4部分內(nèi)容:CAN控制器的初始化,、報文的接收,、報文的發(fā)送和總線異常處理。由于LPC2119沒有開發(fā)內(nèi)部讀寫總線,,本設計在對CH375操作時使用通用I/O模擬并口讀寫時序,,其端口定義方式如下:

程序在使用通用I/O模擬并口讀寫時序?qū)H375的基本操作包括CPU端口初始化、向CH375寫命令,、向CH375寫數(shù)據(jù),、從CH375讀數(shù)據(jù),其實現(xiàn)過程包含:初始化void CH375_PORT_INIT();向CH375寫命令void xWriteCH375Cmd(uint8 mCmd);向CH375寫數(shù)據(jù)void xWrite CH375 Data(uint8 mData);從CH375讀數(shù)據(jù)uint8 xReadCH375Data(void)等4個基本函數(shù),。

3 結(jié)語

本系統(tǒng)設計采用內(nèi)置CAN控制器的LPC2119作為主控制器,,CH375作為USB接口芯片,實現(xiàn)USBCAN轉(zhuǎn)換器,,論述了LPC2119的外圍電路,、CAN總線驅(qū)動電路以及LPC2119與CH375之間的接口連接,并在軟件給出LPC2119使用通用I/O模擬并口讀寫時序的方法,,對LPC2119,,CH375及CAN總線的實際應用具有一定的參考價值。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。