嵌入式系统中扩展串行口的几种方法_1.docx

上传人:安*** 文档编号:17763755 上传时间:2022-05-26 格式:DOCX 页数:8 大小:19.46KB
返回 下载 相关 举报
嵌入式系统中扩展串行口的几种方法_1.docx_第1页
第1页 / 共8页
嵌入式系统中扩展串行口的几种方法_1.docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《嵌入式系统中扩展串行口的几种方法_1.docx》由会员分享,可在线阅读,更多相关《嵌入式系统中扩展串行口的几种方法_1.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式系统中扩展串行口的几种方法wangsl导语:串行接口设备凭借其控制灵敏、接口简单、占用系统资源少等优点,被广泛应用于工业控制串行接口设备凭借其控制灵敏、接口简单、占用系统资源少等优点,被广泛应用于工业控制、家庭安防、GPS卫星定位导航以及水、电、气表的抄表等领域。在这些嵌入式系统中,可能会有很多从设备都通过串行接口与主机进展通讯,如GPRSMODEM、红外发送和接收模块、RS485总线接口等。这使得开发人员经常面临嵌入式系统中主机串行通讯接口缺乏的问题,针对此问题,本文介绍了几种常见的解决方法。软件模拟法软件模拟法可根据串行通讯的传送格式,利用定时器和主机的I/O口来模拟串行通讯的时序,

2、以到达扩展串口的目的。接收经过中需要检测起始位,这可以使用查询方式,或,在端口具有中断功能的主机中也可以使用端口的中断进展处理。接收和发送经过中,对定时的处理既可以使用查询方式也可以使用定时器中断方式。为了确保数据的正确性,在接收经过中可以在检测异步传输的起始信号处加上一些防干扰处理,在接收每个位时可以采用屡次采样。利用并口转串口扩展串行口基于Intel8251的串行口扩展Intel8251是一种通用的同步/异步发送器USART,它的工作方式可以通过编程设置,并具有独立的接收/发送器。能以同步或者异步串行通讯方式工作,自动完成帧格式,具有奇、偶校验和错误检测电路。基于TL16C554的串行口扩

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

4、123/25系列串口扩展芯片可以全硬件实现串口扩展,通讯格式可设置,并与标准串口通讯格式兼容。GM8125可扩展5个标准串口,通过外部引脚选择串口扩展形式:单通道工作形式和多通道工作形式。单通道形式下,无需设置芯片的通讯格式,子串口和母串口以一样的波特率工作,同一时刻只允许一组子串口和母串口通讯,工作子串口由地址线选择。单通道工作形式适用于所有从机不需要同时通讯,并且通讯经过完全由主机控制的系统。多通道形式下,各子串口波特率一样,允许所有子串口同时与母串口通讯,母串口以子串口波特率的6倍工作。发送时由地址线选择用来发送数据的子串口;接收时子串口能主动响应从机发送的数据,再由母串口发送给主机,同

5、时由地址线返回接收到数据的子串口地址,主机在接收到子串口送来的数据后,可以根据地址线的状态判定数据是由哪一个从机发送的。多通道工作形式下,在进展数据通讯前要对芯片进展工作方式设置,包括串口帧格式设置和通讯波特率设置。通过串行口和控制引脚互相配合可对芯片进展工作方式设置,引脚MS为0、且STADD2STADD0为000时写命令字,引脚MS为1、STADD2STADD0为000时读命令字。进展工作方式设置时,芯片的帧格式和母串口工作波特率与上一次进展数据通讯时一致;而复位后的帧格式为11bit,母串口波特率为7200bps。基于SP2338的串行口扩展SP2338是采用低功耗CMOS工艺设计的通用

6、异步串行口扩展芯片,它可轻松将主机原有的1个串行口扩展成3个全新的全双工串行口。SP2338适用于1个起始位、8个数据位、1个停顿位的多串口系统,也就是讲其帧格式是不可编程的。主机通过改变ADRI1、ADRI0地址线状态的方式选择3个子串口中的任意一个,3个子串口的地址分别为00、01、10。地址11用于执行SP2338芯片本身的复位指令0x35或者0xB5、睡眠指令0x55或者0xD5、延时指令0x00。向RX0RX3中的任意一个接收端口写任意数据即可将SP2338唤醒,但由于SP2338的唤醒时间需要25ms左右,故用于芯片唤醒的数据将不会被主机接收。因此,可以先发送一个字节数据用于唤醒芯

7、片,延时25ms后即可进展正常的数据传输。未使用的输入端口,如RX0、RX1、RX2等必须连接到VCC;未使用的输出端口,如TX0、TX1、TX2等必须悬空;未使用的ADRI0、ADRI1必须连接到GND。主机收发数据时序为:主机TX3接收到一个字节后应立即读取SP2338的输出地址ADRO0、ADRO1的状态,判定接收到的数据来自哪个子串口;主机发送数据时,首先通过ADRI0、ADRI1选择某一个子串口,再向TX3写将发送的数据。本文设计的扩展方法在电路设计的经过中,本文设计出一种合适自己系统需要、将1个串口扩展为3个串口的方案,如图1所示。其中,4001是四2输入端或者非门,40106是六

8、施密特触发器。4001的4脚和9脚分别为主机的RXD和TXD,40106的2脚和9脚为子串口的TXD0和RXD0,6脚和11脚为子串口的TXD1和RXD1,4脚和13脚为子串口的TXD2和RXD2。根据图的连接方式和逻辑代数的推导可得:RXD的状态即是40106的9脚、11脚、13脚的状态相与。当40106的9脚、11脚、13脚中的任意一个有数据信号时,由于在异步串行通讯中,无数据传输时的引脚状态为高,因此RXD上就能接收到有数据信号的那个引脚上的数据状态。40106的2脚、4脚、6脚的状态即是TXD的状态,所以可以利用40106的2脚、4脚、6脚做为子串口的TXD。这种设计方案适用于主机同时

9、向多个串行设备发送数据,而从设备不同时向主机发送数据的情况。再增加几个信号线,就可以区分出向哪一个从设备发送数据以及接收到的数据是来自哪一个从设备。在本文的系统中,主机是通讯的提议者,接收到的数据来自哪个从设备是可以预知的,因此,只需再增加3个控制从设备使能的信号线即可。几种方法的比拟在需要扩展系统的串行口时,使用多串行口单片机的方法是最轻易想到的。由于串口集成在单片机内部,因此设备体积较小,抗干扰才能较高,但多串口单片机通常价格较高,而且,假如是开发人员所不熟悉的型号,还需要开发人员重新学习并购置与之配套的开发工具,这延长了产品的开发周期,也增加了产品的开发本钱。软件模拟法占用的系统资源少、

10、本钱低、易于实现。但其采样次数较低,难以保证数据的正确性,而且一般不能模拟过高的波特率。并行口扩展串口方法的功能比拟强大,能提供MODEM控制信号、通讯速度高,但控制复杂,占用MCU的端口资源较多,同时价格也较高。利用串行口扩展串行口,控制简单,能最大限度地减少控制线,不需要占用过多的主机系统资源,而且通用性强,性能稳定,可保证数据的正确性。GM812x的缺乏之处在于:不知足超低功耗应用要求;多通道形式下,所有子串口工作波特率只能设置成统一值,不适用于各从机工作波特率不一致、又要求同时工作的系统。SP2338固然能知足低功耗的要求,但其子串口波特率也需要设置为统一值,并且不能对数据帧格式编程,

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

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

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁