• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 利用VB 6.0实现PC机与DSP之间的串行数据通信

利用VB 6.0实现PC机与DSP之间的串行数据通信

录入:edatop.com     点击:

  在工业控制领域,往往需要由一台主机去控制多台从机或多个智能仪器;当上位机和下位机之间距离较远(主机远离工业控制现场)时,就避免不了要进行串行数据通信。上位机一般是PC机,这样可充分利用PC机的资源,使得在智能仪器上难以解决的诸如曲线显示、数值运算等在PC上得以实现。在PC机上编写串行通信程序至少有三种方法:利用汇编语言,C语言和Visual系列的通信控件(MSComm)。直接用汇编语言编程,要求程序员具备相当的硬件知识,对可编程串行通信接口芯片的内部寄存器定义、工作方式、指令字等相关的内容必须相当熟悉;C语言虽然提供了直接访问串口的函数,但还是比较麻烦;Visual系列的通信控件(MSComm控件)却使我们能够用少量的代码,轻松高效地完成任务。而TMS320F243数字信号处理器是德州仪器公司(TI)24X系列专为数字马达控制而设计的高性能16位定点DSP,对其串行通信接口模块进行编程是相当方便的。

  TMS320F243与其它微处理器相比具有下列性能:(1)指令周期为50ns,且大多数指令为单周期;(2)面向电机控制的事件管理模块;(3)双10位A/D转换器;(4)串行通信接口(SCI)和串行外设接口(SPI);(5)看门狗(WD)和实时中断定时器(RTI);(6)内嵌CAN控制器。

  串行通信接口模块(SCI)的所有寄存器都是8位的,它支持在CPU和其它使用标准不归零制(NRE)格式的异步外设之间进行串行数据通信。串行通信接口(SCI)的接收器和发送器都是双缓冲的,并且各自都有独立的使能位和中断位。二者都可以独立地或同时工作于全双工模式。为了保证数据接收的正确性,串行通信接口对接收的信号进行间断检测、奇偶校验、超时和帧错误检测,通过一个16位的波特率选择寄存器,可以选择 65000个不同的波特率。

  SCI有两个多处理器协议--空闲线(idle-time)多处理器模式和地址位多处理器模式。这些协议允许在多处理器之间进行有效数据传输。

  Visual Basic串口通信由于有Windows程序的支持,而变的极为方便,它将串口设备当作一个目标封装起来,容易操作,按下列步骤可以添加MSComm控件:

  启动VB6.0在Project菜单下单击Components选项,算选择Microsoft Comm Control 6.0控件,这时在工具栏中会出现电话机图标,将其拖放到窗体上,单击鼠标右键,就会出现串口属性对话框,其主要属性有:

  CommPort属性和Settings属性等11种属性。

  MsComm控件提供了两种处理通信问题的方法:事件驱动(EventDriven)方法和查询方法。最基本的通信事件有:comEvSend(在输出缓冲区有比Sthreshold数少的字符。)和comEvReceive(收到Rthreshold个字符),该事件将持续产生,直到用Input属性从接收缓冲区中读取并删除字符。

  通信协议包括:

  (1) 字符传输格式:波特率(BaudRate=9600b/s),无奇偶校验,8位数据位,1位停止位。

  (2) 数据帧格式如下表:

  命令字 帧长度 字节串 结束符

  其中帧长度=字节串长度+2,结束符=0FFh。

  命令字对应着相应的操作:

  命令字01对应PC机发送设置值

  命令字02对应DSP接收设置值后,回发至PC

  命令字03对应PC机发送正弦波形的幅度和频率

  PC机和DSP均采用异步通信方式,且DSP采用空闲线唤醒模式。PC机采用事件驱动方式接收数据,DSP采用查询法发送数据,而用中断法接收数据。

MSComm控件的初始化代码如下:

MSComm. Commport=2

MSComm. Settings="9600,n,8,1"

MSComm.Rthreshold=1

MSComm.Sthreshold=0 '不触发ComEvSend事件

MSComm.InputLen=0

MSComm.InBufferCount=0

MSComm.OutBufferCount=0

MSComm.InputMode= comInputModeBinary

If MSComm.PortOpen=False Then

MSComm.PortOpen=True

End If

  本文对在VB下利用MSComm控件实现PC机与TMS320F243之间串行数据通信的方法进行了探讨,所有程序都经调试通过,具有一定的参考价值。相信对读者开发TI公司的DSP串行数据通信程序会有一些提示和帮助。■

摘自《电子产品世界》

上一篇:IP网络管理技术
下一篇:宽带接入产品应用分析

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

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

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

  网站地图