通用异步串口扩展芯片GM8123

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通用异步串口扩展芯片GM8123/25的原理和应用

摘要本文介绍了一种新器件GM8123/25串口扩展芯片,利用该系列芯片实现的串口扩展方案具有成本低、速度快、控制简单等优点,可广泛应用于数据采集、工业控制等需要串口通讯的场合。

关键词 GM8123 GM8125 串口扩展

一.同类方案比较

目前比较通用的串口扩展方案有两种,一是用硬件实现,使用多串口单片机或专用串口扩展芯片,可供选择的串口扩展芯片有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;

相关文档
最新文档