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

发布者:创意探险最新更新时间:2011-08-27 关键字:CAN控制器  USB  ARM7 手机看文章 扫描二维码
随时随地手机看文章

       引言

  控制器局域网(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所示为LPC2 119与CAN驱动器82C250的连接电路。DC-DC电源模块采用B0505LS-2W,电路在图4中所示。

  [page]

 

  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总线的实际应用具有一定的参考价值。

关键字:CAN控制器  USB  ARM7 引用地址:基于ARM7处理器LPC2119的USB-CAN转换器设计

上一篇:AT91SAM7Sxx系列MCU Boot-Loader的设计
下一篇:LM3S9B96设计的32位Cortex-M3 MCU开发设计

推荐阅读最新更新时间:2024-03-16 12:40

USB开发库STSW-STM32121文件分析
hw_config.c: 该文件中包含系统配置的函数。 usb_desc.c:各种描述符 usb-endp.c:就两个函数分别处理端点1的IN和端点2的OUT。 usb_istr.c: 该文件中只有一个函数,即 USB 中断的 USB_Istr 函数,该函数对各类引起 USB 中断的事件作轮询处理。 usb_prop.c:每个特定类下应用相关的处理函数,例如初始化、 SETUP 包、 IN 包、 OUT 包等等。 usb_pwr.c: 该文件中包含处理上电、调电、挂起和恢复事件的函数。 stm32it.c: 该文件中包含 USB 中断服务程序,由于 USB 中断有很多情况,这里的中断服务程序只是调用 usb_Istr.c 文
[单片机]
<font color='red'>USB</font>开发库STSW-STM32121文件分析
STM32 USB时钟设置
原则:STM32 的USB时钟不能超过48MHZ,因此如果时钟源为72MHZ,就需要进行1.5分频: RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5); 如果时钟源为48MHZ,则进行1分频即可: RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_Div1); STM32的时钟树如下:
[单片机]
STM32 <font color='red'>USB</font>时钟设置
TM1300 PCI-XIO口的UART和USB接口设计
  Trimedia集成电路是Philips公司针对多媒体应用的一种高性能DSP,它能够进行高质量的视频和音频处理。TM1300是Trimedia 系列产品之一,它的核心是32位处理器,能够进行32位线性寻址,寻址能力可达4GB,含有128个通用寄存器。Tm1300核心处理器采用的是VLIW (超长指令字)结构,可以在每一时钟周期内同时进行5个操作,VLIW结构还可以减少处理器的工作量。TM1300支持16KB的数据高速缓存和32KB的指令高速缓存,并且数据高速缓存是双端口的,允许同时双向接入。   TM1300有别于一般的通用DSP,它有专门的视频接口、音频接口和PCI、SSI(同步串行接口)等丰富的外设接口。在本设计前,已经利
[嵌入式]
什么是USB Type C
USB Type-C已不再是全新话题,这个USB介面协议,与常见用于笔记型电脑的Type-A或Android手机的Micro-B之间最大的差异,在于USB Type-C支援正反插的设计。藉由24根脚位左上与右下对称的设计,达到正插与反插都有一半的脚位可正常动作。 Type-C使用率逐渐普及 最简单的USB Type-C介面,支援USB 2.0(表1中的D+与D-),将高速讯号对加入,支援USB 3.1 Gen1(5Gbps)或USB 3.1 Gen2(10Gbps)的传输速度(表1中的Tx+-与Rx+-)。 此外,USB Type-C可透过Power Delivery(以下简称PD)协议,将供电瓦数由原本的5V/3A向
[嵌入式]
通过USB连接器来保护电源和充电器件的安全
  如今大多数电子设备都有USB连接器,它们通过USB实现数据交换和/或对便携设备的电池充电。虽然USB这种通信协议已经相当普及,但当目标应用需要通过USB连接为设备供电时,必须注意一些安全防范措施。 电气特性和防护措施   通过USB连接的下游系统可以由多种类型的主机来供电。   在连接个人计算机(PC)等标准USB源设备时,连接器上将包含Vbus电源端子和数据端子(D+和D-)。Vbus电压值由USB规范明确定义:额定电压为5V,最高可达5.25V。事实上,较长的线缆会因串连电感产生振铃现象。这个最大振铃纹波电压取决于移动设备的输入电容和寄生电感。售后非原配件往往具有较低的性能,电缆也会有较高的寄生参数,这些因素对连接的
[手机便携]
通过<font color='red'>USB</font>连接器来保护电源和充电器件的安全
USB Audio设计与实现
1 前言 本文将基于STM32F4 Discovery板,从零开始设计并实现一个USB Audio的例子。 2 设计构思 所谓的USB AUDIO就是制作一个盒子,这个盒子可以通过USB连接到PC,PC端将其识别为Audio设备,然后在PC端播放音乐的时候,声音可以通过盒子播放出来。 2.1 从原理框图开始 图1 如上图所示,我们大概构思一下,为了实现USB AUDIO功能,我们使用一个MCU的USB外设连接PC端,整个流程是这样: PC端播放音乐时,代表音乐的数据流从PC端通过USB传输到MCU端,MCU端然后将其转发给一个外部Codec,最后通过Codec上连接的扬声器或耳机播放音乐。 2.2 硬件支撑 这里选择ST官
[单片机]
<font color='red'>USB</font> Audio设计与实现
基于MCS-51单片机和CAN总线控制器实现总线节点的设计
CAN(Controller Area Network)即控制器局域网络。由于其具有较强的抗干扰能力、通讯中没有地址的概念及节点数不受限制等优点,已经被广泛应用于汽车、数控机床、仪器仪表、现场总线控制等领域。在CAN总线的节点设计中,目前应用较多的是通过单片机的控制来实现。有的单片机已经嵌入了CAN控制器的功能,比如Philips的P8XC592,Motorola的68HC05X4等,但这类单片机的应用并不普及,而且价格相对较高。对于目前应用最为普及、价格也很便宜的MCS-51系列单片机,本身并不嵌有CAN控制器的功能。下面就给出一种基于MCS-51单片机和SJA1000的CAN总线节点设计方法。 1、 CAN总线简介 CAN
[单片机]
基于MCS-51单片机和<font color='red'>CAN</font>总线<font color='red'>控制器</font>实现总线节点的设计
瑞萨第二代USB 3.0主机控制器USB-IF认证
瑞萨电子近日宣布,其最新款USB 3.0 xHCI(eXtensible Host Controller Interface)主机控制器(零件编号μPD720200A)及USB 3.0 IP核心,已通过USB-IF之USB 3.0兼容性及认证测试。USB-IF的“Certified SuperSpeed USB(USB 3.0)”认证提供制造商及消费者保证,保证其产品以符合规格的方式运作,并可与目前市场上以数十亿计—具USB功能之装置相互运作。瑞萨电子目前提供包括首先获得认证的xHCI USB 3.0主机控制器(零件编号μPD720200)等三款USB-IF认证的USB 3.0产品,将为业界支援USB3.0标准提供良好的基础。
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved