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

发布于:2007/3/15 8:43:10 | 367 次阅读

引言
串行接口设备凭借其控制灵活、接口简单、占用系统资源少等优点,被广泛应用于工业控制、家庭安防、GPS卫星定位导航以及水、电、气表的抄表等领域。在这些嵌入式系统中,可能会有很多从设备都通过串行接口与主机进行通信,如GPRS MODEM、红外发送和接收模块、RS485总线接口等。这使得开发人员常常面临嵌入式系统中主机串行通信接口不足的问题,针对此问题,本文介绍了几种常见的解决方法。
    
软件模拟法
软件模拟法可根据串行通讯的传送格式,利用定时器和主机的I/O口来模拟串行通讯的时序,以达到扩展串口的目的。
接收过程中需要检测起始位,这可以使用查询方式,或者,在端口具有中断功能的主机中也可以使用端口的中断进行处理。接收和发送过程中,对定时的处理既可以使用查询方式也可以使用定时器中断方式。为了确保数据的正确性,在接收过程中可以在检测异步传输的起始信号处加上一些防干扰处理,在接收每个位时可以采用多次采样。
  
利用并口转串口扩展串行口 
基于Intel8251的串行口扩展
Intel8251是一种通用的同步/异步发送器(USART),它的工作方式可以通过编程设置,并具有独立的接收/发送器。能以同步或异步串行通信方式工作,自动完成帧格式,具有奇、偶校验和错误检测电路。
基于TL16C554的串行口扩展
TL16C554是TI公司生产的4通道异步收发器集成芯片。对TL16C554串行通道的控制,是通过对控制寄存器LCR、IER、DLL、DLM、MCR和FCR编程来实现的。这些控制字决定字符长度、停止位的个数、奇偶校验、波特率以及调制解调器接口。控制寄存器可以任意顺序写入,但是IER必须一个写入,因为它控制中断使能。串行通道内的波特率发生器(BRG)允许时钟除以1至65535之间的任意数,BRG根据其不同的三种通用频率中的一种来决定标准波特率。
16C55x系列芯片还包括16C550、16C552,分别可以扩展1个和2个串行口。

利用串行口扩展串行口
基于GM8123/25系列芯片的串行口扩展
GM8123/25系列串口扩展芯片可以全硬件实现串口扩展,通讯格式可设置,并与标准串口通讯格式兼容。
GM8125可扩展5个标准串口,通过外部引脚选择串口扩展模式:单通道工作模式和多通道工作模式。单通道模式下,无需设置芯片的通讯格式,子串口和母串口以相同的波特率工作,同一时刻只允许一组子串口和母串口通讯,工作子串口由地址线选择。单通道工作模式适用于所有从机不需要同时通讯,并且通讯过程完全由主机控制的系统。多通道模式下,各子串口波特率相同,允许所有子串口同时与母串口通讯,母串口以子串口波特率的6倍工作。发送时由地址线选择用来发送数据的子串口;接收时子串口能主动响应从机发送的数据,再由母串口发送给主机,同时由地址线返回接收到数据的子串口地址,主机在接收到子串口送来的数据后,可以根据地址线的状态判断数据是由哪一个从机发送的。
多通道工作模式下,在进行数据通讯前要对芯片进行工作方式设置,包括串口帧格式设置和通讯波特率设置。
通过串行口和控制引脚相互配合可对芯片进行工作方式设置,引脚MS为0、且STADD2~STADD0为000时写命令字,引脚MS为1、STADD2~STADD0为000时读命令字。进行工作方式设置时,芯片的帧格式和母串口工作波特率与上进行数据通讯时一致;而复位后的帧格式为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。向RX0~RX3中的任意一个接收端口写任意数据即可将SP2338唤醒,但由于SP2338的唤醒时间需要25ms左右,故用于芯片唤醒的数据将不会被主机接收。因此,可以先发送一个字节数据用于唤醒芯片,延时25ms后即可进行正常的数据传输。
未使用的输入端口,如RX0、RX1、RX2等必须连接到VCC;未使用的输出端口,如TX0、TX1、TX2等必须悬空;未使用的ADRI0、ADRI1必须连接到GND。
主机收发数据时序为:主机TX3接收到一个字节后应立即读取SP2338的输出地址ADRO0、ADRO1的状态,判断接收到的数据来自哪个子串口;主机发送数据时,首先通过ADRI0、ADRI1选择某一个子串口,再向TX3写将发送的数据。

740)this.width=740" border=undefined>
图1 本文设计的扩展串行口方法示意图

    
本文设计的扩展方法
在电路设计的过程中,本文设计出一种适合自己系统需要、将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脚、13脚的状态相与。当40106的9脚、11脚、13脚中的任意一个有数据信号时,由于在异步串行通讯中,无数据传输时的引脚状态为高,因此RXD上就能接收到有数据信号的那个引脚上的数据状态。40106的2脚、4脚、6脚的状态等于TXD的状态,所以可以利用40106的2脚、4脚、6脚做为子串口的TXD。
这种设计方案适用于主机同时向多个串行设备发送数据,而从设备不同时向主机发送数据的情况。再增加几个信号线,就可以区分出向哪一个从设备发送数据以及接收到的数据是来自哪一个从设备。在本文的系统中,主机是通信的发起者,接收到的数据来自哪个从设备是可以预知的,因此,只需再增加3个控制从设备使能的信号线即可。
几种方法的比较
在需要扩展系统的串行口时,使用多串行口单片机的方法是最容易想到的。由于串口集成在单片机内部,因此设备体积较小,抗干扰能力较高,但多串口单片机通常价格较高,而且,如果是开发人员所不熟悉的型号,还需要开发人员重新学习并购买与之配套的开发工具,这延长了产品的开发周期,也增加了产品的开发成本。
软件模拟法占用的系统资源少、成本低、易于实现。但其采样次数较低,难以保证数据的正确性,而且一般不能模拟过高的波特率。
并行口扩展串口方法的功能比较强大,能提供MODEM控制信号、通讯速度高,但控制复杂,占用MCU的端口资源较多,同时价格也较高。
利用串行口扩展串行口,控制简单,能限度地减少控制线,不需要占用太多的主机系统资源,而且通用性强,性能稳定,可保证数据的正确性。GM812x的不足之处在于:不满足超低功耗应用要求;多通道模式下,所有子串口工作波特率只能设置成统一值,不适用于各从机工作波特率不一致、又要求同时工作的系统。SP2338虽然能满足低功耗的要求,但其子串口波特率也需要设置为统一值,并且不能对数据帧格式编程,波特率也只有9600bps。
本文提出的方法中,各个子串口的串行特性和母串口相同,使用简单,占用系统资源少,易于控制(最少2个控制信号扩展3个串口),稳定性好。其功耗取决于4001和40106,它们的功耗都在mA级。其波特率取决于4001和40106的响应速度,4001和40106的响应延迟是250ns,所以理论上波特率可达4Mbps。此方法已经成功地应用于三表远传系统。该方法的缺点是,它不能用于从机工作波特率不一致、又要求同时工作的系统。

结语
本文设计了一种扩展串口的方法以解决在实际应用中遇到的主机串行口资源不足的问题,目前该方法已经成功地应用于三表远传系统中。在解决这个问题的过程中,本文也对其他解决方案进行了比较。■

参考文献:
1.刘毓梅等,通过异步串口扩展芯片GM8123/25的原理和应用,成都国腾微电子公司,2004
2.李华艾编,Mcs-5系列单片机实用接口技术,北京航空航天大学出版社,2001

参与讨论
后参与讨论

//评论区

推荐阅读

智能网联汽车国际标准法规协调专家组(HEAG)召开工作会议

近年来智能网联汽车快速发展,新技术不断涌现,与相关产业融合度持续提升,正在推动全球汽车产业发生深刻变革。为应对此种形势,欧、美、日等汽车工业发达国家和地区都加大了智能网联汽车的国际标准法规协调的参与力度,在联合国世界车辆法规论坛(UN/WP.29)和国际标准化组织(ISO)层面,智能网联汽车相关国际标准法规协调活动正快速推进。 为更有效地支撑上述组织的国际标准法规协调活动,2017年全国汽车标准

0215jiejie | 发布于:2022-12-01 0评论 0赞

苹果推出搭载M2芯片的新款iPad Pro 799美元起售

据苹果官网,苹果推出搭载M2芯片的新款iPadPro。 11英寸wifi版起售价为799美元,wifi+蜂窝网络版起售价为999美元;12.9英寸wifi版起售价为1099美元,wifi+蜂窝网络版起售价为1299美元。

0215jiejie | 发布于:2022-10-19 0评论 0赞

新能源汽车领衔 “中国智造”加速登陆欧洲市场

全球五大车展之一巴黎车展时隔四年再度启幕。在这场被视为“全球汽车行业风向标”的盛会上,国内外汽车品牌云集,长城汽车、比亚迪等再次领衔中国汽车出海。 长城汽车欧洲区域总裁孟祥军表示:“欧洲是长城汽车最重要的海外市场之一,巴黎车展是长城汽车向欧洲市场展示GWM品牌和产品的最佳机会。长城汽车正在研究汽车行业碳排放的整个生命周期,到2025年,将推出50多款新能源产品,全力支持可再生能源使用,为全球用户

0215jiejie | 发布于:2022-10-19 0评论 0赞

严监管时代来临,电子烟“通配”大战走向何方?

针对通配烟弹厂商的一系列诉讼的结果,将对生产通配烟弹的品牌未来在电子烟行业的发展产生深远影响。 10月1日,《电子烟强制性国家标准》正式实施,中国电子烟监管全面生效。而在电子烟行业进入规范化、法治化阶段前夕,一场围绕着通配烟弹的争论在行业里发酵。 “通配”是电子烟从业者约定俗成的概念。换弹式电子烟由烟杆和烟弹组成,“通配”烟弹指的是非品牌商生产、可与品牌烟杆匹配使用的烟弹。多位业内人士表示,被

0215jiejie | 发布于:2022-10-19 0评论 0赞

Bourns 全新大功率分流电阻器

采用金属感应引脚,专用于大电流应用中进行精确测量 全新分流电阻器专为电池管理系统、大电流工业控制和电动汽车充电站 提供高可靠性、高成本效益的解决方案 美国柏恩Bourns全球知名电子组件领导制造供货商,宣布新增12款CSM2F系列功率分流电阻器,扩展其产品组合。全新系列采用铆接通孔金属传感引脚,可满足大电流应用中对电压测试点精确定位日益增长的需求。最新型Bourns?CSM2F系列分流电阻器

0215jiejie | 发布于:2022-10-18 0评论 0赞

请尊重元宇宙“这个筐”

元宇宙是个筐,啥都往里装,但区别在于有的像聚宝盆,有的像垃圾桶。国庆假期刚结束,中青宝“90后”董事长李逸伦便亲自上阵,玩起了元宇宙婚礼。靠着老板首秀和代言,中青宝顺势推出“MetaLove元囍”App,正式进军元宇宙婚礼赛道。 就产品而言,如同其他元宇宙产品,李逸伦的元宇宙婚礼“新奇与吐槽齐飞”:有人说是有趣的尝试,有人则认为像QQ炫舞结婚系统。要知道,QQ炫舞是一款推出了十余年的老游戏。

0215jiejie | 发布于:2022-10-13 0评论 0赞

边缘计算:突围商业模式痛点

截至8月末,中国5G基站总数达210.2万个,中国5G发展已经进入下半场。随着5G加速融入千行百业,互动直播、vCDN、安防监控等场景率先大规模落地,车联网、云游戏、工业互联网、智慧园区、智慧物流等场景也快速走向成熟,这些更大流量、更低时延、更高性能的场景涌现,对边缘计算的刚性需求势必爆发。 GrandViewResearch预测,即使在新型冠状病毒肺炎疫情肆虐全球的背景下,边缘计算和5G网络市

0215jiejie | 发布于:2022-10-13 0评论 0赞

商务部回应美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”

商务部新闻发言人10日就美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”应询答记者问。 有记者问:近日,美国商务部在半导体制造和先进计算等领域对华升级出口管制措施。同时,在将9家中国实体移出“未经验证清单”过程中,又将31家中国实体列入,请问中方对此有何回应? 对此,商务部新闻发言人回应称,中方注意到相关情况。首先,通过中美双方前一阶段共同努力,9家中国实体zui终

0215jiejie | 发布于:2022-10-13 0评论 0赞

TCL华星官宣与奔驰合作:推出全球首款横贯A柱的车载显示屏

今年1月,奔驰带来了VISIONEQSS概念车,其中控台采用了一块完全无缝的47.5英寸曲面显示屏,横贯整个A柱,令人印象深刻。今天,TCL华星正式官宣与奔驰达成合作,并认领了VISIONEQSS上这块全球首款横贯整个A柱曲面的车载显示屏。 根据TCL介绍,这款显示屏采用了完全无缝的超薄一体化设计,将仪表盘、中控与副驾娱乐显示融为一体,并能够与3D实时导航系统相辅相成。 同时,这块显示屏还采用

0215jiejie | 发布于:2022-10-12 0评论 0赞

半导体板块暴跌 谁最受伤

国庆假期后首日开盘,上证综指时隔5个月再次失守3000点,与此同时,半导体板块也再度走低,其中,北方华创、雅克科技等个股跌停。10月11日早盘期间,半导体板块持续下挫,北方华创、雅克科技再度跌停。截至下午收盘,北方华创、雅克科技维持跌停状态,华海清科、拓荆科技-U、盛美上海、清溢光电、海光信息的跌幅则超10%。同日,半导体板块中的119只个股中超五成呈现下跌趋势。 在半导体板块遭遇下挫的同时,北

0215jiejie | 发布于:2022-10-12 0评论 0赞