CN107710184B - 具有少于八位的字节及可变分组大小的spi接口 - Google Patents
具有少于八位的字节及可变分组大小的spi接口 Download PDFInfo
- Publication number
- CN107710184B CN107710184B CN201680039582.1A CN201680039582A CN107710184B CN 107710184 B CN107710184 B CN 107710184B CN 201680039582 A CN201680039582 A CN 201680039582A CN 107710184 B CN107710184 B CN 107710184B
- Authority
- CN
- China
- Prior art keywords
- data
- bit
- serial peripheral
- mode
- bits
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus 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
相关专利申请案
本申请案要求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 (25)
1.一种同步串行外围装置, 包括:
发射单元,其与数据输出线耦合;及时钟单元,其与时钟线耦合,所述时钟线经配置以与时钟同步地输出数据,
其中所述同步串行外围装置经配置以发射最少单个发射,
其中在第一操作模式中,所述发射单元及所述时钟单元可配置以执行具有动态地可选择的n位字数据长度的数据发射,所述数据长度通过控制寄存器能够在1≤n≤8的范围内的每一n位长度之间进行选择,其中所述单个发射仅包括具有所述动态地可选择的字数据长度和相关联的时钟脉冲的数量的所述输出数据。
2.根据权利要求1所述的同步串行外围装置,其进一步包括经与所述发射单元耦合的FIFO存储器,其中所述外围装置进一步可配置以在第二操作模式中操作,在所述第二操作模式中,发射由包括来自所述FIFO存储器的多个8位字的发射帧、其后接着来自所述FIFO存储器的具有可定义为少于八(8)位的字数据长度的单个数据发射字组成。
3.根据权利要求2所述的同步串行外围装置,其中配置寄存器中的单个位确定所述第一操作模式或所述第二操作模式是否在作用中。
4.根据权利要求1或权利要求2所述的同步串行外围装置,其进一步包括与数据输入线耦合的接收单元,其中所述串行外围装置经配置以接收可变位长度单个串行发射,其中在所述第一操作模式中,所述接收单元可配置以接收具有所述字数据长度的字数据发射。
5.根据权利要求1或权利要求2所述的同步串行外围装置,其中在所述第一操作模式中,配置寄存器中的多个位确定所述字数据长度。
6.根据权利要求2所述的同步串行外围装置,其中在所述第二操作模式中,第一数目个特殊功能寄存器位确定连续8位字的数目,且在已发射所述连续8位字之后,第二数目个特殊功能寄存器位确定所述单个数据发射字的位计数。
7.根据权利要求2所述的同步串行外围装置,其中在所述第一操作模式中,第一数目个特殊功能寄存器位确定用于每一发射的所述字数据长度,且在所述第二操作模式中,第二数目个特殊功能寄存器位确定连续8位字的数目,且所述第一数目个特殊功能寄存器位确定所述单个数据发射字的位计数。
8.根据权利要求7所述的同步串行外围装置,其中单个特殊功能寄存器包括所述第一及第二数目个特殊功能寄存器位。
9.根据权利要求1或权利要求2所述的同步串行外围装置,其进一步包括控制在所述时钟线上发射的时钟信号的有限状态机。
10.根据权利要求9所述的同步串行外围装置,其进一步包括控制所述有限状态机的字节计数器及位计数器。
11.根据权利要求10所述的同步串行外围装置,其中所述位计数器控制所述发射单元。
12.根据权利要求1或权利要求2所述的同步串行外围装置,其中通过调整波特率、位计数及由所述同步串行外围装置输入的数据来仿真对每一数据位的PWM/曼彻斯特编码以实现所需调制模式。
13.根据权利要求1或权利要求2所述的同步串行外围装置,其进一步包括从控制输入。
14.根据权利要求1或权利要求2所述的同步串行外围装置,其进一步包括单独的数据输入线及数据输出线。
15.一种微控制器,其包括根据前述权利要求中任一权利要求所述的同步串行外围装置。
16.一种操作同步串行外围装置的方法,所述方法包括以下步骤:
配置所述同步串行外围装置,以在第一发射模式中操作;
将寄存器中的发射位宽度设置为n位长度,所述长度能够在1≤n≤8的范围内的每一n位长度之间进行选择;
将数据移到传送缓冲器中;
其中在主模式中,在接收到所述数据之后,所述同步串行外围装置在数据线上发射数据,且在时钟线上发射相关联同步时钟信号,其中在所述数据线上发射少于8位的位计数,且在所述时钟线上发射少于8个时钟脉冲的数目。
17.根据权利要求16所述的方法,其中在从模式中,在时钟线上接收到来自主装置的时钟信号之后,所述同步外围装置在数据线上发射数据。
18.根据权利要求16或权利要求17所述的方法,其进一步包括以下步骤:
配置所述同步串行外围装置,以在第二发射模式中操作;
设置8位字的数目,且将位宽度设置为少于8位的长度;
将数据移到发射FIFO存储器中;
其中在接收到触发之后,所述同步串行外围装置发射来自所述发射FIFO存储器的多个8位字,其后接着具有可定义为少于八(8)位的字数据长度的单个数据发射字。
19.根据权利要求18所述的方法,其中配置寄存器中的单个位确定所述第一发射模式或所述第二发射模式是否在作用中。
20.根据权利要求18所述的方法,其中在控制寄存器中设置位产生所述触发。
21.根据权利要求18所述的方法,其进一步包括:
当在所述第一发射模式中时,接收具有所述发射位宽度的数据字,及
当在所述第二发射模式中时,接收所述8位字的所述数目及具有少于八位的长度的最后字,其中将每一经接收字传送到接收FIFO存储器中。
22.根据权利要求18所述的方法,其中在所述第一发射模式中,配置寄存器中的多个位确定所述字数据长度。
23.根据权利要求21所述的方法,其中在所述第一发射模式中,第一数目个特殊功能寄存器位确定用于每一发射的所述字数据长度,且在所述第二发射模式中,第二数目个特殊功能寄存器位确定连续8位字的数目,且所述第一数目个特殊功能寄存器位确定所述单个数据发射字的位计数。
24.根据权利要求16或权利要求17所述的方法,其中通过调整波特率、位计数及由所述同步串行外围装置输入的数据来仿真对每一数据位的PWM/曼彻斯特编码以实现所需调制模式。
25.一种同步串行外围装置,其包括:
发射单元,其与数据输出线耦合;及时钟单元,其与时钟线耦合,所述时钟线经配置以与时钟同步地输出数据,
其中所述同步串行外围装置经配置以发射最少单个发射,
其中在第一操作模式中,所述发射单元及所述时钟单元可配置以执行具有动态地可选择的n位字数据长度的数据发射,所述数据长度通过控制寄存器能够在1≤n≤8的范围内的每一n位长度之间进行选择,其中所述数据发射由n个数据位和n个相关联的时钟脉冲组成,其中所述单个发射仅包括具有所述动态地可选择的字数据长度和相关联的时钟脉冲的数量的所述输出数据。
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 CN107710184A (zh) | 2018-02-16 |
CN107710184B true 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 (9)
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通信实现控制器与驱动器通信的方法 |
CN112445742A (zh) * | 2019-09-04 | 2021-03-05 | 北京君正集成电路股份有限公司 | 一种地址宽度自动识别的方法 |
CN111625487B (zh) * | 2020-04-17 | 2024-05-31 | 惠州市德赛西威汽车电子股份有限公司 | 一种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)
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)
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 |
AU2001282098A1 (en) * | 2000-08-25 | 2002-03-04 | Koninklijke Philips Electronics N.V. | Method and apparatus for reducing the word length of a digital input signal and method and apparatus for recovering the digital input signal |
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 |
US8060681B2 (en) * | 2007-11-27 | 2011-11-15 | Microsoft Corporation | Interface protocol and API for a wireless transceiver |
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 |
-
2016
- 2016-07-13 US US15/209,467 patent/US20170017584A1/en not_active Abandoned
- 2016-07-14 WO PCT/US2016/042196 patent/WO2017011621A1/en active Application Filing
- 2016-07-14 KR KR1020187000736A patent/KR20180030511A/ko unknown
- 2016-07-14 EP EP16742533.9A patent/EP3323051B1/en active Active
- 2016-07-14 CN CN201680039582.1A patent/CN107710184B/zh active Active
- 2016-07-15 TW TW105122466A patent/TW201717033A/zh unknown
Patent Citations (4)
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 |
---|---|
US20170017584A1 (en) | 2017-01-19 |
EP3323051B1 (en) | 2023-03-29 |
WO2017011621A1 (en) | 2017-01-19 |
EP3323051A1 (en) | 2018-05-23 |
CN107710184A (zh) | 2018-02-16 |
KR20180030511A (ko) | 2018-03-23 |
TW201717033A (zh) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107710184B (zh) | 具有少于八位的字节及可变分组大小的spi接口 | |
US11843529B2 (en) | Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus | |
US8364873B2 (en) | Data transmission system and a programmable SPI controller | |
US7054986B2 (en) | Programmable CPU/interface buffer structure using dual port RAM | |
CN107015927B (zh) | 一种基于SoC支持多个SPI接口标准组的装置 | |
EP3218813B1 (en) | Multi-channel i2s transmit control system and method | |
KR20030071810A (ko) | 디지털 베이스밴드 시스템 | |
US10114789B2 (en) | System on chip for packetizing multiple bytes and data processing system including the same | |
CN111010881B (zh) | 串行通信协议 | |
US20100272162A1 (en) | Synchronous serial programmable interface | |
CN110188059B (zh) | 数据有效位统一配置的流控式fifo缓存装置及方法 | |
US8943250B2 (en) | Systems and methods for concatenating multiple devices | |
CN104714908A (zh) | 支持主从模式的spi接口 | |
US8341313B2 (en) | FIFO serial control device, semicondicutor device, and serial data transfer method that indicates inclusion or non-inclusion of end data of serial data | |
EP2972925B1 (en) | Two-wire serial interface and protocol | |
US10002090B2 (en) | Method for improving the performance of synchronous serial interfaces | |
JP2002544585A (ja) | ホストプロセッサに対して可変幅インタフェースを有するfifoシステム | |
TW201731272A (zh) | 具有自動從屬選擇產生之串列週邊介面 | |
KR20130111391A (ko) | 프로그래밍 가능 하드웨어를 구성하기 위한 통신 시스템 및 그 방법 | |
CN115563049A (zh) | Spi发送模式赋值结构的实现方法 | |
CN111884987B (zh) | 电子设备和用于电子设备的方法 | |
WO2008014244A2 (en) | Peripheral supplied addressing in a simple dma | |
CN112817893B (zh) | 具备扩充外部装置功能的桥接芯片以及扩充方法 | |
CN101324873A (zh) | 兼容型非标准位宽串行周边接口及接口间的数据传输方法 | |
KR20010084862A (ko) | 다기능 직렬 통신 인터페이스 장치 |
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 |