当前位置:首页 > 电源 > 数字电源
[导读]1 简介 本文介绍的单片机多机并行通讯系统,使用89C51作为主机,多片89C2051作为从机。(89C2051为20脚300MIL封装,带有2K FLASH E2PROM的单片机,除了少了两个并口外,具备MCS-51系列单片机所有功能。因为其体

1 简介

本文介绍的单片机多机
并行通讯系统,使用89C51作为主机,多片89C2051作为从机。(89C2051为20脚300MIL封装,带有2K FLASH E2PROM的单片机,除了少了两个并口外,具备MCS-51系列单片机所有功能。因为其体积小,功能强,必将在单片机应用领域内广泛使用)。这种并行通讯方法适用于在多站点,多层次的检测和控制系统中充当通信控制器的角色;也适合于用作单片机串行口扩充电路。

 


 



图1 芯片的逻辑图及四种工作状态 

 



图2 单片机并行通信原理框图[!--empirenews.page--]
2 三态总线缓冲寄存器74HC646

在单片机构成的多机并行通讯系统中,总线上的信息交换一般采用PIO(并行接口)和双端口寄存器等方法,并辅助以总线仲裁电路。通常使用的并行接口芯片有8155,8255等。本文介绍一种简单的并行接口电路,它既能取代8255等芯片,还能使电路结构更加简单和紧凑。该电路由一片74HC74和一片74HC646(300MIL窄封装)构成。

74HC646是三态总线缓冲寄存器,其实也是一个双端口共享存储器,只是共享存储区很小的,仅有一个数据输入寄存器与一个数据输出寄存器,用它作为单字节通信数据的临时中转站,每传送一个字节,主从机间握手一次,把数据取走后再继续下一字节的通信。74HC646可以将两条总线的数据分别锁存,再由芯片内部总线进行数据交换。

74HC646具有四种工作状态,利用对这四种工作状态的控制,可以实现多个单片机利用数据口进行数据交换,省下其余口线做其他的工作,如驱动LED,控制开关等。
74HC646芯片的逻辑图及四种工作状态如图1所示。

3 单片机并行通信原理

74HC646对数据进行的锁存只为完成数据交换作了信息准备工作,单片机多机之间通讯的实现还必须具备通讯联络手段,以使单片机了解总线上的工作状态,避免发生总线冲突。这里采用四线握手联络:两条由发送方送接收方,通知接收方数据已经准备好(如图2中的TFNE*,RFNE*);两条由接收方送发送方,通知发送方数据已经收到(如图2中的TFNF*,RFNF*)通信联络信号是由74HC74电路产生。单片机并行通信原理框图如图2所示。

4 多机并行通信协议

上面的并行通讯的单片机没有封锁电路以防止主从机向74HC646同时写数或同时读数,因此各单机在双向传输时,必须根据状态信息来控制自己的下一步操作,即进行联络,通过软件、硬件通讯协议配合才能避免造成错误,保证对74HC646不会造成竞争冲突。因此,除了上面所讲的联络电路之外,在编制软件时,还必须遵从以下协议:

主机向74HC646发送数据时,必须保证74HC646接收寄存器为空。

主机与从机间的数据传输要通过74HC646,协议不允许双方同时对74HC646进行操作,必须根据状态信息来控制自己的操作。

5 通讯协议的格式与执行过程

5.1 信息格式

在并行通讯的异步通信传输时,也同样存在帧的类型及格式问题,可以采用串行通讯类似的帧格式:

特征字

长度

数据1

数据2

...

校验码 [!--empirenews.page--]
5.2 通讯协议的执行过程

下面以检测方式为例说明通讯协议的执行过程。

5.2.1 主机向从机写数过程:(主机写, 从机读)

主机向74HC646写数据,然后通知从机有数据来,从机从74HC646中读取数据。

① 主机读取状态位,检测TFNF*位是否为零。

②若TFNF*=1,主机暂时等待;若TFNF*=0,主机向74HC646写数据,使TFNF*=1,同时使TFNE*=0。

③ 从机读取状态位,检测TFNE*位是否为零。若TFNE*=1,从机暂时等待;若TFNE*=0,从机从74HC646读数据,使TFNE*=1,同时使TFNF*=0。

④ 主机再次检测状态位TFNF*是否为零,若为“0”,说明从机已将数据从74HC646中取走,主机可发送下一数据。

5.2.2 主机读从机过程:(从机写, 主机读)

从机向74HC646写数据,然后通知主机有数据来,主机收到信号后,将数据从74HC646中取走。

① 从机读取状态位,检测RFNF*位是否为零。

②若RFNF*=1,从机暂时等待;若RFNF*=0,从机向74HC646写数据,使RFNF*=1,同时使RFNE*=0。

③ 主机读取状态位,检测RFNE*位是否为零。若RFNE*=1,主机暂时等待;若RFNE*=0,主机从74HC646读数据,使RFNE*=1,同时使RFNF*=0。

④ 从机再次检测状态位RFNF*是否为零,若为“0”,说明从机已将数据从74HC646中取走,主机可发送下一数据。

6 流程图(检测方式)

采用检测方式的程序流程如图3所示。

 

 



图3 采用检测方式的程序流程图

若使用中断方式, 只需对执行过程和流程图稍加修改即可。

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

8位单片机在嵌入式设计领域已经成为半个多世纪以来的主流选择。尽管嵌入式系统市场日益复杂,8位单片机依然不断发展,积极应对新的挑战和系统需求。如今,Microchip推出的8位PIC®和AVR®单片机系列,配备了先进的独立...

关键字: 单片机 嵌入式 CPU

在嵌入式系统开发中,程序烧录是连接软件设计与硬件实现的关键环节。当前主流的单片机烧录技术已形成ICP(在电路编程)、ISP(在系统编程)、IAP(在应用编程)三大技术体系,分别对应开发调试、量产烧录、远程升级等不同场景。...

关键字: 单片机 ISP ICP IAP 嵌入式系统开发

在嵌入式系统开发中,看门狗(Watchdog Timer, WDT)是保障系统可靠性的核心组件,其初始化时机的选择直接影响系统抗干扰能力和稳定性。本文从硬件架构、软件流程、安全规范三个维度,系统分析看门狗初始化的最佳实践...

关键字: 单片机 看门狗 嵌入式系统

本文中,小编将对单片机予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 单片机 开发板 Keil

随着单片机系统越来越广泛地应用于消费类电子、医疗、工业自动化、智能化仪器仪表、航空航天等各领域,单片机系统面临着电磁干扰(EMI)日益严重的威胁。电磁兼容性(EMC)包含系统的发射和敏感度两方面的问题。

关键字: 单片机 电磁兼容

以下内容中,小编将对单片机的相关内容进行着重介绍和阐述,希望本文能帮您增进对单片机的了解,和小编一起来看看吧。

关键字: 单片机 复位电路

在这篇文章中,小编将为大家带来单片机的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 单片机 异常复位

今天,小编将在这篇文章中为大家带来单片机的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 单片机 仿真器

单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 中断 boot

一直以来,单片机都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来单片机的相关介绍,详细内容请看下文。

关键字: 单片机 数字信号 模拟信号
关闭