目前在以计算机为上位机的应用领域,都首选 USB 口作为计算机与外设的接口。CAN 总线具有可靠性高、功能完善、成本合理、实时性好等优点,被广泛应用于各个自动化控制系统中,是国际上应用最广泛的现场总线之一。为了更好地把 USB 的通用性和 CAN 的专业性结合起来,通过计算机的 USB 接口接入 CAN 专业网络,可实现系统控制的便利性和应用的高效性。本文讲述一种基于 ARM7 处理器实现 USB 接口与 CAN 总线的实例,通过它可以在 PC 上实现对 CAN 总线上设备的监控。
一、处理器简介及其外围电路
LPC2119 是基于一个支持实时仿真和跟踪的 16/32 位 ARM7TDMI-S CPU,并带有 128 KB 嵌入的高速 Flash 存储器。128 位宽度的存储器接口和独特的加速结构使 32 位代码能够在最大时钟速率下运行;对代码规模有严格控制的应用可使用 16 位 Thumb 模式,将代码规模降低超过 30%,而性能的损失却很小。它实行流水线作业,提供 Embedded ICE 逻辑,支持片上断点和调试点,具有先进的软件开发和调试环境。LPC2119 具有非常小的 64 脚封装、极低的功耗、多个 32 位定时器、4 路 10 位 ADC、2 路 CAN、PWM 通道、多个串行接口(包括 2 个 16C550 工业标准 UART、高速 I²C 接口和 2 个 SPI 接口)、46 个 GPIO 以及多达 9 个外部中断,特别适用于汽车、工业控制应用以及医疗系统和容错维护总线。

图 1 LPC2119 外围电路
LPC2119 内部集成 2 个 CAN 控制器,每一个 CAN 控制器都与独立 CAN 控制器 SJA1000 有着相似的寄存器结构。其主要特性有:单个总线上的数据传输速率高达 1 Mbps;32 位寄存器和 RAM 访问;兼容 CAN2.0B、ISO11898-1 规范;全局验收滤波器可以识别所有的 11 位和 29 位标识符;验收滤波器为选择的标准标识符提供 Full CAN-style 自动接收。为保证可靠复位,采用外部复位电路 STM809。
二、USB 接口电路设计
USB 接口采用沁恒电子的 CH375。CH375 是一个 USB 总线的通用接口芯片,支持 USB-HOST 主机方式和 USB-DEVICE/SLAVE 设备方式。在本地端,CH375 具有 8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU 等控制器的系统总线上;CH375 还提供了串行通信方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU 等相连接。图 2 所示为 CH375 的接口电路。

图 2 USB 接口电路