本发明专利技术公开了一种扩展兼容SPI接口支持双向实时通讯的方法。使用本发明专利技术能够使得从机也能主动发起通讯。本发明专利技术在主机和从机之间增加一根物理连线,称为FRX-FRR连线,其中FRX-FRR连线从机端FRX能输出有效脉冲或有效电平;FRX-FRR连线主机端FRR能触发中断,或者主机实时查询FRR是否有请求的状态。本发明专利技术实现简单、可靠。本发明专利技术对数据帧进行了定义,采用数据帧的形式进行数据传输,较传统的SPI传输的bit流传输方式更方便、有效。同时,按照本发明专利技术方法还可以实现主从机身份互换,方便数据的传输。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种扩展兼容SPI接口支持双向实时通讯的方法。使用本专利技术能够使得从机也能主动发起通讯。本专利技术在主机和从机之间增加一根物理连线,称为FRX-FRR连线,其中FRX-FRR连线从机端FRX能输出有效脉冲或有效电平;FRX-FRR连线主机端FRR能触发中断,或者主机实时查询FRR是否有请求的状态。本专利技术实现简单、可靠。本专利技术对数据帧进行了定义,采用数据帧的形式进行数据传输,较传统的SPI传输的bit流传输方式更方便、有效。同时,按照本专利技术方法还可以实现主从机身份互换,方便数据的传输。【专利说明】—种扩展兼容SPI接口双向实时通讯方法
本专利技术涉及SPI通讯
,具体涉及一种扩展兼容SPI接口支持双向实时通讯的方法。
技术介绍
ARM和MCU芯片是嵌入式、手机等平台最常用的芯片,芯片之间数据通讯接口一般有SP1、CANBUS、UART等接口,CANBUS和UART接口数量一般比较少,传输速率较低,CANBUS速率小于 1Mbps, UART 最高为 115200bps。SPI (Serial Peripheral Interface,串行外设)接口 一般数量比较多,传输速率较高,其速率最低为5Mbps,但SPI接口为单向通讯。兼容SPI的通讯接口如图1所示,兼容SPI接口通讯由主机发起,从机不能主动向主机发送数据。其具体通讯过程如下:主机输出CS信号,激活从机,此时从机的数据要准备好。当主机的数据准备好时,启动并输出CLK信号,主机在时钟的上升沿输出自己的数据,从机在下降沿采样得到主机输出的数据(实际采用时间可以配置),从机也与此同时输出自己的数据,主机同时采样接收从机的数据,在同一周期,实现了主机之间的数据交互。兼容SPI的通讯由主机发起,从机不能主动发起;SPI按bit位传输数据,主机发送数据时,同时收到从机的数据。主从之间没有帧格式定义,不能进行双向的数据帧通讯。
技术实现思路
有鉴于此,本专利技术提供了一种扩展兼容SPI接口支持双向实时通讯的方法,对兼容SPI接口进行扩展,从而使得从机也能主动发起通讯。本专利技术的扩展兼容SPI接口双向实时通讯方法,在主机和从机之间增加一根物理连线,称为FRX-FRR连线,其中FRX-FRR连线从机端FRX能输出有效脉冲或有效电平;FRX-FRR连线主机端FRR能触发中断,或者主机实时查询FRR是否有请求的状态。其中,从机端FRX和主机端FRR为GIO接口。当从机发动通讯时,从机通过FRX-FRR连线触发主机中断,接收从机数据。其中,主机和从机采用数据帧传输数据,所述数据帧由BUSY状态位、命令编码Cmd、巾贞长度Length、巾贞序列号Seq、数据Data和校验码CRC组成;其中,BUSY=I表示状态忙,即本端数据缓冲区满,BUSY=O表示状态不忙,即本端数据缓冲区未满;Cmd=I发送ValidData报文,表明本数据巾贞携带的数据Data是有效数据;Cmd=2发送DummyData报文,表明本数据巾贞携带的数据Data是无效数据;Cmd=3发送StopRequest报文,表明传送停止请求中贞;Cmd=4发送StopAgree报文,表明同意传送停止中贞。由从机发起的通讯包括如下步骤:步骤1,从机准备好数据,触发FRX向主机请求数据发送;步骤2,当主机收到FRR中断请求或查询到FRR有效,主机进入通讯状态;步骤3,当主机无数据发送时或者从机端BUSY为I时,主机发送DummyData报文,并携带自己的BUSY状态;当主机有数据发送而对端BUSY为O时,主机发送ValidData报文,并携带自己的BUSY状态;从机收到主机的DmnmyData报文时,表示无效数据,丢弃;当从机收到主机的ValidData报文时,提交上层程序处理;从机发送数据时检测对端的BUSY位,如BUSY为I时,从机发送DummyData报文,同时携带本端的BUSY状态;当对端BUSY为0,从机准备ValidData报文,并携带BUSY标志;主机收到从机的DmnmyData报文时,表示无效数据,丢弃;当主机收到从机的ValidData报文时,提交上层程序处理;当主机和从机都无数据发送时,主机发送StopRequest报文,从机回复StopAgree报文,主机停止通讯。还可以在主机和从机之间再增加I条FRX-FRR连线,称为第二 FRX-FRR连线,其方向与原有FRX-FRR连线方向相反;当需要主从机身份互换时,原主机通过第二 FRX-FRR连线触发原从机中断,接收原主机数据。或者通过改变原有FRX-FRR连线GIO接口的输入输出方向,使得主从机身份互换。有益效果:本专利技术通过增加一条FRX-FRR连线即可实现SPI接口的双向通讯,简单可靠。本专利技术采用数据帧的形式进行数据传输,较传统的SPI传输的bit流传输方式更方便数据帧传输,本专利技术定义数据帧格式,该数据帧格式针对SPI传输数据的特点,可有效进行数据传输。本专利技术通过主从机之间的两条FRX-FRR连线,可以实现主从机身份互换,实现简单。ARM和MCU等芯片一般有富余的GIO (General Input / Output)接口,可以通过编程改变输入输出方向,FRX / FRR可以借用GIO接口互连实现。FRX和FRR为GIO接口时可以通过改变GIO输入输出方向使得主从机身份互换,较两条FRX-FRR连线少一根物理连线,芯片结构更为简单。【专利附图】【附图说明】图1为传统的兼容SPI接口。图2为本专利技术的扩展的兼容SPI接口。图3为扩展的兼容SPI接口数据帧格式。图4为通过改变GIO输入输出方向改变主从机。图5为通过增加数据线改变主从机。【具体实施方式】下面结合附图并举实施例,对本专利技术进行详细描述。本专利技术提供了一种扩展兼容SPI接口双向实时通讯方法,如图2所示,增加一根主机和从机之间的物理连线,称为FRX-FRR连线,其中,从机端叫FRX,主机端叫FRR。其中,FRX能输出有效脉冲或有效电平;FRR能触发中断,或者主机实时查询FRR是否有请求的状态。当主机收到中断或查询到FRR有效时,主机立即使用兼容SPI的方式,启动数据传输,取回从机的数据。对传输数据进行处理,设计为如图3所示的数据帧格式,其中,由BUSY状态位、命令编码Cmd、巾贞长度Length、巾贞序列号Seq、数据Data和校验码CRC组成。其中,BUSY状态位:本端数据缓冲区是否满的标识,BUSY为I时表示状态忙,即本端数据缓冲区满,BUSY为O时表示状态不忙,即本端数据缓冲区未满。对端发送数据帧时要检查此标志,BUSY为I时不能向本端发送数据帧,否则数据帧会被丢弃。Cmd:命令编码,王机和从机编码统一。编码如下:Cmd=I发送ValidData报文,表明本数据巾贞携带的数据Data是有效数据;Cmd=2发送DummyData报文,表明本数据巾贞携带的数据Data是无效数据,当一端无数据发送而另一端有数据发送时,无数据段发送的是DmnmyData报文;Cmd=3发送StopRequest报文,表明传送停止请求巾贞;Cmd=4发送StopAgree报文,表明同意传送停止中贞。Length:帧长度Seq:sequence number,序列号,用于判断是否本文档来自技高网...
【技术保护点】
一种扩展兼容SPI接口双向实时通讯方法,其特征在于,在主机和从机之间增加一根物理连线,称为FRX?FRR连线,其中FRX?FRR连线从机端FRX能输出有效脉冲或有效电平;FRX?FRR连线主机端FRR能触发中断,或者主机实时查询FRR是否有请求的状态。
【技术特征摘要】
【专利技术属性】
技术研发人员:毛雪峰,彭广平,张勇军,李杰,马宝华,孟丽娟,
申请(专利权)人:北京中宇新泰科技发展有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。