一、类似方案的比较
目前,有两种常见的串口扩展方案。一种是通过硬件实现,使用多个串行端口或特殊串行端口。可用的串口扩展芯片是TI等公司开发的16C554系列串口扩展芯片。串行芯片的功能是通过并行端口扩展串行端口。串行芯片功能相对强大,通信速度快,但控制复杂,价格高。主要应用场合是PC机串口扩展产品。16C554系列芯片不仅价格昂贵,而且在一个只采用单片机控制、不需要过高波特率通信的系统中会造成资源浪费。然而,多串口单片机也有价格高的缺点。另一种串口扩展方案是通过软件实现的。串口软件模拟的缺点是:一是采样次数少,通常只有2次/BIT,数据的正确性难以保证;第二,无法实现高波特率通信。通常,软件模拟串行端口不能实现高于4800 bps的波特率。
成都国腾微电子有限公司/系列串口扩展芯片在所有硬件中实现串口扩展,保证了芯片运行的稳定性。设计的最高波特率完全可以满足一般系统的要求。同时,它占用系统资源少,使用方法简单,通信格式可配置,与标准串口通信格式兼容。使用该系列芯片实现串口扩展是一种性价比高的串口扩展方案。
二。GM 8123/25简介
2.1产品特性
芯片由写控制字控制
两种工作模式,用户可以根据自己的系统需求灵活选择
每个子可调(统一调整)
10位或11位数据帧长度是可选的
子串行端口数量:3 (GM8123)或5 (GM8125)
数据采样率为16次/位,以保证数据采样的准确性和可靠性。
在单通道模式下,最高波特率支持20Mbps;在多通道模式下,子串口的最高波特率为38400bps
兼容标准串行通信格式
输出波特率误差小于0.2%,输入波特率误差小于2.8%
宽工作电压:2.3~6.7V
工作温度范围:-40~85
工作稳定,抗干扰能力强,符合行业标准
2.2功能描述
GM8123可以扩展3个标准串行端口,而GM8125可以扩展5个标准串行端口。芯片可以通过软件设置工作波特率和数据帧长度。芯片通过外部引脚选择串口扩展模式:单通道工作模式和多通道工作模式。在单通道模式下,子串口的最高波特率支持20Mbps。在多通道模式下,子串行端口的最高波特率支持38400bps。
在单通道模式下,不需要设置芯片的通信格式。子串口和母串口以相同的波特率工作。一次只允许一组子串行端口和母串行端口进行通信。工作子串行端口由地址线选择。单通道操作模式适用于所有从机不需要同时通信且通信过程完全由主机控制的系统。
在多通道模式下,允许所有子串行端口同时与母串行端口通信。母串行端口以子串行端口波特率的4倍(GM8123)/6倍(GM8125)工作。在传输过程中,地址线选择发送数据的子串行端口。在接收期间,子串行端口可以主动响应从机发送的数据,而母串行端口将数据发送给主机。同时,地址线返回接收数据的子串行端口的地址。主机接收到子串口发送的数据后,可以根据地址线的状态判断数据是从哪个从机发送的。多通道模式使每个从机能够及时响应发送请求。即使所有从机同时有发送请求,数据也不会丢失,基本上实现了主控单元与外围设备的实时通信。多通道模式适用于从机到主机的数据传输时间不可控且有实时要求的多计算机通信系统。(参见车发布的GM8123/25数据手册
以下面的系统为例,用GM8125来说明该系列芯片串口扩展的方法:在一个系统中,有5台从机需要与主机进行串行通信,5台从机的通信波特率为19200bps。主计算机首先向所有从计算机发送一个字节的数据作为对从计算机的控制命令,并且在接收和处理数据之后,从计算机立即向主计算机返回相关数据。根据系统的要求,从机发送数据的时间取决于其处理时间,不受主机控制,因此GM8125应工作在多通道模式,即允许所有子串口同时工作。图2是单片机与GM8125接口的框图。系统使用GM8125为主机89C51扩展5个串行端口。
图2通用8125与单片机的硬件接口框图
GM8125引脚描述:
RST:复位引脚,低电平有效。复位后,默认的子串口工作波特率为1200bps,数据长度为11位(带奇偶校验位);
模式选择引脚,用于控制芯片是工作在多通道模式还是单通道模式。在多通道模式下,它也用作读/写命令字选择引脚。
接收子序列地址线;
发送子串口的地址线;
RXD0和TXD0:母串行端口接收/发送引脚;
RxD1 ~ 5、TxD1 ~ 5:子串行端口1 ~ 5个接收/发送引脚;
以下是主机收发的控制程序,以C51为例:
#包括《reg51.h》
sbit ms=p3^6;//GM8125操作模式控制
sbit reset=p3^7;//GM8125复位引脚控制
无符号字符SendBuff[5]={0xaa,0x45,0x67,0xbc,0xc 9 };
无符号字符接收缓冲区0;
无符号字符Contr _ data
无符号字符ADD
无符号字符I=0;
空隙总管(空隙)
{
TMOD=0x 20;//指定定时器1在模式2下工作
IE=0x90。//打开串行端口中断
SCON=0xc 0;//串行端口在模式3下工作
TH1=0xf8//加载定时器1的初始值,并将主机的波特率设置为7200bps。
TL1=0xf8。
PCON=0x 00;
复位=0;//复位GM8125
延迟();//延迟子程序
复位=1;
延迟();
Contr_data=0xfc。//加载命令字的初始值
TR1=1;//开始时间1
毫秒=0;//GM8125在写命令字模式下工作
P0=0x00//设置GM8125命令字地址
SBUF=控制数据;//设置GM8125子串口的波特率为19200bps,母串口的波特率为115200bps
而(TI==0);
TI=0;
延迟();
(可读命令字的内容验证写入结果是否正确)
TR1=0;//定时器1停止
TH1=0xff//加载定时器1的初始值,将主控单片机的工作波特率设置为115200bps
TL1=0xff。
PCON=0x 80;
TR1=1;//开始时间1
/*主微控制器发送器/接收器*/
ADD=0x1f。//子通道1发送地址
P1=增加;//选择要发送的GM8125子通道1
[一世];
而(TI==0);
TI=0;
我;
(以这种方式分别向5个子串行端口发送数据)
REN=1;
(等待接收处理)
}
无效通信接收(无效)4
{
如果(国际)
{
开关(P10x07) //判断srad0 ~ 2的状态,以确定接收的数据来自哪个子串口
{
案例0:
{接收缓冲=SBUF//将命令字读入接收缓冲器0
}
休息;
案例1:
{接收缓冲器=SBUF//子通道1接收的数据存储在接收缓冲器1中
}
休息;
默认:
休息;
}
RI=0;
}
}
芯片的单通道模式适用于所有从机不需要同时工作的系统。这里不详细说明具体的应用方法。请参考国腾微电子有限公司发布的《GM812X应用手册》
四.结束语
使用GM8123/25进行串行端口扩展具有以下优势:
1.简单控制。该芯片采用软件设置工作模式,最大限度地减少了控制线,不需要占用主机太多的系统资源,同时保证了使用的简单性。
2.灵活的应用。该芯片有两种工作模式,多种工作波特率,以及10位或11位数据帧长度选项。用户可以根据自己的系统需求灵活选择。
3.强大的多功能性。该芯片的设计充分考虑了各种用户的需求,保证了芯片的通用性,完全兼容标准串行通信格式,并提供了多种可选设置,适用于大多数串行通信系统。
4.高波特率。芯片子串口的波特率在单通道模式下支持20Mbps,在多通道模式下支持38400bps。这种波特率完全可以满足一般串行通信的需要。
5.性能稳定。串口的硬件实现比串口的软件实现更能保证串行通信的稳定性。同时,每比特16个样本可以保证数据的正确性。
6.波特率误差小。输出波特率误差小于0.2%,输入波特率误差要求小于2.8%。
该芯片存在以下缺点:不符合超级应用要求;在多通道模式下,所有子串行端口的波特率只能设置为统一值,这不适用于所有从设备的波特率不一致且需要同时操作的系统。
防控疫情的需求激发之下,代替人类送药、送餐送菜、消毒巡逻的无人车成了疫情期间的特殊尖兵。疫情过后,无人车配送是否...
2020-03-23 17:12市场分调研机构Omdia的最新数据分析显示,全球智能城市人工智能(AI)软件市场将从6 738亿美元(2019年),在2025年将增长到4...
2020-04-07 17:55现代电测技术日趋成熟,由于具有精度高、便于微机相连实现自动实时处理等优点,已经广泛应用在电气量和非电气量的测量中。
2020-04-07 17:56微软经常在游戏领域开辟路径,扮演开拓者的角色,这一点体现在很多方面,包括微软的尖端技术(DX12终极版 DX光追),硬件(X...
2020-04-07 17:57去年 12 月,波音为美国宇航局发射了未载人的 Starliner 航天器。然而由于技术问题,任务并没有按计划进行。作为 NASA ...
2020-04-07 17:58