DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 576|回复: 0
打印 上一主题 下一主题

DSP串行通信

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 20:11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  
         
    【摘 要】 以TI公司TMS320C32为例,探讨了如何开发DSP自动控制装置通信程序,包括DSP和PC之间的异步串行通信、DSP与模拟接口芯片(AIC)的同步串口通信以及DSP之间的同步串行通信,并列出了相关部分的程序代码及硬件连接图。
    关键词:同步串行通信,异步串行通信,DSP
  

1 引 言
  虽然DSP的发展有专用化的趋势,例如德仪(TI)公司的C24X对电机控制的优化,C54X对GSM语音编码的优化等,但高主频和硬件乘法器的优势使得DSP在计算密集的实时控制领域的应用也日趋广泛。TMS320C32是目前应用比较广泛的一款浮点DSP,具有4级指令流水线,其并行指令可以在一个周期内完成两次运算/操作,适用于高精度控制领域。DSP的功能强大,但对于某一控制任务可能仍然需要多个DSP协同完成,例如,一个DSP负责控制、测量和人机接口,另一个DSP专门负责计算,这样能够保证DSP的指令流不被打断,可以充分发挥DSP的运算能力。实时控制所需的数据量不大,但是对实时性和可靠性要求很高。C32自身带有一个同步串口,可以以DMA方式与其他 DSP进行高速实时通信,完全可以满足控制装置中各DSP之间的数据交换的要求。除了DSP间的通信外,C32的同步串口还可与AIC等外围芯片直接连接,进行功能扩展。
  一般而言,控制装置应该具有与上位机通信的功能以便进行集中监控。上位机程序的主要功能是接收控制装置上传的状态数据以及下传一些控制命令,供值班人员监控设备的运行。作为上位机的PC和控制装置间的距离一般很短,传输的数据量较小,对数据传输的实时性要求也不高,使用RS232异步串行通信方式可以满足需要。上位机程序使用VB开发,VB易学易用,功能强大,非常适合这类应用。
2 DSP的同步串行通信
  与常见的异步串行通信不同的是,同步串行通信的发送端与接收端保持同步,这样可以获得较高的数据传输速度。
2.1 DSP之间的同步串口通信
  在由多个DSP协作完成控制任务时,通过同步串口直接连接是DSP之间进行数据交换的一种有效方式。这种连接方式无需外围芯片辅助,而且通信速度非常高。
2.1.1 硬件连接
    硬件连接见图1。



  DSP采取直接连接,保密性好,连接方便。两个DSP地位对等,寄存器设置完全相同。
2.1.2 软件设置
  SPORT.word 808040h;串口地址






  DSP初始化时先复位串口及其定时器,再将FSX/DX/CLKX引脚功能设为串口发送,FSR/DR/CLKR引脚功能设为串口接收,串口定时器周期设为F/8,通信方式为32位爆发方式,允许接收中断。
2.1.3 数据发送



2.1.4 数据接收



2.2 DSP和AIC之间的同步串口通信
  TLC320C4X是TI出品的模拟接口芯片,具有D/A、A/D功能,与DSP连接时无需其他芯片支持。
2.2.1 硬件连接
    硬件连接见图2。



2.2.2 软件
  DSP与AIC的通信代码使用与DSP间通信时类似,因此下面仅列出流程图,见图3。需要注意的是,每次进入中断服务程序都必须先初始化TLC320C4x。




3 DSP的异步串行通信扩展
  如前所述,控制装置中使用的C32自带的串口主要用于DSP间的高速同步串行通信,不能用于RS232异步串行通信。为了与上位机通信,可使用16C550在外部扩展的异步串行通道。16C550与8250兼容,但自带了14 字节的FIFO,能够有效减少通信中断次数,提高通信速度。
3.1 硬件连接
  使用16C550扩展异步串行通信的硬件连接如图4所示。
3.2 软件实现
3.2.1 上位机部分的串口初始化
  在VB中使用MsComm控件进行串口通信,一个MsComm控件对应一个串口,一般只接收定长数据块。



deBinary
'以二进制形式接收数据
MsComm1.RThreshold=40'数据块长40个字节
MsComm1.PortOpen=True'打开串口
3.2.2 DSP部分的串口初始化
  以下是DSP中对控制异步串口通信的芯片16C550进行初始化:









MsComm1.CommPort=1'选择COM1作通信口
MsComm1.Settings="9600,e,8,1"'通信波特率9600,偶校验,8位数据,1位停止位  MsComm1.InputMode=comInputMo-





  上位机中必须以变量接收上传的数据,再将值赋给动态数组,以保留方式重定义数组后,得到的就是字节数组形式的数据了。
  为了节省中断资源,下位机中的数据收发一般采用查询方式。
4 结束语
  本文以TMS320C32这种浮点DSP为例,介绍了DSP的同步串行通信和异步串行通信。同步串口适用于DSP间或DSP与高速外设之间的高速通信,异步串口适用于DSP与上位机之间的低速通信。随着DSP的推广应用,深入了解DSP的各种通信方式和原理对于开发DSP控制装置有着极为重要的现实意义。

 
参考文献
1 王念旭等.DSP基础与应用系统设计.北京:北京航空航天大学出版社,2001
         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-27 05:53 , 耗时 0.115732 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表