CN114265799A - 基于cpld的spi读写系统及服务器 - Google Patents
基于cpld的spi读写系统及服务器 Download PDFInfo
- Publication number
- CN114265799A CN114265799A CN202111628659.8A CN202111628659A CN114265799A CN 114265799 A CN114265799 A CN 114265799A CN 202111628659 A CN202111628659 A CN 202111628659A CN 114265799 A CN114265799 A CN 114265799A
- Authority
- CN
- China
- Prior art keywords
- spi
- cpld
- interface
- processor
- signal
- 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
Links
- 238000004891 communication Methods 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
Abstract
本申请公开了一种基于CPLD的SPI读写系统及服务器,其包括处理器、SPI器件以及设置在处理器与SPI器件之间的CPLD,处理器通过第一接口和第二接口与CPLD通信连接;于处理器处于第一状态时,处理器被配置为通过第一接口发送第一信号至CPLD,CPLD被配置为将接收到的第一信号传输至SPI器件,SPI器件被配置为根据接收到的第一信号返回对应的信息;于处理器处于第二状态时,处理器被配置为断开第一接口的通信连接并通过第二接口发送第二信号至所述CPLD,CPLD被配置为接收第二信号并执行将第二信号写入SPI器件的操作。本申请能够利用CPLD进行SPI的读写,在特定状态下无需直接依赖处理器上的总线,提高对不同类型的处理器的兼容性,便于切换。
Description
技术领域
本申请涉及SPI读写技术领域,尤其涉及一种基于CPLD(Complex Programmablelogic device,复杂可编程逻辑器件)的SPI读写系统及服务器。
背景技术
SPI(Serial Peripheral Interface,串行外围设备接口)总线技术是一种高速、同步、全双工的通信总线。
由于SPI总线简单易用的特点,SPI总线在多个领域得到广泛应用。如SPI存储设备作为一种常用数据存储部件,在系统设计中常被用于存储固件程序及其相关配置数据,特别是Intel架构的服务器产品,如BIOS SPI Flash用来存储系统启动的BIOS(Basic InputOutput System,基本输入/输出系统)镜像。
但是Intel/AMD CPU的SPI总线是集成在CPU中,由于不同厂家驱动实现方式的差异性较大,并且各厂家具有各自的许可标准,在通过软件进行驱动使用SPI总线较为复杂,难度大。尤其对于OEM/ODM厂商极为不友好,软件工具无法共享,极不方便。另外Intel/AMDCPU一般支持Primary和Backup BIOS SPI Flash,但在运行过程中CPU只能访问其中一个,如果要访问另一个BIOS SPI Flash,则需进行切换并进行相关设置,系统才能生效,效率较低。
发明内容
本申请的目的是为解决上述技术问题的不足而提供一种基于CPLD的SPI读写系统及服务器,能够利用CPLD进行SPI的读写,无需直接依赖处理器上的总线,提高对不同类型的处理器的兼容性,便于切换。
为了实现上述目的,本申请公开了一种基于CPLD的SPI读写系统,其包括处理器、SPI器件以及设置在所述处理器与所述SPI器件之间的CPLD,所述处理器通过第一接口和第二接口与所述CPLD通信连接;
于所述处理器处于第一状态时,所述处理器被配置为通过所述第一接口发送第一信号至所述CPLD,所述CPLD被配置为将接收到的所述第一信号传输至所述SPI器件,所述SPI器件被配置为根据接收到的所述第一信号返回对应的信息;
于所述处理器处于第二状态时,所述处理器被配置为断开所述第一接口的通信连接并通过所述第二接口发送第二信号至所述CPLD,所述CPLD被配置为接收所述第二信号并执行将所述第二信号写入所述SPI器件的操作。
可选地,所述第一接口为SPI接口,所述CPLD与所述SPI器件之间通过SPI接口通信连接。
可选地,所述第二接口为I2C接口或者LPC接口。
可选地,所述第一状态包括所述处理器正常启动状态;
所述第一信号包括读取SPI器件的信息指令;
于所述处理器处于正常启动状态时,所述处理器通过所述第一接口发送所述读取SPI器件的信息指令至所述CPLD,所述CPLD将接收到的所述读取SPI器件的信息指令传输至所述SPI器件,所述SPI器件根据接收到的所述读取SPI器件的信息指令返回对应的信息。
可选地,所述SPI器件包括BIOS SPI闪存;
所述读取SPI器件的信息指令包括从所述BIOS SPI闪存读取启动的BIOS镜像。
可选地,所述第二状态包括升级状态;
所述第二信号包括SPI器件的升级数据;
于所述处理器处于所述升级状态时,所述处理器断开所述第一接口的通信连接并通过所述第二接口发送所述SPI器件的升级数据至所述CPLD,所述CPLD接收所述SPI器件的升级数据并执行将所述SPI器件的升级数据写入所述SPI器件的操作。
可选地,所述SPI器件的升级数据为BIOS镜像。
可选地,所述CPLD还被配置为将接收的所述SPI器件的升级数据进行加密处理。
可选地,所述SPI器件被配置为根据接收到的所述第一信号将对应的信息传输至所述CPLD,所述CPLD通过所述第一接口将对应的信息发送至所述处理器。
为了实现上述目的,本申请公开了一种服务器,其包括如上所述的基于CPLD的SPI读写系统。
在本申请中,处理器与SPI器件之间设置有CPLD,处理器通过第一接口和第二接口与CPLD通信连接,在处理器处于第一状态时,处理器通过第一接口发送第一信号至CPLD,CPLD将接收到的第一信号传输至SPI器件,SPI器件根据接收到的第一信号返回对应的信息;而在处理器处于第二状态时,处理器断开第一接口的通信连接并通过第二接口发送第二信号至CPLD,CPLD接收第二信号并执行将第二信号写入SPI器件的操作。本申请在不同状态下,能够利用CPLD对处理器通过不同接口发出的信号进行相应处理,以与SPI器件进行对应的通信操作,在特定状态下无需直接依赖处理器上的总线,提高对不同类型的处理器的兼容性,便于切换。
附图说明
图1为本申请实施例基于CPLD的SPI读写系统的结构图。
图2为本申请实施例基于CPLD的SPI读写系统的另一结构图。
具体实施方式
为详细说明本申请的技术内容、结构特征、实现原理及所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1和图2,本申请公开了一种基于CPLD的SPI读写系统,其包括处理器(CPU)1、SPI器件2以及设置在处理器1与SPI器件2之间的CPLD 3,处理器1通过第一接口11和第二接口12与CPLD 3通信连接。于处理器1处于第一状态时,处理器1被配置为通过第一接口11发送第一信号至CPLD 3,CPLD3被配置为将接收到的第一信号传输至SPI器件2,SPI器件2被配置为根据接收到的第一信号返回对应的信息。于处理器1处于第二状态时,处理器1被配置为断开第一接口11的通信连接并通过第二接口12发送第二信号至CPLD 3,CPLD3被配置为接收第二信号并执行将第二信号写入SPI器件2的操作。
在本申请中,处理器1与SPI器件2之间设置有CPLD 3,处理器1通过第一接口11和第二接口12与CPLD 3通信连接,在处理器1处于第一状态时,处理器1通过第一接口11发送第一信号至CPLD 3,CPLD 3将接收到的第一信号传输至SPI器件2,SPI器件2根据接收到的第一信号返回对应的信息;而在处理器1处于第二状态时,处理器1断开第一接口11的通信连接并通过第二接口12发送第二信号至CPLD 3,CPLD 3接收第二信号并执行将第二信号写入SPI器件2的操作。本申请在不同状态下,能够利用CPLD 3对处理器1通过不同接口发出的信号进行相应处理,以与SPI器件2进行对应的通信操作,在特定状态下无需直接依赖处理器1上的总线,提高对不同类型的处理器1的兼容性,便于切换。
具体地,CPLD 3通过接口的方式与SPI器件2进行通信连接,其中处理器1处于第一状态或者第二状态时,CPLD 3与SPI器件2保持通信连接。
具体地,SPI器件2被配置为根据接收到的第一信号将对应的信息传输至CPLD 3,CPLD 3通过所述第一接口11将对应的信息发送至处理器1,以使处理器1及时接收对应的信息。
进一步地,第一接口11为SPI接口,CPLD 3与SPI器件2之间通过SPI接口通信连接。
将第一接口11设置为SPI接口,便于CPLD 3与处理器1中的SPI总线通信连接,同时CPLD 3与SPI器件2之间通过SPI接口通信连接,便于CPLD 3与SPI器件2的通信。
当处理器1处于第一状态,处理器1需要读取SPI器件2时,处理器1直接通过第一接口11发送第一信号至CPLD 3,CPLD 3将接收到的第一信号通过SPI接口传输至SPI器件2(其中CPLD 3无需对接收到的第一信号进行进一步的处理,需要注意的是,进一步处理是指改变第一信号的本质的相关处理,对于一些简单标识的添加等不受限制),SPI器件2通过SPI接口接收CPLD 3传输的第一信号,并根据第一信号的内容返回对应的信息。具体地,SPI器件2返回对应的信息是指按照原来路径返回信息至处理器1,SPI器件2将第一信号对应的信息通过SPI接口传输至CPLD 3,CPLD 3再通过第一接口11将第一信号对应的信息传输至处理器1,以使处理器1读取SPI器件2的信息。
具体地,第二接口12为I2C接口(集成电路总线接口)或者LPC接口(低引脚数接口)。
将第二接口12设置为I2C接口或者LPC接口,便于CPLD 3与处理器1建立另一通路的通信连接,在处理器1处于第二状态时(需要将数据写入SPI器件2时),无需再使用第一接口11进行通信,有利于在不同状态下使用不同的通路进行通信,有利于提高效率。
当处理器1处于第二状态时(处理器1将数据写入SPI器件2时),处理器1断开第一接口11的通信连接(断开处理器1与CPLD 3之间的第一接口11的通信连接,CPLD 3与SPI器件2之间的SPI接口保持通信连接)并通过第二接口12(I2C接口或者LPC接口)发送第二信号至CPLD 3,CPLD 3接收第二信号并利用CPLD 3与SPI器件2之间的SPI接口执行将第二信号写入SPI器件2的操作,进而将处理器1发送的数据写入SPI器件2,同时由于处理器1利用第二接口12替代第一接口11(SPI接口)与CPLD 3通信,有利于适用于不同类型的处理器1,提高兼容性。
具体地,第一状态包括处理器1正常启动状态,第一信号包括读取SPI器件2的信息指令。于处理器1处于正常启动状态时,处理器1通过第一接口11发送读取SPI器件2的信息指令至CPLD 3,CPLD 3将接收到的读取SPI器件2的信息指令传输至SPI器件2,SPI器件2根据接收到的读取SPI器件2的信息指令返回对应的信息。
由于处理器1在正常启动状态时,通过第一接口11及CPLD 3的作用将读取SPI器件2的信息指令传输至SPI器件2,SPI器件2返回对应的信息至处理器1,有利于及时获取SPI器件2的信息,保证处理器1可持续地读取SPI器件2的信息。
进一步地,SPI器件2包括BIOS SPI闪存(BIOS SPI Flash),读取SPI器件2的信息指令包括从BIOS SPI闪存读取启动的BIOS镜像(BIOS Image)。
通常来说,BIOS SPI闪存具有较高的读写速度,可访问等特点,通常作为固件程序的存储,尤其是存储系统启动的BIOS镜像。
具体地,第二状态包括升级状态,第二信号包括SPI器件的升级数据。处理器1处于升级状态时,处理器1断开第一接口11的通信连接并通过第二接口12发送SPI器件2的升级数据至CPLD 3,CPLD 3接收SPI器件2的升级数据并执行将SPI器件2的升级数据写入SPI器件的操作。
在一些情况下,为了维持系统的稳定性,处理器1需要对SPI器件2进行写入或更新数据。由于处理器1在升级状态时,通过断开第一接口11并通过第二接口12发送SPI器件2的升级数据至CPLD 3,CPLD 3接收SPI器件2的升级数据并执行将SPI器件2的升级数据写入SPI器件的操作,无需处理器1直接与SPI器件2建立通信以将SPI器件2的升级数据写入SPI器件2,避免受到处理器1上的SPI总线驱动方式的影响,利用CPLD 3接收SPI器件2的升级数据并执行将SPI器件2的升级数据写入SPI器件的操作,有利于兼容不同类型的处理器1。
进一步地,SPI器件2的升级数据为BIOS镜像(BIOS Image)。
进一步地,CPLD 3还被配置为将接收的SPI器件2的升级数据进行加密处理。
通过SPI器件2的升级数据进行加密处理,有利于提高系统的安全等级。
本申请还公开一种服务器,其包括上述的基于CPLD的SPI读写系统。
通过处理器1与SPI器件2之间设置有CPLD 3,处理器1通过第一接口11和第二接口12与CPLD 3通信连接,在处理器1处于第一状态时,处理器1通过第一接口11发送第一信号至CPLD 3,CPLD 3将接收到的第一信号传输至SPI器件2,SPI器件2根据接收到的第一信号返回对应的信息;而在处理器1处于第二状态时,处理器1断开第一接口11的通信连接并通过第二接口12发送第二信号至CPLD 3,CPLD 3接收第二信号并执行将第二信号写入SPI器件2的操作。在不同状态下,能够利用CPLD 3对处理器1通过不同接口发出的信号进行相应处理,以与SPI器件2进行对应的通信操作,在特定状态下无需直接依赖处理器1上的总线,提高对不同类型的处理器1的兼容性,便于切换。
以上所揭露的仅为本申请的较佳实例而已,不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,均属于本申请所涵盖的范围。
Claims (10)
1.一种基于CPLD的SPI读写系统,其特征在于,包括处理器、SPI器件以及设置在所述处理器与所述SPI器件之间的CPLD,所述处理器通过第一接口和第二接口与所述CPLD通信连接;
于所述处理器处于第一状态时,所述处理器被配置为通过所述第一接口发送第一信号至所述CPLD,所述CPLD被配置为将接收到的所述第一信号传输至所述SPI器件,所述SPI器件被配置为根据接收到的所述第一信号返回对应的信息;
于所述处理器处于第二状态时,所述处理器被配置为断开所述第一接口的通信连接并通过所述第二接口发送第二信号至所述CPLD,所述CPLD被配置为接收所述第二信号并执行将所述第二信号写入所述SPI器件的操作。
2.如权利要求1所述的基于CPLD的SPI读写系统,其特征在于,
所述第一接口为SPI接口,所述CPLD与所述SPI器件之间通过SPI接口通信连接。
3.如权利要求1或2所述的基于CPLD的SPI读写系统,其特征在于,
所述第二接口为I2C接口或者LPC接口。
4.如权利要求1所述的基于CPLD的SPI读写系统,其特征在于,
所述第一状态包括所述处理器正常启动状态;
所述第一信号包括读取SPI器件的信息指令;
于所述处理器处于正常启动状态时,所述处理器通过所述第一接口发送所述读取SPI器件的信息指令至所述CPLD,所述CPLD将接收到的所述读取SPI器件的信息指令传输至所述SPI器件,所述SPI器件根据接收到的所述读取SPI器件的信息指令返回对应的信息。
5.如权利要求4所述的基于CPLD的SPI读写系统,其特征在于,
所述SPI器件包括BIOS SPI闪存;
所述读取SPI器件的信息指令包括从所述BIOS SPI闪存读取启动的BIOS镜像。
6.如权利要求1或5所述的基于CPLD的SPI读写系统,其特征在于,
所述第二状态包括升级状态;
所述第二信号包括SPI器件的升级数据;
于所述处理器处于所述升级状态时,所述处理器断开所述第一接口的通信连接并通过所述第二接口发送所述SPI器件的升级数据至所述CPLD,所述CPLD接收所述SPI器件的升级数据并执行将所述SPI器件的升级数据写入所述SPI器件的操作。
7.如权利要求6所述的基于CPLD的SPI读写系统,其特征在于,
所述SPI器件的升级数据为BIOS镜像。
8.如权利要求6所述的基于CPLD的SPI读写系统,其特征在于,
所述CPLD还被配置为将接收的所述SPI器件的升级数据进行加密处理。
9.如权利要求1所述的基于CPLD的SPI读写系统,其特征在于,
所述SPI器件被配置为根据接收到的所述第一信号将对应的信息传输至所述CPLD,所述CPLD通过所述第一接口将对应的信息发送至所述处理器。
10.一种服务器,其特征在于,包括如权利要求1至9任一项所述的基于CPLD的SPI读写系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111628659.8A CN114265799B (zh) | 2021-12-28 | 2021-12-28 | 基于cpld的spi读写系统及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111628659.8A CN114265799B (zh) | 2021-12-28 | 2021-12-28 | 基于cpld的spi读写系统及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114265799A true CN114265799A (zh) | 2022-04-01 |
CN114265799B CN114265799B (zh) | 2024-03-26 |
Family
ID=80830936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111628659.8A Active CN114265799B (zh) | 2021-12-28 | 2021-12-28 | 基于cpld的spi读写系统及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114265799B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325404A1 (en) * | 2009-06-17 | 2010-12-23 | International Business Machines Corproation | Updating Programmable Logic Devices |
CN102053937A (zh) * | 2009-10-30 | 2011-05-11 | 上海研祥智能科技有限公司 | 在lpc总线中调用spi接口的闪存的方法及系统 |
CN106325857A (zh) * | 2016-08-11 | 2017-01-11 | 迈普通信技术股份有限公司 | 一种电子设备及电子设备控制方法 |
CN108304282A (zh) * | 2018-03-07 | 2018-07-20 | 郑州云海信息技术有限公司 | 一种双bios的控制方法及相关装置 |
CN109669729A (zh) * | 2018-12-26 | 2019-04-23 | 杭州迪普科技股份有限公司 | 一种处理器的启动引导方法 |
CN110187923A (zh) * | 2019-05-10 | 2019-08-30 | 杭州迪普科技股份有限公司 | 一种应用于多cpu板卡的cpu启动方法和装置 |
CN111090539A (zh) * | 2019-10-30 | 2020-05-01 | 苏州浪潮智能科技有限公司 | 一种基于cpld的双闪存自我修复方法和装置 |
CN113434442A (zh) * | 2021-06-30 | 2021-09-24 | 新华三信息安全技术有限公司 | 一种交换机及数据访问方法 |
CN113741985A (zh) * | 2021-07-30 | 2021-12-03 | 苏州浪潮智能科技有限公司 | 一种bios升级后系统冷启动的方法、装置、设备及可读介质 |
-
2021
- 2021-12-28 CN CN202111628659.8A patent/CN114265799B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325404A1 (en) * | 2009-06-17 | 2010-12-23 | International Business Machines Corproation | Updating Programmable Logic Devices |
CN102053937A (zh) * | 2009-10-30 | 2011-05-11 | 上海研祥智能科技有限公司 | 在lpc总线中调用spi接口的闪存的方法及系统 |
CN106325857A (zh) * | 2016-08-11 | 2017-01-11 | 迈普通信技术股份有限公司 | 一种电子设备及电子设备控制方法 |
CN108304282A (zh) * | 2018-03-07 | 2018-07-20 | 郑州云海信息技术有限公司 | 一种双bios的控制方法及相关装置 |
CN109669729A (zh) * | 2018-12-26 | 2019-04-23 | 杭州迪普科技股份有限公司 | 一种处理器的启动引导方法 |
CN110187923A (zh) * | 2019-05-10 | 2019-08-30 | 杭州迪普科技股份有限公司 | 一种应用于多cpu板卡的cpu启动方法和装置 |
CN111090539A (zh) * | 2019-10-30 | 2020-05-01 | 苏州浪潮智能科技有限公司 | 一种基于cpld的双闪存自我修复方法和装置 |
CN113434442A (zh) * | 2021-06-30 | 2021-09-24 | 新华三信息安全技术有限公司 | 一种交换机及数据访问方法 |
CN113741985A (zh) * | 2021-07-30 | 2021-12-03 | 苏州浪潮智能科技有限公司 | 一种bios升级后系统冷启动的方法、装置、设备及可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114265799B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902053B (zh) | 一种基于双控制器的spi通信方法、终端设备及存储介质 | |
AU2006335964B2 (en) | A method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may be booted from | |
CN111813731B (zh) | 一种内存信息的读取方法、装置、服务器及介质 | |
US10656676B2 (en) | Docking device, electrical device, and MAC address cloning method | |
US10078568B1 (en) | Debugging a computing device | |
CN115658160B (zh) | 基于多核异构soc的多操作系统升级方法、装置及系统 | |
US11151065B2 (en) | Method for performing detection control of write protection function of memory device, associated control chip and associated electronic device | |
US11361081B2 (en) | Secure boot method for terminal device, terminal device and medium | |
CN110727466B (zh) | 多晶粒的多核计算机平台及其开机方法 | |
CN111124985A (zh) | 一种移动终端只读控制方法及装置 | |
US20130282971A1 (en) | Computing system and data transmission method | |
KR100801759B1 (ko) | 슬레이브의 디버깅 방법 및 시스템 | |
KR20080080799A (ko) | 메모리의 직렬 인터페이스 방법 및 장치 | |
US6970964B2 (en) | Using PCMCIA/PCI drivers to control USB ports | |
CN114265799A (zh) | 基于cpld的spi读写系统及服务器 | |
CN115878327A (zh) | 总线预留方法、装置、服务器、电子设备和存储介质 | |
US11216401B2 (en) | USB host-to-USB host chip | |
CN115129648A (zh) | 车载监控板pcie总线转usb总线的方法及装置 | |
CN113778482A (zh) | 一种运行程序的动态更新方法、嵌入式控制器及电子设备 | |
CN111027104A (zh) | 一种防止网卡标识数据丢失的方法、装置及主板 | |
US20200226076A1 (en) | Configuration profile updates | |
CN111459867B (zh) | 一种usb转smi方法、装置、转换器及存储介质 | |
CN113347159B (zh) | 一种自助终端的数据传输方法、系统及存储介质 | |
CN113836068B (zh) | PCIe显卡的控制方法、装置、服务器及电子设备 | |
CN111984296B (zh) | 一种COMe板卡的双BIOS监控系统 |
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 |