历史上的今天
今天是:2025年03月16日(星期日)
2018年03月16日 | 异步收发器TL16C554在惯性导航系统的应用
2018-03-16 来源:eefocus
前 言
随着惯导技术的发展,惯导系统需要接收GPS、北斗双星、高程计等较多的RS-232、RS-422、RS-485串口信号。这样,惯导系统原有的串口通道不足以接收如此多的串口信号,因而需要进行串口扩展。Ti公司生产的异步收发器TL16C554芯片是进行串口扩展的较好的选择,它有四个通道,可以与四路串行信号通信,解决了原来的惯导系统串行信号接口短缺的问题,其每个通道都带有两个16字节的FIFO(First In First Out 先进先出)缓冲器,其中一个用于接收数据,另外一个用于准备发送的数据。当工作在FIFO模式下时,不必每接收或发送一帧数据就产生一次中断,因而可以减少中断发生的次数,提高接收发送串行信号的效率与可靠性。
对车辆导航各部分简要介绍如下:
路径引导:引导用户沿着所规划的路径行驶;
人机接口:提供友好的界面允许用户与系统进行人机交互;
无线通讯模块:允许用户与监控中心等部门实时交换信息;
电子地图数据库:包含以预定格式存贮的数字地图信息,是系统的软件平台;
地图匹配模块:通过适当的匹配和识别过程来确定车辆在地图上的位置;
路径规划:根据地图数据库及实时定位信息帮助驾驶员规划路线;
定位模块:通过GPS、惯性导航系统或移动通信等方法对车辆进行定位。
2 主要特点
TL16C554的主要特点如下:
由四个带有逻辑控制的TL16C550异步通信单元组成;
最高可达1M的波特率,具有可编程的波特率发生器,便于灵活选择数据收发频率;
具有16字节的收发FIFO缓冲器;
具有可独立控制的发送、接收、线路状态和MODEM状态中断;
具有全双工的接收发送线路,可独立进行接收发送控制;
全面的线路状态报告功能;
充分分级的中断系统控制;
三态TTL电平输出。
3 内部结构及工作原理
四通道异步收发器集成芯片TL16C554有64脚TQFP和68脚PLCC两种封装形式。其中68脚PLCC封装形式支持68(Motorola)模式。因此,能够很容易的与Motorola微处理器互联, TL16C554的其引脚说明见表1。

3.1 系统I/O总线
TL16C554的数据线(D0-D7)可直接与CPU的数据总线的低八位相连,它们是UART的数据输入和输出通道,其读写操作由数据输入和输出选通线来区分,通过这些选通线可实现UART与CPU之间的双向通信,TL16C554还可自由选择16模式(Intel总线)或68模式(Motorola总线),它有四个串行接口,各有其独立的收发功能。
3.2 时钟
TL16C554的参考时钟既可以由外部提供,也可以通过一个晶振在内部产生。
3.3读/控制逻辑
UART与CPU之间通过一组信号线实现通信控制,这组信号线包括复位控制RESET、芯片允许、寄存器允许中断请求INT(A-D)、读出数据有效和写入数据有效等。
3.4 MODEM逻辑控制
MODEM控制逻辑主要用于完成UART与RS-232C之间的接口通信,这些信号通过EIA驱动器驱动后均符合RS-232C标准,MODEM控制逻辑信号包括以下八种:
RX(A-D)串行输入,相当于接收数据RxD;
TX(A-D)串行输出,相当于发送数据TxD;
(A-D)数据设备就绪输入;
(A-D)数据终端就绪输出;
(A-D)请求发送输入;
(A-D)清除发送输入;
(A-D)载波信号检测输入;
(A-D)振铃指示输入。
3.5 主要寄存器
TL16C554中的主要寄存器有波特率除数寄存器、线路控制寄存器(LCR)、线路状态寄存器(LSR)、中断允许寄存器(IER)、中断标识寄存器(IIR)、MODEM控制寄存器(MCR)、MODEM状态寄存器(MSR)、发送保持寄存器(THR)和接收缓冲寄存器(RHR)等。
4 TL16C554与单片机的接口
在惯导系统中,80C196单片机通过异步收发器TL16C554用来频繁地接收GPS、双星、高程计等串行信号,此外,还要完成其他诸如温控、与上位机通信等任务。因此,如果采用查询方式接收串行信号,无疑会浪费大量的CPU时间,加重CPU的负担,显然是不可行的。而中断方式则不占用CPU时间,加之使用16字节FIFO缓冲器,可减少中断次数,提高数据接收的实时性与可靠性,因此,在此系统中选用了中断方式。
实验表明,上述软硬件设计可以实现四路串行信号的可靠及时异步收发服务,可以满足惯导系统的要求。
史海拾趣
|
《AlientekSTM32例程手册》28个实验连载--串口实验--整理后 1.注意我们的教材讲解是基于寄存器操作,方便初学者理解透彻, 2.我们另外还提供了该实例的库函数源码,下载链接:https://bbs.eeworld.com.cn/icview-210815-1-1.html 3.此实验的教程在《Alientek STM32不完全手册》的 3.3节: ...… 查看全部问答> |
|
NVIC_SetPriority(SysTick_IRQn, 0x04) replyreload += \',\' + 1316591;NVIC_SetPriority(SysTick_IRQn, n);n=0x00~0x03 设置Systick为抢占优先级0n=0x04~0x07 设置Systick为抢占优先级1n=0x08~0x0B 设置Systick为抢占优先级2n=0x0C~0x0F ...… 查看全部问答> |
|
暑假期间要做一个5发一收的小玩意,因为以前调过51的24l01,决定移植到2553上,改用spi模块做,按教程一步一步调,发送端调完了,接收端出问题了,只有接收端,检测载波,不管哪个信道,全是有载波,把发送端上电,依旧没有接收,但是一直有载波没 ...… 查看全部问答> |
|
[ESP32-Audio-Kit音频开发板测评]五、读一下ID 这个跑起来我觉得比上个还简单,直接找到读ID的例程 然后点向右键头的编译下载,并按住BOOT键,显示下载成功,按RESET键开始运行: … 查看全部问答> |




