文档介绍:构建单片机网络化信息交互平台
PIC单片机和其它类型的单片机一样,以其低廉的价格在小型系统的控制和仪器仪表等方面有着广泛的应用,这是计算机所不能替代的。由于单片机的简单结构和非常有限的接口资源,构成群组互联比较困难。本节实例是基于PIC单片机SPI通信方式,构建单片机网络化信息交互平台,可以实现单片机之间的数据通信和交换。
综合训练基本情况分析
随着单片机应用领域的不断拓展,构建单片机网络化信息交互平台成为一个新的研究方向。本章就PIC单片机网络化SPI串行通信功能的研究进行一些尝试,设计出一套符合单片机联网数据传送及信息交互的协议规则,将有利于单片机在控制系统中的广泛应用。所建立的协议架构并不是唯一的,读者完全可以根据自己的理解进行创新设计,这也是作者所希望看到的。
1 综合训练目的
通过本项综合训练,使学生能够熟练掌握PIC单片机的开发应用,能够正确应用PIC单片机的模块功能以及单片机的外围接口电路, 掌握矩阵键盘及多位动态数码显示技术,利用SPI通信概念,实现多台单片机总线方式通信,熟悉以分层的方式编写网络协议。
2 综合训练内容
构建单片机网络化信息交互平台是在PIC单片机SPI串行通信功能的基础上,采用类似于SPI通信的总线结构模型的操纵方式,基于这样物理结构条件的双向式工作方式,将多台PIC单片机开发系统通过一根输出数据线SDO,一根输入数据SDI和一根时序线SCK进行互联,再通过一根公共握手信号线,建立一个网络化数据传送和信息交互平台。正是因为是基于SPI通信,数据传送过程将由主机时序SCK时序状态驱动下,通过主机监测及数据转发实现PIC单片机之间收、发身份识别和数据信息的有效传递。
在本项综合训练中将用到多台YB03-1实验系统或者其它类似的开发系统,每台开发系统都作为在总线式网络平台中一个独立的结点。通过对矩阵键盘的操作可以实现以下功能:系统工作状态(监听/准备/发送)间的转换、本机识别码的更改和要发送数据的写入等一系列操作。从理论上讲连接从机的单片机台数并没有限制,但本系统识别码采用单个数码管显示,即最大连接从机数为9台;所发送的数据采用两个数码管显示,数据范围是0~99,当然也可采用更多位数显示;三位数码管采用动态显示方式。
3 综合训练参考电路设计
首先,将每台实验系统区域12中RC端口的RC3(SCK)对应相连,作为SPI通信的时序信号线;其次将主机区域12中RC端口的RC5(SDO)与所有从机区域12中RC端口的RC4(SDI)对应相连,构成主机向从机发送数据的通道;同时,将主机区域12中RC端口的RC4(SDI)与所有从机区域12中RC端口的RC5(SDO)对应相连,构成从机向主机发送数据的通道。另外,将每台实验系统区域12中RC端口的RC0对应相连,作为主、从机之间始发数据的握手信号线。
,给出一个四台PIC单片机系统(如果需要还可以扩展)联网的连接方式,其中一台主机(编号为0),三台从机(编号分别为1、2和3)。按照图示总线的挂接方式,可以方便拓展足够多的从机,工作原理是一致的。
信息交互的协议规则及分析
在综合训练中仅仅有一台主机,其他为若干台从机,但从数据传送的形式来看系统没有主、从机之分,任意一台单片机既可作为数据发送者,又可作为接收者,其角色可以随时交换。但在任一时刻总线只能被一台开发系统占用,即只有一台系统会处于发送状态,而其他均应该处于监听状态。
当单片机系统处于监听状态时,能被动接收数据或清空接收到的数据,但不能写入要发送的数据或发送数据。当系统处于准备状态时,能写入本次要发送的数据和对方识别码,但不能接收来自其他单片机发送来的信息。只有当某个系统处于发送状态时,才能向其他系统发送数据。
SDO
SCK
RC0
从机1
SCK
SDI
SDO
SDO
SCK
SCK
SDO
RC0
RC0
RC0
PIC单片机 1
PIC单片机 0
1K
R1
主机
从机
PIC单片机 2
PIC单片机 3
SDI
SDI
SDI
图12-1 单片机信息交互平台结构原理图
1 接口I/O方式的实时转换
在进行SPI通信模式研究中,关键是引入端口的I/0协调转换的概念, 拓展了SPI结构模型的应用范围,有效推动单片机网络化数据通信和管理。主要包括带有下拉电阻的公共握手信号线及从机串行输入端口SD0的I/O协调转换,从而解决了双向式通信中数据冲突及电平冲突等诸多难题。在所构建的系统环境中,单片机系统之间有主、从机之分, 从机如果要发给从机必须先发给主机然后由主机判断后转发给另一台从机。但在任一时刻,只要有一台机拉高了RC0,主机都执行交换数据,从机被动接收,通过从机SDO口