一种串行外设接口装置以及系统的制作方法

文档序号:27893897发布日期:2021-12-08 19:04阅读:118来源:国知局
一种串行外设接口装置以及系统的制作方法

1.本实用新型涉及六线串行外设接口领域,涉及一种串行外设接口装置以及系统。


背景技术:

2.六线串行外设接口(quad serial peripheral interface,qspi)是motorola公司推出的一种高速的同步通信模块。该模块在基本的4线spi协议基础上,增加了2条io线,使得该模块在通信时可以在一个时钟周期内传输4个位数据,加快了数据传输的速率。在实际应用中,该模块多用于spi flash的读写,在使用时只需配置好通信参数即可进行通信,不需要cpu干预,从而提高了传输效率。在soc系统内存不够的情况下,可通过使用qspi接口模块读写外部spi flash内存的方法,达到拓展系统内存的效果。
3.在现有技术中,传统qspi接口模块对指令、参数等配置的寄存器没有分开读写指令与参数的存放,而是将指令和参数等配置都存放一个寄存器中。
4.现有技术仍存在如下缺陷:由于未在接口模块中分别配置指令寄存器和参数寄存器,无法对读写指令与参数进行分开存放,如果需要改变指令,需要把所有相关指令和参数的配置一起重新设置,这会增加用户代码操作的繁琐程度,大大降低通信效率。
5.因此,当前社会缺乏一种串行外设接口装置以及系统,以解决现有技术存在的上述缺陷。


技术实现要素:

6.针对现存的上述技术问题,本实用新型的目的在于提供一种串行外设接口装置以及系统,从而简化用户代码操作,进一步提高通信效率。
7.本实用新型在第一方面提供了一种串行外设接口装置,所述串行外设接口装置包括系统总线控制模块、时钟复位模块、接口控制模块、接口输入输出控制模块以及寄存器控制模块,其中,所述寄存器控制模块包括指令寄存器以及参数寄存器,所述系统总线控制模块、时钟复位模块以及寄存器控制模块依次通信连接,所述接口控制模块分别与所述系统总线控制模块、所述时钟复位模块、所述寄存器控制模块以及所述接口输入输出控制模块通信连接。
8.在本实用新型第一方面的一种可能的实现方式中,所述接口控制模块包括状态机、波特率发生器以及移位寄存器,所述状态机、所述波特率发生器以及所述移位寄存器分别与所述接口输入输出控制模块通信连接。
9.在本实用新型第一方面的一种可能的实现方式中,所述串行外设接口装置还包括两个第一引脚和四个第二引脚,所述两个第一引脚分别为单向输出的片选信号引脚和时钟信号引脚,所述第二引脚为双向传输引脚。
10.在本实用新型第一方面的一种可能的实现方式中,所述寄存器控制模块包括还数据分类单元,所述数据分类单元分别连接到所述指令寄存器和所述参数寄存器。
11.本实用新型在第二方面提供了一种串行外设接口系统,所述串行外设接口系统包
括:中央处理器、外部设备以及如前所述的串行外设接口装置,所述中央处理器、所述串行外设接口装置以及所述外部设备依次通信连接。
12.在本实用新型第二方面的一种可能的实现方式中,所述中央处理器通过系统总线通信连接到所述串行外设接口装置。
13.在本实用新型第二方面的一种可能的实现方式中,所述串行外设接口装置通过两个第一引脚和四个第二引脚通信连接到所述外部设备。
14.相比于现有技术,本实用新型实施例具有如下有益效果:
15.本实用新型提供了一种串行外设接口装置及系统,通过在该装置中分别配置指令寄存器和参数寄存器,对读写指令与参数进行分开存放从而简化用户代码操作,进一步提高通信效率。
16.进一步地,本实用新型提供的串行外设接口装置及系统还通过配置第一引脚和第二引脚提供了两种通讯模式,从而提升了模块的可用性,也扩展了flash指令的使用。
附图说明
17.下文将结合说明书附图对本实用新型进行进一步的描述说明,其中:
18.图1示出了本实用新型的串行外设接口装置的一个实施例的结构图;
19.图2示出了本实用新型的spi flash指令时序图的一个实施例的信号波形图;
20.图3示出了本实用新型的串行外设接口系统的一个实施例的结构图。
具体实施方式
21.下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型的部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。
22.具体实施例一
23.本实用新型在第一方面提供了一种串行外设接口装置。图1示出了本实用新型的串行外设接口装置的一个实施例的结构图。
24.如图1所示,串行外设接口装置12包括系统总线控制模块121、时钟复位模块122、寄存器控制模块123、接口控制模块124以及接口输入输出控制模块125。其中,系统总线控制模块121、时钟复位模块122以及寄存器控制模块123依次通信连接,所述接口控制模块125分别与所述系统总线控制模块121、所述时钟复位模块122、所述寄存器控制模块123以及所述接口输入输出控制模块125通信连接。
25.系统总线控制模块121用于将外部传输给串行外设接口装置12的总线信号转换为串行外设接口装置12内部可识别的信号。时钟复位模块122用于在需要进行时钟信号复位时产生复位信号,以使时钟信号复位。接口输入输出控制模块125用于将串行外设接口装置12内部产生的控制信号转换,并通过各个引脚输入或输出。
26.在需要读取操作同时高速运行时,由于各项读写操作的指令和参数都是不一样的,如果将指令和参数混合存放,那么每次读写操作都需要更新指令和参数,从而大大降低了通信效率。为了克服此问题,在本实施例中,寄存器控制模块123包括指令寄存器1231、参
数寄存器1232以及数据寄存器,其中,指令寄存器1231用于存储指令,参数寄存器1232用于存储与指令相关的各项指令参数,而数据寄存器用于存储待读取的数据或待写入的数据。在一个实施例中,寄存器控制模块包括还数据分类单元1233,所述数据分类单元1233分别连接到所述指令寄存器1231和所述参数寄存器1232。当对数据进行存储时,数据分类单元1233会对数据类型进行分类,以确定该数据是指令、指令参数还是待读取的数据或待写入的数据,当数据为指令时,将指令存储进指令寄存器1231中;当数据为指令参数时,将指令参数存储进参数寄存器1232中;当数据为待读取的数据或待写入的数据时,将数据存储进数据寄存器中。这样,当需要修改指令参数时,仅需在参数寄存器1232中修改对应指令参数即可,从而简化了用户代码操作,提升了效率。
27.接口控制模块124用于进行外部设备的访问配置、时钟产生、读写数据以及状态的切换。为实现上述功能,在接口控制模块124中配置有状态机1241、波特率发生器1242以及移位寄存器1243。其中,波特率发生器1242用于产生时钟,移位寄存器1243用于读写数据以及访问配置,而状态机1241则用于状态的切换。状态机1241、波特率发生器1242以及移位寄存器1243分别与所述接口输入输出控制模块125通信连接。
28.为了适配不同的spi flash通信协议,扩展通信方式以提升可用性,串行外设接口装置12需要能够配置不同的通信内容,以满足在不同通信协议下各指令的时序要求。为实现这一功能,在一个实施例中,串行外设接口装置12还包括两个第一引脚126和四个第二引脚127,所述第一引脚126为单向输出引脚,所述第二引脚127为双向传输引脚。当选用qspi模式进行数据传输时,两个第一引脚分别用于输出片选信号以及时钟信号,一个或多个第二引脚用于传输数据,从而实现数据的同步传输;而当四个第二引脚全部用于数据传输时,可以使能普通spi读写模式,向总线上写入串行外设接口装置12以及外部设备的地址和数据,串行外设接口装置12会启动spi通信,此前写入的地址将不会发送出去,只会发送写入的数据,若需要读取数据,可从数据寄存器中读出。
29.图2示出了本实用新型的spi flash指令时序图的一个实施例的信号波形图。参考图2,根据spi flash指令时序,第一数据段(图中

)为读写擦等flash厂家规定的指令,此段默认为1线发送;第二数据段图中

)为flash偏移地址,可选1

3个字节发送,可以选择1/2/4线发送;第三数据段(图中

)常用于对某些特定指令的参数项发送,固定为1个字节,可选1/2/4线发送,该数据段可以选择在第二数据段前或者第二数据段后发送;第四数据段(图中

)一般为空字节段,该指令用于在时钟频率较高的时候,给外部设备一点准备数据的时间,可选1

2个字节,可选1/2/4线发送,可以选择在第二数据段前或者第二数据段后发送;第五数据段(图中

)用于传输中央处理器读写外部设备里的内存数据或者寄存器数据,传输字节数根据总线要求而定,可选1/2/4线发送。在上述过程中,除了第一数据段外,其他数据段均为可选发送,即,可以发送也可以不发送。
30.在现有技术中,由于第一数据段是默认要选的,因此,需要连续发送第一数据段以持续进行读取操作。对此,本实用新型通过提供状态机,以与组合逻辑一起实现了连读功能。在使能连读以后,无需每次都发送指令段。串行外设接口装置12在第一数据段首次发送完以后,片选信号即拉高(无效),而等到片选信号再次拉低(有效)后,不需要再发送指令,可直接通过地址段读取出所需数据。
31.本实用新型提供了一种串行外设接口装置,通过在该装置中分别配置指令寄存器
和参数寄存器,对读写指令与参数进行分开存放从而简化用户代码操作,进一步提高通信效率;进一步地,本实用新型提供的串行外设接口装置还通过配置第一引脚和第二引脚提供了两种通讯模式,从而提升了模块的可用性,也扩展了flash指令的使用。
32.具体实施例二
33.本实用新型在第二方面提供了一种串行外设接口系统。图3示出了本实用新型的串行外设接口系统的一个实施例的结构图。如图3所示,该串行外设接口系统1包括中央处理器11、如前所述的串行外设接口装置12以及外部设备13。其中,中央处理器11、所述串行外设接口装置12以及所述外部设备13依次通信连接。
34.为了扩展可用的flash模块(外部设备13)类型,串行外设接口装置12可配置有六个引脚,其中,两个第一引脚126用于串行外设接口装置12向外部设备13发送片选信号和时钟信号,以实现同步传输,第二引脚127中的一个或多个引脚用于待读取和待写入的数据的传输。在一个实施例中,中央处理器11通过系统总线通信连接到所述串行外设接口装置12,串行外设接口装置12通过两个第一引脚和四个第二引脚通信连接到所述外部设备13。
35.串行外设接口装置12使用内存映射的工作模式,外部设备13的地址直接映射到系统内部地址空间,使用专属的基地址。用户在配置好串行外设接口装置12的读写指令格式后,只需要在ahb总线上发起读写操作即可。当在ahb总线上发起读写操作后,系统会通过读写的地址寻址到串行外设接口装置12,串行外设接口装置12再通过偏移地址对外部设备13内存进行读写,读写操作进行时,片选信号自动拉低(有效)。即中央处理器11开始通过串行外设接口装置12对外部设备13进行读写,在读写过程中,系统总线控制模块121将中央处理器11传输给串行外设接口装置12的总线信号转换为串行外设接口装置12内部可识别的信号。
36.具体地,首先根据转换后的信号开启时钟,通过接口控制模块124的波特率发生器1242配置该装置12的波特率,并通过状态机1241选择工作模式(qspi/spi);随后,通过寄存器控制模块123向移位寄存器1243写入指令、选择位宽,并选择是否在指令中加入第二数据段、第三数据段、第四数据段以及第五数据段;当指令包含第二数据段、第三数据段、第四数据段以及第五数据段时,根据上述数据段,通过接口输入输出控制模块125对外部设备13进行读/写/擦除操作,并根据预设的擦写时间令中央处理器进入等待,完成读/写/擦除操作。
37.其中,擦写操作根据所涉及到的内存空间不同,所消耗的时间也会不同。在现有技术中,等待写/擦操作结束期间往往通过不断的向外部设备13发送状态寄存器内容查询指令,确定当下外部设备13的擦写操作是否执行完毕。因为每个外部设备13都有一个出厂的理论上的内存擦写时间,在到达这个擦写时间之前,系统都需要不断查询,会消耗很多无用操作,进而消耗系统能耗。
38.对此,本实施例提供的串行外设接口系统1配置有一个可设置的擦写时间,用户可以在发起擦写操作前,写入本次操作理论上的擦写时间,并设置在此期间停掉中央处理器11。在串行外设接口装置12擦写指令发送完以后,片选信号拉高(无效),开始等待此前的计时倒数,只要计数不为零,串行外设接口装置12就在ahb总线上持续拉低hready信号,让中央处理器11等待总线可用;等到计数为零后,触发完成中断,提示用户擦写操作完成,放开hready信号,中央处理器11可继续运行。
39.本实用新型提供了一种串行外设接口系统,通过在该系统中分别配置指令寄存器
和参数寄存器,对读写指令与参数进行分开存放从而简化用户代码操作,进一步提高通信效率;进一步地,本实用新型提供的串行外设接口系统还通过配置第一引脚和第二引脚提供了两种通讯模式,从而提升了模块的可用性,也扩展了flash指令的使用。
40.以上所述的具体实施例,对本实用新型的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本实用新型的具体实施例而已,并不用于限定本实用新型的保护范围。特别指出,对于本领域技术人员来说,凡在本实用新型的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本实用新型的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1