新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于多机并口协议的多机通信

基于多机并口协议的多机通信

作者:时间:2007-07-09来源:网络收藏
随着单片机应用的不断深入,由多个单片机构成的多机系统越来越多.多个单片机之间以多机技术进行信息交换构成一个整体。将单个单片机的工作分解到多个单片机来完成,一方面可以提高系统的各项性能,另一方面可以简化系统的硬件设计。

当进行远距离传输时,一般采用异步串口,而近距离传输时可以采用并行口和同步串口。同步串口虽然速度低,但信号线少,用于低速小容量数据传输;并行口的传输速度较高,但信号线较多,用于高速大容量数据传输。

本文在一般双向的基础上,参考多种单片机的总线接口,提出了简单易行的多机,实现,多个单片机之间的高速数据。该占用信号线少,操作简单。

1 多机通信
多机并口协议,规定了数据信号和控制信号,实现了3种总线操作模式,定义了总线操作时序。

多机并口协议,定义了SET、A/D、W/R、D0~D7共11根信号线。其中:SET为写入控制,主机或从机在下降沿将地址或数据发送到双向并口D0~D7;W/R为读/写控制,W/R=0时表示主机读从机,W/R=1时表示主机写从机;A/D为地址/数据选择控制,A/D=0时表示传送数据,A/D=1时表示传送地址;DO~D7为双向数据地址总线,配合W/R和A/D进行地址和数据的双向传输。通过W/R和A/D控制信号,实现了3种总线操作模式,如表1所列。

2 协议的单片机模拟
用单片机实现并口协议时,主机工作在查询方式,从机工作在中断方式,从机的SET信号必须接到从机的外部中断引脚。

控制位逻辑值的定义:
#defincREAD O
#dcfine WRIT l
#define DATA O
#define ADDR 1

2.1 主机并口协议程序

主机的多机并口信号线町以使用单片机的任意1个双向并口和任意3根I/O,主机在查询方式下主动与从机通信,对从机数据进行读/写。通过调用延时函数delay(),使主机和从机实现对SPI传输速度的控制。用户程序只须调用PPI_ReadBuf()和PPI_WritBuf()函数可以对从机数据进行读/写。


2.2 从机并口协议程序
从机多机并口信号线中A/D和W/R可以使用单片机的任意I/O,为DO~D7分配一个双向并口,但SET必须使用INT引脚.本设计使用了INTO引脚。从机的多机并口协议在中断服务程序中实现,在中断中配合主机实现数据的读写协议。本例中,数据存于buf缓冲区中。


结语
本文提出的并口协议实现了单片机之问的多机通信,该程序已在实际中得到应用。该协议可以在含有外部中断的单片机上实现,也可用于CPLD上实现与单片机的通信。该方法简单、可靠、成本低,有着较高的推广价值。



关键词: 通信 协议 并口 基于

评论


相关推荐

技术专区

关闭