当前位置:首页 > 通信技术 > 通信技术
[导读]摘要:介绍了一种基于DSP的CAN控制器和USB芯片的USB总线和CAN总线的通信模块的设计,提出了一种使用USB接口实现CAN总线网络与计算机连接的方案。利用USB100芯片可在不了解任何USB协议的情况下,完成计算机RS 232串口

摘要:介绍了一种基于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为系统结构图。



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端口的数据。
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为系统软件流程图。


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。



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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭