1基于SPI结构模型双向式身份识别及信息交互平台的构建(上海工程技术大学电子电气工程学院,上海201620)概要:本文基于SPI主控同步串行通信的结构模型,介绍一种网络化主从串行通信设计标准,通过PIC单片机构建一个身份识别及信息交互平台。所提出的主从网络协议结构,主要涉及控制权的占有方式,以及协调发送和接收方之间的时序关系,从而为实现单片机网络化管理和数据交换奠定了技术基础。关键词:PIC单片机;SPI通信;网络协议ConstructionoftheTwo-wayIdentityIdentificationandInformationInteractionPlatformBasedontheSPIStructureModel(CollegeofElectricalEngineering,ShanghaiUniversityofEngineeringScience,Shanghai201620,China)Abstract:BasedontheSPIMasterSynchronousCommunicationStructureModel,thispaperintroducesanetworkHost-customerSerialCommunicationdesignstandard,whichconstructsaplatformforidentificationandinformationinteractionbytheusageofPICsinglechipcomputer.TheHost-customernetworkprotocolproposedmainlyreferstotheoccupyingmannerofcontrolrightandthecoordinationofthetimeorderrelationshipbetweenthetransmitterandreceiver.ThusagoodtechnicalfoundationislaidforrealizingSCMnetworkadministrationanddataswitching.keywords:PICsinglechipcomputer,SPICommunication;networkprotocol当跨入新的世纪以后,具有强大的系统功能、丰富的外围资源、良好的开发界面和在线调试功能,无疑将引领单片机进入了一个新的时代。美国Microchip公司推出的PIC系列单片机,由于采用RISC精简指令集、哈佛总线结构、流水线指令执行方式、抗干扰能力强、性能价格比高等优点,深受世界各行各业的普遍欢迎。PIC系列单片机,在工业控制、消费电子产品、办公自动化设备、智能仪器仪表、汽车电子等不同的领域,以其性能完善、功能强大、学习容易、开发应用方便、人机界面友好等突出优点而得到了广泛的应用。为配合PIC单片机的开发和应用,在PIC单片机常规功能的基础上,需要不断拓展其应用的范围和功能的开发。本文就PIC单片机网络化SPI串行通信功能的研究进行一些尝试,设计出一套符合单片机联网数据传送及信息交互的协议规则,将有利于单片机在控制系统中的广泛应用。1SPI结构模型分析SPI结构模型采用双向式工作方式,本项研究就是基于这样的物理结构条件,将多台PIC单片机开发系统处于共地的前提下,通过一根输出数据线SDO,一根输入数据SDI和一根时序线SCK进行互联,再通过一根公共握手信号线,轻松构建一个数据传送和信息交互平台。如图1所示,给出一个四台PIC单片机系统(如果需要还可以扩展)联网的连接方式,其中2一台主机(编号为0),三台从机(编号分别为1、2和3)。根据SPI通信协议,采用SCK互联方式,数据传送过程将由主机时序SCK驱动;主、从单片机串行数据的输入和输出端,即主机SDO和SDI分别与从机的SDO和SDI交叉互联。对这个双向的操作方式基本类似于SPI通信,同样也是在所构建的模拟时序状态下,通过主机监测及转发实现PIC单片机之间收、发身份识别和数据信息的有效传递。在本文研究中,引入端口的I/0协调转换的概念,拓展了SPI结构模型的应用范围,有效推动单片机网络化数据通信和管理。主要包括带有下拉电阻的公共握手信号线及从机串行输入端口SD0的I/O协调转换,从而解决了双向式通信中数据冲突及电平冲突等诸多难题。在所构建的系统环境中,单片机系统之间有主、从机之分,从机如果要发给从机必须先发给主机然后由主机判断后转发给另一台从机。但在任一时刻,只要有一台机拉高了RC0,主机都执行交换数据,从机被动接收,通过从机SDO口的I/O变化可控地利用接收的数据,从而实现信息交互功能又可以有效防止多口串连带来的电平及数据冲突。图1.单片机联网结构模型2SPI协议的设计原则关于主、从单片机系统,主机及从机都有侦测键盘,侦测RC0,发送与接收等程序。但是在多台从机SDO口共线的前提下,设计一种能消除电平影响及有效数据传输的协议显得至关重要。由于主从机的收发口是交错的,主机的控制地位不能改变,故利用SPI通信的同时可加以提示线的使用使单片机智能地进入接收及等待环节。在双向协议的设计方案中,首先必须确定信息传输的设置方式,主要包括在地址发送寄存器及数据发送寄存器中键入目标地址及待发数据,通过对4×4矩阵键盘进行定义,当首次敲击键盘时带回的值给地址发送寄存器,第二次敲击键盘带回待发数据的高位,第三次敲击键盘带回待发数据的低位,这样通过整合后两次带回的数据可组成一个待发八位二进制数,再通过可控分时SPI串行通讯一次多数据的发送。在项目设计中,只用一个八位二进制数来表示发送者及接收者的身份识别码,但理论上地址位的长度是可以通过多个八位二进制数无限扩充的,即理论上这样的通讯方式可以通过地址寄存器及分时多数据发送的设置挂接任意台从机。而数据位也同样可以扩充的方式发送按用户需要的任意长的数据。3双向通信的框架结构及具体实现双向通讯的框架结构主要包括发送端和接受端,发送端又包括对数据的采集,数据的整从机1SCKSDOSDOSDISCKSCKSDO1KRC0从RC0RC0RC0PIC16F877从机1PIC16F877从机2PIC16F877从机3PIC16F877主机03合处理及一次SPI发送多个数据三个过程。接收端包括数据的接收,接收后对长数据的拆分及对拆分后的地址和数据的判断处理应用。图2.协议结构图本文研究关键在于解决一主多从机结构中多台从机嫁接在主机上而主机的绝对控制地位不可变更加之SPI的双向性数据定向交换特点所带来的从机SDO口电平冲突及数据传输错误等问题。在时序控制上引入了接下拉电阻的共线RC0,这样每一台机想动作只需拉高这条公共线,别的所有机器都会侦测到动作。这里就分为是主机拉高还是从机拉高从而实现不同的功能。如果是主机要定向发信息给从机,主机在经过数据采集及处理后改变RC0口为输出(在常态下RC0口都为输入,只有有发送动作后改为输出)并拉高RC0,让每一台从机都侦测到RC0从而进入被动接收(常态下每一台从机的SDO口都设置为输入,SDI口也为输入),主机发出有用数据接收无用数据并抛弃,从机都可接受到主机有用数据并进行处理,这样就实现了主机发出功能。如果是从机要定向发送给主机或另一台从机,从机都是先把数据发送给主机,同样经过数据采集及处理后改变RC0口及SDO口(常态下每一台从机的SDO口都设置为输入)为输出并拉高RC0,主机侦测到从机动作后进行接受即同上数据发送只是将废数据去交换了有用数据(这时只有发送数据的从机的SDO口是输出,别的从机的SDO及主机的SDI口都是输入,这样在主机交换数据时就能保证待发从机的数据能有效的送给主机而不是像主机主动发出那样接收来的只是废数据)。在主机接受到从机发送来的数据后分析地址位,如果是发送给自己的就进行数据应用并结束接受动作进入常态,如果分析完地址位是要转发主机只需重复发送程序,就能将数据发出到指定从机从而实现从机和从机的通讯,主机又进行了数据的监控。这样的主从式通讯在安全等方面是不言而喻的,在分时发送及对数据口侦测等方面所带来的程序扩展性能缩水等问题里我们通过对PIC16F877的特色TMR0的应用,为外接动态显示或数据保存预留了通道。4结论基于SPI通信的结构模型,本文提出一个单片机网络化协议标准,在构建的模拟时序状态下实现数据的有效传送和发、收身份识别。通过双向SDO及SDI的数据互换,SCK的时序控制和接下拉电阻的共线RC0端的提示线,轻松实现PIC单片机系统间主从式可控定向数据传送平台,从而为实现单片机网络化管理和数据交换奠定了技术基础。参考文献1.李荣正.PIC单片机原理及应用(第2版).北京:北京航空航天大学出版社,2004.122.李荣正.PIC单片机实验教程.北京:北京航空航天大学出版社,2006.13.李学海.PIC单片机实用教程-提高篇.北京:北京航空航天大学出版社,2002.9底层物理传输中间层应用层数据传送数据接收数据整合数据拆分采集数据处理接收数据发送端接收端44.刘和平.单片机原理及应用.重庆:重庆大学出版社,2002.1