基于ARM7处理器LPC2119的USB-CAN转换器设计

发布时间:2015-11-3 14:46    发布者:designapp
关键词: ARM7 , LPC2119
  引言
  控制器局域网(controller area network,CAN)是20世纪80年代德国BOSCH公司为现代汽车应用而推出的一种多主机局部网,由于CAN总线具有可靠性高、功能完善、成本合理、实时性等优点,CAN总线早已不再局限于汽车行业,而被广泛应用于各个自动化控制系统中,例如汽车电子、工业控制、智能大厦、安防监控、环境控制等。目前CAN总线是国际上应用最广泛的现场总线之一。通用串行总线(universalserial bus,USB)作为一种协议规范,是以Intel为首的7家计算机及通信产业厂商公司于1994年11月共同提出,其除具有使用方便(即插即用)、功耗低、数据传输率高等优点外,还具有软硬件支持广泛、功耗低、硬件结构标准化和总线拓扑结构完备等特点。目前在以计算机为上位机的应用领域,都首选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- DEVICE/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所示为LPC2119与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接口芯片,实现USB-CAN转换器,论述了 LPC2119的外围电路、CAN总线驱动电路以及LPC2119与CH375之间的接口连接,并在软件给出LPC2119使用通用I/O模拟并口读写时序的方法,对LPC2119,CH375及CAN总线的实际应用具有一定的参考价值。
               
本文地址:https://www.eechina.com/thread-155348-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表