当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]一.同类方案比较目前比较通用的串口扩展方案有两种,一是用硬件实现,使用多串口单片机或专用串口扩展芯片,可供选择的串口扩展芯片有TI等公司开发的16C554系列串口扩展芯片

一.同类方案比较

目前比较通用的串口扩展方案有两种,一是用硬件实现,使用多串口单片机或专用串口扩展芯片,可供选择的串口扩展芯片有TI等公司开发的16C554系列串口扩展芯片,该系列芯片实现的功能是通过并行口扩展串行口,功能比较强大、通讯速度高,但控制复杂,同时价格较高,主要的应用场合是PC机串口扩展产品。在仅使用单片机控制且不需要太高波特率通讯的系统中,使用16C554系列芯片不仅成本高而且还造成了资源的浪费。而多串口单片机也同样存在价格高的缺点。另一种串口扩展方案就是用软件实现,软件模拟串口存在的缺点有:一是采样次数低,一般只能做到2次/BIT,这样数据的正确性就难以保证;二是不能实现高波特率通讯,软件模拟串口一般不能实现高于4800 bps的波特率。

成都国腾微电子有限公司推出的GM8123/25系列串口扩展芯片全硬件实现串口扩展,保证了芯片工作的稳定性,设计的最高波特率完全能满足一般系统需求,同时占用系统资源少,使用方法简单,通讯格式可设置,与标准串口通讯格式兼容,利用该系列芯片实现串口扩展是性价比较高的串口扩展方案。

二.GM8123/25介绍

2.1 产品特点

·采用写控制字的方式对芯片进行控制

·两种工作模式,用户可根据自己的系统需求灵活选择

·各子串口波特率可调(统一调节)

·数据帧长10位或11位可选

·子串口数:3个(GM8123)或5个(GM8125)

·数据采样率 16次/BIT,确保数据采样的准确可靠

·单通道模式下,最高波特率支持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数据手册)

2.3 系统结构

图1为GM8123/25的系统结构框图:

 

三.应用说明

以以下一个系统为例,用GM8125说明该系列芯片实现串口扩展的方法:一个系统中有5个从机需要与主机进行串行通讯,5个从机通讯波特率均为 19200bps,主机首先向所有从机发送一个字节数据作为对从机的控制命令,从机收到数据并进行处理后立即向主机返回相关数据。根据系统要求看出,从机发送数据的时间根据其处理时间而定,不受主机控制,所以GM8125要工作在多通道模式下,即允许所有子串口同时工作。图2是单片机与GM8125的接口框图,该系统利用GM8125为主机89C51扩展出5个串口。

 

图2 GM8125与单片机的硬件接口框图

GM8125引脚说明:

RST:复位引脚,低电平有效。复位后默认子串口工作波特率为1200bps,数据长度为11位(带校验位);

MS:模式选择引脚,控制芯片工作在多通道模式下还是单通道模式下。多通道模式下兼做读/写命令字选择引脚;

SRADD0~2:接收子串口地址线;

STADD0~2:发送子串口地址线;

RXD0、TXD0:母串口收/发引脚;

RXD1~5、TXD1~5:子串口1~5收/发引脚;

下面给出主机发送和接收的控制程序,以C51为例:

#include

sbit MS=P3^6; //GM8125工作模式控制

sbit RESET=P3^7; //GM8125复位引脚控制

unsigned char SendBuff[5]={0xaa,0x45,0x67,0xbc,0xc9};

unsigned char ReceiveBuff0;

。。。。。。

unsigned char Contr_data;

unsigned char ADD;

unsigned char i=0;

。。。。。。

void main(void)

{

TMOD = 0x20; //指定定时器1工作在方式2

IE = 0x90; //开串行口中断

SCON=0xc0; //串行口工作在方式3

TH1 = 0xf8; //装入定时器1初值,设置主机工作波特率为7200bps

TL1 = 0xf8;

PCON=0x00;

。。。。。。

RESET=0; //对GM8125进行复位操作

Delay(); //延时子程序

RESET=1;

Delay();

Contr_data=0xfc; //装入命令字初值

TR1=1; //启动定时器1

MS=0; //GM8125工作在写命令字模式下

P0=0x00; //置GM8125命令字地址

SBUF=Contr_data; //设置GM8125子串口波特率为19200bps,母串口波特率为115200bps

while(TI==0);

TI=0;

Delay();[!--empirenews.page--]

(可读取命令字的内容验证写入结果是否正确)

TR1=0; //定时器1停止

TH1 = 0xff; //装入定时器1初值,设置主控MCU工作波特率为115200bps

TL1 = 0xff;

PCON=0x80;

TR1=1; //启动定时器1

/*主控MCU发送/接收程序*/

ADD=0x1f; //子通道1发送地址

P1=ADD; //选择GM8125子通道1发送

SBUF=SendBuff[i];

while(TI==0);

TI=0;

i++;

(以此方式分别向5个子串口发送数据)

REN = 1;

(等待接收处理)

}

void CommReceive(void) interrupt 4

{

if(RI)

{

switch(P1&0x07) //判断SRADD0~2的状态确定接收数据来自哪一个子串口

{

case 0:

{ReceiveBuff0=SBUF; //读命令字存入ReceiveBuff0

}

break;

case 1:

{ReceiveBuff1=SBUF; //子通道1接收的数据存入ReceiveBuff1

}

break;

。。。。。。

default:

break;

}

RI = 0;

}

}

该芯片的单通道模式适用于各从机不需要同时工作的系统,具体应用方法在此不做详述,请参考国腾微电子有限公司发布的《GM812X应用手册》。

四.结束语

利用GM8123/25进行串口扩展,有以下优点:

1、 控制简单。该芯片利用软件设置工作方式,最大限度地减少控制线,不需要占用太多主机的系统资源,同时又保证使用的简便性。

2、 应用灵活。该芯片具备两种工作模式、多种工作波特率、10位或11位数据帧长可选,用户可根据自己的系统需求灵活选择。

3、 通用性强。该芯片设计时充分考虑各种用户的需求,保证了芯片的通用性,与标准串口通讯格式完全兼容,同时提供多种可选设置,适用于大多数串口通讯系统。

4、 工作波特率高。该芯片子串口在单通道模式下波特率支持20Mbps,多通道模式下支持38400bps,此波特率完全能满足一般的串口通讯的需求。

5、 性能稳定。硬件实现串口比软件实现串口更能保证串行通讯的稳定性,同时每bit采样16次,保证了数据的正确性。

6、 波特率误差小。输出波特率误差小于0.2%,输入波特率误差要求小于2.8%。

该芯片不足之处在于:不满足超低功耗应用要求;多通道模式下,所有子串口工作波特率只能设置成统一值,不适用于各从机工作波特率不一致、又要求同时工作的系统。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

今年是5G元年,全球各个通讯公司都使出来毕生的经历,为了在未来5G市场上抢占一块好的地方,他们之间的竞争也催生了一大批新技术。工信部发放4张5G牌照,标志着中国正式进入

关键字: 5G mimo 总线与接口

在5G通讯领域,目前做的比较好的当属华为,但是其他几家公司也不甘示弱,就在最近,三星电子成功开发支持28GHz频段的“5G综合型基站”(Access Unit),是目前5G商

关键字: 5g通讯 三星 华为 总线与接口

广告商与受众之间必不可少的沟通媒介最核心的恐怕属于数字标牌,它已演变为交互式个性化通讯工具,为用户提供了更直观的的参与感与体验。研华基于云数字标牌解决方案一应俱

关键字: 总线与接口 数字标牌 研华

通常情况下在工业现场经常需要用两个隔离DC-DC搭配单独的信号隔离电路的方法去隔离RS-232与RS-485,但隔离的性能存在差异性,并且占板面积较大。本文将为你介绍一种稳定可靠、应用简便的全隔离解决方案。

关键字: rs-232 rs-485 多协议接口模块 总线与接口

近年来,第五代移动通信系统5G已经成为通信业和学术界探讨的热点。5G的发展主要有两个驱动力。一方面以长期演进技术为代表的第四代移动通信系统4G已全面商用,对下一代技术

关键字: 5G 总线与接口 数据分析

在工业实现当中,需要降低总线接口的宽度,这里专门有一种设备叫工业用串行/解串器(SerDes),它可以降低高带宽数据接口总线宽度。使用一个串行器就可以把数据从一个宽并行数

关键字: serdes 总线与接口 高带宽数据接口总线

在当前虽然在嵌入式系统中有许多连接元件的方法,但最主要的还是以太网、PCI Express和RapidIO这三种高速串行标准。所有这三种标准都使用相似的串行解串器(SerDes)技术,它

关键字: 串行总线 差分走线 总线与接口

对于现在的嵌入式工程师,一般都知道CAN总线广泛应用到汽车中,但是CAN总线不仅运用到汽车上,在船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求

关键字: can总线 总线与接口 接口

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线...

关键字: can 总线与接口 自动化 位流检测

UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。

关键字: CPU uart 总线与接口 rs-232c接口
关闭
关闭