具有串行接口的I/O扩展器EM83010及其应用
发布时间:2007/9/8 0:00:00 访问次数:508
摘 要: 介绍了具有串行接口的I/O扩展器EM83010的性能和特点,利用EM83010实现了对MCS51单片机的I/O扩展。
关键词: I/O扩展 串行接口 MCS51单片机
单片机I/O口的扩展,过去常常采用门电路或可编程逻辑器件等来实现,比较麻烦。本文介绍具有串行接口的I/O扩展器EM83010及其应用,从而为设计者提供一种新的I/O口扩展方法。使用EM83010进行I/O扩展,不仅非常简便,而且具有强大的功能。
1 EM83010简介
EM83010是EMC公司生产的带串行接口的I/O扩展器,它具有以下功能及特点:
· 14个双向I/O口线
· 2个I/O寄存器,2个I/O控制寄存器
· 144×8bit片内RAM
· 与MCU通过2线串行接口相连
·2线最多可同时接8片EM83010(此时扩展I/O数量为112个,RAM容量为1152×8bit)
· 工作电压宽:2.5V~5.5V
· 低功耗,工作电流0.5mA,静态电流15μA
· 18DIP/SOIL封装形式
1.1 管脚定义
对于18DIP封装的EM83010而言,其管脚功能如表1所示。
1.2 内部功能框图
EM83010内部功能框图如图1所示。EM83010内部主要包括I/O控制逻辑、存储控制逻辑、地址指针、144字节的RAM、状态及控制寄存器、两个端口及其对应的数据寄存器和控制寄存器。
1.3 2线串行接口
EM83010支持双向2线串行接口,其中由SCK提供串行同步时钟,SDT收发数据,并且最多可以有8个EM83010同时共享该总线。
串行总线上数据传送的时序如图2所示。
数据传输依次为:START、GRP位、DATA(控制字节、数据或地址,高位在前,低位在后)、ACK位、STOP。其中START定义为SCK=“1”时SDT的下降沿;STOP定义为SCK=“1”时SDT的上升沿;若GRP=“0”,表示下面的字节是控制字节,否则表示下面的字节是数据或地址;ACK的产生方法是在ACK周期(回应时钟)的高电平期间将SDT拉低。STOP产生之后,SCK、SDT保持高电平状态。
串行总线上定义了三种数据格式:
(a) 控制字节的传送
(b) 随机地址的数据读写
(c) 连续地址的数据读写
在以上数据格式中,S:开始(START);P:停止(STOP);D:数据(8位);1:(GRP)高电平;0:(GRP)低电平;A:地址(8位);K:读数据时有回应(ACK);C:控制字节(8位);NK:读数据时无回应(No ACK)。
1.4 控制字节
控制字节的位定义如表2所示。
注:(T1 T0 A2 A1 A0)=(1 1 0 0 0)被保留,
用于R-option地址。
1.5 寄存器(I/O端口及RAM)
1.5.1 寄存器(I/O端口、RAM)分配表
摘 要: 介绍了具有串行接口的I/O扩展器EM83010的性能和特点,利用EM83010实现了对MCS51单片机的I/O扩展。
关键词: I/O扩展 串行接口 MCS51单片机
单片机I/O口的扩展,过去常常采用门电路或可编程逻辑器件等来实现,比较麻烦。本文介绍具有串行接口的I/O扩展器EM83010及其应用,从而为设计者提供一种新的I/O口扩展方法。使用EM83010进行I/O扩展,不仅非常简便,而且具有强大的功能。
1 EM83010简介
EM83010是EMC公司生产的带串行接口的I/O扩展器,它具有以下功能及特点:
· 14个双向I/O口线
· 2个I/O寄存器,2个I/O控制寄存器
· 144×8bit片内RAM
· 与MCU通过2线串行接口相连
·2线最多可同时接8片EM83010(此时扩展I/O数量为112个,RAM容量为1152×8bit)
· 工作电压宽:2.5V~5.5V
· 低功耗,工作电流0.5mA,静态电流15μA
· 18DIP/SOIL封装形式
1.1 管脚定义
对于18DIP封装的EM83010而言,其管脚功能如表1所示。
1.2 内部功能框图
EM83010内部功能框图如图1所示。EM83010内部主要包括I/O控制逻辑、存储控制逻辑、地址指针、144字节的RAM、状态及控制寄存器、两个端口及其对应的数据寄存器和控制寄存器。
1.3 2线串行接口
EM83010支持双向2线串行接口,其中由SCK提供串行同步时钟,SDT收发数据,并且最多可以有8个EM83010同时共享该总线。
串行总线上数据传送的时序如图2所示。
数据传输依次为:START、GRP位、DATA(控制字节、数据或地址,高位在前,低位在后)、ACK位、STOP。其中START定义为SCK=“1”时SDT的下降沿;STOP定义为SCK=“1”时SDT的上升沿;若GRP=“0”,表示下面的字节是控制字节,否则表示下面的字节是数据或地址;ACK的产生方法是在ACK周期(回应时钟)的高电平期间将SDT拉低。STOP产生之后,SCK、SDT保持高电平状态。
串行总线上定义了三种数据格式:
(a) 控制字节的传送
(b) 随机地址的数据读写
(c) 连续地址的数据读写
在以上数据格式中,S:开始(START);P:停止(STOP);D:数据(8位);1:(GRP)高电平;0:(GRP)低电平;A:地址(8位);K:读数据时有回应(ACK);C:控制字节(8位);NK:读数据时无回应(No ACK)。
1.4 控制字节
控制字节的位定义如表2所示。
注:(T1 T0 A2 A1 A0)=(1 1 0 0 0)被保留,
用于R-option地址。
1.5 寄存器(I/O端口及RAM)
1.5.1 寄存器(I/O端口、RAM)分配表
上一篇:全球仪器产业 发展 展望
热门点击