微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机系统多串行口设计技术

单片机系统多串行口设计技术

时间:04-27 来源:互联网 点击:

复用器切换到第二通道,接受RXD2的数据。一个字节接收完毕后,将复用器切换回第一通道。

文献的方法占用了一个外部中断,且只能将一路串口扩展为两路。基于同样的思路,可以利用四选一多路复用器将一路串行口扩展为两路以上。发送

数据的操作过程同上。为了实现数据的接收,需要用可编程逻辑器件或锁存器及编码器设计一个通道选择电路,哪一路先有起始位,将多路复用器选通到哪一路。CPU根据通道选择电路的输出确定所收数据的通道编号。

⑧运用FPGA/CPLD设计串行口

FPGA/CPLD具有强大的电路模拟功能。利用FPGA/CPLD可以设计并行口转串行口的时序逻辑电路,该电路一般由四部分组成:总线接口与控制逻辑部分、波特率发生部分、移位输出与锁存部分、移位输入与锁存部分。该电路波特率可以调节,有片选线和读写线。CPU通过并行口对电路进行访问。从实质上说,该电路模拟了可编程控制器16C550的串行接口功能。事实上,FPGA/CPLD有很大的灵活性。可根据实际需要和系统资源对电路进行适当裁剪,也可把多路复用技术或时分复用技术运用于串行口的模拟。

3 多串行口设计方法的比较研究与选择原则

以上8种方法,各有利弊。显然,选用多串口CPU是最为直接有效的方法,但是选用一种新型号的CPU,对于开发者来说,有一定的开发风险,有时还有受到供货渠道和开发条件的限制。选用专用芯片是一种可靠性最高的串口外部扩展法,有技术成熟、软件工作量小等诸多优势。不足之处是硬件成本增加、体积增加,有时还要占用外部中断源。选用多路复用器。其好处是可以实现CPU一点对多点的通讯、软硬件成本低、可靠性高,致命缺点是CPU不能同时接收多路输入数据。选用FPGA/CPLD既可以设计串行接口本身,又可以用来实现多路串口切换,或管理多个串行接口芯片的中断源。优点是可靠性高、CPU软件开销小,不足是开发成本稍大、硬件成本高。用分立元件实现串行口的转换,优点是软件工作量小,不足是电路复杂、可靠性差、要占用外部中断源。利用软件模拟串行接口,其优点不言而喻.既不增加任何硬件,又不占用外部中断源。缺点是软件复杂度高、CPU开销大、要占用软件定时器。

以上八种多串口的设计方法可以归纳为五种设计思想:

①直接从CPU上下手,选择多串行口单片机;

②挖掘器件本身的资源,在CPU I/O口线上用软件模拟串行口;

③使用功能电路实现串、并转换;

④使用功能电路将一路高速串行口分解为多路低速串行口;

⑤通过分时复用实现一路到多路的切换。

针对这几种不同的设计思想和其具体的实现方法,在应用时该如何选择,不但要依据以上几种方法的软硬件复杂度、CPU时间开销、实时性和可靠性,还要依据应用系统中所需串行接口的总路数、各个串口之间的独立性和波特率,以及现有的开发条件和综合成本指标。选择时要根据各种因素进行综合权衡。要在能实现所要求功能的基础上,充分利用现有资源、降低系统的复杂度、提高可靠性,力求使设计代价最小、总体成本最低。当然,这些方法的选择应该灵活多样,不必拘泥于一种方法,也可以因地制宜地选择几种方法的组合。

4 应用举例

在某型无人机飞行控制器设计中,CPU选用的是80C196KC。CPU上原有的一路串口用于遥控遥测。为了测量飞机的航向角。系统中应用了数字罗盘HMR3000。该传感器为串口接口,波特率为19200,输出数据为NMEAC183格式,每秒20帧,每帧35字节,为此需要给控制器增加一路全双工异步串行接口。

基于对以上8种设计方法的比较与分析,在权衡系统的软硬件复杂度之后,选用了第四种方法,即利用16C550可编程通讯控制器扩展出一路串行口。专门与该传感器通讯。16C550使用了FIFO功能,在接收14个字节后向CPU提出一次中断请求。这样CPU最多中断4次就可以全部接收一帧姿态测量数据。控制器的软件对HMR3000一帧输出数据的解码时间仅为1.187ms,CPU的负担并不大。CPU、16C550和HMR3000的连接电路如图1所示。


图1 可编程通讯控制器16C550与单片机系统的接口电路图

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top