CN110928813B - 一种基于双spi输出低频同步信号的系统及其方法 - Google Patents
一种基于双spi输出低频同步信号的系统及其方法 Download PDFInfo
- Publication number
- CN110928813B CN110928813B CN201911125090.6A CN201911125090A CN110928813B CN 110928813 B CN110928813 B CN 110928813B CN 201911125090 A CN201911125090 A CN 201911125090A CN 110928813 B CN110928813 B CN 110928813B
- Authority
- CN
- China
- Prior art keywords
- data
- signal
- spi
- clk
- outputting
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明涉及一种基于双SPI输出低频同步信号的系统,包括主机输入模块,用向SPI模块中写入初始数据;时钟SPI模块,用于接收初始数据并将其转换为CLK信号,进而输出CLK信号;电平SPI模块,用于接收初始数据并将其转换为MOSI信号,进而输出MOSI信号;从机接收模块,用于接收并同步输出CLK信号和MOSI信号。一种基于双SPI输出低频同步信号的方法,包括S100、向SPI模块中写入初始数据;S200、接收初始数据并将其转换为CLK信号,进而输出CLK信号;S300、接收初始数据并将其转换为MOSI信号,进而输出MOSI信号;S400、接收并同步输出CLK信号和MOSI信号。本发明可以利用两个SPI协同工作的方法实现了在不增加硬件成本的前提下,将SPI输出CLK频率最多可降至单个SPI下限频率的16分之1的技术效果。
Description
技术领域
本发明涉及通信信号领域,特别涉及一种基于双SPI输出低频同步信号的系统及其方法。
背景技术
现今微处理器的主频越来越高,SPI这种常用板上通讯方式的频率也越来越高,然而各大芯片厂商也因此忽略了低频信号的应用领域;在很多实际应用场景中,由于主频太高,又没有预留足够的分频倍率,导致无法有效输出SPI低频同步信号。
而在上述应用场景基础上,还存在一些特殊应用需求,即在输出更低频信号的同时,又要兼顾其他输出频率,例如:基于120MHz主频,需要输出1个2.5MHz信号和1个128KHz信号;现有技术中缺乏相应的解决方案,这也成为了急需解决的技术问题。
发明内容
为至少解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于双SPI输出低频同步信号的系统及其方法,可以实现使用两个SPI的MOSI分别模拟时钟CLK和数据DATA两个信号输出。
本发明解决其问题所采用的技术方案第一方面是:一种基于双SPI输出低频同步信号的系统,包括以下模块:主机输入模块,用于向SPI模块中写入初始数据;时钟SPI模块,用于接收初始数据并将其转换为CLK信号,进而输出CLK信号;电平SPI模块,用于接收初始数据并将其转换为MOSI信号,进而输出MOSI信号;从机接收模块,用于接收并同步输出所述CLK信号和所述MOSI信号。
有益效果:本发明可以利用两个SPI协同工作的方法实现了在不增加硬件成本的前提下,将SPI输出CLK频率最多可降至单个SPI下限频率的16分之1的技术效果。
根据本发明第一方面所述的,所述初始数据包括两个数据组。
根据本发明第一方面所述的,所述数据组分别包括16个CLK数据和16个DATA数据。
根据本发明第一方面所述的,所述时钟SPI模块包括以下子模块:寄存器缓冲区单元,用于接收所述数据组并将其写入所述时钟SPI模块的寄存器缓冲区;CLK信号转换单元,用于将所述数据中的CLK数据转换为16个0x00FF作为低电平跳高电平的CLK信号;CLK信号输出单元,用于输出经转换的降频CLK信号。
根据本发明第一方面所述的,所述电平SPI模块包括以下子模块:寄存器缓冲区单元,用于接收所述数据组并将其写入所述电平SPI模块的寄存器缓冲区;MOSI信号转换单元,用于将所述数据中的DATA数据转换为16个实际数据作为MOSI信号;MOSI信号输出单元,用于输出经转换的降频MOSI信号。
本发明解决其问题所采用的技术方案第二方面是:一种基于双SPI输出低频同步信号的方法,包括以下步骤:S100、向SPI模块中写入初始数据;S200、接收初始数据并输出16个0x00FF作为低电平跳高电平的CLK信号;S300、接收初始数据并输出16个实际数据作为MOSI信号;S400、接收并同步输出所述CLK信号和所述MOSI信号。
有益效果:本发明可以利用两个SPI协同工作的方法实现了在不增加硬件成本的前提下,将SPI输出CLK频率最多可降至单个SPI下限频率的16分之1的技术效果。
根据本发明第二方面所述的,所述初始数据包括两个数据组。
根据本发明第二方面所述的,所述数据组分别包括16个CLK数据和16个DATA数据。
根据本发明第二方面所述的,所述步骤S200包括以下子步骤:S201、接收所述数据组并将其写入所述时钟SPI模块的寄存器缓冲区;S202、将所述数据中的CLK数据转换为16个0x00FF作为低电平跳高电平的CLK信号;S203、输出经转换的降频CLK信号。
根据本发明第二方面所述的,所述步骤S300还包括以下子步骤:S301、接收所述数据组并将其写入所述电平SPI模块的寄存器缓冲区;S302、将所述数据中的DATA数据转换为16个实际数据作为MOSI信号;S303、输出经转换的降频MOSI信号。
附图说明
图1是根据本发明优选实施例的模块连接示意图;
图2是根据本发明优选实施例的方法流程示意图;
图3是根据本发明具体实施例A的示意图;
图4是根据本发明具体实施例B的示意图;
图5是根据本发明具体实施例C的示意图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
接下来结合附图对本发明的具体实施例作进一步说明;
参照图1所示为根据本发明优选实施例的模块连接示意图,包括以下模块:
主机输入模块,用于向SPI模块中写入初始数据;初始数据包括两个数据组;数据组分别包括16个CLK数据和16个DATA数据;
时钟SPI模块,与主机输入模块连接实现交互,用于接收初始数据并将其转换为CLK信号,进而输出CLK信号;其中,时钟SPI模块还包括寄存器缓冲区单元,用于接收数据组并将其写入时钟SPI模块的寄存器缓冲区;CLK信号转换单元,用于将数据中的CLK数据转换为16个0x00FF作为低电平跳高电平的CLK信号;CLK信号输出单元,用于输出经转换的降频CLK信号;
电平SPI模块,与主机输入模块连接实现交互,用于接收初始数据并将其转换为MOSI信号,进而输出MOSI信号;其中,电平SPI模块还包括寄存器缓冲区单元,用于接收数据组并将其写入电平SPI模块的寄存器缓冲区;MOSI信号转换单元,用于将数据中的DATA数据转换为16个实际数据作为MOSI信号;MOSI信号输出单元,用于输出经转换的降频MOSI信号;
从机接收模块,分别与时钟SPI模块、电平SPI模块连接实现交互,用于接收并同步输出CLK信号和MOSI信号。
参照图2所示为根据本发明优选实施例的方法流程示意图,包括以下步骤:
S100、向SPI模块中写入初始数据;初始数据包括两个数据组;数据组分别包括16个CLK数据和16个DATA数据。
S200、接收初始数据并输出16个0x00FF作为低电平跳高电平的CLK信号;
S300、接收初始数据并输出16个实际数据作为MOSI信号;
S400、接收并同步输出CLK信号和MOSI信号。
步骤S200包括以下子步骤:S201、接收数据组并将其写入时钟SPI模块的寄存器缓冲区;S202、将数据中的CLK数据转换为16个0x00FF作为低电平跳高电平的CLK信号;S203、输出经转换的降频CLK信号。
步骤S300还包括以下子步骤:S301、接收数据组并将其写入电平SPI模块的寄存器缓冲区;S302、将数据中的DATA数据转换为16个实际数据作为MOSI信号;S303、输出经转换的降频MOSI信号。
参照图3所示为根据本发明具体实施例A的示意图,该示意图展示的是双SPI组合的硬件连接图,其中主机包括SPIA和SPIB两个部分,分别由SPIA的SPIMOSIA模拟从机的CLK信号;由SPIB的SPIMOSIB模拟从机的DATA信号。
参照图4所示为根据本发明具体实施例B的示意图,该示意图展示的是双SPI组合输出低频信号的流程图,程序同时写入两个SPI,数据分成两组,即时钟数据和电平数据,交由两个分别独立的SPI,SPI1_MOSI和SPI2_MOSI分别发送,低转高CLK信号和电平信号,最后得到降频了的CLK和MOSI。
参照图5所示为根据本发明具体实施例C的示意图,该示意图展示的是信号的具体输出形式,图中分别有SPISIMOA和SPISIMOB,CLK由SPI1MOSIA输出,DATA由SPISIMOB输出,当数据长度设置为16位时,输出时钟CLK值为0x00ff,即输出由低转高的跳变,其中高8位为低电平,低8位为高电平;DATA由SPISIMOB输出,电平0用0x0000表示,电平1用0xffff表示,当要发送数据时,程序中预先准备好两个数据组,每个数组分别包含16个CLK数据和DATA数据,然后同时向两个SPI的移位寄存器缓冲区(SPISIMOA_DATABUF,SPISIMOA_DATABUF)写入对应准备好的数组,经由SPI内部自动输出SPISIMOA和SPISIMOB,同步输出16个MOSI数据,最后得到同步输出低频SPI信号CLK和DATA的目的。
同理,SPI一般允许多个Bit输出,通常为1至16bit,可以更容易扩展输出频率,比如取2、4、6、8、10、12、14、16Bit输出,配合微处理器的分频机制,可以搭配出更精准的输出频率。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (6)
1.一种基于双SPI输出低频同步信号的系统,其特征在于,包括以下模块:
主机输入模块,用于向SPI模块中写入初始数据,所述初始数据包括两个数据组;
时钟SPI模块,用于接收初始数据并将其转换为CLK信号,进而输出CLK信号;
电平SPI模块,用于接收初始数据并将其转换为MOSI信号,进而输出MOSI信号;
从机接收模块,用于接收并同步输出所述CLK信号和所述MOSI信号;
所述时钟SPI模块包括以下子模块:
寄存器缓冲区单元,用于接收所述数据组并将其写入所述时钟SPI模块的寄存器缓冲区;
CLK信号转换单元,用于将所述数据组中的CLK数据转换为16个0x00FF作为低电平跳高电平的CLK信号;
CLK信号输出单元,用于输出经转换的降频CLK信号。
2.根据权利要求1所述的基于双SPI输出低频同步信号的系统,其特征在于,所述数据组分别包括16个CLK数据和16个DATA数据。
3.根据权利要求1所述的基于双SPI输出低频同步信号的系统,其特征在于,所述电平SPI模块包括以下子模块:
寄存器缓冲区单元,用于接收所述数据组并将其写入所述电平SPI模块的寄存器缓冲区;
MOSI信号转换单元,用于将所述数据中的DATA数据转换为16个实际数据作为MOSI信号;
MOSI信号输出单元,用于输出经转换的降频MOSI信号。
4.一种基于双SPI输出低频同步信号的方法,其特征在于,包括以下步骤:
S100、向SPI模块中写入初始数据,所述初始数据包括两个数据组;
S200、接收初始数据并将其转换为CLK信号,进而输出CLK信号;
S300、接收初始数据并将其转换为MOSI信号,进而输出MOSI信号;
S400、接收并同步输出所述CLK信号和所述MOSI信号;
所述S200包括以下子步骤:
S201、接收所述数据组并将其写入寄存器缓冲区;
S202、将所述数据组中的CLK数据转换为16个0x00FF作为低电平跳高电平的CLK信号;
S203、输出经转换的降频CLK信号。
5.根据权利要求4所述的基于双SPI输出低频同步信号的方法,其特征在于,所述数据组分别包括16个CLK数据和16个DATA数据。
6.根据权利要求4所述的基于双SPI输出低频同步信号的方法,其特征在于,所述步骤S300还包括以下子步骤:
S301、接收所述数据组并将其写入寄存器缓冲区;
S302、将所述数据中的DATA数据转换为16个实际数据作为MOSI信号;
S303、输出经转换的降频MOSI信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911125090.6A CN110928813B (zh) | 2019-11-18 | 2019-11-18 | 一种基于双spi输出低频同步信号的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911125090.6A CN110928813B (zh) | 2019-11-18 | 2019-11-18 | 一种基于双spi输出低频同步信号的系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928813A CN110928813A (zh) | 2020-03-27 |
CN110928813B true CN110928813B (zh) | 2021-04-30 |
Family
ID=69853160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911125090.6A Active CN110928813B (zh) | 2019-11-18 | 2019-11-18 | 一种基于双spi输出低频同步信号的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928813B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312221B (zh) * | 2023-11-28 | 2024-03-15 | 西安现代控制技术研究所 | 一种触发式spi数据通讯方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145465A (zh) * | 2016-03-01 | 2017-09-08 | 中兴通讯股份有限公司 | 串行外设接口spi的传输控制方法、装置及系统 |
CN107153622A (zh) * | 2017-05-24 | 2017-09-12 | 中国电子科技集团公司第四十研究所 | 一种基于spi总线的驱动控制方法 |
CN108920392A (zh) * | 2018-05-17 | 2018-11-30 | 歌尔科技有限公司 | 一种数据接口与spi的转换装置及方法 |
CN109783416A (zh) * | 2019-01-03 | 2019-05-21 | 深圳市度申科技有限公司 | Spi从设备和i2c从设备共用gpio的方法、电路和电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7425843B1 (en) * | 2007-08-07 | 2008-09-16 | Xilinx, Inc. | Programmable logic device multi-boot state machine for serial peripheral interface (SPI) programmable read only memory (PROM) |
CN101834718B (zh) * | 2010-05-26 | 2012-05-16 | 常州工学院 | 混沌信号发生电路 |
CN202652394U (zh) * | 2012-05-23 | 2013-01-02 | 联美新视信息科技(上海)有限公司 | 数据转换装置 |
CN105208034B (zh) * | 2015-10-09 | 2019-03-19 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种spi总线与can总线协议转换电路及方法 |
CN107704407A (zh) * | 2017-11-02 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种用于spi和uart之间数据处理的系统和方法 |
-
2019
- 2019-11-18 CN CN201911125090.6A patent/CN110928813B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145465A (zh) * | 2016-03-01 | 2017-09-08 | 中兴通讯股份有限公司 | 串行外设接口spi的传输控制方法、装置及系统 |
CN107153622A (zh) * | 2017-05-24 | 2017-09-12 | 中国电子科技集团公司第四十研究所 | 一种基于spi总线的驱动控制方法 |
CN108920392A (zh) * | 2018-05-17 | 2018-11-30 | 歌尔科技有限公司 | 一种数据接口与spi的转换装置及方法 |
CN109783416A (zh) * | 2019-01-03 | 2019-05-21 | 深圳市度申科技有限公司 | Spi从设备和i2c从设备共用gpio的方法、电路和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110928813A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101694512B (zh) | 测试电路和片上系统 | |
US20150103845A1 (en) | Synchronization time-division multiplexing bus communication method adopting serial communication interface | |
ATE264510T1 (de) | Umkonfigurierbare integrierte schaltung mit eingebautem fehlersuchsystem für ein simulationssystem | |
CN112597097B (zh) | 一种基于adc数据采集卡的通信系统及其应用方法、介质 | |
EP3200089B1 (en) | Method, apparatus, communication equipment and storage media for determining link delay | |
CN104834620A (zh) | 串行外设接口spi总线电路、实现方法以及电子设备 | |
CN104050067A (zh) | Fpga在mcu芯片中工作的方法和装置 | |
CN110928813B (zh) | 一种基于双spi输出低频同步信号的系统及其方法 | |
CN111309665B (zh) | 并行写操作、读操作控制系统及方法 | |
CN107145465B (zh) | 串行外设接口spi的传输控制方法、装置及系统 | |
CN104615403A (zh) | 一种音频输出装置 | |
US8411011B2 (en) | Method and apparatus to generate control signals for display-panel driver | |
CN112187341B (zh) | 一种基于fpga的数据模拟源及其搭建与控制方法 | |
JP2008041022A (ja) | I/o装置、通信装置、サーボモータ制御装置、制御システムおよびロボットシステム | |
CN115758987B (zh) | 一种视频输入接口验证系统及验证方法 | |
US20050055189A1 (en) | Verification method and system for logic circuit | |
JP5536023B2 (ja) | バスシステムおよび情報処理機器 | |
WO2004029804A3 (de) | Echtzeitfähiges steuerungssystem mit einer sps-applikation unter einem nicht echtzeitfähigen betriebssystem | |
CN201378316Y (zh) | 通用输入/输出接口扩展电路和具有该电路的移动终端 | |
CN101488119B (zh) | 地址译码方法、装置及单板 | |
CN110825667B (zh) | 一种低速io设备控制器的设计方法和结构 | |
CN110401586B (zh) | 一种总线通信方法、装置、设备及可读存储介质 | |
EP3739443A1 (en) | Method and device for configuring controller in master control chip | |
CN106294260B (zh) | 数据从异步总线输出到同步总线的方法 | |
CN114221666B (zh) | 多模式时序控制与中频调制信号产生装置 |
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 |