用TL16C752B实现DSP和PC机的串行通信

时间:2020-10-13 09:14:04 理工毕业论文 我要投稿

用TL16C752B实现DSP和PC机的串行通信

摘要:介绍了TL16C752B的特点、性能和相关寄存器,给出了通过TL16C752B实现TMS320VC5421和PC机实时通信的方法。同时给出了串口通信部分的硬件应用电路图以及对TL16C752B进行初始化的软件实现程序。

1 引言

美国德州仪器公司(TI)的TMS320VC54XX系列DSP芯片与PC机实现异步通信通常有两种方法:第一种是使用通用I/O信号XF和BIO作为串口发送和接收信号,用软件逐位发送和接收数据,即软件异步通信方法,这种方法需要占用很多CPU时间,因此,只能在DSP不太忙、实时性要求不高的情况下采用;第二种是通过扩展异步通信芯片来实现高速串行通信,本文选用的就是此方法。

在笔者设计数字调幅广播系统中的基带处理子系统时,复用器与信道编码器之间的通信采用的是异步串行通讯方案。复用器则使用通用PC机来实现,信道编码器使用TI公司生产的DSP芯片TMS320VC5421来设计实现。

2 UART芯片TL16C752B简介[1]

2.1 主要特点

TL16C752B是TI公司推出的新型UART(Universal Asynchronous Receiver and Transmitter )收发器。该器件的主要特点如下:

●引脚和ST16C2550兼容,内置两套UART系统,可独立工作;

●工作时,最高波特率可以达到1.5Mbps(使用24MHz晶体时)或3Mbps(使用48MHz振荡器或时钟源时);

●具有64字节发送/接收FIFO(接收FIFO包含错误标志)。由于收、发FIFO的触发等级可通过软件编程实现,因而减少了CPU的中断次数;

●接收FIFO的启动和停止等级可以通过软件编程来实现;

●具有两种控制模式:其中软件流控制模式可通过编程Xon/Xoff字符来实现;而硬件流控制模式则可通过设置RTS和CTS引脚及相应的寄存器来实现;

●波特率可编程;

●可编程下列串行数据格式:

——5、6、7、8 四种字符;

——数据奇偶校验或者无校验;

——1、1.5、2bits 停止位;

●内部闭环。

2.2 TL16C752B的引脚功能

TL16C752B内含双UART,并自带64字节收发FIFO,可自动进行软件流和硬件流控制,最大波特率可达3Mbps。此外,TL16C752B还提供了其它一些增强功能,可通过设定EFR寄存器的相关位来实现。通过FIFO RDY 寄存器可读取TXRDY/RXRDY引脚的状态;而通过片内寄存器则可为使用者提供接收数据的'错误识别、操作状态以及MODEM的接口控制信号。

TL16C752B的引脚排列如图1所示,各主要引脚的功能如下:

A0~A2:地址线,通过这几个引脚以及读写信号IOR和IOW可以访问及设定片内寄存器?

D0~D7:双向8位数据线?

CSA、CSB:两套UART的片选信号?

TXA/RXA、TXB/RXB:分别表示所要发送和接收的数据端口?

INTA/INTB:中断信号?

RESET:芯片复位信号?

XIN/XOUT:时钟输入/输出信号。

2.3 TL16C752B的内部寄存器