基于TMS320F2812和USB100的CAN-USB总线通信系统设计

发布者:q13358975046最新更新时间:2011-04-01 来源: 电子元器件应用关键字:TMS320F2812  USB100  CAN-USB 手机看文章 扫描二维码
随时随地手机看文章
   

摘要:介绍了一种基于DSP的CAN控制器和USB芯片的USB总线和CAN总线的通信模块的设计,提出了一种使用USB接口实现CAN总线网络与计算机连接的方案。利用USB100芯片可在不了解任何USB协议的情况下,完成计算机RS 232串口升级为USB接口,同时CAN接口采用DSP片上CAN控制器,硬件设计极为简单。在DSP的控制下,PC机与CAN节点可以双向通信,通信波特率可高达1 Mb/s,传输数据稳定,可靠。实验证明,运用TMS320F2812片上eCAN模块来构成CAN总线通信系统更为简单,实用。
关键词:USB;CAN总线;eCAN;TMS320F2812

0 引言
    随着计算机技术的飞速发展,全电子的计算机连锁控制系统由上位机,联锁机和智能执行单元三层结构组成。本文所介绍的模块正是在此背景下为数据通信进行服务的。CAN总线是目前为止唯一有国际标准的现场总线,由于采用了许多新技术及独特的设计,与一般的通信总线相比,它的数据通信具有突出的可靠性,实时性和灵活性,其应用范围目前已不再局限于最初的汽车行业,而扩展到了机械工业包括数控机床,医疗器械,家用电器等领域。USB接口速度快、连线简单和即插即用的特性是与上位机通讯非常好的外设接口。因此,基于USB接口实现CAN总线与PC机之间数据通信的研究具有一定的应用意义。

1 系统结构
    本系统主要是由USB接口和CAN接口等模块组成,其中微处理器TMS320F2812控制全局,实现通过USB接口将CAN总线数据传送给PC机,以及通过USB接口将PC机数据传送给CAN节点的双向通信功能。传统的CAN总线通信模块一般要用到独立的CAN控制器芯片,本系统微处理器F2812片上带有eCAN模块,设计时较为方便,下面简要介绍eCAN模块。
    eCAN模块是TMS320F2812 DSP片上的增强型CAN控制器,其性能较之已有的DSP内嵌CAN控制器有较大的提高,数据传输更加灵活方便,数据量更大、可靠性更高、功能更加完备。eCAN模块它完全兼容CAN2.0B协议,可以在有干扰的环境里使用上述协议与其他控制器串行通信。除具有一般DSP内嵌CAN控制器的所有功能外,与TMS320LF240x系列DSP的CAN模块相比,它主要具有如下的一些增强特性:增加了邮箱数量,多达32个;eCAN是一个32位的高级CAN控制器;具有时间标识;具有超时功能。
    以上这些增强特性使得TMS320F2812进行CAN通信时,传输更加方便灵活、数据量更大、功能更完备。图1为系统结构图。

1.JPG



2 系统硬件设计
2.1 USB模块的硬件设计
    本系统USB接口模块采用USB100模块作为主控芯片。USB100模块是USB通用设备接口芯片,具有8位数据总线接口,内部多达384 B的发送缓冲区和128 B的接收缓冲区,数据通信速率最高可达8 Mb/s,USB100模块读写数据分别由RD和WR2个引脚控制,相当于有读写2个地址,因此将这两个地址映射到F2812外设接口的区域xzcs01中,0x2000作为写地址,0x4000作为读地址,通过XA13,XA14,XZCS01,XWE,XRD5个管脚进行译码,即可方便地控制USB模块的数据收发。选用altera公司的CPLD芯片EPM7032作为译码器件,可以进行在系统编程操作,其中上述5个管脚作为CPLD的输入引脚,CPLD2个输出引脚分别接至USB100模块的RD和WR两个引脚。由于USB100模块是5 V供电,F2812是3.3 V供电,所以8位数据总线通过电平转换器件741vc4245相连,数据方向由F2812的XR/W控制。根据USB100模块时序图,当F2812检测到USB100模块TXE引脚为低时,表示内部发送缓冲区允许发送数据到USB端口,可以将数据通过八位总线发给USB100模块;当F2812检测到USB100模块RXF为低时,表示内部发送缓冲区有来自USB端口的数据。

[page]

 

    2.2 eCAN模块应用设计
    由于采用TMS320F2812片上增强型控制器eCAN,所以CAN模块硬件电路极为简单,只需将F2812的RX和TX引脚经过电平转换器件连接至CAN收发器PCA82C250的TXD和RXD引脚,并以F2812作为CAN总线系统的微处理器,进行实时数据收发。其硬件系统分为2层:第一层,CAN总线与F2812接口层;第二层,F2812与外围器件的信息处理。CAN收发器采用低廉的PCA82C250,系统的扩展性强,至少可连接110个节点,其引脚8(Rs)用于选择工作模式,高速工作时上接一个斜率电阻,根据总线通信速度可适当调整,一般在16~140 Kb/s之间。

3 系统软件设计
3.1 DSP程序设计
    本系统中,微处理器TMS320F2812主要完成2个功能:一是对eCAN控制器进行初始化;二是完成上位机USB接口和下位机CAN接口的数据通信。USB接口通信通过查询USB100的TXE和RXF引脚的状态来完成上位机与微处理器F2812的数据交换,CAN接口的通信主要包括eCAN模块的消息发送和接收。
    F2812上电复位后,必须对软件进行初始化,其中最重要的是对eCAN模块初始化。消息发送时,需要初始化发送邮箱,包括向寄存器CANME使能相应邮箱、设置CANMD方向、通过MBOXn.MSGID(n=O~31)设置发送邮箱的ID等操作,初始化后向消息数据寄存器ECanaMboxes.Mboxn.MDR写入上位机USB接口发送的数据,然后设置EcanaRegs.CANTRS.bit.TRSn为1请求发送消息,等待传输响应位TA=1,表示消息成功发送,并产生发送中断,本系统通过发送中断子程序统计发送消息个数。消息接收时,同样需要初始化相应的接收邮箱,完成初始化后,当下位机通过CAN接口发送数据时,如果eCAN模块的接收邮箱的ID与下位机消息的ID匹配,并成功接收,则相应的接收消息挂起寄存器(CANRMP)的相应位被置1;若CPU开放了eCAN接收中断,则同时也产生接收消息中断,在接收中断子程序,可以将相应的消息数据寄存器的内容发给USB100模块的写地址,同时需要查询USB100的TXE端是否允许向USB端口发送数据。
    上位机通过USB接口发送数据,下位机通过CAN接口接收数据基本步骤为:
    (1)F2812初始化通用IO口以及eCAN控制器;
    (2)F2812检测USB模块是否有来自上位机的数据;
    (3)若有,将数据读入配置好的eCAN发送邮箱;
    (4)启动配置好的eCAN发送邮箱;
    (5)当邮箱发送消息给下位机成功后,会进入eCAN发送中断程序;
    (6)清除相应标志后退出中断程序,继续等待上位机发送数据。
    上位机通过USB接口接收数据,下位机通过CAN接口发送数据基本步骤为:
    (1)F2812初始化通用IO口以及eCAN控制器;
    (2)当下位机通过CAN接口发送数据时,根据邮箱标识符,已配置好的eCAN接收邮箱收到下位机数据,同时进入eCAN接收中断子程序;
    (3)F2812检测USB模块内部缓冲区是否允许向上位机发送数据,若禁止,则等待;
    (4)若允许向上位机发送数据,则将数据写入上位机;
    (5)清除相应标志后退出中断程序,继续等待下位机发送数据。图2为系统软件流程图。

2.JPG

 

[page]

 

    3.2 上位机软件编写
    采用NI公司的LABWINDOWS/CVI8.0进行上位机控制界面设计,实现通过PC机发送和接收CAN总线系统的数据的功能。
    由于USB100模块将USB接口虚拟成了RS 232标准的串口,程序要实现的任务是调用WINDOWS下串口函数,使得用户在CVI的界面下完成PC机数据的收发。该系统与PC机之间的通信主要通过调用LABWINDOWS/CVI函数库中提供的RS 232函数库,这几个函数在设计驱动程序中具体实现。主要的函数有:配置串口函数:int OpenComConfig(int COMPort,char deviceName[],long baudRate,int parity,int dataBits,int stopBits,int inputQueueSize,int outputQueueSize);将字节写入指定端口函数:int ComWrt(int COMPort,char buffer[],int count);从指定端口读入字节函数:int ComRd(int COMPort,char buffer[],int count);在PC机上通过相应控件启动相应端口函数,使得数据通过USB接口发送。

4 通信测试
    系统测试时,利用CAN调试器作为一个CAN节点,并利用调试器自带的调试软件在下位机上显示。
    首先,进行上位机通过USB接口发送数据,下位机通过CAN接口接收数据实验,CAN节点设置为扩展帧,帧格式为数据帧,帧ID为0x000000 82,下位机CAN调试软件以十六进制接收数据,发送的是字符‘1’、‘2’、‘3’、‘4’、‘5’,下位机接收到的是对应的ASCII码值0x31~0x35,以十六进制显示。
    然后,进行下位机通过CAN接口发送数据,上位机通过USB口接收数据实验,CAN节点设置不变,发送的数据是0x31~0x35五个数据,上位机收到的是‘1’~‘5’五个字符。具体测试界面见图3和图4。

3.JPG



5 结语
    设计了一套USB-CAN总线通信模块,其中CAN控制器特别的使用了F2812内嵌eCAN模块,在实际应用中,该通信部分能有效,及时的与系统其他节点进行通信,较为有效地将DSP的高速处理能力和CAN总线的优良特性结合起来,并且硬件电路设计更为简单实用,采用C语言编程,提高了程序的可维护性,大大缩短了研发周期。

关键字:TMS320F2812  USB100  CAN-USB 引用地址:基于TMS320F2812和USB100的CAN-USB总线通信系统设计

上一篇:基于DSP 的电压闪变监测系统设计与实现
下一篇:基于CORDIC改进算法的DDS设计

推荐阅读最新更新时间:2024-05-02 21:20

基于DSP捕获单元的柴油发电机组的转速测量系统
1 引言   应用于高层建筑、银行、机场和油田等场合的柴油发电机组,必须采用相应方法控制其供电电压和频率,以确保在机组运行中具有良好的电气性能,满足应用要求。其频率控制一般是通过转速控制实现,目前应用较多的为模拟式转速调节器。由于模拟式调节器不易实现复杂控制规律、结构复杂。故采用数字式控制器。数字式控制器具有算法灵活.可实现复杂控制规律、抗干扰能力强等特点,是实现柴油发电机组转速的高精度调节的理想选择。因此,这里提出了一种以TMS320F2812 DSP为核心的转速数字控制器的测速功能系统设计.该设计方案是进一步实现转速数字控制的基础。 2 转速测量原理   在测量和控制柴油发电机组转速时,需用转速传感器检测机组转速.
[测试测量]
基于DSP捕获单元的柴油发电机组的转速测量系统
定点DSP芯片TMS320F2812实现快速算法应用
摘要:论述了以DSP芯片TMS320F2812为核心的一种测量仪器的组成原理、设计思想以及快速定点算法的实现方法,同时对定点和浮点算法结果进行了比较。 关键词:定点芯片;浮点运算;快速算法;系统配置;TMS320F2812 1 TMS320F2812简介 TMS320F2812是TI公司的一款用于控制的高性能、多功能、高性价比的32位定点DSP芯片。该芯片兼容TMS320LF2407指令系统最高可在150MHz主频下工作,并带有18k%26;#215;16位0等待周期片上SRAM和128k%26;#215;16位片上FLASH(存取时间36ns)。其片上外设主要包括2%26;#215;8路12位ADC(最快80ns转换时
[嵌入式]
一种基于TMS320F2812智能接口板设计与实现
   引言   随着电子技术的发展,数字电路的集成度和性能有了非常大的提高,因此可以在单板上实现复杂的电路功能,本设计就是在TI公司高集成度的TMS320F2812处理器上设计外围接口电路,实现多路高速ARINC429接口、高速RS422接口、高速RS232接口,由于该款DSP的卓越性能,该接口板具有强大的多路接口通讯实时处理能力,同时由于该接口板的通讯接口都是标准接口,物理结构为PMC底板结构,具有一定的通用性。    系统设计   接口板采用TMS320F2812处理器,对串行数据的接收和发送采用智能控制方式,它通过一个512K(32K×16)双端口存储器(DPRAM)实现与主处理机之间的数据交互,双端口存储器与主处
[嵌入式]
基于TMS320F2812便携式动态信号分析仪
   1 引言   动态信号分析仪在电子测量领域中称为频域中的“射频万用表”,可见其重要性和宽泛应用。动态信号分析是将时域信号转化为频域进行处理,一般要求使用时窗技术,如快速傅氏变换(FFT)、离散傅氏变换(DFT)等。如果采样点为N,直接DFT运算需要N2次乘法操作,需用大量运算时间。而FFT运算可将运算减少到(N/2)log2N次乘法,因此,FFT成为动态信号分析的核心算法。   这里提出一种基于TMS320F2812的便携式动态信号分析仪设计方案,以数字信号处理为基础,利用数字信号处理器强大的数据处理能力分析所采集的信号,优化动态信号的FFT算法.从而实现对各频率成份和功率谱的计算分析以及失真度的测量,其分析结果在液晶显
[测试测量]
基于<font color='red'>TMS320F2812</font>便携式动态信号分析仪
基于TMS320F2812的数字化三相变频电源的研制
  随着电力电子技术的飞速发展,正弦波输出变频电源已被广泛应用在各个领域中,与此同时对变频电源的输出电压波形质量也提出了越来越高的要求。在实验室和工业部门,三相正弦波变频电源常用于各种测量和控制电路中,产生单相或三相正弦波信号作为基准信号,基准正弦波的波形质量直接影响到测量和控制的精度。对于一个良好的正弦信号源,要求其输出的基准正弦波信号幅值、频率高度稳定、失真度小、带负载能力强、幅值可调,对于三相正弦波信号还要求三相对称度好。兼顾这些要求往往使电路变得复杂。因此,研究开发既简单又具有优良动、静态性能的逆变器控制策略,已成为电力电子领域的研究热点之一。   l 工作原理   系统总体电路结构由主回路、控制电路、采样电路
[电源管理]
基于<font color='red'>TMS320F2812</font>的数字化三相变频电源的研制
基于TMS320F2812的中低压线路保护装置的研制
    0 引言 随着电力系统的迅速发展,我国电网规模越来越大,结构也日趋复杂,对于线路保护装置的性能提出了更高的要求 。传统的基于单片机的微处理器结构和基于RS485、CAN 总线的通信方案已经无法满足系统的需要。数字信号处理(DSP)技术、复杂可编程序逻辑器件CPLD技术和以太网通信技术的迅猛发展,为电力系统微机保护技术的进步提供了有利的条件。基于这种发展趋势,文中开发研制了一种基于 TMS320F2812 的针对于中低压线路的微机保护装置。 1 硬件设计 装置硬件按功能实现模块化设计,核心CPU 模块采用保护DSP+监控DSP 的双CPU 结构,它们之间通过CAN 口实现信息共享。DSP 采用的是TI 公司
[嵌入式]
基于TMS320F2812的双通道高精度伺服系统
   0 引 言   以无刷直流电动机为核心的无刷直流伺服系统具有优越的调速特性以及寿命长、效率高、维护性好等优点,高精度、高可靠性、高智能化的无刷直流伺服系统是当前伺服系统的重要发展方向 。随着微电子技术和控制理论的发展,伺服系统能够获得越来越高的工作精度、较宽的调速范围,促进了伺服系统在各个行业和领域应用,例如工业自动化控制。在工业自动化领域中,某些场合如高精度数控机床和一些液压设备需要两台或者多台电机同时工作来达到保证精度、提高性能的目的。一种液压设备要求两台伺服电机同时工作,并有较高的伺服精度要求,需要设计合适的伺服系统。本文介绍了以高性能数字信号处理器TMS320F2812 为控制核心的双通道高精度伺服控制系统,充分利
[嵌入式]
基于DSP的地下微水检测系统的设计
微水试验法是一种瞬时向井中注入或抽取一定量的水,通过观测井水位变化情况,求得井附近含水层渗透系数的方法。对于渗透性较高的含水层,瞬时抽取或注入一定流量水后,井中水位很快恢复到初始水位,不易观测井中水位降深随时间的变化;对于低渗透性含水层,瞬时抽取或注入一定流量水后,能够较好观测到井中水位降深随时间的变化,求得含水层水文地质参数。 1 地下微水检测系统的设计方案 该检测系统用于确定不同低渗透性含水层介质中的渗透参数。通过在含水层布置的钻孔中激发水头变化,实时测量水头随时间的变化,利用地下水动力学原理,计算含水层的渗透系数。 该系统通过MSP430单片机采集压力式液位变送器和温度传感器的信号,将采集的信
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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