世俱杯 2025

带大量I/O口扩展的串行芯片GM8164及其应用

出处:maoqichun 发布于:2007-05-25 15:52:42

摘要:GM8164是成都国腾电子设计中心生产的具有大量I/O口扩展功能的串行接口芯片,该芯片具有扩展I/O口数量多,与接口简单的特点,文中介绍了该芯片的性能、特点和工作方式,给出了GM8164与AT89C20的硬件接口电路及接口程序。

关键词:I/O扩展; 串行口; 单片机; GM8164

分类号:TP334.7 文献标识码:B 文章编号:1006-6977(2003)01-0035-04

1 主要特点

随着非总线型小封装单片机的大量应用,传统的总线扩展型器件已不再适用。而在单片机应用系统的接口电路中,量却被大量使用着,但相应的非总线扩展型I/O接口芯片的种类却比较少,很难满足需要I/O口数量较多的应用场合,GM8164是成都国腾微电子设计中心推出的串行I/O扩展器。该器件具有72个I/O口线的扩展能力,因而非常适合于需要使用大量开关量的单片机应用系统。该芯片的级联非常方便,扩展I/O口的数量几乎不受限制。GM8164主要的性能特点如下:

●扩展I/O口数量众多,可提供32位数据输入口和40位数据输出口;

●可同时提供8个开漏输出口,并能方便地进行电平转换和驱动;

●带有可达1MHz的全速率同步串行接口,能非常方便地与通用MCU接口。

●可多个芯片级联,以扩展I/O口的数量;

●工作电压为2.7-5.6V,可适应多种应用;

●静态电流典型值为3μA(3.3V时);

●动态电流在时钟频率为1MHz时的典型值为13μA(3.3V时);
●具有PLCC-84和QFP-80两种封装形式。

2 引脚功能和主要参数

2.1 引脚功能

图1所示是GM8164采用PLCC-84封装时的引脚排列图,各引脚的功能见表1所列。



2.2性能参数

GM8164的极限参数如下:

●电源电压Vcc:-0.5-7V;

●输入电压VI:-0.5-Vcc+0.5V;

●输出电压V。:-0.5-Vcc+0.5V;

●直流漏极电流(每个输出)I。:土25mA;

●直流电流(Vcc)或地端电流Icc:±50mA

●工作温度范围:-25-+85℃;

为了使GM8164能够安全可靠的工作,通常应按以下工作条件操作:

● 电源电压Vcc为2.0-6.0V;

●输入电压VI为0-Vcc+;

●输出电压V。为0~Vcc+;

●输入脉冲上升、下降时间tr、tf为0-500ns;

●时钟频率为1MHz(3.3V)或2MHz(5V)。

3 结构功能

GM8164是一个CMOS器件,图2所示是其内部结构,该器件内部包括5组8位串入/并出和并入/串出的寄存器。其功能如下:

●将串行数据转换为并行数据时,可选择5个并行口中的任意一个口输出;

●将并口数据输入转换为串口输出;

●将串口数据输入转换为并口输出;

●可存储并行数据;

●可多芯片级联,并可任意扩充I/O口;
●在时钟上升沿有效。

GM8164的功能设置如表2所列,其具体工作方式如下:

(1)串行输入、并行输出工作方式

在OC=0、I/O=0时,如果LE为"1",则并行数据输入口10-I31为高阻态,此时在 CPU输出指令时钟CLK的上升沿作用下,串行数据将从DIN口输入,并在内部寄存器中 完成数据从低位向高位的移动,而后从O0-O39输出口输出。而当LE=0时锁存O0-O039。

(2)并行输入、串行输出工作方式
当LE=0、OC二0时,若I/O为"1",则并行置数,此时并行数据从10-I31输入至内部寄存器。若将I/0置"0"并断开输入端,那么在CPU输出指令时钟CLK上升沿的作用下,内部寄存器中的数据将从串行数据输出端DOUTA、DOUTB或DOUTC输出。

(3)级联工作方式

GM8164JN芯片有三个串行数据输出端DOU-TA、DOUTB、DOUTC,它们分别为内部16位、32位、40位移位寄存器O15、O31、O39(O37)所对应的内部寄存器。当用户系统所需要的输入输出口数量较少时(如分别少于16个),可以只使用10-I15、O0-O15,此时DOUTA则可作为串行数据输出端。而当系统需要的I/0口数量很多时,则可通过DOUTC再级联一片GM8164芯片,以扩展I/O数量。

GM8164在使用时应注意以下几点。

●并行输出口受输出允许控制端OC和输出锁存控制端LE的控制,当OC=1时,输出O0-O39为高阻态禁止并行数据输出,但此时器件的串行输入、并行置数及串行输出功能不受影响。当OC=0时,若LE=1,则在O0-O39输出数据,而LE=0时,则将O0-O39的数据锁存。

●当进行输出口控制时,无论改变多少个输出口的状态(即使是一位),也必须把所有的输出口状态按照一定的顺序重新输出,且当所有输出口都应置成所需的状态后,方能置锁存端为"1",然后再置"O"锁存。

●由于O0-O7为OC门输出结构,可驱动电压较高的非TTL型负载(电压不得超过15V),因此当O0-O7用于普通输出口时,应外接上拉电阻。

●读入输入口状态时,不能打开锁存端,需要读入的次数由输入端所处的位置决定,而不一 定要把所有的输入口状态都读入到CPU。
●当用户系统输入口数量在16个以下而又使用DOUTB及DOUTC做输出口时,会出现2个(DOUTB端)或3个字节(DOUNTC端)的无效数据;当用户的输入端口数目在32个以下时,DOUTC端会产生一个字节的无效数据,而且在多片级联时也会产生无效数据,因此在软件编程时应将无效数据舍弃。

4 应用

GM8164非常适合于非总线单片机扩展I/O接口使用,这里以AT89C2051单片机为例来说明GM8164的具体应用电路。AT89C2051与GM8164的硬件连接电路如图3所示。

 

GM8164适合与单片机的UART相连,也可用I/O口线来模拟UART。为了提高数据传送速度,本设计使用了单片机的异步串行口,并使之工作于方式0(即移位寄存器方式),此时波特率为fosc/12,如采用12MHz,则GM8164的fcLK=1MHz,完全可满足GM8164对时钟频率的要求。为了不影响单片机的串口通信功能,电路中使用了一片74HC4052双4 选一模拟开关来实现串行通信、输出口控制和并口数据输入的功能切换,并使用AT89C2051的P1.0、P1.1口实现A、B通道的选择。当P1.1P1.0=00时选择串行输入/并行输出;P1.1P1.0=01时选择并行输入/串行输出;P1.1P1.0=10时为串口通信功能;P1.1P1.0=11时禁止所有功能,同时使用单片机的P1.2-P1.4口来分别作为I/O控制、锁存控制 和高阻输出控制口。

以下给出串行输入/并行输出方式和并行输入/串行输出工作方式的子程序,本程序假设使用了全部32个输入口和40个输出口,并用DOUTC端输出串行数据,开关量输入缓冲区设在具有位寻址功能的20-23H,开关量输出缓冲区设在24-28H,并使用串口工作方式0。发送和接收数据采用等待查询方式。具体程序如下:

;位定义

A BIT P1.0 ;4052通道选择低位

B BIT P1.1 ;4052通道选择高位

I/O BIT P1.2 ;I/O控制

LE BIT P1.3 ;LE锁存控制

OC BIT P1.4 ;OC高阻控制

;并行输入/串行输出子程序

INPUT:MOV R0,#20H;设置开关量输入缓冲区指针

MOV R1,#04H ;设置开关量输入位数

SETB A ;选择开关量

CLR B ;输入功能

CLR LE

CLR OC

SETB I/O ;并行置数

CLR I/O ;I0-I31高阻态

RCV 1:CLR RI ;清接收结束标志

MOV SCON ,#10H ;设串口工作方式0,

WAIT 1:JNB RI,WAIT 1 ;未接收完等待

MOV A,SBUF ;将串行开关量数据送入A中

MOV @ R0 ,A ; 开关数据送开关量输入缓冲区
INC R0 ;指向下一缓冲区

DJNZ R1,RCV 1 ;未接收完则继续接收

RET ;返回

;串行输入/并行输出子程序

;将输出口要求的开关状态由输出量缓冲区输出

OUTPUT:MOV R0,#24H ;设置开关量输出缓冲区指针
MOV R1,#05H ;设置开关量输出位数

CLR A ;选择开关输出功能

CLR B

CLR OC

SETB LE ;允许输出数据

CLR I/O

MOV SCON,#00H;设串行口工作方式0

LOOP: MOV A,@ R0 ;取开关量数据

CLR TI ;清发送结束标志

MOV SBUF,A ;发送数据

WAIT2 JNB TI,WAIT 2 ;未发送完等待

INC R0 ;指向下一缓冲区

DJNZ R1,LOOP ;未发送完则继续发送

CLK LE ;锁存O0-O39状态

RET ;返回

开关量输入缓冲区20H~23H中的每一位与输人口引脚10-I31一一对应。开关量输出缓冲区24H~28H中的每一位和输出口引脚O0~O39--一对应,缓冲区长度可根据使用的I/O口数量进行设置,输人口的状态可用位判别指令或字节判别指令来判断,输出口状态可用更新对应口线输出缓冲区字节内容的方法实现并口数据输出或用置位/复位指令来实现位控
输出,限于篇幅,在这里就不详述了。

5 结束语

GM8164串行I/O扩展芯片具有扩展I/O数量多,占用单片机硬件资源较少,接口电路及接口时序简单,数据传送速度快的特点,因而是一种较理想的开关量扩展芯片。

  [1]. AT89C2051 datasheet //tgdrjb.cn/datasheet/AT89C2051_810086.html.

  [2]. TTL datasheet //tgdrjb.cn/datasheet/TTL_1174409.html.

  [3]. 74HC4052 datasheet //tgdrjb.cn/datasheet/74HC4052_1811735.html.

  [4]. EM83010 datasheet //tgdrjb.cn/datasheet/EM83010_297780.html.

  [5]. 国腾微电子。GM8164I/O扩展器使用说明。

  [6]. 曹立进,等。具有串行接口的I/O扩展器EM83010及其应用。电子技术应用。2000(7)

  [7]. 力源产品目录。武汉力源信息技术服务有限公司,2002(1)。


关键词:带大量I/O口扩展的串行芯片GM8164及其应用74HC4052AT89C2051PLCC-84GM8164JNGM8164EM83010

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,//tgdrjb.cn,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
 一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
 9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!