0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于DSP芯片实现异步串行通信系统的软硬件设计

电子设计 来源:信息化研究 作者:齐崇英,陈西宏, 2021-06-21 11:28 次阅读

作者:齐崇英,陈西宏,苏红潮

1 引言

TMS320C3x DSP是目前国内应用比较广泛的DSP芯片之一,它提供了可与外部串行设备通信的串行接口,支持8/16/24/32位数据交换,为设计A/D、D/A接口电路提供了很大的灵活性。然而,当DSP系统和PC机进行通信时,如何设计合理的接口电路和通信软件,将DSP处理后的数据实时准确地传输给PC机,同时使PC机实时有效地控制DSP,成为DSP系统设计中的重要一环。本文采用异步串行通信(Universal Asychronous Receiverand Transmitter,UART),较好地解决了DSP和PC机通信这一问题。

2 TMS320C3x简介

TMS320C3x(以下简称C3x)是TI(TexasInstruments)公司生产的第三代产品,也是第一代浮点DSP芯片,包括C30、C31、C32和C33四种,是TMS320系列中性能价格比较高的一种浮点DSP芯片,具有32位的浮点精度,总共有三套总线,即程序总线、数据总线和DMA总线,取指、读写数据以及DMA操作可并行进行,可以寻址16M字的空间。其中C31是C30的简化和改进型,它去掉了扩展总线和一个串口,降低了芯片的成本,并且在硬件上增加了一个非常有用的功能,即程序引导功能(Bootloader),使其程序可以从低速EPROM、PROM或串行口装入到系统的高速RAM中全速运行 。C32和C33是C31的进一步简化和改进,其中C32片内RAM减为512字,以降低成本。C33片内RAM为34K ,需3.3V电源

3DSP系统结构框图

图1为整个DSP系统的硬件框图。

poYBAGDQCW2ATpo6AACoKShKQ6I534.png

其中,TLC32044是TI公司生产的话带模数接口芯片(简称AIC)TLC32040系列中的一种,它集A/D、D/A于一体,具有两个模拟输入口和一个模拟输出口,最高采样频率为19.2kHz。MC6850为Motorola公司生产的异步串行接口芯片(UART),它可以进行8位或9位数据的发送和接收,并可选择÷1、÷16、÷64三种不同的时钟模式。DSP通过对MC6850的控制寄存器初始化来设置异步通信协议,然后MC6850对DSP的并行数据和PC机的串行数据按照协议进行并串转换。MAX232芯片进行TTL电平和RS-232电平之间的转换。外部信号经A/D转换进入DSP,DSP对其进行处理后,经UART送入PC机,由PC机对数据进行处理和存储。同时,PC机将控制信号或待发数据经UART送入DSP,对DSP实施控制或经DSP处理后送入D/A,经低通滤波后还原为模拟信号。

4DSP系统通信软件

传输时,发送双方应按照共同遵循的协议进行初始化。通信协议采用起止式异步通信协议,下面分别是DSP对MC6850和上层PC机软件对串行口初始化操作的源程序代码

4.1 MC6850异步串口通信程序设计

加电之后,6850处于闭锁状态,以避免输出错误的发送。使用前,必须通过程序将控制寄存器的CR0和CR1置“1”,以进行主复位,使其从闭锁状态释放。然后就可以对控制寄存器编程,以确定6850的时钟分频、数据格式和发送与接收控制功能等。以下是在Code Composer集成开发环境下,用C语言实现对6850的初始化设置和发送数据程序。

pYYBAGDQCWWAMfRVAAFNkitk8D8943.png

4.2PC机通信程序设计

在VC++6.0环境下,利用PC机进行串口通信的常用方法有两种:(1)调用Windows API(Application Program Interface)函数;(2)使用ActiveX的MSComm控件。第一种方法需声明及调用许多API函数,十分烦琐。故本文采用第二种方法。

PC机通信的具体实现过程如下:

第一步,启动VC++6.0,新建一个基于对话框的应用程序TxRx。

第二步,在对话框中插入串口控件,增加新的静态文本、编辑框和按钮控件,并为它们添加相应的变量。其属性如下:

poYBAGDQCSWAPOOMAAC0V3jEBEA070.png

其次,需要初始化串口参数,在OnInitiDialog()函数中TODO语句后加入以下代码:

poYBAGDQCTOAXv30AADufKbyPuU942.png

//先预读缓冲区以清除残留数据

接着,为发送按钮IDC-TRSMITT添加消息处理函数OnTransmitt(),内容如下:

poYBAGDQCUWAMtkIAAC0Fnf6UZs484.png

下面举例说明如何在Transmitt()函数中实现发送一帧数据。

pYYBAGDQCV2AEqYwAAGHZRlO32g519.png

5结束语

以上是DSP与PC机之间异步串行通信的软硬件解决方案,目前此方案已应用于短波通信智能终端数据传输系统中,运行稳定,通信性能良好,较好地解决了DSP和PC机的通信问题。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    553

    文章

    7965

    浏览量

    348417
  • 芯片
    +关注

    关注

    454

    文章

    50502

    浏览量

    422334
  • 通信系统
    +关注

    关注

    6

    文章

    1179

    浏览量

    53301
收藏 人收藏

    评论

    相关推荐

    利用异步通信芯片TL16C750实现DSP与PC机的高速串行

    利用异步通信芯片TL16C750实现DSP与PC机的高速串行通[hide][/hide]
    发表于 06-17 09:49

    支持过程级动态软硬件划分的RSoC设计与实现

    系统(RSoC),提出了一种过程级硬件透明编程模型,给出了过程级的硬件封装方案;在分析软硬件过程根本区别的基础上,针对硬件过程开发了专门的管
    发表于 05-28 13:40

    DSP与PC机串行通信接口硬件设计

    过程中,需要为它提供一个人机接口或上层控制接口,以便于观察控制效果或传递必要的控制信息。因此,实现tms320f240与pc之间串行通信接口的设计方法,具有较高的实用价值。串行
    发表于 06-12 05:00

    怎么实现动感系统的总体构想及其软硬件设计?

    新型车辆模拟驾驶训练系统的组成及工作原理是什么怎么实现动感系统的总体构想及其软硬件设计?
    发表于 05-12 06:15

    如何去实现RCC系统时钟的软硬件设计呢

    RCC时钟树是由哪些部分组成的?如何去实现RCC系统时钟的软硬件设计呢?
    发表于 11-10 07:20

    DSP芯片TMS320F206异步串行口的应用

    在TMS320F206多处理器和主从机应用系统中,可以通过异步串行口实现DSP芯片之间或DSP
    发表于 04-23 16:06 43次下载

    基于DSP的电源控制系统软硬件开发

    介绍了一种基于DSP 的逆变电源控制系统,详细阐述了系统组成结构和软硬件设计。该系统采用TMS320F2812 作为主控制器,最大程度的减少
    发表于 07-30 10:23 37次下载

    多路异步串行通信系统在光纤陀螺组合中的设计与实现

    DSP在与多个外设进行通信时,需要扩展异步串行通信接口。以TMS320C6711为例,采用ST16C554
    发表于 03-11 13:22 806次阅读
    多路<b class='flag-5'>异步</b><b class='flag-5'>串行</b><b class='flag-5'>通信</b><b class='flag-5'>系统</b>在光纤陀螺组合中的设计与<b class='flag-5'>实现</b>

    TMS320C3x DSP和PC机的异步串行通信设计

    【摘 要】在简要介绍TMS320C3x系列芯片的基础上,主要介绍了在数字信号处理系统中,DSP与上位PC机异步串行
    发表于 05-21 21:38 1131次阅读
    TMS320C3x <b class='flag-5'>DSP</b>和PC机的<b class='flag-5'>异步</b><b class='flag-5'>串行</b><b class='flag-5'>通信</b>设计

    基于DSP串行通信在变频调速系统中的应用

    基于DSP串行通信在变频调速系统中的应用 介绍了基于专用DSP芯片ADMC328的
    发表于 10-17 11:29 779次阅读
    基于<b class='flag-5'>DSP</b>的<b class='flag-5'>串行</b><b class='flag-5'>通信</b>在变频调速<b class='flag-5'>系统</b>中的应用

    基于TL16C752B的DSP通用异步串行接口设计

    摘要:介绍了浮点DSP处理器TMS320C33和异步串行接口协议芯片TL16C752B的特点,分析了其接口信号及时序。基于复杂可编程逻辑器件(CPLD)设计了
    发表于 02-24 22:42 98次下载

    基于DSP的OLED显示器软硬件设计及实现

    给出了一种基于DSP控制的OLED显示屏设计方案。首先针对高速率DSP与慢外设OLED读写数据时序的不匹配,提出了一种更为经济实用的软硬件处理方案。其次针对便携式系统显示信息量大,
    发表于 04-17 15:59 86次下载

    基于USB的串行通信软硬件设计

    本文是基于USB的串行通信软硬件设计的详细介绍
    发表于 10-17 17:38 127次下载
    基于USB的<b class='flag-5'>串行</b><b class='flag-5'>通信</b><b class='flag-5'>软硬件</b>设计

    USB的串行通信软硬件设计

    USB的串行通信软硬件设计
    发表于 09-04 10:08 14次下载
    USB的<b class='flag-5'>串行</b><b class='flag-5'>通信</b><b class='flag-5'>软硬件</b>设计

    基于FPGA芯片软硬件平台的使用

    基于FPGA芯片软硬件平台的使用
    发表于 07-01 09:35 20次下载