异步串行通信模块TL16C550在电子白板中的应用
扫描二维码
随时随地手机看文章
摘要:DSP是当今主要的用于数字信号处理的嵌入式平台,随着嵌入式应用的日益广泛和加深越来越多的工作需要DSP芯片与PC机的协同工作,然而DSP芯片往往不能提供足够的URAT接口,因此就需要利用URAT芯片来扩展DSP芯片串口。本文主要讨论了利用TI公司的异步通用接收发器TL16C550扩展DSP串口,实现TMS320C5509与PC机之间的串行通信。本文同样介绍了异步通用接收发器芯片TL16C550的寄存器和相应功能,并且提供了利用TL1612550实现TMS320C5509与PC机串行通信的硬件电路和C语言实现软件编程方法。
关键词:TL16C550;TMS320C5509;URAT;串口通信
黑板是当今课堂教学的主要工具,其特点是便捷、直观、易于教学,一直是教师授课的主要工具,但其在使用中产生大量的粉尘对周围环境造成了不良的影响,目前许多大型会议采用白板代替黑板解决了产生粉尘的问题,但普通的白板和黑板一样都无法完成板面上的文字和图像的文本存档,更无法完成远距离网络会议的要求,电子白板的出现解决了这个难题。电子白板是现代多媒体技术与传统教学模式相结合的产品,不但能完成传统黑板的书写记录功能,同时也具备制图、复印、存储等多媒体功能,配备网络就能实现远距离视频会议的需要,是教学和会议的主要传播载体。
1 异步通信模块工作原理介绍
该系统由信号发射笔、白板、信号处理平台和PC机构成,其具体的工作流程是:信号笔负责发射混合有红外和超声波的信号,通过白板上的信号接收器将采集的信号滤波整形送往信号处理平台,由DSP信号处理系统完成对信号笔的定位,并将定位信息送往上位机,通过PC机编写的应用程序完成对笔迹的描绘。但DSP芯片在数据通信方面的处理能力相对较弱,例如TMS320C5509提供了3个高速多通道缓存串口(Mcbsp)可以实现与其他DSP和编解码器等器件相连,但多通道缓存串口同时肩负着数据接收和发送的传输作用,经常用于语音、图像信号采集的专用通道被占用,并且在使用时还要对Mcbsp的采样率、时钟、数据接口等作出详细的设置已达到与PC机联络的要求,这样大大增加了系统设计的复杂性,降低了系统的工作效率。因此用TI公司的通用异步通信模块TL16C550来实现TMS320C5509与PC机之间的串行通信,DSP可以随时读取TL16C550状态,完成发送和接收的指令,同时TL16C550本身具有控制能力和一个处理器的终端系统,可以减少通信连接的软件管理,提高系统的工作效率。TMS320C5509与PC机异步通信的原理框图如图1所示。
TMS320C5509与异步通信模块TL16C550连接通信,再通过MAX232芯片完成电平转换,转换成异步串口的工作电平送往PC机,实现TMS320-C5509与PC机异步通信。
2 异步通信器件TL16C550简介
2.1 TL16C550特点
TL16C550是TI公司的异步通信器件,是一个标准的串口接口芯片它具有以下特点:1)供电电压为5 V或3.3 V;2)时钟频率可达16 MHz,通信时波特率可达1 M,可以通过软件设置设定波特率发生器;3)具有标准的异步通信位,可选5、6、7、8位串行数据位,可设置奇偶检验模式或无奇偶校验模式,停止位长度为1、1.5、2;4)独立控制发送、接收、线状态以及中断设置;5)软件设置FIFO,减少CPU中断。
2.2 TL16C550引脚功能介绍
TL16C550的主要引脚功能如下:A0~A2:片内寄存器的选择信号,用于选择读出或写入TL16C550寄存器的数值。D0~D7:双向8位数据总线;ADS:地址选通信号该引脚有效时,可将CS0、CS1、及A0、A1、A2锁存在TL16C550内部;XIN、XOUT:外部时钟输入输出引脚,可接晶体振荡器或外部时钟信号;CS0、CS1、:片选信号,当CS0=CS1=1且=0时,TL16C550才被选通;WR1、WR2、RD1、RD2:读、写信号;BAUDOUT:波特率输出引脚,可直接连接到RCLK引脚上;MR:主机复位;INTRPT:中断输出引脚,高电平有效;RXRDY:接收准备引脚;TXRDY:传送准备引脚。[!--empirenews.page--]
2.3 TL16C550寄存器功能介绍
TL16C550共有11个寄存器,这11个寄存器是通过TMS320C5509的3个地址线(A0~A2)和线路控制寄存器中的DLAB位对它们进行寻址的,表1是TL16C550寄存器的具体地址分配,给出了如何通过设置A2、A1、A0、DLAB来访问这些寄存器。
线路控制寄存器LCR负责设置数据长度(5位、6位、7位、8位),设置停止位个数(1、1.5、2个停止位),设置奇偶校验使能、奇偶校验选择,以及寄存器的访问选择;线路状态寄存器LSR包括接收数据准备标志位、溢出错误标志位、奇偶校验错误标志位、发送标志位;中断使能寄存器IER负责设置接收中断使能、发送中断使能、接收错误中断使能、MODEM中断使能;中断标志寄存器IIR负责控制TL16C550的中断设置包括中断类型、优先级和中断清除。[!--empirenews.page--]
TL16C550的波特率可通过高位除数寄存器DLM、低位除数寄存器DLL来控制,除数寄存器值和波特率之间的换算关系为:除数值=输入频率÷(波特率×16),本次TL16C550的输入频率选取为:3.686 4 MHz,波特率与除数的换算关系如表2所示。
3 TMS320C5509与PC机的硬件电路设计
TMS320C5509利用TL16C550与PC机进行串行通信的硬件电路如图2所示,图中TL16C550异步通信接口工作在3.3 V或5 V下,完成数据的串行传输和设定波特率等功能,本系统TL16C550按照设定的波特率9 600与PC机进行双向串口通信。图中TL16C550的片内寄存器选择线A0~A2与TMS320C5509的地址线A0~A2相连。用于选择要写入或读出TL16C550的寄存器。TL16C550的数据线D0~D7直接与TMS320C5509的数据D0~D7相连,实现数据的双向传输;TL16C550的片选信号CS0、CS1直接与高电平相连,与TMS320C5509的相连,当为低电平TL16C550被选通;TL16C550的读使能引脚为、RD2,图中TL16C550的RD2接地,即当为高电平且TL16C550被选中时才能读取数据;TL16C550的写使能引脚为、WR2,图中TL16C550的WR2接地,即当为高电平且TL16C550被选中时才能向TL16C550写数据;TL16C550的外部时钟输入输出引脚XIN、XOUT外接的是3.686 4 MHz的晶振。为了满足本TMS320C55509以波特率为9 600与PC机进行串行通信,因此高位除数寄存器DLM选取00H,低位除数寄存器DLL选取为18H;TL16C550串行输入引脚SIN和串行输出引脚SOUT分别接到MAX232的R20UT和T1IN,主要完成将输出的0~3.3 V电平转换成异步串口的工作电平,以完成RS-232接口电平转换功能。
4 软件设计
本文以TMS320C5509为研究对象,利用TL16C550异步串口通信芯片实现DSP与PC机之间的串口通信。在软件编程上考虑到TL16C550芯片的初始化和通信协议,主要任务是设置串行通信数据长度、停止位、奇偶校验位、波特率、中断使能等,以实现串口通信。具体设计流程图如图3所示。
[!--empirenews.page--]
TL16C550初始化C语言程序如下:
5 实验数据
根据系统设计要求须将由DSP信号处理系统得到的延时信息通过串口传输到PC机,再通过编写的应用软件实现对笔迹的描述,利用上述方法实现TM320C5509与PC机的串口通信,实验数据如图4所示。得到的实验数据准确、稳定,通过计算可以得到信号笔的定位信息,实验证明利用异步通信模块TL16C550实现TMS320C5509与PC机之间的串口通信的方法准确有效。
6 结束语
TMS320C5509这款DSP芯片具有高性能、低功耗等优点在数字信号处理中得到了广泛应用。利用TI公司的异步串行通信模块TL16C550实现TMS320C5509与PC机之间的串口通信,具有传输稳定性高、接口简单等优点,通过实验证实该系统运行良好。