串口扩展方案总结

上传人:kms****20 文档编号:41022168 上传时间:2018-05-28 格式:DOC 页数:6 大小:28.50KB
返回 下载 相关 举报
串口扩展方案总结_第1页
第1页 / 共6页
串口扩展方案总结_第2页
第2页 / 共6页
串口扩展方案总结_第3页
第3页 / 共6页
串口扩展方案总结_第4页
第4页 / 共6页
串口扩展方案总结_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《串口扩展方案总结》由会员分享,可在线阅读,更多相关《串口扩展方案总结(6页珍藏版)》请在金锄头文库上搜索。

1、串口扩展方案总结串口扩展方案总结串口扩展方案总结.txt 珍惜生活上帝还让你活着,就肯定有他的安排。雷锋做了好事不留名,但是每一件事情都记到日记里面。串口扩展方案总结行接口设备凭借其控制灵活、接口简单、占用系统资源少等优点,被广泛应用于工业控制、家庭安防、GPS 卫星定位导航以及水、电、气表的抄表等领域。 在这些嵌入式系统中,可能会有很多从设备都通过串行接口与主机进行通信,如 GPRS MODEM、红外发送和接收模块、RS485 总线接口等。这使得开发 人员常常面临嵌入式系统中主机串行通信接口不足的问题,针对此问题,本文介绍了几种常见的解决方法。软件模拟法软件模 拟法可根据串行通讯的传送格式,

2、利用定时器和主机的 I/O口来模拟串行通讯的时序,以达到扩展串口的目的。接收过程中需要检测起始位,这可以使用查询方 式,或者,在端口具有中断功能的主机中也可以使用端口的中断进行处理。接收和发送过程中,对定时的处理既可以使用查询方式也可以使用定时器中断方式。为了 确保数据的正确性,在接收过程中可以在检测异步传输的起始信号处加上一些防干扰处理,如果是无线传输系统,在接收每个位时可以采用多次采样。对于有线系统 来说,1 次采样就够了,你看IIC,SPI 等,谁去进行了多次采样。 如今软件模拟以其价格低廉,使用方便,已经成为一种潮流.但是不是所有的单片机都适合用来进行串口的软件模拟的.软件模拟的方法一

3、般有两种,一种是读写 I/O,另外一种是读写端口.很容易想到采用读写端口的方式模拟的方式,各串口的波特率必须保持一致.而且当各路数据的输入时间差只有那么几十微秒时,很 容易造成数据丢失,虽然看上去这种方式也可以承受输入数据端短路的高数据量压力测试,但这种测试方法是刚好落在了该方案的最佳输入点上.所以真正的使用中 是有几率出错的.而采用我们 PDK80CXX 系列在进行8 路以下(4 路全双工通讯)的串口模拟时,完全可以采用读写 I/O 口方式来完成,这样,我们可以非 常轻松完成个子口的波特率不等的设置.而且可以达到非常高的速率,当外接 8MHz 的晶体时,3 路子口的最高速度可以达到 3840

4、0 以上.我想就是 38400 的波特率一般的单片机也就足够了.俗话说,“打铁还需墩子硬“,而我们 PDK80CXX 都是工业规格设计,超强的抗干扰性,超宽的高低温工作范 围.不知道各位看官目前有没有用过可以在-40+120 摄氏度工作的单片机.所以采用 PDK80CXX 模拟串口扩展无疑是目前性价比最高的一种解决方 案.利用并口转串口扩展串行口 基于 Intel8251 的串行口扩展Intel8251 是一种通用的同步/异步发送器(USART),它的工作方式可以通过编程设置,并具有独立的接收/发送器。能以同步或异步串行通信方式工作,自动完成帧格式,具有奇、偶校验和错误检测电路。基于 TL16

5、C554 的串行口扩展TL16C554 是 TI 公司生产的 4 通道异步收发器集成芯片。对TL16C554 串行通道的控制,是通过对控制寄存器LCR、IER、DLL、DLM、 MCR 和 FCR 编程来实现的。这些控制字决定字符长度、停止位的个数、奇偶校验、波特率以及调制解调器接口。控制寄存器可以任意顺序写入,但是 IER 必须 最后一个写入,因为它控制中断使能。串行通道内的波特率发生器(BRG)允许时钟除以 1至 65535 之间的任意数,BRG 根据其不同的三种通用频率中的一 种来决定标准波特率。16C55x 系列芯片还包括 16C550、16C552,分别可以扩展 1 个和 2 个串行

6、口。利用串行口扩展串行口基于 GM8123/25 系列芯片的串行口扩展GM8123/25 系列串口扩展芯片可以全硬件实现串口扩展,通讯格式可设置,并与标准串口通讯格式兼容。GM8125 可扩展 5 个标准串口,通过外部引脚选择串口扩展模式:单通道工作模式和多通道工作模式。单通道模式下,无需设置芯片的通讯格式,子串口和母 串口以相同的波特率工作,同一时刻只允许一组子串口和母串口通讯,工作子串口由地址线选择。单通道工作模式适用于所有从机不需要同时通讯,并且通讯过程完 全由主机控制的系统。多通道模式下,各子串口波特率相同,允许所有子串口同时与母串口通讯,母串口以子串口波特率的 6 倍工作。发送时由地

7、址线选择用来发送 数据的子串口;接收时子串口能主动响应从机发送的数据,再由母串口发送给主机,同时由地址线返回接收到数据的子串口地址,主机在接收到子串口送来的数据 后,可以根据地址线的状态判断数据是由哪一个从机发送的。多通道工作模式下,在进行数据通讯前要对芯片进行工作方式设置,包括串口帧格式设置和通讯波特率设置。通过串行口和控制引脚相互配合可对芯片进行工作方式设置,引脚MS 为 0、且 STADD2STADD0 为 000 时写命令字,引脚 MS 为 1、 STADD2STADD0 为 000 时读命令字。进行工作方式设置时,芯片的帧格式和母串口工作波特率与上一次进行数据通讯时一致;而复位后的帧

8、格式为 11bit,母串口波特率为 7200bps。 基于 SP2338 的串行口扩展SP2338 是采用低功耗 CMOS 工艺设计的通用异步串行口扩展芯片,它可轻松将主机原有的 1 个串行口扩展成 3 个全新的全双工串行口。SP2338 适用于 1 个起始位、8 个数据位、1 个停止位的多串口系统,也就是说其帧格式是不可编程的。主机通过改变 ADRI1、ADRI0 地址线状态的 方式选择 3 个子串口中的任意一个,3 个子串口的地址分别为 00、01、10。地址 11 用于执行 SP2338 芯片本身的复位指令0x35 或 0xB5、睡 眠指令 0x55 或 0xD5、延时指令 0x00。向

9、RX0RX3 中的任意一个接收端口写任意数据即可将 SP2338 唤醒,但由于 SP2338 的唤醒时间需 要 25ms 左右,故用于芯片唤醒的数据将不会被主机接收。因此,可以先发送一个字节数据用于唤醒芯片,延时 25ms 后即可进行正常的数据传输。未使用的输入端口,如 RX0、RX1、RX2 等必须连接到 VCC;未使用的输出端口,如 TX0、TX1、TX2 等必须悬空;未使用的ADRI0、ADRI1 必须连接到 GND。主机收发数据时序为:主机 TX3 接收到一个字节后应立即读取SP2338 的输出地址 ADRO0、ADRO1 的状态,判断接收到的数据来自哪个子串口;主机发送数据时,首先通

10、过 ADRI0、ADRI1 选择某一个子串口,再向 TX3 写将发送的数据。还有分时复用的扩展方法在电路设计的过程中,本文设计出一种适合自己系统需要、将 1 个串口扩展为 3 个串口的方案,如图 1 所示。其中,4001 是四 2 输入端或非门,40106 是六施密特触发器。4001的 4 脚和 9 脚分别为主机的 RXD 和 TXD,40106 的 2 脚和 9 脚为子串口的 TXD0 和 RXD0,6 脚和 11 脚为子串口的 TXD1 和 RXD1,4 脚和13 脚为子串口的 TXD2 和 RXD2。根据图的连接方式和逻辑代数的推导可得:RXD 的状态等于 40106的 9 脚、11 脚

11、、13 脚的状态相与。当 40106 的 9 脚、11 脚、13 脚中的任意一 个有数据信号时,由于在异步串行通讯中,无数据传输时的引脚状态为高,因此 RXD 上就能接收到有数据信号的那个引脚上的数据状态。40106 的 2 脚、4 脚、6 脚的状态等于 TXD 的状态,所以可以利用 40106 的 2 脚、4 脚、6 脚做为子串口的 TXD。这种设计方案适用于主机同时向多个 串行设备发送数据,而从设备不同时向主机发送数据的情况。再增加几个信号线,就可以区分出向哪一个从设备发送数据以及接收到的数据是来自哪一个从设备。在 本文的系统中,主机是通信的发起者,接收到的数据来自哪个从设备是可以预知的,

12、因此,只需再增加 3 个控制从设备使能的信号线即可。几种方法的比较在需要扩展系统的串行口时,使用多串行口单片机的方法是最容易想到的。由于串口集成在单片机内部,因此设备体积较小,抗干扰能力较高,但多串口单片机通 常价格较高,而且,如果是开发人员所不熟悉的型号,还需要开发人员重新学习并购买与之配套的开发工具,这延长了产品的开发周期,也增加了产品的开发成本。软件模拟法占用的系统资源少、成本低、易于实现。已经被越来越多的人所采用。特别是基于 PDK80CXX 系列模拟的串口应用,以其适中的价格,超强的抗干扰性和超宽的工作温度,肯定会被更多的工业数据采集者所采用。并行口扩展串口方法的功能比较强大,能提供

13、 MODEM 控制信号、通讯速度高,但控制复杂,占用 MCU 的端口资源较多,同时价格也较高。利用串行口扩展串行口,控制简单,能最大限度地减少控制线,不需要占用太多的主机系统资源,而且通用性强,性能稳定,可保证数据的正确性。GM812x 的不足之处在于:不满足超低功耗应用要求;多通道模式下,所有子串口工作波特率只能设置成统一值,不适用于各从机工作波特率不一致、又要求同时工作的系 统。SP2338 虽然能满足低功耗的要求,但其子串口波特率也需要设置为统一值,并且不能对数据帧格式编程,最高波特率也只有 9600bps。本文提出的方法中,各个子串口的串行特性和母串口相同,使用简单,占用系统资源少,易

14、于控制(最少 2 个控制信号扩展 3 个串口),稳定性好。其功耗取决于 4001 和 40106,它们的功耗都在 mA 级。其最高波特率取决于 4001 和 40106 的响应速度,4001 和 40106 的最大响应延迟是 250ns,所 以理论上最高波特率可达 4Mbps。此方法已经成功地应用于三表远传系统。该方法的缺点是,它不能用于从机工作波特率不一致、又要求同时工作的系统。结语本文设计了一种扩展串口的方法以解决在实际应用中遇到的主机串行口资源不足的问题,目前该方法已经成功地应用于三表远传系统中。在解决这个问题的过程中,本文也对其他解决方案进行了比较。参考文献:1.刘毓梅等,通过异步串口扩展芯片 GM8123/25 的原理和应用,成都国腾微电子公司,20042.李华艾编,Mcs-5 系列单片机实用接口技术,北京航空航天大学出版社,2001 参考文献:1.刘毓梅等,通过异步串口扩展芯片 GM8123/25 的原理和应用,成都国腾微电子公司,20042.李华艾编,Mcs-5 系列单片机实用接口技术,北京航空航天大学出版社,2001

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号