当前位置:首页 > 单片机 > 单片机
[导读]介绍了在同一系统内,MCS51系列两单片机之间采用单向并行通信接口、主从双向并行通信接口、无主从双向并行通信操作实现双机互连的方法。

摘要:介绍了在同一系统内,MCS51系列两单片机之间采用单向并行通信接口、主从双向并行通信接口、无主从双向并行通信操作实现双机互连的方法,分析了在每一种通信接口工作方式下数据传送的特点。在三种并行通信接口为单片机应用系统扩充硬件资源的设计提供了新的途径。

    关键词:单片机 并行通信 接口 数据传送

由于MCS51系列单片机具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛。一个MCS51系列的单片机(如Atmel89cxx)内部包含有RAM、FLASH ROM、两个或者三个16位的定时器/计数器、一个通用异步串行通信控制器(UART)等多种资源。但即便如此,在一些相对复杂的单片机应用系统中,仅仅一个单片机资源还是不够的,因此而常常需要扩充I/O接口、定时器/计数器、串行通信接口、RAM、ROM等。采用通用的标准器件进行扩充是通常的做法,但将单片机本身作为一个通用的扩充器件来使用,也不失为一个好的方法。在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片机之间就要通过互连来进行数据通信。MCS51系列的单片机(以下简称单片机)都带有串口,利用串口进行互连通信极为方便,其各种连接方式在许多书籍和资料上都有介绍,在此不再重述。但如果系统要求扩充的资源是对外连接的串口,或对相互之间的数据传送有一定的速度要求,则单片机的串口就不能用作系统内两单片机的通信接口了。所幸的是,单片机的并行端口也能相互连接来进行数据通信。根据单片机端口内部结构的特点,这些端口的端口线可以直接相连,从而使两单片机之间并行通信接口的实现不用另外的硬件电路设备。基于这种情况,设计时,可根据不同的使用要求,来采用不同的并行连接方法。下面介绍在两个单片机之间进行三种并行通信接口的实现方法。

1 单向并行通信接口的实现

在应用中,如果只需一个单片机向另一个单片机传送数据,则可以采用单向并行通信接口方式,这种方式较为简单。图1所示为单向并行通信接口的组成方法。图中,单片机A为数据发送方,单片机B为数据接收方,8位端口可以是P0~3的任何一个。数据传送的流程是:单片机A将数据送到端口后,通过STB信号中断单片机B,单片机B进入中断并从端口读取数据,读完后,利用BUSY信号进行应答,单片机A在检查到端口线CHK上的应答信号后,就可以发送下一个数据了。以上是采用中断方式进行数据传送的具体方法。当然,单片机B也可以采用查询方式接收数据。利用单向并行通信接口方法的优点是可以充分利用单片机的资源来扩充整个系统的串行通信接口、并行接口、定时器等部件。

2 主从并行通信接口的实现

主从并行通信接口的特点是两单片机之间能够通过并行通信接口将数据发送到对方,但这种方法必须有一个单片机处在主机状态,另一个单片机处在从机状态。图2为主从并行通信接口原理图。单片机A是主机,单片机B是从机,该接口使用了一个8位端口(如P0或P1)和4根控制信号线。

在主从工作方式下,该接口的工作方式有主机发送从机接收和主机接收从机发送等两种情况。

2.1 主机发送从机接收方式的主机工作流程

主发从收方式的工作流程如下:

(1)主机设置数据传送方法控制位DIR为0,以表示主机有数据发送到从机;

(2)主机在STB端口产生一个负脉冲,以使从机进入中断,并准备接收数据;

(3)主机将数据送8位数据端口,再设定ACK信号表示数据有效;

(4)主机检查CHK端口,等待从机从8位端口取走数据;

(5)数据发送完成返回。

2.2 主机接收从机发送时的主机工作流程

主机接收从机发送方式时的工作流程如下:

(1)主机设置数据传送方向控制位DIR为1,以表示主机将从从机读取数据;

(2)主机在STB端口产生一个负脉冲,以使从机进入中断,并准备发送数据;

(3)主机查询CHK端口,等待从机将数据送到8位端口上;

(4)主机从8位端口上读取数据,再设定ACK信号以表示数据已被读取;

(5)数据接收完成返回。

2.3 从机工作流程

在主从并行通信接口工作方式下,无论从机是接收数据还是发送数据,都是在中断(也可以是查询方式)方式下进行的,从机的工作流程如下:

(1)进入中断服务程序;

(2)检查数据传送的方向;

(3)如果DIR为0,则等待CHK信号有效,再从8位端读取数据,读完后设定ACK信号有效;

(4)如果DIR为1,从机将数据送到8位端上,再设定ACK为有效,并等待主机取走数据(即CHK信号有效);

(5)退出中断服务程序。

3 无主从双向并行通信接口的实现

无主从双向并行通信接口的特点是两个单片机处在平等的地位,两个单片机均可随时提出申请,向对方发送数据,当然也可通过简单的接口协议从对方读取数据。这种情况下,就有可能出现两个单片机同时提出使用8位端口的申请而发生冲突,从而影响双方数据的传送。要解决这个问题,就要求每一方必须在数据传送之前进行检查,以判断8位端口是否被对方所使用,从而避免冲突的发生。图3是无从双向并行通信接口的原理图。该接口中采用了5根控制信号线,其中CHK/ACK控制信号线,其中CHK/ACK控制信号线的功能可以复用。8位端口可以是P0、P1或其它8位I/O口。

在无主从双向并行通信接口中,由于单片机A与单片机B没有主从关系而处在平等位置,所以单片机B与单片机A的数据接收发送流程完全相同。这里只说明单片机A的数据接收发送流程。

3.1 数据发送流程

下面给出单片机A的数据发送流程:

(1)检查CHKREQ,判断单片机B是否提出了数据传送申请;

(2)如果单片机B提出了申请,则转a继续等待;否则,单片机A提出申请,将REQ置为有效;

(3)再次检查CHKREQ,判断单片机B是否同时提出了申请;

(4)如果单片机B提出了申请,则发生冲突;清除REQ并延时;然后执行(1);

(5)将数据送8位端口,设定STB有效;

(6)检查CHK,等待单片机B将数据取走;

(7)检查单片机A的数据是否全部送完,如没有则转执行(5);

(8)撤销REQ信号,释放8位端口;

(9)数据发送完成,退出流程。

3.2 数据接收流程

单片机A的数据接收流程如下:

(1)进入中断服务流程;

(2)从8位端口读取数据;

(3)设置ACK信号有效,表示数据已成功读取;

(4)退出中断服务流程。

4 三种并行接口方式的特性分析

本文介绍的三种并行通信接口连接方式能够适用于不同的要求。下面分别对采用三种通信接口工作方式的数据通信响应时间进行分析。假设单片机的工作时钟频率为24MHz,8位端口为P0口。系统中每一个单片机只有一个中断源。在单个中断源情况下的中断响应时间为3~8μs。在单向并行通信接口工作方式下,数据只从单片机A向单片机B传送,假设接收方单片机B中断接收。个字节的传送过程将包括数据发送端口、通知接收方、等待接收方的已接收应答等三个部分。其程序的一般写法为:

MOV P0,#DATA

CLR STB

JB CHK,$

如各条指令的执行时间分别为1μs、1μs、3~8μs。那么,这种方式下,一个字节的传送时间在10μs左右,最短可到5μs,因此数据的数传率较高。

在主从并行通信接口方式下,数据传送包括接收和发送两个方向,由于数据传送均在主机控制下进行,且数据的接收和发送两个方向的时间大体相等。根据其数据传送流程,主机发送数据的程序如下:

CLR DIR

CLR STB

MOV P0,#DATA

SETB ACK

JB CHK,$

由于该程序前4条指令的执行时间均为1μs,最后一条指令的执行时间为等待从机的响应时间为3~8μs,这种方式下一个字节的传送时间在12μs左右,最短可到7μs,可见仍有效高的数传率。

在无主从并行通信接口方式下,文中只讨论了主动向对方发送数据的方式,而没有讨论主动从对方读取数据的方式,这是因为通过简单的接口协议可以使对方主动发送数据,从而达到读取数据的目的。根据图3和其数据发送流程可知,在没有8位数据端口使用冲突的情况下,其数据传送的基本步骤与主从方式数据传送的步骤基本相同,但需要对8位端口的使用进行声明确认的撤销,这需要执行至少4条指令,时间约需4μs,因此,这种试上单字节数据的传送时间在11~18μs。当遇上8位数据端口使用有冲突时,则数据传送的时间还会受8位数据端口被占时间的影响,因而变得不确定。

5 结束语

由于MCS51系列单片机已衍生出了许多规格和型号的产品,且使用起来方便灵活,应用相当广泛,因此讨论它们的一般应用是非常有意义的。MCS51系列单片机的直接并行互连具有一定的实用价值,能简化许多应用系统的硬件设计。在许多的应用系统中,完全可以把MCS51系列单片机当作普通的可编程器件来使用。本文介绍的单向并行通信接口中的接收方单片机,主从并行通信接口中的从机都是这样使用的。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭