0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >通信与网络 > 基于TL16C550C通过TMS320C6416实现DSP UART数据通信的方法研究设计方案

基于TL16C550C通过TMS320C6416实现DSP UART数据通信的方法研究设计方案

来源:
2022-07-05
类别:通信与网络
eye 26
文章创建人 拍明芯城

原标题:基于TL16C550C实现DSP UART数据通信的方法研究设计方案

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

  高速数字信号处理器(DSP)在图像处理中,特别是视频处理中的应用非常广泛。通常DSP都具有很强的运算能力,但是其外设的接口相对有限。在应用系统中,往往需要DSP与下位机通信或者接受上位机的控制信号时,一般都是采用异步串行通信协议,如RS232或RS422来实现。由于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的选通。

  TL16C550C和TL16C550CI是TL16C550B异步通信元件(ACE)的功能升级,后者又是TL16C450的功能升级。功能上与TL16C450上电(字符或TL16C450模式)相同,TL16C550C和TL16C550CI(如TL16C550B)可以置于备用FIFO模式。这通过缓冲接收和传输的字符来减轻CPU过多的软件开销。接收器和发送器FIFO最多可存储16个字节,包括接收器FIFO每字节的三个附加错误状态位。在FIFO模式下,有一个可选择的自动流控制功能,可以通过使用RTS 输出和CTS 输入信号自动控制串行数据流来显着减少软件过载并提高系统效率。

  TL16C550C和TL16C550CI执行从外围设备或调制解调器接收的数据的串行到并行转换,以及从CPU接收的数据的并行到串行转换。 CPU可以随时读取ACE状态。 ACE包括完整的调制解调器控制功能和处理器中断系统,可以对其进行定制,以最大限度地减少通信链路的软件管理。

  TL16C550C和TL16C550CI ACE都包含一个可编程的波特率发生器,能够划分参考时钟由除数从1到65535,并为内部发送器逻辑产生16×参考时钟。包括使用该16×时钟作为接收器逻辑的规定。 ACE适用于1 Mbaud串行速率(16 MHz输入时钟),因此位时间为1μs,典型字符时间为10μs(起始位,8位数据位,停止位)。

  TL16C550C和TL16C550CI上的两个TL16C450端子功能已更改为TXRDY 和RXRDY ,它们向DMA控制器提供信号。

  特性

  可编程Auto-RTS 和Auto-CTS

  在Auto-CTS Mode中,CTS Controls Transmitter < /li>

  在Auto-RTS 模式下,RCV FIFO内容和阈值控制RTS

  串行和调制解调器控制输出当设备处于同一个功率下降时直接驱动RJ11电缆

  能够运行所有现有的TL16C450软件

  复位后,所有寄存器与TL16C450寄存器组完全相同

  高达16 MHz的时钟速率,最高可达1 Mbaud操作

  在TL16C450模式下,保持和移位寄存器无需CPU和串行数据之间的精确同步

  可编程波特率发生器允许将任意输入参考时钟除以1 (2 16 ?? 1)并生成内部16×时钟

  标准异步通信位(启动,停止和奇偶校验)添加到串行数据流或从串行数据流中删除< /li>

  5 V和3.3 V操作

  独立接收器时钟输入

  独立控制的发送,接收,线路状态和数据集中断

  完全可编程串行接口特性:

  5-,6-,7-或8 -Bit Characters

  偶数,奇数或无奇偶校验位生成和检测

  1-,1 1 /2-或2-Stop位生成

  波特生成(直流至1 Mbit /s)

  虚假启动位检测

  完成状态报告功能

  双向数据总线和控制总线的三态输出TTL驱动能力

  断线生成和检测

  内部诊断功能:

  通信链路故障的环回控制隔离

  中断,奇偶校验,溢出和成帧错误模拟

  完全优先中断系统控制

  调制解调器控制功能(CTS ,RTS ,DSR ,DTR ,RI 和DCD )




责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案