一种基于SPI总线的驱动控制方法与流程

文档序号:11234023阅读:1010来源:国知局
一种基于SPI总线的驱动控制方法与流程

本发明属于spi总线驱动控制技术领域,具体涉及一种基于spi总线的驱动控制方法。



背景技术:

目前的测试仪器主要采用pci(peripheralcomponentinterconnect局部总线)总线驱动控制方式进行上位机与底层各模块间的接口通信,虽然pci总线驱动方式数据传输速度快,传输数据量大,但是pci总线要求传输线数量多,外围电路结构复杂,需要专门的桥接芯片(或者专门固化的ip核)和fpga开发程序进行配置完成稳定的数据传输功能。

现阶段上位机与底层硬件之间的通信方式中,主要包括pci总线、spi总线等,鉴于目前基于cpu的上位机控制器集成度越来越高,性能也不断提升,上位机与底层硬件之间数据传输的稳定性、传输速率、硬件成本以及可扩展型、可移植性要求越来越高,但在上述需求方式中,根据不同需求,各种通信模式均有不同的侧重点,下面具体介绍:

pci总线是一种高性能局部总线,是为了满足外设间以及外设与主机间高速数据传输而提出来的。采用pci总线进行数据传输,可以解决原有的标准总线数据传输率带来的瓶颈问题。它可以在33mhz主频32位数据总线的条件下达到峰值132mbit/s的带宽,在66mhz主频和64位数据总线的条件下达528mbit/s,具有即插即用和中断共享等优点,使其成为计算机的一种标准总线,具有广泛的应用前景。目前pci总线的实现方案一般有以下三种:(1)采用pci专用接口芯片,如plx公司的pci9054,采用这些专用芯片,优点是功能强,可靠性高,设计者可避开复杂的pci总线接口关系,可方便实现pci接口,缺点是用户可能只使用到部分功能,会造成一定的资源浪费,并且设计上缺乏灵活性;(2)利用ip核来实现pci接口,利用基于pci协议的ip核来实现pci接口,这种设计开发速度快,灵活性较好,但是ip核价格昂贵;(3)用fpga或者cpld自行设计pci接口,该设计方法具有较强的灵活性,仅实现需要的pci功能,因此具有较高的性能价格比,但是相对稳定性较差,功能性有一定局限。

spi总线是一种高速、全双工、同步串行通信总线,其速度可以达到几mbps。在点对点的通信中,spi接口不需要进行寻址操作,显得简单高效。在芯片的管脚上只占用四根线,可以节省很多常规电路中的接口器件和i/o线,能简化电路设计,提高系统的可靠性,同时也为pcb板的布局节省空间,出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。在spi串行同步通信中,由一个主设备和一个或多个从设备组成,可以配置成单主单从,单主多从结构。主设备启动一个从设备同步通信,完成数据传输。spi总线一般使用4条线,mosi(主设备出从设备入)、miso(主设备入从设备出)、sck(串行移位时钟)和sen(使能时钟)4种信号线构成(有的spi接口芯片带有中断信号线int,有的spi接口芯片没有主设备入从设备出数据线miso)。典型的spi控制时序如图1所示。其中sen决定了唯一的与主设备通信的从设备,主设备通过产生移位时钟来发起通信。从设备只能在主机发送命令时才能接收或发送数据,其数据的传输格式是高位(msb)在前,低位(lsb)在后。目前这种方式过于单一,应用范围十分有限,只能单纯的依靠增加sen数量来增加从设备数量。

现有技术方案存在以下缺点:

(1)目前的pci接口需要的外围接口硬件设计复杂,如果使用专用的桥接芯片或ip核做接口设计造价过高,如果使用fpga或cpld自行设计又缺乏稳定性,同时丧失部分功能性,并无许多优势。

(2)在目前的仪器中,除了数据采集模块之外,很少需要进行大数据高速传输的硬件设备,所以在对速度要求不高的大数据传输情况下会造成很大的资源浪费。

(3)目前主流的spi控制方式主要为一路选多路spi控制方式,通过从设备的sen使能来选择多路设备的分时通信,结构简单,在增加从设备的同时会增加相应的连线数量,结构单一,同时无法完成串行转并行的实时大数据量传输。



技术实现要素:

针对现有技术中存在的上述技术问题,本发明提出了一种基于spi总线的驱动控制方法,设计合理,克服了现有技术的不足,具有良好的效果。

为了实现上述目的,本发明采用如下技术方案:

一种基于spi总线的驱动控制方法,采用一种基于spi总线的驱动控制装置,其主要由cpu主控制器和多从机设备组成,多从机设备主要由多从路spi输出模块和并行传输模块组成,并行传输模块主要由ram地址传输模块和ram数据传输模块组成;cpu主控制器的输出主控制线主要由la、lb、lc、llatch、sck以及mosi线组成,其中lc、lb、la为spi功能数据选择总线,均默认为高电平;

lc、lb、la,被配置为用于通过其不同电平选择分别实现从机设备选择功能、多从路spi写控制、并行传输寄存器地址选择和并行传输寄存器数据传输功能;

llatch为信号锁存控制线,被配置为用于进行信号的触发锁存;

sck与mosi分别为spi总线对应的时钟和数据输出端;

所述的基于spi总线的驱动控制方法,包括如下步骤:

步骤1:一路转多从路spi写数据;具体包括如下步骤:

步骤1.1:cpu主控制器通过sck和mosi发送spi时钟和数据,对多从机设备进行选择,从机设备对主控制器发送的数据通过llatch锁存后,通过spi功能选择数据线lc:lb:la=000b进行从机设备选择,如果对应的从机设备的地址与cpu主控制器的mosi数据线发送的数据相同,则此从机设备被选中,开始进行一路转多从路spi传输;

步骤1.2:选定从机设备后,cpu主控制器通过sck和mosi发送spi时钟和数据,对多从路spi输出模块中的从路spi输出路径进行选择,从机设备对cpu主控制器发送的数据通过llatch锁存后,通过spi功能选择数据线lc:lb:la=001b进行从路spi输出路径选择,如果对应的从路地址与cpu主控制器的mosi数据线发送的数据相同,则此从路spi输出路径被选中,开始进行spi写数据;

步骤1.3:选定从路spi输出路径之后,cpu主控制器通过、sck和mosi发送spi时钟和数据,进行从路的spi数据写入过程;

步骤2:串行转并行数据传输;

步骤2.1:cpu主控制器通过sck和mosi发送spi时钟和数据,对多从机设备进行选择,从机设备对cpu主控制器发送的数据通过llatch锁存后,通过spi功能选择数据线lc:lb:la=000b进行从机设备选择,如果对应的从机设备的地址与cpu主控制器的mosi数据线发送的数据相同,则此从机设备被选中,开始进行一路转多从路spi传输;

步骤2.2:选定从机设备后,cpu主控制器通过sck和mosi发送spi时钟和数据,进行并行传输模块中ram地址选择,从机设备对cpu主控制器发送的数据通过llatch锁存后,通过spi功能选择数据线lc:lb:la=011b进行并行传输ram地址选择,如果ram地址与cpu主控制器的mosi数据线发送的数据相同,则此ram地址被选中,cpu主控制器开始向该ram地址中写数据;

步骤2.3:ram地址选定后,cpu主控制器通过sck和mosi发送spi时钟和数据,进行并行传输模块中ram数据的写入过程,从机设备对cpu主控制器发送的数据通过llatch锁存后,通过spi功能选择数据线lc:lb:la=100b进行并行传输ram寄存器写数功能。

优选地,从机设备选择的mosi数据传输位数n1、从路路径选择的mosi数据传输位数n2、每个从路的spi写数据位数n3、ram地址的选择数据位数n4以及ram寄存器的数据位数n5均由cpu主控制器决定。

本发明所带来的有益技术效果:

通过引入串行数据使能控制方式实现从设备任意多的串行一路转多路控制方式以及主从设备串行转并行通信中任意多的ram地址位选择以及任意多ram数据位的传输存储控制;相对于现有的pci总线控制方式,本发明的外围总线数量少,控制简单,硬件成本低,开发难度小,同时功能稳定;本发明适用于在速度要求不高但是数据传输量比较大,或者需要大量spi选择输出的驱动控制模式;相对于传统的spi控制,扩展性和灵活性更高,同时可兼容更多的spi从路控制。

附图说明

图1为传统spi总线控制方法示意图。

图2为本发明方法的原理框图。

图3为本发明方法中的连线框图

图4为串行一路转多路时序图。

图5为串行转并行时序图。

其中,1-cpu主控制器;2-多从机设备;3-多从路spi输出模块;4-并行传输模块;5-ram地址传输模块;6-ram数据传输模块。

具体实施方式

下面结合附图以及具体实施方式对本发明作进一步详细说明:

本发明提出了一种基于spi总线的多模式底层驱动控制方法,其方案原理框图如图2所示,本方案由cpu主控制器1和多从机设备2组成,其中多从机设备2由多从路spi输出模块3和并行传输模块4组成,同时并行传输模块4由ram地址传输模块5和ram数据传输模块6组成。总方案连线框图如图3所示。本发明专利的cpu主控制器模块1的输出主控制线主要由la、lb、lc、llatch、sck以及mosi五线组成,其中lc、lb、la为spi功能数据选择总线,默认均为高电平。通过lc、lb、la三线不同电平选择分别实现从机模块(不同板卡之间)地址选择功能,多路spi写控制,并行传输寄存器地址选择和并行传输寄存器数据传输功能。具体控制见表1。

表1

本发明中通过spi功能选择数据线替代传统spi方案中的sen使能控制,在节约外部总线的前提下,增加整个驱动程序的功能性和总线复用性。llatch为信号锁存控制线,用于串行数据传送完成之后进行信号的触发锁存;sck与mosi分别为spi总线对应的时钟和数据输出端。

本发明专利通过spi功能选择数据线进行不同控制功能选择,来分别实现一路转多从路spi传输和串行转并行数据传输,下面分别介绍。

一、一路转多路spi写数据过程:

(1)首先主控制器通过sck和mosi发送spi时钟和数据进行多从机设备2中从机地址选择,从机设备对cpu主控制器1发送的数据通过llatch锁存后,通过spi功能选择数据线lc:lb:la=000b进行从机设备选择功能,对应的从设备地址与cpu主控制器1的mosi数据线发送的数据相同的从设备被选中,这样该设备开始进行正式一路转多从路spi传输。

其中,cpu主控制器1定义的用于从机设备选择的mosi数据传输位数n1,决定了整个系统中最多可容纳2n1个从设备。

(2)选定从机设备后,cpu主控制器1通过sck和mosi发送spi时钟和数据进行多从路spi输出模块3中具体输出路径选择,从机设备对cpu主控制器1发送的数据通过llatch锁存后,通过spi功能选择数据线lc:lb:la=001b进行从路具体spi输出路径选择,对应的从路地址与cpu主控制器1的mosi数据线发送的数据相同的从路spi输出被选中,这样该设备开始进行正式的spi写数据。

其中,cpu主控制器1定义的用于从路路径选择的mosi数据传输位数n2,决定了从路spi输出模块3中最多可选择输出2n2个spi从路。

(3)选定从路spi输出路径之后,cpu主控制器1开始通过sck和mosi发送spi时钟和数据进行特定从路的spi写数据,这里每个从路的spi写数据位数n3由cpu主控制器1决定。

这样一次完整的串行一路转多路spi写数据过程结束,从上述过程可以看出,一次完整的数据传输过程cpu主控制器需要的spi数据位数主要由三部分构成,分别为从设备选择位数n1,spi从路选择位数n2和每路的串行输出位数n3,即一次完整的串行一路转多路spi写数据有n1+n2+n3位数据构成。具体过程如图4所示。

二、串行转并行数据传输过程:

(1)首先主控制器通过sck和mosi发送spi时钟和数据进行多从机设备2中从机地址选择,从机设备对cpu主控制器1发送的数据通过llatch锁存后,通过spi功能选择数据线lc:lb:la=000b进行从机设备选择功能,对应的从设备地址与cpu主控制器1的mosi数据线发送的数据相同的从设备被选中,这样该设备开始进行正式一路转多从路spi传输。

其中,cpu主控制器1定义的用于从机设备选择的mosi数据传输位数n1,决定了整个系统中最多可容纳2n1个从设备。

(2)选定从机设备后,cpu主控制器1通过sck和mosi发送spi时钟和数据进行并行传输模块中ram地址选择,从机设备对cpu主控制器1发送的数据通过llatch锁存后,通过spi功能选择数据线lc:lb:la=011b进行并行传输ram寄存器地址功能选择,ram寄存器地址与cpu主控制器1的mosi数据线发送的数据相同的地址被选中,这样cpu主控制器1开始正式向该寄存器地址写数据。

其中,cpu主控制器1定义的用于选择ram寄存器地址的数据位数n4,决定了该ram寄存器最多可以有2n4个数据存储地址。

(3)ram地址选定后,cpu主控制器1通过sck和mosi发送spi时钟和数据进行并行传输模块中ram数据的写入过程,从机设备对cpu主控制器1发送的数据通过llatch锁存后,通过spi功能选择数据线lc:lb:la=100b进行并行传输ram寄存器写数功能,其中ram寄存器的数据位数n5由cpu主控制器1决定。

这样一次完整的串行转并行传输过程结束,从上述过程可以看出,一次完整的数据传输过程cpu主控制器需要的spi数据位数主要由三部分构成,分别为从设备选择位数n1,ram地址选择位数n4和ram数据位数n5,即一次完整的串行转并行写数据由n1+n4+n5位数据构成。具体过程如图5所示。

从上述过程可以看出,在本发明专利中,在统一的cpu主控制器1控制下,通过本发明专利提供的方式,从设备个数2n1,串行一路转多路从路个数2n2、从路spi输出位数n3,ram地址个数2n4和ram数据位数n5,在不改变外围接口和总线的情况下,通过cpu主控制器1可以实现任意扩展,这样每个从设备可以实现任意多路的spi总线输出,同时不同的spi总线控制中mosi数据位可以任意扩展;每个从设备可以实现任意多的ram地址以及任意位数长度的ram数据存储,完成串行转并行的大数据量存储。

当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1