CN115712591A - 一种带收发fifo的spi总线控制器电路 - Google Patents
一种带收发fifo的spi总线控制器电路 Download PDFInfo
- Publication number
- CN115712591A CN115712591A CN202211469092.9A CN202211469092A CN115712591A CN 115712591 A CN115712591 A CN 115712591A CN 202211469092 A CN202211469092 A CN 202211469092A CN 115712591 A CN115712591 A CN 115712591A
- Authority
- CN
- China
- Prior art keywords
- data
- fifo
- interface
- serial
- transmission
- 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.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种带收发FIFO的SPI总线控制器电路,包括四个子模块接口:串行外设接口、串行解串接口、组合串行接口及串行/解串外设接口。本发明的一种带收发FIFO的SPI总线控制器电路,通过加入FIFO模块,不仅可以将数据存储在FIFO中,增加SPI传输数据的容量。也可以将数据通过DMA直接读取,增加数据传输的灵活性。主机数据的传输过程在有SCLK信号下,将数据传输至移位寄存器中,通过移位寄存器工作将数据进行输出,数据经过8位时钟周期后完成一个字节的发送。待接收FIFO数据满后发送中断标志位并且将数据读出。同时由于FIFO的数据同时也可以同时被DMA模块进行存取。
Description
技术领域
本发明属于半导体集成电路中技术领域,尤其涉及一种带收发FIFO的SPI总线控制器电路。
背景技术
SPI(serial peripheral interface),串行外设接口,是Motorola提出的一种高速的、全双工、同步的通信总线。SPI接口主要用于MCU与外围设备的通信,外围设备包括EEPROM、FLASH、实时时钟、AD转换器、数字信号处理器和数字信号解码器等。它以主从方式工作,通常有一个主设备和一个或多个从设备。SPI在芯片的管脚上只占用四根线,分别是MOSI(主机数据输出从机数据输入)、MISO(主机数据输入从机数据输出),SCLK(时钟),CS(从机使能信号主机片选)。SPI协议规定一个SPI设备在数据通信过程中是完成全双工通信模式。SPI总线的传输中,CS信号是低电平有效的,当我们要与某外设通信的时候,需要将该外设上的CS线置低。在数据传输的过程中,每次接收到的数据必须在下一次数据传输之前被采样。如果之前接收到的数据没有被读取,那么这些已经接收完成的数据将有可能被丢弃,导致SPI物理模块最终失效。因此,SPI在传输完数据后,必须读取SPI设备里的数据,即使这些数据在程序里是无用的。
目前,研究SPI总线控制器电路的专利很多。专利号为202210725073.1的一种SPI通讯方法、专利号为202011407791.1的一种基于SPI总线的通信系统及方法、专利号为202111671213.3的一种基于UVM的SPI总线验证方法及系统、专利号为202023338394.1的一种基于SPI通讯的一对多通讯电路等,这些专利涉及到很多SPI的方法设计,但目前基于带收发FIFO的SPI总线控制器电路没有查到。
发明内容
本发明目的是:提供一种带收发FIFO的SPI总线控制器电路,通过加入FIFO模块,不仅可以将数据存储在FIFO中,增加SPI传输数据的容量。也可以将数据通过DMA直接读取,增加数据传输的灵活性。
本发明的技术方案是:
一种带收发FIFO的SPI总线控制器电路,包括四个子模块接口:串行外设接口、串行解串接口、组合串行接口及串行/解串外设接口,其中:
串行外设接口用来将数据与MCU进行交互,同时根据中断控制信号来对发送/接收FIFO进行数据的传输控制,同时对SPI的时钟、开启、传输控制进行管理;
串行解串接口通过片上系统的内部数据的输入输出,在串行解串接口中对数据进行串行解串操作;
组合串行接口根据数据优先级逻辑,对片上系统的内部并行接口的数据和从机的数据进行选择;
串行/解串外设接口提供相应的外部时钟,配置片选信号和波特率的操作。
优选的,所述串行外设接口中包括DMA直接存储器存取、发送FIFO和接收FIFO以及相应的中断控制;DMA直接存储器用来对发送FIFO和接收FIFO进行数据的读取;中断控制用来对发送FIFO和接收FIFO的数据溢出时开启中断标志来对数据进行读取,保证数据的正确。
优选的,所述组合串行接口将选择的数据传输至移位寄存器中进行数据传输;所述移位寄存器对发送FIFO中的数据进行保留,经过发送FIFO的数据满状态时,接收FIFO读操作将数据读出。
优选的,所述SPI总线控制器电路还包括:主机数据的输出端口SOUT、从机设备将数据传输至主机设备的接口SIN、主从机的工作时钟端口SCK、进行系统的延时开启的端口HT、对多路从机进行选择性数据交互的片选端口PCS(x)。
优选的,当时钟端口SCK开启时钟后,数据流向有三路:
其中一路由片上系统内部并行输入接口将数据传输至串行解串接口模块中进行帧数据的转换,之后帧数据进入组合串行接口模块中,再将数据传输至移位寄存器中,通过移位寄存器将数据传输至SOUT信号和接收FIFO中以供DMA直接存储器存取;
另一路通过DMA将数据存储在发送FIFO中,发送FIFO将数据传输至组合串行接口模块中,数据之后通过移位寄存器工作之后传输给SOUT端口;
最后一路即是从机模块将数据从SIN接口将数据传输至移位寄存器中,通过移位寄存器再将数据传输给接收FIFO中供DMA模块直接存取。
本发明的优点是:
本发明的一种带收发FIFO的SPI总线控制器电路,通过加入FIFO模块,不仅可以将数据存储在FIFO中,增加SPI传输数据的容量。也可以将数据通过DMA直接读取,增加数据传输的灵活性。主机数据的传输过程在有SCLK信号下,将数据传输至移位寄存器中,通过移位寄存器工作将数据进行输出,数据经过8位时钟周期后完成一个字节的发送。待接收FIFO数据满后发送中断标志位并且将数据读出。同时由于FIFO的数据同时也可以同时被DMA模块进行存取。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明的带收发FIFO的SPI总线控制器电路的原理框图。
具体实施方式
如图1所示,本发明的带收发FIFO的SPI总线控制器电路,包括四个子模块接口:串行外设接口、串行解串接口、组合串行接口及串行/解串外设接口,其中:
串行外设接口用来将数据与MCU进行交互,同时根据中断控制信号来对发送/接收FIFO进行数据的传输控制,同时对SPI的时钟、开启、传输控制进行管理;所述串行外设接口中包括DMA直接存储器存取、发送FIFO和接收FIFO以及相应的中断控制;DMA直接存储器用来对发送FIFO和接收FIFO进行数据的读取;中断控制用来对发送FIFO和接收FIFO的数据溢出时开启中断标志来对数据进行读取,保证数据的正确;
串行解串接口通过片上系统的内部数据的输入输出,在串行解串接口中对数据进行串行解串操作;组合串行接口根据数据优先级逻辑,对片上系统的内部并行接口的数据和从机的数据进行选择; 串行/解串外设接口提供相应的外部时钟,配置片选信号和波特率的操作。
所述组合串行接口将选择的数据传输至移位寄存器中进行数据传输;所述移位寄存器对发送FIFO中的数据进行保留,经过发送FIFO的数据满状态时,接收FIFO读操作将数据读出。
图1中,所述SPI总线控制器电路还包括:主机数据的输出端口SOUT、从机设备将数据传输至主机设备的接口SIN、主从机的工作时钟端口SCK、进行系统的延时开启的端口HT、对多路从机进行选择性数据交互的片选端口PCS(x)。
当时钟端口SCK开启时钟后,数据流向有三路:
其中一路由片上系统内部并行输入接口将数据传输至串行解串接口模块中进行帧数据的转换,之后帧数据进入组合串行接口模块中,再将数据传输至移位寄存器中,通过移位寄存器将数据传输至SOUT信号和接收FIFO中以供DMA直接存储器存取;
另一路通过DMA将数据存储在发送FIFO中,发送FIFO将数据传输至组合串行接口模块中,数据之后通过移位寄存器工作之后传输给SOUT端口;
最后一路即是从机模块将数据从SIN接口将数据传输至移位寄存器中,通过移位寄存器再将数据传输给接收FIFO中供DMA模块直接存取。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明主要技术方案的精神实质所做的修饰,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种带收发FIFO的SPI总线控制器电路,其特征在于,包括四个子模块接口:串行外设接口、串行解串接口、组合串行接口及串行/解串外设接口,其中:
串行外设接口用来将数据与MCU进行交互,同时根据中断控制信号来对发送/接收FIFO进行数据的传输控制,同时对SPI的时钟、开启、传输控制进行管理;
串行解串接口通过片上系统的内部数据的输入输出,在串行解串接口中对数据进行串行解串操作;
组合串行接口根据数据优先级逻辑,对片上系统的内部并行接口的数据和从机的数据进行选择;
串行/解串外设接口提供相应的外部时钟,配置片选信号和波特率的操作。
2.根据权利要求1所述的带收发FIFO的SPI总线控制器电路,其特征在于,所述串行外设接口中包括DMA直接存储器存取、发送FIFO和接收FIFO以及相应的中断控制;DMA直接存储器用来对发送FIFO和接收FIFO进行数据的读取;中断控制用来对发送FIFO和接收FIFO的数据溢出时开启中断标志来对数据进行读取,保证数据的正确。
3.根据权利要求2所述的带收发FIFO的SPI总线控制器电路,其特征在于,所述组合串行接口将选择的数据传输至移位寄存器中进行数据传输;所述移位寄存器对发送FIFO中的数据进行保留,经过发送FIFO的数据满状态时,接收FIFO读操作将数据读出。
4.根据权利要求3所述的带收发FIFO的SPI总线控制器电路,其特征在于,所述SPI总线控制器电路还包括:主机数据的输出端口SOUT、从机设备将数据传输至主机设备的接口SIN、主从机的工作时钟端口SCK、进行系统的延时开启的端口HT、对多路从机进行选择性数据交互的片选端口PCS(x)。
5.根据权利要求4所述的带收发FIFO的SPI总线控制器电路,其特征在于,当时钟端口SCK开启时钟后,数据流向有三路:
其中一路由片上系统内部并行输入接口将数据传输至串行解串接口模块中进行帧数据的转换,之后帧数据进入组合串行接口模块中,再将数据传输至移位寄存器中,通过移位寄存器将数据传输至SOUT信号和接收FIFO中以供DMA直接存储器存取;
另一路通过DMA将数据存储在发送FIFO中,发送FIFO将数据传输至组合串行接口模块中,数据之后通过移位寄存器工作之后传输给SOUT端口;
最后一路即是从机模块将数据从SIN接口将数据传输至移位寄存器中,通过移位寄存器再将数据传输给接收FIFO中供DMA模块直接存取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211469092.9A CN115712591A (zh) | 2022-11-22 | 2022-11-22 | 一种带收发fifo的spi总线控制器电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211469092.9A CN115712591A (zh) | 2022-11-22 | 2022-11-22 | 一种带收发fifo的spi总线控制器电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115712591A true CN115712591A (zh) | 2023-02-24 |
Family
ID=85234241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211469092.9A Pending CN115712591A (zh) | 2022-11-22 | 2022-11-22 | 一种带收发fifo的spi总线控制器电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115712591A (zh) |
-
2022
- 2022-11-22 CN CN202211469092.9A patent/CN115712591A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860612B (zh) | 互联裸芯与mpu的接口系统及其通信方法 | |
CN101329663B (zh) | 一种实现片上系统管脚分时复用的装置及方法 | |
CN102023954B (zh) | 具有多路i2c总线的装置、处理器、系统主板及工控计算机 | |
US10521392B2 (en) | Slave master-write/read datagram payload extension | |
CN112564882B (zh) | 一种基于ahb总线的单线数字通讯接口 | |
CN102163184A (zh) | 一种基于专用多芯片串行互连接口的主从传输系统及方法 | |
CN116185936B (zh) | 一种spi通信数据收发异常检测控制系统及检测方法 | |
US5884044A (en) | Dedicated DDC integrable multimode communications cell | |
CN107643993A (zh) | 总线转换接口、总线转换接口的工作方法和通信设备 | |
CN110704349B (zh) | 一种用于数据可靠传输的SpaceWire节点装置 | |
CN210155653U (zh) | 基于zynq芯片实现m-lvds总线数据交互装置 | |
CN113590520B (zh) | Spi系统自动写入数据的控制方法及spi系统 | |
JP2024508592A (ja) | Usbインタフェースの多重化方法、回路、電子機器及び記憶媒体 | |
CN107370651B (zh) | 一种spi从机之间的通信方法 | |
CN107506318A (zh) | 一种软件模拟串行数据传输装置 | |
CN219574799U (zh) | 一种基于amba总线的多总线桥接器及其片上系统 | |
CN114996184B (zh) | 兼容实现spi或i2c从机的接口模块及数据传输方法 | |
CN218413459U (zh) | 采用双串行外设接口和io中断替换ssi多从机的通信装置 | |
CN115712591A (zh) | 一种带收发fifo的spi总线控制器电路 | |
CN114124609B (zh) | 一种基于1553b总线的通信装置及通信方法 | |
CN115934614A (zh) | 基于apb总线带有fifo缓存功能的uart通讯接口 | |
CN213122983U (zh) | 基于fpga实现的片上系统 | |
CN112965927B (zh) | 一种基于spi设备的信号驱动系统及方法 | |
CN111679995B (zh) | 一种基于1553b总线的空间计算机嵌入式管理执行单元 | |
CN218413458U (zh) | 采用三个串行外设接口代替ssi多从机的通信装置 |
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 |