CN107704407A - 一种用于spi和uart之间数据处理的系统和方法 - Google Patents
一种用于spi和uart之间数据处理的系统和方法 Download PDFInfo
- Publication number
- CN107704407A CN107704407A CN201711065736.7A CN201711065736A CN107704407A CN 107704407 A CN107704407 A CN 107704407A CN 201711065736 A CN201711065736 A CN 201711065736A CN 107704407 A CN107704407 A CN 107704407A
- Authority
- CN
- China
- Prior art keywords
- uart
- spi
- data
- cpld
- protocol conversion
- 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
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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种用于SPI和UART之间数据处理的系统和反法,该系统包括:用于和存储系统的BMC进行数据交换的SPI总线;和SPI总线以及UART总线连接,用于进行协议转换的CPLD;用于连接CPLD和上位机的UART总线。采用CPLD来实现SPI总线和UART总线间的协议转换,由于存储系统中一定会用到CPLD,所以可以减少一颗专用于协议转换的扩展芯片,不仅降低了器件成本,更是降低了存储系统的整体硬件设计成本,同时CPLD的稳定性确保了协议转换的稳定性,从而更能提高存储系统整体的稳定性,并且减少了存储系统的功耗。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种用于SPI和UART之间数据处理的系统和方法。
背景技术
在当今这个大数据时代,云端成为了人们生活中必不可少的一部分,如云空间,各大资源网站等等,这就需要容量巨大的存储设备支持这些云端的运行。
存放在云端的信息安全成为了关键所在,信息安全不只是指保密性,还包括不易失性,也就是保存在云端的信息不丢失,那么存储系统的稳定性就成了关键。在目前的一些存储设备的设计中,SPI和UART是必要使用的总线,在SPI和UART总线之间转换的方法也都是由SPI转UART总线的单独的扩展芯片来完成。在存储系统中,成本和稳定性是人们追求的目标。
因此,如何既能降低存储系统的成本又能提高其稳定性,是本领域技术人员目前需要解决的技术问题。
发明内容
本发明的目的是提供一种用于SPI和UART之间数据处理的系统和方法,可以既能降低存储系统的成本又能提高其稳定性。
为解决上述技术问题,本发明提供了如下技术方案:
一种用于SPI和UART之间数据处理的系统,包括:
用于和存储系统的BMC进行数据交换的SPI总线;
和所述SPI总线以及UART总线连接,用于进行协议转换的CPLD;
用于连接所述CPLD和上位机的所述UART总线。
优选地,所述CPLD包括:
用于支持SPI总线协议的SPI模块;
与所述SPI模块连接,进行协议转换的Function模块;
与所述Function模块连接,支持UART总线协议的UART模块。
优选地,所述Function模块包括:
用于存放SPI数据和/或UART串行数据,并将所述SPI数据转换成UART可读取的串行数据以及将所述UART串行数据转换成SPI可读取的数据的寄存器;
用于进行中断和寄存器控制的controller单元。
优选地,所述UART模块包括:
用于存储预设的固定的UART波特率和校验方式信息的存储单元;
用于按照所述存储单元中的存储信息和接收到的指令执行相应动作的处理单元。
一种用于SPI和UART之间数据处理的方法,包括:
获取SPI数据和/或UART串行数据;
通过和SPI总线以及UART总线连接的CPLD调用自身预设的协议转换指令;
根据所述协议转换指令对获取的数据进行相应的协议转换;
将转换后得到的数据通过相应的总线输出。
与现有技术相比,上述技术方案具有以下优点:
本发明所提供的一种用于SPI和UART之间数据处理的系统,包括:用于和存储系统的BMC进行数据交换的SPI总线;和SPI总线以及UART总线连接,用于进行协议转换的CPLD;用于连接CPLD和上位机的UART总线。采用CPLD来实现SPI总线和UART总线间的协议转换,由于存储系统中一定会用到CPLD,所以可以减少一颗专用于协议转换的扩展芯片,不仅降低了器件成本,更是降低了存储系统的整体硬件设计成本,同时CPLD的稳定性确保了协议转换的稳定性,从而更能提高存储系统整体的稳定性,并且减少了存储系统的功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种具体实施方式所提供的用于SPI和UART之间数据处理的系统结构示意图;
图2为本发明一种具体实施方式所提供的用于SPI和UART之间数据处理的系统中的CPLD结构示意图。
具体实施方式
本发明的核心是提供一种用于SPI和UART之间数据处理的系统和方法,可以既能降低存储系统的成本又能提高其稳定性。
为了使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施的限制。
请参考图1,图1为本发明一种具体实施方式所提供的用于SPI和UART之间数据处理的系统结构示意图。
本发明的一种具体实施方式提供了一种用于SPI和UART之间数据处理的系统,包括:用于和存储系统的BMC进行数据交换的SPI总线11;和SPI总线以及UART总线连接,用于进行协议转换的CPLD12;用于连接CPLD和上位机的UART总线13。
CPLD(Complex Programmable Logic Device)即复杂可编程逻辑器件,SPI(Serial Peripheral Interface)即串行外设接口,UART(Universal AsynchronousReceiver/Transmitter)即通用异步收发传输器。在本实施方式中,采用CPLD作为存储系统控制芯片的同时,还为其增加协议转换的功能。其中,可以采用Verilog硬件描述语言进行编程。存储系统的BMC(基板管理控制器)发出的系统指令到CPLD是基于SPI总线协议的,经过CPLD的转换之后,转换成为UART,便于连接到UART端口以进行指令的传输,从而对存储系统目前状态进行掌控,并作出相应指令。由于存储系统中一定会用到CPLD,所以可以减少一颗专用于协议转换的扩展芯片,不仅降低了器件成本,更是降低了存储系统的整体硬件设计成本,同时CPLD的稳定性确保了协议转换的稳定性和高效性,从而更能提高存储系统整体的稳定性,并且减少了存储系统的功耗。
请参考图2,图2为本发明一种具体实施方式所提供的用于SPI和UART之间数据处理的系统中的CPLD结构示意图。
进一步地,CPLD12包括:用于支持SPI总线协议的SPI模块121;与SPI模块连接,进行协议转换的Function模块122;与Function模块连接,支持UART总线协议的UART模块123。
更进一步地,Function模块122包括:用于存放SPI数据和/或UART串行数据,并将SPI数据转换成UART可读取的串行数据以及将UART串行数据转换成SPI可读取的数据的寄存器1221;用于进行中断和寄存器控制的controller单元1222。
UART模块包括:用于存储预设的固定的UART波特率和校验方式信息的存储单元;用于按照存储单元中的存储信息和接收到的指令执行相应动作的处理单元。
在本实施方式中,CPLD在实现协议转换功能时主要包括三个模块:
SPI模块是一个实现标准SPI传输的模块,主要用于通过SPI协议向BMC发送指令和接收BMC通过SPI协议发送的数据,SPI是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI模块有三个寄存器分别为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。外围设备包括FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI模块可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线NSS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI),视情况进行设置。
UART模块主要是接收上位机传输过来的串行数据,并向上位机发送存储系统的打印信息。UART模块优选是按照标准UART总线协议简化之后的功能模块,此时UART的波特率、校验方式都已经固定了,这样做的目的是在既实现UART数据传输的功能又减少了UART模块所占用CPLD的逻辑资源。
Function模块是核心部分,主要是实现协议的转换。其将接收到的SPI的数据存放到寄存器里面转换成UART可读取的串行数据,然后通过UART输出;将接收到的UART串行数据存放到寄存器里面转换成SPI可读取的数据,然后SPI模块进行调用传输到BMC。通过Function模块里面的controller单元实现对中断和寄存器的控制,且通过Function模块进行数据同步,实现异步数据间的通信,也就是说Function模块可以将SPI数据和UART模块所传进来的数据进行解析存到寄存器中,同时SPI模块和UART模块也能同时对Function模块汇总的寄存器进行无障碍读取和调用。
采用CPLD取代super I/O芯片,实现了SPI总线和UART总线之间协议的转换。因为芯片本身就有失效率,本实施方式减少整个系统芯片的使用量,不但可以降低整个系统的成本,而且还可以提高系统的稳定性。减少芯片的使用,同时还可以减少电路板的功耗,且有利于减少一些信号线,有利于layout走线。同时CPLD是各系统中广泛应用的硬件模块,通过CPLD实现该功能更能被广泛的应用。
相应地,本发明还提供了一种用于SPI和UART之间数据处理的方法,包括:
获取SPI数据和/或UART串行数据;
通过和SPI总线以及UART总线连接的CPLD调用自身预设的协议转换指令;
根据协议转换指令对获取的数据进行相应的协议转换;
将转换后得到的数据通过相应的总线输出。
在本实施方式中,通过CPLD调用自身的协议转换指令将获取的SPI数据经过转换后由UART总线输出,将获取的UART数据经转换后经SPI总线输出。只需预先在CPLD中设置协议转换的指令和执行相应指令的处理器即可。
采用CPLD来实现SPI总线和UART总线间的协议转换,由于存储系统中一定会用到CPLD,所以可以减少一颗专用于协议转换的扩展芯片,不仅降低了器件成本,更是降低了存储系统的整体硬件设计成本,同时CPLD的稳定性确保了协议转换的稳定性,从而更能提高存储系统整体的稳定性,并且减少了存储系统的功耗。
以上对本发明所提供的一种用于SPI和UART之间数据处理的系统和方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (5)
1.一种用于SPI和UART之间数据处理的系统,其特征在于,包括:
用于和存储系统的BMC进行数据交换的SPI总线;
和所述SPI总线以及UART总线连接,用于进行协议转换的CPLD;
用于连接所述CPLD和上位机的所述UART总线。
2.根据权利要求1所述的系统,其特征在于,所述CPLD包括:
用于支持SPI总线协议的SPI模块;
与所述SPI模块连接,进行协议转换的Function模块;
与所述Function模块连接,支持UART总线协议的UART模块。
3.根据权利要求2所述的系统,其特征在于,所述Function模块包括:
用于存放SPI数据和/或UART串行数据,并将所述SPI数据转换成UART可读取的串行数据以及将所述UART串行数据转换成SPI可读取的数据的寄存器;
用于进行中断和寄存器控制的controller单元。
4.根据权利要求3所述的系统,其特征在于,所述UART模块包括:
用于存储预设的固定的UART波特率和校验方式信息的存储单元;
用于按照所述存储单元中的存储信息和接收到的指令执行相应动作的处理单元。
5.一种用于SPI和UART之间数据处理的方法,其特征在于,包括:
获取SPI数据和/或UART串行数据;
通过和SPI总线以及UART总线连接的CPLD调用自身预设的协议转换指令;
根据所述协议转换指令对获取的数据进行相应的协议转换;
将转换后得到的数据通过相应的总线输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711065736.7A CN107704407A (zh) | 2017-11-02 | 2017-11-02 | 一种用于spi和uart之间数据处理的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711065736.7A CN107704407A (zh) | 2017-11-02 | 2017-11-02 | 一种用于spi和uart之间数据处理的系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107704407A true CN107704407A (zh) | 2018-02-16 |
Family
ID=61177685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711065736.7A Pending CN107704407A (zh) | 2017-11-02 | 2017-11-02 | 一种用于spi和uart之间数据处理的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704407A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920392A (zh) * | 2018-05-17 | 2018-11-30 | 歌尔科技有限公司 | 一种数据接口与spi的转换装置及方法 |
CN110928813A (zh) * | 2019-11-18 | 2020-03-27 | 珠海运控电机有限公司 | 一种基于双spi输出低频同步信号的系统及其方法 |
CN113590520A (zh) * | 2021-06-15 | 2021-11-02 | 珠海一微半导体股份有限公司 | Spi系统自动写入数据的控制方法及spi系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202167015U (zh) * | 2011-08-19 | 2012-03-14 | 湖南文理学院 | 串行接口转换电路 |
CN202870808U (zh) * | 2012-07-04 | 2013-04-10 | 四川九洲电器集团有限责任公司 | 一种spi串口模块的fpga实现装置 |
CN103440219A (zh) * | 2013-08-23 | 2013-12-11 | 上海航天测控通信研究所 | 一种新型的通用总线转换桥ip核 |
CN105680900A (zh) * | 2016-03-21 | 2016-06-15 | 北京龙鼎源科技股份有限公司 | 数据的传输系统及方法 |
CN106445853A (zh) * | 2016-08-30 | 2017-02-22 | 天津天地伟业数码科技有限公司 | 基于fpga的spi接口与uart接口的转换方法 |
-
2017
- 2017-11-02 CN CN201711065736.7A patent/CN107704407A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202167015U (zh) * | 2011-08-19 | 2012-03-14 | 湖南文理学院 | 串行接口转换电路 |
CN202870808U (zh) * | 2012-07-04 | 2013-04-10 | 四川九洲电器集团有限责任公司 | 一种spi串口模块的fpga实现装置 |
CN103440219A (zh) * | 2013-08-23 | 2013-12-11 | 上海航天测控通信研究所 | 一种新型的通用总线转换桥ip核 |
CN105680900A (zh) * | 2016-03-21 | 2016-06-15 | 北京龙鼎源科技股份有限公司 | 数据的传输系统及方法 |
CN106445853A (zh) * | 2016-08-30 | 2017-02-22 | 天津天地伟业数码科技有限公司 | 基于fpga的spi接口与uart接口的转换方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920392A (zh) * | 2018-05-17 | 2018-11-30 | 歌尔科技有限公司 | 一种数据接口与spi的转换装置及方法 |
CN110928813A (zh) * | 2019-11-18 | 2020-03-27 | 珠海运控电机有限公司 | 一种基于双spi输出低频同步信号的系统及其方法 |
CN113590520A (zh) * | 2021-06-15 | 2021-11-02 | 珠海一微半导体股份有限公司 | Spi系统自动写入数据的控制方法及spi系统 |
CN113590520B (zh) * | 2021-06-15 | 2024-05-03 | 珠海一微半导体股份有限公司 | Spi系统自动写入数据的控制方法及spi系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103064805B (zh) | Spi控制器及通信方法 | |
CN105051706B (zh) | 用于具有pcie协议栈的低功率phy的操作的设备、方法和系统 | |
CN103150279B (zh) | 一种主机与基板管理控制器共享设备的方法 | |
CN110347635A (zh) | 一种基于多层总线的异构多核微处理器 | |
CN109828941A (zh) | Axi2wb总线桥实现方法、装置、设备及存储介质 | |
CN205038556U (zh) | 一种基于双dsp双fpga的vpx多核智能计算硬件平台 | |
CN109783416A (zh) | Spi从设备和i2c从设备共用gpio的方法、电路和电子设备 | |
CN109656856A (zh) | 利用fpga实现非复用总线与复用总线互联装置及方法 | |
CN105281433A (zh) | 一种配电终端通信系统 | |
CN107704407A (zh) | 一种用于spi和uart之间数据处理的系统和方法 | |
CN103036685A (zh) | 基于dp83849c的afdx接口转换器 | |
CN107562672A (zh) | 一种提高矢量网络分析仪数据传输速率的系统及方法 | |
CN105786741A (zh) | 一种soc高速低功耗总线及转换方法 | |
JP2024508592A (ja) | Usbインタフェースの多重化方法、回路、電子機器及び記憶媒体 | |
CN107370651B (zh) | 一种spi从机之间的通信方法 | |
CN207118040U (zh) | 点灯控制系统 | |
CN109840233A (zh) | 基于fpga的60x总线桥接系统、方法及介质 | |
CN202406141U (zh) | 一种防火墙 | |
CN109407574A (zh) | 一种多总线可选择输出控制装置及其方法 | |
CN103607286B (zh) | 基于PowerPC嵌入式系统的多功能通信接口机装置 | |
CN209433225U (zh) | 用于列车网络输入输出系统的处理装置 | |
CN104598420B (zh) | 一种1394总线SoC芯片架构 | |
CN212847014U (zh) | 控制系统 | |
CN208190652U (zh) | 一种全双工通用同步异步串行收发器的主板 | |
CN210572737U (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180216 |
|
RJ01 | Rejection of invention patent application after publication |