• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于TMS320F2812和USB100的CAN-USB总线通信系统设计

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

录入:edatop.com     点击:

上位机通过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接口发送。

作者:叶成 刘晓刚 刘春生 来源:电子元器件应用

上一篇:高卢麟:中国已建成全球最大的IPv6骨干网
下一篇:IP RAN助力MBB发展跨越三大鸿沟

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图