新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 利用VB 6.0实现PC机与DSP之间的串行数据通信

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

作者: 时间:2001-09-11 来源: 收藏

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

本文引用地址:https://www.eepw.com.cn/article/2805.htm

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

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

SCI有两个多处理器协议--空闲线(idle-time)多处理器模式和地址位多处理器模式。这些协议允许在多处理器之间进行有效数据传输。TMS320F243在上述两种模式下的通信格式分别如图1所示:

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

启动VB6.0Project菜单下单击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

DSP程序流程图如图2所示:

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

 

参考文献

1《PC机及单片机数据通信技术》-李朝青

2 《在VB下智能仪器和PC机之间的数值通信》-张正华等



关键词:

评论


相关推荐

技术专区

关闭