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

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

3天内不再提示

基于TL16C550C实现DSP UART数据通信的方法研究

牵手一起梦 来源:网络整理 作者:佚名 2020-01-13 16:19 次阅读

由于TMS320C6416不带异步串行收发接口UART),无法实现DSP系统常用的通串行通信。为此,本文基于TL16C550C设计了一种通过TMS32C6416实现UART数据通信的方法,同时给出了其硬件设计框图以及通过TMS320C6416初始化TL16C550C的软件编程方式。

高速数字信号处理器(DSP)在图像处理中,特别是视频处理中的应用非常广泛。通常DSP都具有很强的运算能力,但是其外设的接口相对有限。在应用系统中,往往需要DSP与下位机通信或者接受上位机的控制信号时,一般都是采用异步串行通信协议,如RS232RS422来实现。由于TMS320C6416器件自身只带有同步的串口,因此,为了实现正常的通信,一般都需要为其扩展异步串口。

l、TL16C550C芯片介绍

TL16C550C是TI公司研发的异步通信器件,其主要性能特点如下:

供电电压为5 V或3.3 V;

时钟频率达到16 MHz。通信时波特率最高可达1 M,并可编程设定波特率发生器;

◇具有标准的异步通信位,可选择5、6、7或8位串行数据位,可设置奇偶校验或无校验模式,停止位长度为1、1.5、2;

◇可独立控制发送、接收、线状态以及中断设置,可软件设定FIFO,减少CPU中断。

TL16C550C器件内部共有10个寄存器,可分别用于实现通信参数的设置、对线路及MODEM状态的访问、数据的发送和接收以及中断管理等功能。TL16C550C的地址可分别通过A0-A2地址线和某些寄存器的特定位置来确定,由于有些寄存器的地址是重叠的,所以还需同时通过读/写信号加以区分。

TL16C550C片内寄存器及其映射地址如表1所列,其中高位和低位寄存器为二次寻址寄存器,因此,在访问这两个寄存器之前,必须将LCR的第7位置为1。

2、TL16C550C与PC的数据通信电路

2.1 TL16C550C的选通

TL16C550C与PC的串行通信部分的硬件连接电路如图1所示。由ISO3088实现电平转换,即通过ISO3088将输出电平配置为RS485信号。

2.2 TLl6C2550C的读写

TL16C550C的读信号为,RD2,当为低电平或RD2为高电平,且TL16C550C被选中时,可进行读操作;写信号为,WR2,当为低电平或WR2为高电平,且TL16C550C被选中时,可进行写操作。将、RD2、、WR2都与CPLD的I/0相连,便可通过CPLD来控制TL16C550C的读写。

3、TL16C550C和PC通信的软件编程

该套系统的软件设计部分主要包括PC机程序、DSP初始化、TL16C550C初始化和数据发送/接收以及双方的通信协议等。本文着重介绍TL16C550C的初始化程序。主要由以下几部分组成:

◇波特率的设定;波特率除数寄存器由高8位(DLM)和低8位(DLL)组成。除数的值可由UART的工作时钟和波特率共同确定,其计算公式为:

除数=时钟频率/(期望的波特率×16)

例如本系统中时钟频率12 MHz,波特率设置为9600,则除数的值为12,应在初始化程序中设置DLM=OOH,DLL=4eH;

◇增强功能的使能及设置EFR的相关位;

◇完成有关收/发FIF0的设定,主要是MCR/TCR/TLR三个寄存器的设置;

◇传输数据格式设定,包括8位数据位、1位停止位以及无校验;

◇设置FIFO控制以及中断控制寄存器。

此外,在完成设置前,还应注意:设定DLL和DLH前,LCR的第7位应为1;地址相重叠的寄存器不能同时使能;读写RHR和THR时,DSP的读写速度很快,故最好不要连续读写,而是在每读、写一次后延时一段时间。然后再进行下一次读写。

由于TL16C550C映射在DSP的CEO区间,所以在DSP访问其寄存器时只需将基地址加上偏移量即可。其初始化源程序如下:

4、结束语

本文介绍了通过TL16C550C扩展串口完成TMS320C6416与PC机串行通信的设计方案,给出了硬件设计框图及软件实现代码。该电路及软件经实验证明能够可靠地实现TMS320C416与PC机之间的通信,并且此方法已在实际的项目中得到应用。

TL16C550C采用3.3 V供电.将TL16C550C的数据线DO~D7与TM320C6416T直连,从而实现数据的传输。同时应将TL16C550C的片内寄存器选择线与TM320C6416T的BEAl,BEA2,BEA3引脚相连,当TL16C550C的片选信号CSO,CSl为高电平,为低电平时,TLl6C550B即被选中。CS0,CSl直接与高电平相连。则与CPLD的I/0相连,如此便实现了以CPLD来实现TL16C550C的选通。

责任编辑:gt

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

    关注

    68

    文章

    19159

    浏览量

    229099
  • dsp
    dsp
    +关注

    关注

    552

    文章

    7962

    浏览量

    348245
  • 寄存器
    +关注

    关注

    31

    文章

    5317

    浏览量

    119995
收藏 人收藏

    评论

    相关推荐

    UART通信协议介绍和数据传输工作流程

    UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可实现全双工传输和接收。UART
    的头像 发表于 10-24 14:20 369次阅读
    <b class='flag-5'>UART</b><b class='flag-5'>通信</b>协议介绍和<b class='flag-5'>数据</b>传输工作流程

    TL16C752D具有64字节FIFO的双路UART数据

    电子发烧友网站提供《TL16C752D具有64字节FIFO的双路UART数据表.pdf》资料免费下载
    发表于 07-10 09:19 0次下载
    <b class='flag-5'>TL16C</b>752D具有64字节FIFO的双路<b class='flag-5'>UART</b><b class='flag-5'>数据</b>表

    TL16C2752 1.8至5V双通道UART数据

    电子发烧友网站提供《TL16C2752 1.8至5V双通道UART数据表.pdf》资料免费下载
    发表于 07-09 09:38 0次下载
    <b class='flag-5'>TL16C</b>2752 1.8至5V双通道<b class='flag-5'>UART</b><b class='flag-5'>数据</b>表

    具有128字节FIFO的TL16C750E UART数据

    电子发烧友网站提供《具有128字节FIFO的TL16C750E UART数据表.pdf》资料免费下载
    发表于 07-08 09:10 0次下载
    具有128字节FIFO的<b class='flag-5'>TL16C</b>750E <b class='flag-5'>UART</b><b class='flag-5'>数据</b>表

    TL16C550D,TL16C550DI带自动流量控制的异步通信元件数据

    电子发烧友网站提供《TL16C550D,TL16C550DI带自动流量控制的异步通信元件数据表.pdf》资料免费下载
    发表于 07-03 12:58 0次下载
    <b class='flag-5'>TL16C550</b>D,<b class='flag-5'>TL16C550</b>DI带自动流量控制的异步<b class='flag-5'>通信</b>元件<b class='flag-5'>数据</b>表

    TL16C2550-Q1 1.8至5V双通道UART,内置16字节FIFOS数据

    电子发烧友网站提供《TL16C2550-Q1 1.8至5V双通道UART,内置16字节FIFOS数据表.pdf》资料免费下载
    发表于 07-03 12:56 0次下载
    <b class='flag-5'>TL16C</b>2550-Q1 1.8至5V双通道<b class='flag-5'>UART</b>,内置<b class='flag-5'>16</b>字节FIFOS<b class='flag-5'>数据</b>表

    TL16C752B-EP带64字节FIFO的3.3 V双通道UART数据

    电子发烧友网站提供《TL16C752B-EP带64字节FIFO的3.3 V双通道UART数据表.pdf》资料免费下载
    发表于 07-03 12:53 0次下载
    <b class='flag-5'>TL16C</b>752B-EP带64字节FIFO的3.3 V双通道<b class='flag-5'>UART</b><b class='flag-5'>数据</b>表

    TL16C554,TL16C554I异步通信元件数据

    电子发烧友网站提供《TL16C554,TL16C554I异步通信元件数据表.pdf》资料免费下载
    发表于 07-03 09:36 0次下载
    <b class='flag-5'>TL16C</b>554,<b class='flag-5'>TL16C</b>554I异步<b class='flag-5'>通信</b>元件<b class='flag-5'>数据</b>表

    TL16C554A,TL16C554AI异步通信元件数据

    电子发烧友网站提供《TL16C554A,TL16C554AI异步通信元件数据表.pdf》资料免费下载
    发表于 07-01 11:50 0次下载
    <b class='flag-5'>TL16C</b>554A,<b class='flag-5'>TL16C</b>554AI异步<b class='flag-5'>通信</b>元件<b class='flag-5'>数据</b>表

    NS16C2552/NS16C2752双通道UART数据

    电子发烧友网站提供《NS16C2552/NS16C2752双通道UART数据表.pdf》资料免费下载
    发表于 07-01 10:21 0次下载
    NS<b class='flag-5'>16C</b>2552/NS<b class='flag-5'>16C</b>2752双通道<b class='flag-5'>UART</b><b class='flag-5'>数据</b>表

    具有FIFO的双异步通信元件TL16C552A数据

    电子发烧友网站提供《具有FIFO的双异步通信元件TL16C552A数据表.pdf》资料免费下载
    发表于 06-26 11:28 0次下载
    具有FIFO的双异步<b class='flag-5'>通信</b>元件<b class='flag-5'>TL16C</b>552A<b class='flag-5'>数据</b>表

    TL16C2550 1.8-V至5V双UART,带16字节FIFOS数据

    电子发烧友网站提供《TL16C2550 1.8-V至5V双UART,带16字节FIFOS数据表.pdf》资料免费下载
    发表于 06-26 11:20 0次下载
    <b class='flag-5'>TL16C</b>2550 1.8-V至5V双<b class='flag-5'>UART</b>,带<b class='flag-5'>16</b>字节FIFOS<b class='flag-5'>数据</b>表

    TL16C550C具有自动流控制的异步通信元件数据

    电子发烧友网站提供《TL16C550C具有自动流控制的异步通信元件数据表.pdf》资料免费下载
    发表于 06-22 10:18 0次下载
    <b class='flag-5'>TL16C550C</b>具有自动流控制的异步<b class='flag-5'>通信</b>元件<b class='flag-5'>数据</b>表

    数据通信网关是什么?数据通信网关的功能作用

    数据通信网关是一种关键的网络设备,它在不同的通信网络或者不同协议的网络之间充当桥梁,实现数据包的转发、协议转换以及网络互连。其主要功能和作用包括: 1、网络互连:
    的头像 发表于 05-29 14:43 823次阅读

    数据通信系统的组成 数据通信系统的主要技术指标

    数据通信系统是由多个组件组成的,主要包括发送端、接收端、传输介质和通信协议。数据通信系统的主要技术指标包括传输速率、端到端延迟、误码率、带宽、可靠性等方面。 首先,发送端是数据通信系统
    的头像 发表于 01-24 17:06 2933次阅读