网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: TI德州中文网 >> 技术文库 >> C2000文章 >> C24X >> 正文
  [组图]基于VC 6.0实现DSP与PC之间的串行通信           ★★★ 【字体:
基于VC 6.0实现DSP与PC之间的串行通信
作者:汪大全 王…    文章来源:电子工程师    点击数:    更新时间:2006-12-2    

汪大全 王丹

(西南交通大学电气工程学院成都610031)

     摘  要 介绍了一种DSPPC之间的串行通信硬件解决方案,并在Visual C++6.0中利MSComm通信控件实现了PC的通信程序设计。

    关键词 DSP串行通信Visual C++6.0

 

     在工业控制领域,常常需要由1台主机去控制从机或智能仪器。串行通信作为一种灵活、方便、可靠的通信方式,仍不失为上位机与下位机通信的一种有效的通信方式。在工业生产实践中,上位机一般是PC机,利用PC机可以对工程实现实时监控,能利用监控界面进行数据采集、数据处理和控制信号的产生与传输等功能。Microsoft公司推出的VC++6.0是一种功能极为强大的高级编程语言,通过Visual系列的通信控件(MSComm控件)能方便地完成串行接口收发数据。而TI公司推出的TMS320C240是一种高性能、低价位的定点DSP处理器,非常适合用于从机或智能仪器中。本文正是利用这一控件实现TMS320C240PC之间的高速串口通信。

 

1TMS320C240PC机串行通信的硬件电路

  对于TITMS320系列的DSP来说,串口解决方案一般有2种:一种是利用DSPXFBIO两个IO引脚以及INT0INT1两个中断引脚来实现;另一种是通过扩展异步通信芯片来实现高速串口通信。这样串口与DSP的连接可以通过AM8230/82C30等来与DSP连接。这时问题转换成了2部分:一部分是8230DSP的接口;另外一部分是RS232串行口与8230的连接。也可以通过TI公司的TL16C750 UARTMAX232构成DSP的串口。为了满足通信实时性的要求,本文采用的是后一种解决方案。TL16C750TI公司生产的异步通信芯片, 能够较好地实现DSPPC之间高速异步通信。TMS320C240PC机通过TL16C750进行通信的硬件电路框图如图1所示。图中TMS320C240通过TL16C750将数据送入PC,由PC对数据进行处理和存储,同时PC通过TL16C750TMS320C240进行控制。TMS320C240TL16C750初始化,以完成异步通信协议的设置,TL16C750TMS320C240的并行数据和PC机的串行数据按照协议进行并串转换,并按照协议对数据进行发送和接收,然后通过MAX232实现CMOS电平与RS-232-C电平的转换。



2软件设计

  本系统的软件设计包括TMS320C240PC机的通信以及TL16C750的初始化等。下面分别给TMS320C240初始化TL16C750PC机通信的主要源程序代码。

2.1TMS320C240初始化TL16C750

  本系统中,TMS320C240TL16C750初始化的主要任务是设置操作所需要的参数,这些参数包括串行通信时数据串的数据位数、停止位数、奇偶校验等。另外还需要设置发送和接收的波特率及中断方式,具体程序如下:

2.2PC机通信软件的实现

  MSComm控件是Microsoft公司提供的简化Windows下串口通信编程的Active X控件,它为应用程序提供了通过串行接口收发数据的简便方法,一种是事件驱动法,另一种是查询法。其主要属性及设定值见表1

 

 

    在VC 6.0的通信程序设计中,首先利用VC6中的MFC Wizard产生一个支持Active X的应用程序框架,在Project/Add to Project菜单下添加Microsoft Communication Control, Version 6.0,这样就加入了MSComm控件。用鼠标将其拖放到对话框中,并为该对话框新建一个基Cdialog派生的CPcCOMDlg类,将头文件MSCommh加入到CPcCOMDlgcpp, 并为MSComm件添加关联量m_COM1, 以及OnComm消息的响应函数OnCommCom1( )。然后在CPcCOMDlg::OnInitDialog( )完成对串口的初始化,代码如下:

 

   接下来要为程序主对话框建立响应MSComm事件的处理函数OnCommCom1( )OnComm事件是通信控件唯一的事件,此事件可用来处理所有与通信有关的事件,不管是何种事情发生,通信控件只用一个CommEvent的属性予以代表。每当MSComm控件触发事件时OnCommCom1( )函数将被调用,代码示例如下:

3结语

  本文利用MSComm控件成功地实现了PC机通过TL16C750DSP的高速异步串口通信,相对于复杂的API通信函数来说,这种方法不失为一种简单易行的方法。实验结果证明,本系统无论是在系统的实时性、可靠性,还是在硬件控制的可靠性上均获得了满意的效果。

 

参考文献

 

1Texas Instruments.TL16C750 data manual1996

2Texas Instruments.TMS320F/C240 DSP Controllers Reference Guide1999

3范逸之,陈立元,等利用Visual Basic实现串并行通信技术.北京:清华大学出版社,2001

4王念旭DSP基础与应用系统设计.北京:北京航空航天大学出版社,2001

 5Kate GregoryVisual C++6.0开发使用手册北京:机械工业出版社,1999

欢迎点击进入:"61IC中国电子在线"官方网站     文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:TC 湘ICP备06016957号