导言
操控器局域网(controller area network,CAN)是20世纪80年代德国BOSCH公司为现代轿车运用而推出的一种多主机部分网,我们CAN总线具有牢靠性高、功用完善、本钱合理、实时性等长处,CAN总线早已不再局限于轿车行业,而被广泛运用于各个主动化操控体系中。现在CAN总线是国际上运用最广泛的现场总线之一。通用串行总线(universalserial bus,USB)作为一种协议规范,其除具有运用方便(即插即用)、功耗低、数据传输率高级长处外,还具有软硬件支撑广泛、功耗低、硬件结构规范化和总线拓扑结构齐备等特色。现在在以计算机为上位机的运用领域,都首选USB口作为计算机与外设的接口。
为了更好的将USB的通用性和CAN的专业性结合起来,经过计算机的USB接口接入CAN专业网络,完成体系操控的便利性和运用的高效性,本文推荐了一种根据ARM7处理器完成USB接口与CAN总线的实例,经过其能够在PC完成对CAN总线上设备的监控。
1 硬件体系规划
1.1 处理器简介及其外围电路规划
主操控器选用NXP公司的ARM7核处理器LPC2119。LPC2119是根据一个支撑实时仿真和盯梢的16/32位ARM7TDMI-STM CPU,并带有128 KB嵌入的高速FLASH存储器。128位宽度的存储器接口和共同的加快结构使32位代码能够在最大时钟速率下运转。对代码规划有严格操控的运用可运用 16位Thumb形式将代码规划下降超越30%,而功能的丢失却很小。实施流水线作业,供给Embedded ICE逻辑,支撑片上断点和调试点,具有先进的软件开发和调试环境。LPC2119具有十分小的64脚封装、极低的功耗、多个32位定时器、4路10位 ADC、2路CAN、PWM通道、多个串行接口,包括2个16C550工业规范UART、高速I2C接口(400 kHz)和2个SPI接口,46个GPIO以及多达9个外部中止,特别适用于轿车、工业操控运用以及医疗体系和容错维护总线。
LPC2119内部集成2个CAN操控器,每一个CAN操控器都与独立CAN操控器SJA1000有着类似的寄存器结构。它的首要特性有:单个总线上的数据传输速率高达1 Mb/s;32位寄存器和RAM拜访;兼容CAN2.0B,ISO11898-1规范;大局检验滤波器能够辨认一切的11位和29位标识符;检验滤波器为挑选的规范标识符供给Full CAN-style主动接纳。图1所示为LPC2119外围电路,为确保牢靠复位,选用外部复位电路STM809。
1.2 USB接口电路规划
USB接口选用沁恒电子的CH375。CH375是一个USB总线的通用接口芯片,支撑USB-HOST主机办法和USB- DEV%&&&&&%E/SLAVE设备办法。在本地端,CH375具有8位数据总线和读、写、片选操控线以及中止输出,能够方便地挂接到单片机/DSP/MCU/MPU等操控器的体系总线上。CH375供给了串行通讯办法,经过串行输入、串行输出和中止输出与单片机/DSP/MCU/MPU等相衔接。图2所示为CH375的接口电路。
1.3 CAN总线接口电路规划
CAN总线收发器选用82C250,并选用6N137作阻隔,LPC2119的TD和RD引脚不是直接与82C250的TX、RX引脚相连,而是经过高速光耦6N137与82C250相连,这样可增强CAN总线节点的抗干扰才能,然后完成总线各节点间电气阻隔。高速光耦6N137用于维护 LPC2119内部CAN总线操控器,该光耦马虎选用5 V的DC-DC电源,可使器材的VCC与VCC1彻底阻隔,进步体系的抗干扰才能以及节点的稳定性和安全性。图3所示为LPC2 119与CAN驱动器82C250的衔接电路。DC-DC电源模块选用B0505LS-2W,电路在图4中所示。
1.4 体系电源规划
整个电路的电源由USB供电,我们LPC2119的IO电路电源要求为3.3 V,内核电路电源要求为1.8 V,在本运用中选用两片低压差线性温压器(LDO)1117为体系供电,如图4所示。
1.5 体系PCB规划
整个体系的PCB选用双面板办法规划,巨细为100×120,布局及外形如图5所示。
2 固件规划
本体系软件规划时选用μVision3 IDE,μVision3IDE是一个窗口化的软件开发渠道,它集成了功用强大的编辑器、工程管理器以及各种编译东西(包括C编译器、宏汇编器、链接/装载器和16进制文件转换器),经过ULINK仿真调试。程序结构选用传统的前后台办法。CAN操控器驱动程序包括4部分内容:CAN操控器的初始化、报文的接纳、报文的发送和总线反常处理。我们LPC2119没有开发内部读写总线,本规划在对CH375操作时运用通用I/O模仿并口读写时序,其端口界说办法如下:
程序在运用通用I/O模仿并口读写时序对CH375的根本操作包括CPU端口初始化、向CH375写指令、向CH375写数据、从CH375读数据,其完成进程包括:初始化void CH375_PORT_INIT();向CH375写指令void xWriteCH375Cmd(uint8 mCmd);向CH375写数据void xWrite CH375 Data(uint8 mData);从CH375读数据uint8 xReADCH375Data(void)等4个根本函数。
3 结语
本体系规划选用内置CAN操控器的LPC2119作为主操控器,CH375作为USB接口芯片,完成USBCAN转换器,论说了 LPC2119的外围电路、CAN总线驱动电路以及LPC2119与CH375之间的接口衔接,并在软件给出LPC2119运用通用I/O模仿并口读写时序的办法,对LPC2119,CH375及CAN总线的实践运用具有必定的参考价值。