Spi从设备及spi通信系统的制作方法

文档序号:10351947阅读:1753来源:国知局
Spi从设备及spi通信系统的制作方法
【技术领域】
[0001]本实用新型涉及数据传输技术领域,特别涉及一种SPI从设备及SPI通信系统。
【背景技术】
[0002]传统的基于SPI (Serial Peripheral Interface,串行外设接口)协议的SPI从设备(Slave device)与SPI主设备(Master device)进行通信时,存在以下缺陷:
[0003]—、工作模式单一,基于SPI协议的SPI从设备在传输小批量数据与传输大批量数据时使用相同的工作方式,使得SPI从设备要么缺乏效率,要么缺乏灵活性;
[0004]二、SPI从设备可供SPI主设备访问的存储空间比较小,仅有16M;
[0005]三、若SPI从设备中使用两个不同时钟信号时,使用异步FIFO(先入先出)缓冲器会致使结构复杂,比较难以控制,且有延迟,传输数据速率低;
[0006]四、SPI主设备和SPI从设备间进行通信时,没有工作安全保证和传输安全保证,容易造成SPI从设备中数据丢失或被破坏、传输数据错误;另一方面,传统的SPI从设备不支持预存储数据和实际存储数据的校验,保证不了数据传输的完整性。
【实用新型内容】
[0007]本实用新型的目的在于提供一种SPI从设备及SPI通信系统,以解决上述技术问题。
[0008]其中,所述SPI从设备包括:SPI控制器及存储模块;所述SPI控制器用以与一SPI主设备进行数据传输,所述SPI控制器支持以数据模式或命令模式与所述SPI主设备进行数据传输,其中,所述数据模式以第一数据量进行数据传输,所述命令模式以第二数据量进行数据传输,所述第一数据量大于第二数据量;所述存储模块用以存储数据。
[0009]本实用新型还提供一种SPI通信系统,所述SPI通信系统包括:一个SPI主设备及一个或者多个如前所述的SPI从设备,其中,每一个SPI从设备均与所述SPI主设备连接。
[0010]在本实用新型提供的SPI从设备及SPI通信系统中,所述SPI从设备可以在数据模式和命令模式两种数据传输模式中选择一种进行工作,从而实现SPI主设备对SPI从设备不同存储空间的访问。特别的,在数据模式下,可实现SPI主设备对SPI从设备扩展至4G的存储空间的访问和实现大批量数据传输;而在命令模式下,可实现SPI主设备对SPI从设备不扩展的存款空间的访问和实现小批量数据传输,克服了传统SPI从设备工作模式单一和SPI从设备可供主设备访问的存储空间小的问题。
【附图说明】
[0011]图1为本实用新型实施例的SPI从设备的系统架构示意图;
[0012]图2为本实用新型实施例的SPI控制器的结构示意图;
[0013]图3为本实用新型实施例的SPI控制器的功能层中的状态控制寄存器文件的结构示意图;
[0014]图4为本实用新型实施例的SPI控制器的协议层中的指令寄存器文件的结构示意图;
[0015]图5为本实用新型实施例的SPI控制器支持的READ_ID指令时序图;
[0016]图6为本实用新型实施例的SPI控制器支持的READ指令时序图;
[0017]图7为本实用新型实施例的SPI控制器支持的WRITE指令时序图;
[0018]图8为本实用新型实施例的SPI主设备与SPI从设备数据传输的流接口的时序示意图;
[0019]图9为本实用新型实施例的数据模式下SPI主设备读写SPI从设备的指令流示意图;
[0020]图10为本实用新型实施例的命令模式下SPI主设备读写SPI从设备的指令流示意图。
【具体实施方式】
[0021]以下结合附图和具体实施例对本实用新型提出的SPI从设备及SPI通信系统作进一步详细说明。根据下面说明和权利要求书,本实用新型的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本实用新型实施例的目的。
[0022]【SPI从设备】
[0023]请参考图1,其为本实用新型实施例的SPI从设备的系统框架示意图。如图1所示,所述SPI从设备I包括:SPI控制器10及存储模块20;所述SPI控制器10用以与一 SPI主设备2进行数据传输,所述SPI控制器10支持以数据模式或命令模式与所述SPI主设备2进行数据传输,其中,所述数据模式以第一数据量进行数据传输,所述命令模式以第二数据量进行数据传输,所述第一数据量大于第二数据量;所述存储模块20用以存储数据。
[0024]在本申请实施例中,所述SPI从设备I还包括主控单元(CPU/Μ⑶)30、直接内存访问控制器(DMAC)40以及系统总线桥接设备50,其中,所述SPI控制器10、存储模块20、主控单元30以及直接内存访问控制器40均与所述系统总线桥接设备50连接。所述主控单元30和直接内存访问控制器40通过所述系统总线桥接设备50能够与所述SPI控制器10进行通信,并进一步控制所述SPI控制器10与所述SPI主设备2之间的数据传输。
[0025]在本申请实施例中,所述存储模块20用以存储数据,具体的,用以存储所述SPI控制器10向所述SPI主设备2发送的数据;或者所述SPI控制器10从所述SPI主设备2接收的数据。在本申请实施例中,所述存储模块20包括内存控制器21以及与所述内存控制器21连接的片上内存(On Chip SRAM)22;在本申请的其他实施例中,所述存储模块20还可进一步包括外部主内存(图1中未示出),所述外部主内存与所述内存控制器21连接。
[0026]在本申请实施例中,通过所述SPI控制器10支持以数据模式或命令模式与所述SPI主设备2进行数据传输,其中,所述数据模式以第一数据量进行数据传输,所述命令模式以第二数据量进行数据传输,所述第一数据量大于第二数据量,也即使得所述SPI从设备I能够在传输小批量数据与传输大批量数据时使用不相同的工作方式,即传输大批量数据时可以采用数据模式,采用小批量数据时可以采用命令模式,由此使得所述SPI从设备I能够灵活的进行数据传输。
[0027]接下去,请参考图2,其为本实用新型实施例的SPI控制器的结构示意图。在本申请实施例中,所述SPI控制器10包括信号层100、与所述信号层100连接的协议层110、以及与所述协议层110连接的功能层120。其中,所述信号层100主要用以与所述SPI主设备2进行数据传输;所述协议层110主要用以解析控制数据传输的指令以及实现信号层100与功能层120之间的数据传输;所述功能层120主要用以与所述存储模块20进行数据传输。接下去,将对所述信号层100、协议层110及功能层120做进一步描述。
[0028]信号层
[0029]请继续参考图2,在本申请实施例中,所述信号层100包括发送移位寄存器101以及与所述发送移位寄存器101连接的发送缓冲器102,所述发送移位寄存器101和发送缓冲器102组成发送模块,以向SPI主设备2发送数据。在本申请实施例中,所述信号层100还包括接收移位寄存器103以及与所述接收移位寄存器103连接的接收缓冲器104,所述接收移位寄存器103和接收缓冲器104组成接收模块,以接收SPI主设备2发送的数据。
[0030]在本申请实施例中,通过所述发送缓冲器102及接收缓冲器104缓冲发送和接收的数据,由此,增加所述发送移位寄存器101和接收移位寄存器103发送和接收数据的速度。具体的,当所述SPI控制器10发送数据时,首先将部分待发送数据存储到发送缓冲器102中,接着,再通过发送移位寄存器101向SPI主设备2发送数据,由此能够提高所述发送移位寄存器101发送数据的速度;当所述SPI控制器10接收数据时,首先接收移位寄存器103接收来自SPI主设备2的数据,接着,接收移位寄存器103将接收到的数据发送给接收缓冲器104,由此接收移位寄存器103又可马上接收下一批数据,从而提高了所述接收移位寄存器103接收数据的速度。
[0031]进一步的,所述信号层100还包括与发送缓冲器102和接收缓冲器104连接的异步时钟域控制器105以及与发送移位寄存器101和接收移位寄存器103连接的SPI时序控制器106;其中,所述异步时钟域控制器105用以对发送的数据或者接收的数据进行时钟域转换;所述SPI时序控制器106用以对发送的数据或者接收的数据进行时序控制。通过所述异步时钟域控制器105和SPI时序控制器106保证所述SPI控制器10发送和接收的数据的准确性。
[0032]具体的,当接收数据时:
[0033 ] SPI主设备2通过MOSI信号线输出的比特(b i t)数据在SPI时序控制器106的控制下,依次串行传输至接收移位寄存器103,接收移位寄存器103接收串行传输的多个比特(bit)数据满存后,仍在SPI时序控制器106的控制下,将接收移位寄存器103存储的数据并行传输至接收缓冲器104,接收缓冲器104在异步时钟域控制器105的控制下,将接收缓冲器104接收的并行数据通过流接口传输至协议层110。
[0034]当发送数据时:
[0035]协议层110通过流接口输出的数据在异步时钟域控制器105的控制下,依次并行传输至发送缓冲器102,发送缓冲器102接收的并行数据在SPI时序控制器106的控制下,转成串行方式传输至发送移位寄存器101后,发送移位寄存器101接收的串行数据仍在SPI时序控制器106的控制下,通过MISO信号线以比特(bit)数据传输至SPI主设备2。
[0036]上述过程实现了 SPI主设备2和信号层100中的发送移位寄存器101、发送缓冲器102之间的无缝数据传输;以及SPI主设备2和信号层100中的接收移位寄存器103、接收缓冲器104之间的无缝数据传输。
[0037]此外,在本申请实施例中,所述异步时钟域控制器105利用信号层100串并数据转换传输时,接收缓冲器104接收下一个并行数据的时钟空隙或发送缓冲器102输出下一个并行数据的时钟空隙,达成并行数据的异步时钟域的转换。经过上述周期循环,所述信号层100实现了SPI从设备I与SPI主设备2的通信。
[0038]信号层100实现了SPI从设备I与SPI主设备2之间的数据传输,但是,具体的数据传输方式将主要通过协议层110对SPI主设备2所发送的指令的解析而予以控制。
[0039]协议层
[0040]请继续参考图2,在本申请实施例中,所述协议层110主要包括指令寄存器文件111、指令解码器112以及逻辑控制器113,其中,所述指令寄存器文件111用以存储指令信息;所述指令解码器112用以解码指令以及实现信号层100和功能层120之间的数据传输;所述逻辑控制器113用以对解码指令得到的指令信息进行逻辑判断。
[0041]其中,所述指令寄存器文件111所存储的指令信息包括:指令解码器112解码得到的指令信息、逻辑控制器1113对解码指令得到的指令信息进行逻辑判断后的相关指令信息、以及功能层120输出的指令信息。具体的,请参考图4,其为本实用新型实施例的SPI控制器的协议层中的指令寄存器文件的结构示意图。如图4所示,在本申请实施例中,所述指令寄存器文件111具体包括:用以存储地址信息的地址
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1