CN107710184A - 具有少于八位的字节及可变分组大小的spi接口 - Google Patents

具有少于八位的字节及可变分组大小的spi接口 Download PDF

Info

Publication number
CN107710184A
CN107710184A CN201680039582.1A CN201680039582A CN107710184A CN 107710184 A CN107710184 A CN 107710184A CN 201680039582 A CN201680039582 A CN 201680039582A CN 107710184 A CN107710184 A CN 107710184A
Authority
CN
China
Prior art keywords
data
serial peripheral
peripheral unit
transmitting
synchronous serial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680039582.1A
Other languages
English (en)
Other versions
CN107710184B (zh
Inventor
凯文·基尔策
S·拉马纳坦
S·K·拉贾拉曼
贾斯廷·米尔克斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN107710184A publication Critical patent/CN107710184A/zh
Application granted granted Critical
Publication of CN107710184B publication Critical patent/CN107710184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明揭示了一种同步串行外围装置,其具有与数据输出线耦合的发射单元及与时钟线耦合的时钟单元。所述串行外围装置发射最少单个发射,其中在第一操作模式中,所述发射单元及所述时钟单元可配置以执行具有可被定义为介于一(1)位与八(8)位之间的数据长度的数据发射。

Description

具有少于八位的字节及可变分组大小的SPI接口
相关专利申请案
本申请案要求2015年7月15日申请的共同拥有的第62/192,773号美国临时专利申请案的优先权;所述申请案特此出于全部目的以引用的方式并入本文中。
技术领域
本发明涉及同步串行外围接口,特定地说,涉及一种具有少于8位的字节及可变分组大小的SPI接口。
背景技术
同步串行外围装置使用单独的数据线及时钟线,其中最小数据大小是8位。所述装置是微控制器中的常见接口外围装置。其还可在多个独立装置中使用,所述独立装置例如模/数转换器、数/模转换器、传感器装置、发射器与接收器及需要与微处理器或微控制器通信的任何其它类型的装置。
发明内容
根据实施例,一种同步串行外围装置可包括:发射单元,其与数据输出线耦合;及时钟单元,其与时钟线耦合,其中所述串行外围装置发射最少单个发射,其中在第一操作模式中,所述发射单元及所述时钟单元可配置以执行具有可定义为介于一(1)位与八(8)位之间的数据长度的数据发射。
根据又一实施例,所述同步串行外围装置可进一步包括与所述发射单元耦合的FIFO存储器,其中所述外围装置进一步可配置以在第二操作模式中操作,在所述第二操作模式中,发射由包括来自所述FIFO存储器的多个8位字的发射帧其后接着来自所述FIFO存储器的具有可定义为少于八(8)位的数据长度的单个数据发射字组成。根据又一实施例,配置寄存器中的单个位确定第一或第二操作模式是否在作用中。根据又一实施例,所述同步串行外围装置可进一步包括与数据输入线耦合的接收单元,其中所述串行外围装置经配置以接收可变位长度单个串行发射,其中在所述第一操作模式中,所述接收单元可配置以接收具有所述定义数据长度的数据发射。根据又一实施例,在所述第一操作模式中,配置寄存器中的多个位确定所述数据长度。根据又一实施例,在所述第二操作模式中,第一数目个特殊功能寄存器位确定连续8位字的数目,且在已发射所述连续8位字之后,第二数目个特殊功能寄存器位确定所述单个数据发射字的位的数目。根据又一实施例,在所述第一操作模式中,第一数目个特殊功能寄存器位确定所述数据长度,且在所述第二操作模式中,第二数目个特殊功能寄存器位确定连续8位字的数目,且所述第一数目个特殊功能寄存器位确定所述单个数据发射字的所述位的数目。根据又一实施例,单个特殊功能寄存器包括所述第一及第二数目个特殊功能寄存器位。根据又一实施例,所述同步串行外围装置可进一步包括控制在所述时钟线上发射的时钟信号的有限状态机。根据又一实施例,所述同步串行外围装置可进一步包括控制所述有限状态机的字节计数器及位计数器。根据又一实施例,所述位计数器控制所述发射单元。根据又一实施例,通过调整波特率、位数目及数据来仿真对每一数据位的PWM/曼彻斯特编码(Manchester encoding)而实现所需调制模式。根据又一实施例,所述同步串行外围装置可进一步包括从控制输入。根据又一实施例,所述同步串行外围装置可进一步包括单独的数据输入线及数据输出线。
根据另一实施例,一种微控制器可包括如上文所述的同步串行外围装置。
根据另一实施例,一种操作同步串行外围装置的方法可包括以下步骤:配置所述同步串行外围装置,以在第一发射模式中操作;将发射位宽度设置为少于8位的长度;将数据移到传送缓冲器中;其中在主模式中,在接收到所述数据之后,所述同步串行外围装置在数据线上发射数据,且在时钟线上发射相关联时钟信号,其中在所述数据线上发射少于8位的位数目,且在所述时钟线上发射少于8个时钟脉冲的数目。
根据所述方法的又一实施例,在从模式中,在时钟线上接收到来自主装置的时钟信号之后,所述同步外围装置在数据线上发射数据。根据所述方法的又一实施例,所述方法可进一步包括以下步骤:配置所述同步串行外围装置,以在第二发射模式中操作;设置8位字的数目,且将位宽度设置为少于8位的长度;将数据移到发射FIFO存储器中;其中在接收到触发之后,所述同步串行外围装置发射来自所述发射FIFO存储器的多个8位字,其后接着具有可定义为少于八(8)位的数据长度的单个数据发射字。根据所述方法的又一实施例,配置寄存器中的单个位确定第一或第二操作模式是否在作用中。根据所述方法的又一实施例,在控制寄存器中设置位产生所述触发。根据所述方法的又一实施例,所述方法可进一步包括:当在所述第一操作模式中时,接收具有所述发射位宽度的数据字,及当在所述第二操作模式中时,接收所述数个8位字及具有少于八位的长度的最后字,其中将每一经接收字传送到接收FIFO存储器中。根据所述方法的又一实施例,在所述第一操作模式中,配置寄存器中的多个位确定所述数据长度。根据所述方法的又一实施例,在所述第一操作模式中,第一数目个特殊功能寄存器位确定所述数据长度,且在第二操作模式中,第二数目个特殊功能寄存器位确定连续8位字的数目,且所述第一数目个特殊功能寄存器位确定所述单个数据发射字的位数目。根据所述方法的又一实施例,通过调整波特率、位数目及数据来仿真对每一数据位PWM/曼彻斯特编码以实现所需调制模式。
附图说明
图1展示同步串行外围模块的实施例的框图;
图2展示具有通过SPI接口耦合的主装置及多个从单元的系统;
图3展示常规SPI发射的时序图;
图4展示根据第一操作模式的具有少于八位的SPI发射的时序图;
图5展示根据第二操作模式的SPI发射的时序图;
图6展示用于电路内除错器/编程器的典型发射协议;
图7展示根据第一操作模式的仿真PWM/曼彻斯特编码的发射;
图8展示常规SPI模块的第一配置;
图9展示常规SPI模块的第二配置;及
图10展示根据各种实施例的包括SPI模块的微控制器的框图。
具体实施方式
如果发射器仅发送必需位,那么采用串行数据的RF发射的应用程序得以改进。当装置使用仅8位的字节可产生串行数据时,那么有时必须发射过多位(例如,32位或40位)而非最佳数目(例如,37位)。额外位增添所消耗的总能量,且缩短电池寿命。
图8及9展示可在微控制器中实施的典型SPI外围模块。此外围可在不同模式中操作,其中如图8中所示的正常模式使用与移位寄存器SPIxSR耦合的单个缓冲寄存器SPIxBUF,所述移位寄存器SPIxSR又与外部接脚SDO及SDI耦合。如图8及9中所示,移位寄存器操作为串行化器及解串行化器。通过预分频器产生时钟信号且提供控制逻辑以处置SDO、SDI及SCK接脚上的信号的传送协议。根据标准,第四接脚可用于从模式或帧同步。图9展示在增强模式中操作时的相同模块。现在FIFO接收与发射缓冲器耦合在缓冲寄存器SPIxBUF与移位寄存器SPIxSR之间。因此,用户可在无时序约束(等待状态)的情况下执行多次写入,这取决于FIFO大小。此外围通常由经存储器映射以容易在微控制内存取的特殊功能寄存器配置。然而,这些类型的SPI接口限于8位或16位的发射。当前,提供可变位长度串行发射的唯一方式是使用所谓的位碰撞(bit-banging)技术,所述技术需要中央处理器直接控制I/O端口及信号的时序,这显然引起显著软件额外开销。
需要经改进的更灵活的SPI接口,以在很大程度上自动处置具有可变数据宽度的串行发射。
根据各种实施例,可进一步增强如图8及9中所示的SPI模块。例如,可修改SPI数据串行化器及解串行化器,使得并非所发射的全部字节均需为8位长。为此,控制SPI外围的操作的特殊功能寄存器尤其是受控于(例如)控制特定设置的单个模式位或多个位。使用单个位BMODE允许两种模式。当BMODE=0时,指定总位计数,例如具有37位的长度的发射。可在特殊功能寄存器中设置实际长度。在此模式中,在发射多个8位字节之后,将最后字节(例如,在一个设置中第五字节)截断成必需长度。因此,将循序发射四个正常8位字及一个5位字以导致37位的发射。
当BMODE=1时,将每一字节截断成选定位计数。此模式允许将每一发射定义为由(例如)少于8位组成。然而,所述设置可介于1位到8位之间,其中8位设置等效于正常发射。
根据一个实施例,仅提供单个操作模式,其中此模式等效于BMODE=1。此实施例并不需要如下文用两操作模式实施例讨论的FIFO存储器,但是可与图8中所示的SPI外围类似实施。因此,代替FIFO,可提供单个发射缓冲寄存器及单个发射接收寄存器(类似于图8中所示的布置),而非图1中所示的FIFO多路复用器布置。
因此,根据各种实施例的SPI模块允许可变大小的数据传送。如上文提及,根据一个实施例,可存在经实施以实现可变传送大小的两种模式:
–模式1-可变分组大小模式。分组大小可(例如)介于9位到16391位之间。取决于实施方案可应用其它分组大小。
–模式2-可变字节大小模式。每一字节的大小可介于1位到8位之间。
使用位选择器,将FIFO数据直接多路发射到SDO输出上,且经由解串行化器及相关联接收FIFO来接收SDI输入信号以实现可变字节大小的有效率实施方案。另外,主模式有限状态机使用byte_count及bit_count信息以产生可变数目个SCK脉冲。图1展示根据实施例的同步串行外围装置100的框图。
第一解串行化器130接收串行SDI信号,且将并行8位信号转发到与N型深接收FIFO110耦合的第一多路复用器120。解串行化器130受控于位计数器150,所述位计数器150还控制输出时钟信号SCK的有限状态机160。有限状态机160进一步与字节计数器140耦合。N型深发射FIFO 170与将一8位并行信号输出到串行化器190的多路复用器180耦合,所述串行化器190的输出提供SDO信号。
截断字节且完成数据加载/存储操作的能力是以8位每字节执行,但是其需要特别考虑数据控制。特定地说,在维持连续数据时钟(RF发射的要求)时,极难以传送仅1位每字节。位计数器与有限状态机及发射器与接收器交互,以确保全部处于相同状态。
此同步串行外围装置在“主模式”中的操作可为如下。首先,除非如上文讨论那样仅单个模式可用,否则同步串行外围装置经配置以在两种操作模式中的一者中操作。在第一发射模式中,将发射位宽度设置为至多8位的长度。如果使用FIFO或传送缓冲器来接收数据,那么每一此传送可触发发射。在FIFO的情况中,外围将仅在FIFO中存在有效数据时传送。因此,在接收到数据之后,同步串行外围装置在数据线上发射数据,且在时钟线上发射相关联时钟信号,其中在数据线上发射可少于8位的位数目,且在时钟线上发射相关联数目个时钟脉冲。
此同步串行外围装置在“从模式”中的操作可为如下。首先,除非如上文讨论那样仅单个模式可用,否则同步串行外围装置经配置以在两种操作模式中的一者中操作。在第一发射模式中,将发射位宽度设置为至多8位的长度。假若FIFO中存在数据,那么外围将仅在一旦其接收到来自主装置的频率时传送。因此,在接收到来自主装置的频率之后,同步串行外围装置在数据线上发射数据,其中在数据线上发射可少于8位的位数目。
在第二发射模式中,首先将数个8位字及长度少于8位的位宽度编程到一或多个相应特殊功能寄存器中。接着,将数据移到发射FIFO存储器中,此取决于发射的总位长度可能需要多个数据传送。因此,在此操作模式中,同步串行外围装置发射来自发射FIFO存储器的多个8位字,其后接着具有可定义为少于八(8)位的数据长度的单个数据发射字。根据一个实施例,一旦FIFO中已接收到足够数据,传送便可自动开始。根据另一实施例,可由用户设置的配置寄存器中的单个位来确定传送的起始。
SPI在多个装置之间串行地传送数据。图2展示具有主装置210及多个从装置220、230的典型布置200。如图3的时序图中所示,在特定SCK边缘上改变串行输出数据且在下一SCK边缘上对数据进行采样。常规SPI系统逐字传送数据,其中字大小=数据总线宽度(8位MCU=>8位SPI字节)。一些系统还提供16位的数据传送宽度。
根据实施例,可实施分组大小选项,此提供当前在常规SPI接口中不可用的特征。
如图4中所示,根据特定可编程操作模式,SPI外围具有字节传送模式,其中每一传送涉及发送/接收一个字节。每一字节的大小可介于1位到8位之间。相应的特殊功能寄存器(SFR)控制此功能:此寄存器可例如由单个位BMODE编程,其中BMODE=1的设置用于字节模式,且此或另一特殊功能寄存器中的多个位(BITS)针对字节大小定义位数目。如图4中所示的实例:控制寄存器具有BMODE=1、BITS=3的设置。在此模式中,仅3个位(即最高有效位7、6及5)由每一写入传送到缓冲传送寄存器中。
如图5中所示,根据特定可编程操作模式,SPI外围还可具有分组传送模式。分组大小可介于9位到16391位之间。然而,如上文所述,取决于实施方案可应用其它大小。数个特殊功能寄存器(SFR)可用来控制设置。例如,位BMODE=0用以设置分组模式,位BYTES用以设置8位字节的数目,且位BITS用以设置最后字节的大小。此导致分组大小(以位数目计)=BYTES*8+BITS。如图5中所示的实例使用设置BMODE=0、BYTES=1及BITS=3,这导致11位操作模式。
如图6中所示,例如,微芯片电路内串行编程(ICSP)需要发送6位命令其后接着16位有效负载。可使用BMODE=1、BITS=6发送第一字节且可使用BMODE=1、BITS=0发送下两个字节。或者,此可使用具有BMODE=0、BYTES=2、BITS=6(分组大小=22位)的分组模式实现。此使某些微控制器能够用于微芯片PIC编程,此需要传送可变位长度字。
需要传送奇数个位的无线应用程序可受益于新颖分组模式。例如,应用程序可具有介于66位到192位之间的数据大小。如上文提及,先前此类应用程序将必须使用位碰撞来发送确切长度的分组以通过在无任何零填补额外开销的情况下关闭收发器而节省电力。与通过位碰撞方法所实现的时序准确度相比,新颖分组模式可有助于实现更高时序准确度。同样,无缝数据传送支持可改进总线利用率且进一步优化电力消耗。
如图7中所示,根据实施例的新颖SPI模块可容易用于要求对每一数据位的PWM/曼彻斯特编码的应用程序。例如,某些LED装置使用以下PWM编码来表示一个数据位。可调整波特率、位数目及数据以实现所需调制模式。
图10展示根据各种实施例的SPI模块在单芯片微控制器1000中的集成的实例。微控制器1000包括中央处理单元1010,其与程序快闪存储器1020及数据随机存取存储器1030耦合而实施哈佛架构(Harvard architecture)。然而,根据其它实施例,还可使用其它架构。内部系统总线1090将CPU 1010与多个外围装置1040a到1040n耦合。外围装置中的一者1050是根据如上文所述的各种实施例的SPI模块。其可具有多个配置寄存器1060、1070,所述多个配置寄存器1060、1070是微控制器1000的特殊功能寄存器且可经存储器映射到数据存储器1030。微控制器1000可具有在默认设置下操作为数字或模拟I/O端口1080的多个外部接脚。一些此类接脚1080可配置以如图10中所示般指派给SPI模块。例如,一个接脚CLK可经指派以发射或接收时钟信号,一个接脚SDI可用作串行数据输入接脚,一个接脚SDO可用作串行数据输出接脚,且一个接脚#SS可用作从选择或帧同步接脚。当启动SPI外围1050时,可使用至少接脚CLK及SDI或SDO。另外,特定地说,如果一个以上从单元经由相同总线通信,那么可使用CS接脚。通常,取决于应用程序,主装置可需要多个此类接脚,且因此这些接脚是简单I/O接口接脚且将由软件手动设置。然而,SPI接口模块1050的一些实施例可自动控制一或多个此类接脚。

Claims (24)

1.一种同步串行外围装置包括:发射单元,其与数据输出线耦合;及时钟单元,其与时钟线耦合,其中所述串行外围装置发射最少单个发射,其中在第一操作模式中,所述发射单元及所述时钟单元可配置以执行具有可被定义为介于一(1)位与八(8)位之间的数据长度的数据发射。
2.根据权利要求1所述的同步串行外围装置,其进一步包括经与所述发射单元耦合的FIFO存储器,其中所述外围装置进一步可配置以在第二操作模式中操作,在所述第二操作模式中,发射由包括来自所述FIFO存储器的多个8位字的发射帧、其后接着来自所述FIFO存储器的具有可定义为少于八(8)位的数据长度的单个数据发射字组成。
3.根据权利要求1或权利要求2所述的同步串行外围装置,其中配置寄存器中的单个位确定所述第一或第二操作模式是否在作用中。
4.根据前述权利要求中任一权利要求所述的同步串行外围装置,其进一步包括与数据输入线耦合的接收单元,其中所述串行外围装置经配置以接收可变位长度单个串行发射,其中在所述第一操作模式中,所述接收单元可配置以接收具有所述定义数据长度的数据发射。
5.根据前述权利要求中任一权利要求所述的同步串行外围装置,其中在所述第一操作模式中,配置寄存器中的多个位确定所述数据长度。
6.根据前述权利要求中任一权利要求所述的同步串行外围装置,其中在所述第二操作模式中,第一数目个特殊功能寄存器位确定连续8位字的数目,且在已发射所述连续8位字之后,第二数目个特殊功能寄存器位确定所述单个数据发射字的位计数。
7.根据前述权利要求中任一权利要求所述的同步串行外围装置,其中在所述第一操作模式中,第一数目个特殊功能寄存器位确定所述数据长度,且在所述第二操作模式中,第二数目个特殊功能寄存器位确定连续8位字的数目,且所述第一数目个特殊功能寄存器位确定所述单个数据发射字的所述位计数。
8.根据权利要求7所述的同步串行外围装置,其中单个特殊功能寄存器包括所述第一及第二数目个特殊功能寄存器位。
9.根据前述权利要求中任一权利要求所述的同步串行外围装置,其进一步包括控制在所述时钟线上发射的时钟信号的有限状态机。
10.根据前述权利要求中任一权利要求所述的同步串行外围装置,其进一步包括控制所述有限状态机的字节计数器及位计数器。
11.根据权利要求9所述的同步串行外围装置,其中所述位计数器控制所述发射单元。
12.根据前述权利要求中任一权利要求所述的同步串行外围装置,其中通过调整波特率、所述位计数及所述数据来仿真对每一数据位的PWM/曼彻斯特编码以实现所需调制模式。
13.根据前述权利要求中任一权利要求所述的同步串行外围装置,其进一步包括从控制输入。
14.根据前述权利要求中任一权利要求所述的同步串行外围装置,其进一步包括单独的数据输入线及数据输出线。
15.一种微控制器,其包括根据前述权利要求中任一权利要求所述的同步串行外围装置。
16.一种操作同步串行外围装置的方法,所述方法包括以下步骤:
配置所述同步串行外围装置,以在第一发射模式中操作;
将发射位宽度设置为少于8位的长度;
将数据移到传送缓冲器中;
其中在主模式中,在接收到所述数据之后,所述同步串行外围装置在数据线上发射数据,且在时钟线上发射相关联时钟信号,其中在所述数据线上发射少于8位的位计数,且在在所述时钟线上发射少于8个时钟脉冲的数目。
17.根据权利要求16所述的方法,其中在从模式中,在时钟线上接收到来自所述主装置的时钟信号之后,所述同步外围装置在数据线上发射数据。
18.根据权利要求16或权利要求17所述的方法,其进一步包括以下步骤:
配置所述同步串行外围装置,以在第二发射模式中操作;
设置8位字的数目,且将位宽度设置为少于8位的长度;
将数据移到发射FIFO存储器中;
其中在接收到触发之后,所述同步串行外围装置发射来自所述发射FIFO存储器的多个8位字,其后接着具有可定义为少于八(8)位的数据长度的单个数据发射字。
19.根据权利要求18所述的方法,其中配置寄存器中的单个位确定所述第一或第二操作模式是否在作用中。
20.根据权利要求18或权利要求19所述的方法,其中在控制寄存器中设置位产生所述触发。
21.根据权利要求18所述的方法,其进一步包括:
当在所述第一操作模式中时,接收具有所述发射位宽度的数据字,及
当在所述第二操作模式中时,接收所述数个8位字及具有少于八位的长度的最后字,其中将每一经接收字传送到接收FIFO存储器中。
22.根据权利要求16到21中任一权利要求所述的方法,其中在所述第一操作模式中,配置寄存器中的多个位确定所述数据长度。
23.根据权利要求18到22中任一权利要求所述的方法,其中在所述第一操作模式中,第一数目个特殊功能寄存器位确定所述数据长度,且在所述第二操作模式中,第二数目个特殊功能寄存器位确定连续8位字的数目,且所述第一数目个特殊功能寄存器位确定所述单个数据发射字的位计数。
24.根据权利要求16到24中任一权利要求所述的方法,其中通过调整波特率、所述位计数及所述数据来仿真对每一数据位的PWM/曼彻斯特编码以实现所需调制模式。
CN201680039582.1A 2015-07-15 2016-07-14 具有少于八位的字节及可变分组大小的spi接口 Active CN107710184B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562192773P 2015-07-15 2015-07-15
US62/192,773 2015-07-15
US15/209,467 US20170017584A1 (en) 2015-07-15 2016-07-13 SPI Interface With Less-Than-8-Bit Bytes And Variable Packet Size
US15/209,467 2016-07-13
PCT/US2016/042196 WO2017011621A1 (en) 2015-07-15 2016-07-14 Spi interface with less-than-8-bit bytes and variable packet size

Publications (2)

Publication Number Publication Date
CN107710184A true CN107710184A (zh) 2018-02-16
CN107710184B CN107710184B (zh) 2021-12-03

Family

ID=56550385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680039582.1A Active CN107710184B (zh) 2015-07-15 2016-07-14 具有少于八位的字节及可变分组大小的spi接口

Country Status (6)

Country Link
US (1) US20170017584A1 (zh)
EP (1) EP3323051B1 (zh)
KR (1) KR20180030511A (zh)
CN (1) CN107710184B (zh)
TW (1) TW201717033A (zh)
WO (1) WO2017011621A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2539445A (en) * 2015-06-16 2016-12-21 Nordic Semiconductor Asa Data processing
US10490238B2 (en) * 2017-06-29 2019-11-26 SK Hynix Inc. Serializer and memory device including the same
IT201800002767A1 (it) * 2018-02-16 2019-08-16 St Microelectronics Srl Circuito per il pilotaggio di led, dispositivo e procedimento corrispondenti
CN110471865B (zh) * 2019-08-15 2021-04-02 绵阳市维博电子有限责任公司 一种模拟spi通信实现控制器与驱动器通信的方法
CN113204507A (zh) * 2021-04-25 2021-08-03 山东英信计算机技术有限公司 一种通用输入输出数据传输方法、装置、设备及介质
CN114036088A (zh) * 2021-11-16 2022-02-11 深圳市创成微电子有限公司 一种dsp数据存储控制架构和方法
TWI818834B (zh) * 2022-12-16 2023-10-11 新唐科技股份有限公司 微控制器及應用其之序列周邊介面系統

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728718A (zh) * 2004-07-27 2006-02-01 邓里文 一种用于因特网与准同步数字体系融合的适配方法
CN103324597A (zh) * 2012-03-23 2013-09-25 美国亚德诺半导体公司 在高速串行数字接口的通道之间平衡歪斜失真的方案
CN103701663A (zh) * 2013-12-25 2014-04-02 北京航天测控技术有限公司 一种1553b总线程控故障注入装置
TWI464595B (zh) * 2010-09-27 2014-12-11 Skyworks Solutions Inc 動態可組態串列資料通訊介面

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809232A (en) * 1986-12-16 1989-02-28 The United States Of America As Represented By The United States Department Of Energy High speed, very large (8 megabyte) first in/first out buffer memory (FIFO)
EP0423979B1 (en) * 1989-10-20 1997-07-09 Sony Corporation High definition video signal recording systems
US6324120B2 (en) * 1990-04-18 2001-11-27 Rambus Inc. Memory device having a variable data output length
US5673396A (en) * 1994-12-16 1997-09-30 Motorola, Inc. Adjustable depth/width FIFO buffer for variable width data transfers
US6279052B1 (en) * 1998-01-13 2001-08-21 Intel Corporation Dynamic sizing of FIFOs and packets in high speed serial bus applications
FR2775091B1 (fr) * 1998-02-16 2000-04-28 Matra Communication Procede de transfert de donnees en serie, et interface de bus serie synchrone mettant en oeuvre un tel procede
US6169501B1 (en) * 1998-09-23 2001-01-02 National Instruments Corp. Adjustable serial-to-parallel or parallel-to-serial converter
CN1895899A (zh) * 1999-10-04 2007-01-17 精工爱普生株式会社 喷墨式记录装置、半导体装置及记录头装置
US6577649B1 (en) * 1999-11-12 2003-06-10 International Business Machines Corporation Multiplexer for asynchronous data
KR100800373B1 (ko) * 2000-08-25 2008-02-04 코닌클리케 필립스 일렉트로닉스 엔.브이. 디지털 입력신호의 워드 길이를 축소하는 방법 및 장치와, 그 디지털 입력신호를 회복시키는 방법 및 장치
US6959316B2 (en) * 2001-02-01 2005-10-25 Nokia Mobile Phones Limited Dynamically configurable processor
US7220908B2 (en) * 2002-09-12 2007-05-22 Yamaha Corporation Waveform processing apparatus with versatile data bus
US7379467B1 (en) * 2003-05-08 2008-05-27 Cypress Semiconductor Corporation Scheduling store-forwarding of back-to-back multi-channel packet fragments
US7315549B2 (en) * 2003-07-24 2008-01-01 Intel Corporation Formatting data for a buffer
JP4356984B2 (ja) * 2004-02-24 2009-11-04 株式会社デンソー 車載センサデータ伝送装置
US7430624B2 (en) * 2005-10-04 2008-09-30 International Business Machines Corporation High speed on-chip serial link apparatus and method
US20080005434A1 (en) * 2006-06-02 2008-01-03 Macronix International Co., Ltd. Method and Apparatus for Communicating Data Over Multiple Pins of A Multi-Mode Bus
JP5108261B2 (ja) * 2006-07-11 2012-12-26 株式会社リコー 情報処理装置およびデータ通信装置
TW200839530A (en) * 2007-03-20 2008-10-01 Via Tech Inc Dynamic switching between multiplexed interfaces LPC and SPI
US7984177B2 (en) * 2007-04-30 2011-07-19 Vixs Systems, Inc. Multimedia client/server system with adjustable packet size and methods for use therewith
US20090138638A1 (en) * 2007-11-27 2009-05-28 Microsoft Corporation Serial Peripheral Interface for a Transceiver Integrated Circuit
US20090310489A1 (en) * 2008-06-17 2009-12-17 Bennett Andrew M Methods and apparatus using a serial data interface to transmit/receive data corresponding to each of a plurality of logical data streams
US9250299B1 (en) * 2009-08-28 2016-02-02 Cypress Semiconductor Corporation Universal industrial analog input interface
US8631265B2 (en) * 2010-12-13 2014-01-14 Oracle International Corporation Synchronization circuit that facilitates multiple parallel reads and writes
US8824535B2 (en) * 2012-05-22 2014-09-02 Blackberry Limited System and method for transmitting data through a digital interface
US9658971B2 (en) * 2013-09-11 2017-05-23 Nxp Usa, Inc. Universal SPI (serial peripheral interface)
US9780938B2 (en) * 2015-06-25 2017-10-03 Intel IP Corporation Patch download with improved acknowledge mechanism

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728718A (zh) * 2004-07-27 2006-02-01 邓里文 一种用于因特网与准同步数字体系融合的适配方法
TWI464595B (zh) * 2010-09-27 2014-12-11 Skyworks Solutions Inc 動態可組態串列資料通訊介面
CN103324597A (zh) * 2012-03-23 2013-09-25 美国亚德诺半导体公司 在高速串行数字接口的通道之间平衡歪斜失真的方案
CN103701663A (zh) * 2013-12-25 2014-04-02 北京航天测控技术有限公司 一种1553b总线程控故障注入装置

Also Published As

Publication number Publication date
EP3323051B1 (en) 2023-03-29
WO2017011621A1 (en) 2017-01-19
US20170017584A1 (en) 2017-01-19
TW201717033A (zh) 2017-05-16
EP3323051A1 (en) 2018-05-23
CN107710184B (zh) 2021-12-03
KR20180030511A (ko) 2018-03-23

Similar Documents

Publication Publication Date Title
CN107710184A (zh) 具有少于八位的字节及可变分组大小的spi接口
KR100582386B1 (ko) 출력 및 입력 패킷 프로세싱 통신 장치, 트랜시버 유닛, 버퍼 시스템, 베이스밴드 시스템, 및 버퍼 시스템에 데이터를 저장하는 방법
CN102801744B (zh) 一种通信方法及系统
CN103222234B (zh) 具有灵活信道绑定的可缩放互连模块
CN106462516A (zh) 由多协议设备共享的可动态地调节的多线总线
CN101551786B (zh) 波特率自适应串行通信中继器的制作方法
CN101911000A (zh) 用于连接电子装置的控制总线
WO2006117751A3 (en) Programming parallel i2c slave devices from a single i2c data stream
CN101794152B (zh) 具有lvds串行接口的嵌入式控制器及其控制方法
CN106776408B (zh) 一种arm处理器与fpga双向数据传输的实现方法
Blessington et al. Optimal implementation of UART-SPI Interface in SoC
CN103795517A (zh) 可缩放多功能串行链路接口
CN106250340A (zh) 一种硬件控制电路及其控制方法
CN104798010A (zh) 至少部分的串行存储协议兼容帧转换
CN105094037B (zh) 用于使用通用串行总线通信的可编程逻辑控制器的扩展模块
KR20120017286A (ko) 얼라인먼트 장치 및 방법
CN215868585U (zh) 显示屏控制板卡及显示屏控制系统
CN206757602U (zh) 一种基于SoC支持多个SPI接口标准组的装置
CN103701712A (zh) 一种将多个e1线路绑定且实现逻辑通道分离的方法
CN103516815A (zh) 并行接口时序控制装置
EP1424871B1 (en) Method and apparatus capable of transferring very high data rates across a midplane or backplane
CN110782828A (zh) 显示装置
CN106066839B (zh) 一种基于通道标记的数据传输装置
CN105488010A (zh) 一种背板实时同步接口协议
CN111818699B (zh) 一种rgb-led光源的控制方法和控制电路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant