CN115202257B - 一种lpc总线协议转换及设备并行控制装置及方法 - Google Patents
一种lpc总线协议转换及设备并行控制装置及方法 Download PDFInfo
- Publication number
- CN115202257B CN115202257B CN202210831547.0A CN202210831547A CN115202257B CN 115202257 B CN115202257 B CN 115202257B CN 202210831547 A CN202210831547 A CN 202210831547A CN 115202257 B CN115202257 B CN 115202257B
- Authority
- CN
- China
- Prior art keywords
- lpc
- data
- control
- bus
- state machine
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 20
- 239000000872 buffer Substances 0.000 claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000012546 transfer Methods 0.000 claims description 8
- 230000007704 transition Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 15
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/21—Pc I-O input output
- G05B2219/21063—Bus, I-O connected to a bus
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Bus Control (AREA)
Abstract
本发明涉及LPC总线协议转换领域,具体公开一种LPC总线协议转换及设备并行控制装置及方法,PCI/PCIE协议IP核将物理PCI/PCIE信号转换为本地端信号,将本地端的M比特位数据信号存入数据缓存区;主控状态机将数据缓存区内的本地端数据信号分为N组,每组4比特位,向每个选通的LPC控制逻辑发送相应分组数据;接收各个选通LPC控制逻辑从LPC设备读取的数据,并组合为M比特位的数据后通过PCI/PCIE总线发送至上位机;数据缓存区对数据进行缓存;LPC控制逻辑实现LPC总线协议,把所接收的分组数据和控制信号转换为LPC总线信号,驱动外部LPC设备工作;时钟控制模块进行时钟频率转换。本发明克服现有技术的局限性,实现服务器主板对LPC设备的兼容,可以满足对具备LPC接口的LPC设备的使用,从而提升系统的安全性和效率。
Description
技术领域
本发明涉及LPC总线协议转换领域,具体涉及一种LPC总线协议转换及设备并行控制装置及方法。
背景技术
LPC是由Intel公司推出的一种总线协议,用于在计算机系统中替代传统的ISA总线。LPC是33MHz时钟频率、数据宽度4bit的并行总线,由13根信号线组成,其中7个必选信号和6个可选信号,只需要7个必选信号就能够实现LPC通信,因此实现方式比较灵活。但是,随着服务器主板技术的发展,当今主流的主板一般只具备1个LPC物理插槽,甚至有的主板不提供LPC插槽,从而导致TCM、TPM等具备LPC接口的IO设备不能在服务器上兼容使用,所以不能满足服务器对具备LPC总线接口的密码模块的使用需求。而且,由于现有主板只有1个LPC物理插槽,不能实现多个LPC设备并行运行的功能。图1和图2是现有的两种LPC接口方案,图1中LPC总线位于南桥PCH下面,不能实现对多个LPC设备的并行控制,此外,如果主板不具备LPC物理插槽,LPC设备就不能使用;图2是BMC(基板管理控制器)作为LPC设备与PCH进行通信,虽然BMC也支持LPC总线协议,但只是作为从模式(Slave)接受PCH的信息,不能作为主模式(Master)实现对TCM等LPC设备的控制。
发明内容
为解决上述问题,本发明提供一种LPC总线协议转换及设备并行控制装置及方法,利用PCI/PCIe物理插槽,将PCI/PCIe总线信号转换为多路LPC总线信号,能够控制多个LPC设备并行工作,实现服务器主板对LPC设备的兼容,满足对具备LPC接口的LPC设备的使用,提升系统的安全性和效率。
第一方面,本发明的技术方案提供一种LPC总线协议转换及设备并行控制装置,包括板卡,板卡上设置有可编程逻辑器件,可编程逻辑器件设置有主控状态机、数据缓存区、PCI/PCIE协议IP核、时钟控制模块和N个LPC控制逻辑;
PCI/PCIE协议IP核:与PCI/PCIE总线连接,将物理PCI/PCIE信号转换为本地端信号,将本地端的M比特数据信号存入数据缓存区;其中M=N*4;
主控状态机:将数据缓存区内的本地端数据信号分为N组,每组4比特位,选通LPC控制逻辑,向每个选通的LPC控制逻辑发送相应分组数据;接收各个选通LPC控制逻辑从LPC设备读取的数据,并组合为M比特位的数据后通过PCI/PCIE总线发送至上位机;
数据缓存区:对数据进行缓存;
LPC控制逻辑:实现LPC总线协议,把所接收的分组数据和控制信号转换为LPC总线信号,驱动外部LPC设备工作;
时钟控制模块:进行时钟频率转换,作为可编程逻辑器件上各模块的工作时钟。
进一步地,板卡上还设置有对外接口,包括PCI/PCIe物理总线接口、LPC设备接口和JATG/AS接口;
PCI/PCIe物理总线接口供PCI/PCIE协议IP核连接至PCI/PCIE总线;LPC设备接口供LPC控制逻辑连接至外部LPC设备,JATG/AS接口供可编程逻辑器件程序的调试和下载。
进一步地,板卡上还设置电源模块,为板卡上各模块提供工作电压。
进一步地,可编程逻辑器件为FPGA。
进一步地,数据缓存区为随机存储器或先进先出堆栈。
第二方面,本发明的技术方案提供一种LPC总线协议转换及设备并行控制装置,包括BMC,BMC上设置LPC控制逻辑,BMC通过LPC控制逻辑连接外部LPC设备;
BMC将数据和控制信号发送至LPC控制逻辑,LPC控制逻辑实现LPC总线协议,把所接收的数据和控制信号转换为LPC总线信号,驱动外部LPC设备工作,实现BMC对外部LPC设备的主动控制。
第三方面,本发明的技术方案提供一种上述任一项所述装置的LPC总线协议转换及设备并行控制方法,包括以下步骤:
上位机通过PCI/PCIE总线向板卡发送本次需处理的数据;
板卡上PCI/PCIE协议IP核接收M比特位的PCI/PCIE总线数据,并处理为本地端数据信号存入数据缓存区;
主控状态机将数据缓存区内的本地端数据信号分为N组,每组4比特位;其中N*4=M;
主控状态机选通至少一个LPC控制逻辑,向各个选通的LPC控制逻辑发送相应的分组数据;
各个选通的LPC控制逻辑将接收的分组数据和控制信号转换为LPC总线信号,驱动LPC设备工作;
当选通的LPC控制逻辑完成对LPC设备数据的读取操作后,通知主控状态机读取数据,主控状态机将读取的数据存入数据缓存区;
主控状态机从所有选通的LPC控制逻辑读取完数据后,将全部LPC控制逻辑的4比特位数据组合成M比特位数据通过PCI/PCIE总线发送至上位机。
进一步地,将全部LPC控制逻辑的4比特位数据组合成M比特位数据时,未选通的LPC控制逻辑的4比特位数据在组合后的M比特位数据中的对应位置设置为“0000”。
进一步地,LPC控制逻辑对LPC设备的驱动通过LPC控制逻辑的写操作状态机实现;
写操作状态机包括以下状态:空闲、开始、传输类型、写地址、写数据、控制权转换、写等待、结束;
各状态间转换流程包括以下步骤,实现LPC控制逻辑对LPC设备的驱动:
1)系统复位后进入空闲状态,当复位结束并且总线传输信号有效时,进入开始状态;
2)在开始状态,经过1个时钟周期,写操作状态机将数据“0000”传入LPC设备的LAD总线,表示传输的开始,之后进入传输类型状态;
3)在传输类型状态,经过1个时钟周期,将高电平的读写控制信号传输至LPC设备的LAD总线,代表IO写操作类型,之后进入写地址状态;
4)在写地址状态,经过4个时钟周期,写操作状态机向LPC设备的LAD总线传输4个4bit地址,即LPC设备接收了16bit的地址,之后进入写数据状态;
5)在写数据状态,经过2个时钟周期,写操作状态机向LPC设备的LAD总线传输2个4bit的数据,即LPC设备接收了8bit的数据,之后进入控制权转换状态;
6)在控制权转换状态,经过2个时钟周期,写操作状态机向LPC设备的LAD总线传输“1111”,代表将总线的控制权交给LPC设备,之后进入写等待状态;
7)在写等待状态,写操作状态机等待LPC设备运算完成,监测其LAD总线,当LAD=0000时代表LPC设备完成运算,之后进入结束状态;
8)在结束状态,经过2个时钟周期,LPC设备将控制权交回给写操作状态机,之后返回空闲状态。
进一步地,LPC控制逻辑对LPC设备数据的读操作由LPC控制逻辑的读操作状态机实现;
读操作状态机包括以下状态:空闲、开始、传输类型、读地址、控制权转换、读等待、读数据、结束;
各状态间转换流程包括以下步骤,实现LPC控制逻辑对LPC设备数据的读取:
1)系统复位后进入空闲状态,当复位结束并且总线传输信号有效时,进入开始状态;
2)在开始状态,经过1个时钟周期,读操作状态机将数据“0000”传入LPC设备的LAD总线,表示传输的开始,之后进入传输类型状态;
3)在传输类型状态,经过1个时钟周期,将低电平的读写控制信号传输至LPC设备的LAD总线,代表IO读操作类型,之后进入读地址状态;
4)在读地址状态,经过4个时钟周期,读操作状态机从LPC设备的LAD总线读取4个4bit地址,即读取LPC设备的16bit地址,之后进入控制权转换状态;
5)在控制权转换状态,经过2个时钟周期,读操作状态机向LPC设备的LAD传输“1111”,代表将总线的控制权交给LPC设备,之后进入读等待状态;
6)在读等待状态,读操作状态机等待LPC设备的数据准备好,监测其LAD总线,当LAD=0000时代表LPC设备将数据准备完成,之后进入读数据状态;
7)在读数据状态,经过2个时钟周期,读操作状态机从LPC设备的LAD总线读取2个4bit的数据,之后进入结束状态;
8)在结束状态,经过2个时钟周期,LPC设备将控制权交回给读操作状态机,并且读操作状态机设置数据准备完成标识位为高电平,表示已完成对LPC设备数据的读取,之后返回空闲状态。
本发明提供的一种LPC总线协议转换及设备并行控制装置及方法,相对于现有技术,具有以下有益效果:基于可编程逻辑器件实现LPC协议的转换及设备扩展卡,利用1个PCI/PCIe物理插槽,将PCI/PCIe总线信号转换为多路LPC总线信号,能够控制多个LPC设备并行工作。从而能够克服现有技术的局限性,实现服务器主板对LPC设备的兼容,可以满足对具备LPC接口的LPC设备的使用,从而提升系统的安全性和效率。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的一种LPC接口方案。
图2是现有的另一种LPC接口方案。
图3是本发明实施例提供的一种LPC总线协议转换及设备并行控制装置结构示意图。
图4是本发明实施例提供一种LPC总线协议转换及设备并行控制装置一具体实施例结构示意图。
图5是本发明实施例提供一种LPC总线协议转换及设备并行控制装置结构示意图。
图6是本发明实施例提供一种LPC总线协议转换及设备并行控制方法原理示意图。
图7是本发明实施例中主控状态机和LPC控制逻辑连接关系示意图。
图8是本发明实施例中LPC控制逻辑写操作状态机示意图。
图9是本发明实施例中LPC控制逻辑读操作状态机示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图3是本发明实施例提供的一种LPC总线协议转换及设备并行控制装置结构示意图,包括板卡,板卡上设置可编程逻辑器件,板卡上设置多个功能模块实现LPC总线协议转换及设备并行,功能模块包括:主控状态机、数据缓存区、PCI/PCIE协议IP核、时钟控制模块和N个LPC控制逻辑。
以下对各功能模块的具体功能进行说明。
1)PCI/PCIE协议IP核:与PCI/PCIE总线连接,将物理PCI/PCIE信号转换为本地端信号,将本地端的M比特位数据信号存入数据缓存区;其中M=N*4。
PCI/PCIE信号的数据总线位宽有32bit和64bit,而LPC协议的数据总线位宽为4bit,协议转换将32bit或64bit位宽转换成4bit位宽以适应LPC设备,这样如果PCI/PCIE信号为32bit位宽,则可同时并行控制32/4=8个LPC设备,相应的设置8个LPC控制逻辑,如果PCI/PCIE信号为64bit位宽,则可同时并行控制64/4=16个LPC设备,相应的设置16个LPC控制逻辑。
2)主控状态机:将数据缓存区内的本地端数据信号分为N组,每组4比特位,选通LPC控制逻辑,向每个选通的LPC控制逻辑发送相应分组数据;接收各个选通LPC控制逻辑从LPC设备读取的数据,并组合为M比特位的数据后通过PCI/PCIE总线发送至上位机。
为驱动LPC设备,Mbit的本地端数据信号分组为4bit位的数据,即如果是32bit本地端数据信号,则分组成8组4bit数据,如果是64bit本地端数据信号,则分组成16组4bit数据,从而分配给各个LPC控制逻辑。
LPC控制逻辑有N个,但实际运行时不一定都选通,只选通需要控制的LPC设备对应的LPC控制逻辑即可,然后主控状态机将分组后的数据中对应的分组数据发送至相应选通的LPC控制逻辑,再由LPC控制逻辑根据数据和控制信号驱动LPC设备。
当然,主控状态机还负责将从LPC设备收集的数据重新组合成32bit或64bit的PCI/PCIE数据,经由PCI/PCIE总线发送给上位机。需要说明的是,在组合时,每个LPC控制逻辑对应4bit数据,对于选通的LPC控制逻辑,其传输给主控状态机的数据为4bit的从LPC设备读取的数据,而对于未选通的LPC控制逻辑所对应的组合后数据中对应的4bit位置可设置为“0000”。
3)数据缓存区:对数据进行缓存。
缓存的数据包括上位机发送来的PCI/PCIE信号转换的本地端数据信号,以及LPC控制逻辑从LPC设备读取的数据。
4)LPC控制逻辑:实现LPC总线协议,把所接收的分组数据和控制信号转换为LPC总线信号,驱动外部LPC设备工作。
共设置N个,如果PCI/PCIE数据信号为32bit位宽,则设置8个,如果PCI/PCIE数据信号为64bit位宽,则设置16个。
5)时钟控制模块:进行时钟频率转换,作为可编程逻辑器件上各模块的工作时钟。
例如把Local端的时钟信号转换为LPC总线所需要的33MHz时钟频率。
本发明实施例提供的一种LPC总线协议转换及设备并行控制装置,基于可编程逻辑器件实现LPC协议的转换及设备扩展卡,利用1个PCI/PCIe物理插槽,将PCI/PCIe总线信号转换为多路LPC总线信号,能够控制多个LPC设备并行工作。从而能够克服现有技术的局限性,实现服务器主板对LPC设备的兼容,可以满足对具备LPC接口的LPC设备的使用,从而提升系统的安全性和效率。
在具体实施例时,在板卡上还设置对外接口,以实现与外部设备的连接,具体包括PCI/PCIe物理总线接口、LPC设备接口和JATG/AS接口。
PCI/PCIe物理总线接口,连接至可编程逻辑器件的PCI/PCIE协议IP核对应的信号线,供PCI/PCIE协议IP核连接至PCI/PCIE总线。
LPC设备接口,为N个,供LPC控制逻辑连接至外部LPC设备。
JATG/AS接口,为程序的调试/下载接口,供可编程逻辑器件程序的调试和下载。
在具体实施时,在板卡上还设置电源模块,为板卡上各模块提供工作电压,例如3.3V、2.5V、1.2V等。
可编程逻辑器件可选用FPGA,FPGA上的数据缓存区可以是RAM(随机存储器)或FIFO(先进先出堆栈)。
在上述实施例基础上,图4为提供的一具体实施例结构示意图,FPGA采用IntelCyclone IV系列的芯片,片上集成了PCIe协议硬件IP核,数据缓存区采用RAM,时钟控制模块把Local端的100MHz时钟频率转换为33MHz时钟,供LPC设备使用,LPC设备为TCM/TPM。从而解决了主板没有PCI总线导致多路LPC设备不能使用的问题。
图5是本发明实施例提供一种LPC总线协议转换及设备并行控制装置结构示意图,包括BMC,BMC上设置LPC控制逻辑,BMC通过LPC控制逻辑连接外部LPC设备;BMC将数据和控制信号发送至LPC控制逻辑,LPC控制逻辑实现LPC总线协议,把所接收的数据和控制信号转换为LPC总线信号,驱动外部LPC设备工作,实现BMC对外部LPC设备的主动控制。
本实施例提供的一种LPC总线协议转换及设备并行控制装置,将上述实施例中的LPC控制逻辑移植到BMC中,可以实现LPC协议的Master方式,实现BMC对外部TCM等LPC设备的主动控制,从而克服图2中的缺陷。
上文中对于一种LPC总线协议转换及设备并行控制装置的实施例进行了详细描述,基于上述实施例描述的LPC总线协议转换及设备并行控制装置,本发明实施例还提供了一种与该装置对应的LPC总线协议转换及设备并行控制方法。
本发明实施例提供一种LPC总线协议转换及设备并行控制方法,图6为该方法原理示意图,上位机向板卡发送数据,主控状态机处理本地端信号,将数据分组,然后主控状态机根据需要选择任意几个LPC控制逻辑(如有8个LPC控制逻辑,选择1~8个LPC控制逻辑),发送数据和控制信号,之后主控状态机进入等待状态,并判断LPC控制逻辑是否完成对LPC设备的读取,如果未完成,则进行等待,如果完成则主控状态机从LPC控制逻辑读取数据,将数据组包,传送至上位机。
以下对本方法具体说明,该方法具体包括以下步骤。
S101,上位机通过PCI/PCIE总线向板卡发送本次需处理的数据。
S102,板卡上PCI/PCIE协议IP核将物理PCI/PCIE总线信号转换为本地端信号,将本地端的M比特位数据信号存入数据缓存区。
S103,主控状态机将数据缓存区内的本地端数据信号分为N组,每组4比特位;其中N*4=M。
S104,主控状态机选通至少一个LPC控制逻辑,向各个选通的LPC控制逻辑发送相应的分组数据。
板卡的主控状态机处理本地端信号,将PCI/PCIe的本地端信号转换为LPC控制逻辑的相关控制信号,并且将数据信号进行分组后传输至各个选通的LPC设备,例如将每个32bit数据信号分为8组,每组4bit。
需要说明的是,主控状态机选择LPC控制逻辑,可以同时选择N组LPC控制逻辑其中的任意几个。
主控状态机设置控制信号,向每个被选中的LPC控制逻辑发送数据分组。
之后主控状态机进入等待状态,此时由LPC控制逻辑进行LPC协议的转换并控制LPC设备工作
S105,各个选通的LPC控制逻辑将接收的分组数据和控制信号转换为LPC总线信号,驱动LPC设备工作。
S106,当选通的LPC控制逻辑完成对LPC设备数据的读取操作后,通知主控状态机读取数据,主控状态机将读取的数据存入数据缓存区。
S107,主控状态机从所有选通的LPC控制逻辑读取完数据后,将全部LPC控制逻辑的4比特位数据组合成M比特位数据通过PCI/PCIE总线发送至上位机。
例如,主控状态机从对应的LPC控制逻辑中读取数据,将各LPC控制逻辑4bit位宽的数据组合成32bit后依次存入缓存区。对于在步骤104中未被选中的LPC控制逻辑,其4bit数据在组合后的32bit数据中对应的位置可以设置为“0000”。
为进一步理解本发明,以下对主控状态机和LPC控制逻辑的功能引脚以及连接关系进行说明,图7为主控状态机和LPC控制逻辑连接关系示意图。
主控状态机:作用是与PCI/PCIe总线IP核的Local信号进行通信,并与LPC控制逻辑进行交互,主要信号说明如下:
CLK:时钟输出信号,生成33MHz时钟频率作为LPC控制逻辑的时钟输入;
Data_in[31..0]:32位数据输出信号,为总线复用方式,包括命令、数据、地址3种格式的数据类型;
LRESET:复位信号,低电平有效,连接至LPC控制逻辑的复位输入端口LRESET_in;
LFRAME:指示一个总线周期的开始,低电平有效,连接至LPC控制逻辑的输入端口LFRAME_in;
IO_R_W:读写控制信号,高电平代表写操作,即数据由LPC控制逻辑传输至LPC设备;低电平代表读操作,数据由LPC设备传输至LPC控制逻辑;
CS[7..0]:8位片选信号,高电平代表选择对应的LPC控制逻辑,例如CS[0]=1表示选中第一个LPC控制逻辑,使其控制LPC设备工作;CS[0]=0表示LPC控制逻辑不起作用;
Data_out[31..0]:32位数据输入信号,即数据由LPC控制逻辑输入到主控状态机;
Ready[7..0]:8位完成信号,高电平有效,表示对应的LPC控制逻辑完成对LPC设备数据的读操作,主控状态机可以读取LPC控制逻辑的数据,例如Ready[0]=1表示第1个LPC设备的数据已被LPC控制逻辑读取,主控状态机可以从LPC控制逻辑中读取数据;Ready[0]=0表示第1个LPC控制逻辑暂未完成对LPC设备的读取操作,主控状态机需继续等待。
LPC控制逻辑:为N组,每组的功能是一样的,通过内部的状态机逻辑控制1个LPC设备,根据主控状态机的发送的数据和信号输出LPC总线时序,从而驱动外部LPC设备工作,主要信号说明如下:
LCLK_in:时钟信号,连接至33MHz,并输出至外部的LPC设备的时钟信号线LCLK,作为LPC设备的工作时钟;
Data_in[3..0]:4位数据输入信号,连接至主控状态机对应的数据位,并输出到外部LPC设备的双向数据/地址总线LAD[3..0];
LRESET_in:复位信号,连接至LPC设备的复位信号LRESET;
LFRAME_in:总线周期开始信号,连接至LPC设备的LFRAME:
IO_R_W:读写控制信号,高电平表示IO写操作,数据写入LPC设备;低电平表示IO读操作,从LPC设备读取数据;
CS:片选信号,当CS=1时LPC控制逻辑正常工作,CS=0时LPC控制逻辑不起作用;
Data_out[3..0]:4位数据输出信号,由外部LPC设备的LAD[3..0]总线读取数据后传输至Data_out[3..0],再返回到主控状态机;
Ready:数据准备完成标识位,Ready=1表示已完成对LPC设备数据的读取,Ready=0表示未完成数据读取。
LPC控制逻辑通过写操作状态机和读操作状态机,分别实现对LPC设备的写和读操作,图8是LPC控制逻辑写操作状态机示意图,图9是LPC控制逻辑读操作状态机示意图。以下分别以LPC总线协议IO方式一个总线传输周期的写操作、读操作为例说明LPC控制逻辑状态机的实现。
如图8所示,写操作状态机包括空闲(IDLE)、开始(START)、传输类型(CYC_TYPE)、写地址(WR_ADDR)、写数据(WR_DATA)、控制权转换(WR_TAR)、写等待(WR_SYNC)、结束(FINAL_TAR)状态,各状态间的转换关系如下:
1)系统复位后进入IDLE状态,当复位结束并且总线传输信号有效时,即LRESET_in=1、LFRAME_in=0时进入START状态;
2)在START状态,经过1个时钟周期,状态机将数据“0000”传入LPC设备的LAD总线,表示传输的开始,之后进入CYC_TYPE状态;
3)在CYC_TYPE状态,经过1个时钟周期,将IO_R_W的状态(此时已由主控状态机设置为IO_R_W=1)传输至LPC设备的LAD总线,代表IO写操作类型,之后进入WR_ADDR状态;
4)在WR_ADDR状态,经过4个时钟周期,状态机向LPC设备的LAD总线传输4个4bit地址,即LPC设备接收了16bit的地址,之后进入WR_DATA状态;
5)在WR_DATA状态,经过2个时钟周期,状态机向LPC设备的LAD总线传输2个4bit的数据,即LPC设备接收了8bit的数据,之后进入WR_TAR状态;
6)在WR_TAR状态,经过2个时钟周期,状态机向LPC设备的LAD总线传输“1111”,代表将总线的控制权交给LPC设备,之后进入等待状态WR_SYNC;
7)在WR_SYNC状态,状态机等待LPC设备运算完成,监测其LAD总线,当LAD=0000时代表LPC设备完成运算,之后进入FINAL_TAR状态;
8)在FINAL_TAR状态,经过2个时钟周期,LPC设备将控制权交回给状态机,之后返回IDLE状态。
至此完成1个总线周期的IO写操作。
如图9所示,读操作状态机包括空闲(IDLE)、开始(START)、传输类型(CYC_TYPE)、读地址(RD_ADDR)、控制权转换(RD_TAR)、读等待(RD_SYNC)、读数据(RD_DATA)、结束(FINAL_TAR)状态,各状态间的转换关系如下:
1)系统复位后进入IDLE状态,当复位结束并且总线传输信号有效时,即LRESET_in=1、LFRAME_in=0时进入START状态;
2)在START状态,经过1个时钟周期,状态机将数据“0000”传入LPC设备的LAD总线,表示传输的开始,之后进入CYC_TYPE状态;
3)在CYC_TYPE状态,经过1个时钟周期,将IO_R_W的状态(此时已由主控状态机设置为IO_R_W=0)传输至LPC设备的LAD总线,代表IO读操作类型,之后进入RD_ADDR状态;
4)在RD_ADDR状态,经过4个时钟周期,状态机从LPC设备的LAD总线读取4个4bit地址,即读取LPC设备的16bit地址,之后进入RD_TAR状态;
5)在RD_TAR状态,经过2个时钟周期,状态机向LPC设备的LAD传输“1111”,代表将总线的控制权交给LPC设备,之后进入等待状态RD_SYNC;
6)在RD_SYNC状态,状态机等待LPC设备的数据准备好,监测其LAD总线,当LAD=0000时代表LPC设备将数据准备完成,之后进入RD_DATA状态;
7)在RD_DATA状态,经过2个时钟周期,状态机从LPC设备的LAD总线读取2个4bit的数据,之后进入FINAL_TAR状态;
8)在FINAL_TAR状态,经过2个时钟周期,LPC设备将控制权交回给状态机,并且状态机设置Ready=1,之后返回IDLE状态。
至此完成1个总线周期的IO读操作。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (10)
1.一种LPC总线协议转换及设备并行控制装置,其特征在于,包括板卡,板卡上设置有可编程逻辑器件,可编程逻辑器件设置有主控状态机、数据缓存区、PCI/PCIE协议IP核、时钟控制模块和N个LPC控制逻辑;
PCI/PCIE协议IP核:与PCI/PCIE总线连接,将物理PCI/PCIE信号转换为本地端信号,将本地端的M比特位数据信号存入数据缓存区;其中M=N*4;
主控状态机:将数据缓存区内的本地端数据信号分为N组,每组4比特位,选通LPC控制逻辑,向每个选通的LPC控制逻辑发送相应分组数据;接收各个选通LPC控制逻辑从LPC设备读取的数据,并组合为M比特位的数据后通过PCI/PCIE总线发送至上位机;
数据缓存区:对数据进行缓存;
LPC控制逻辑:实现LPC总线协议,把所接收的分组数据和控制信号转换为LPC总线信号,驱动外部LPC设备工作;
时钟控制模块:进行时钟频率转换,作为可编程逻辑器件上各模块的工作时钟。
2.根据权利要求1所述的LPC总线协议转换及设备并行控制装置,其特征在于,板卡上还设置有对外接口,包括PCI/PCIe物理总线接口、LPC设备接口和JATG/AS接口;
PCI/PCIe物理总线接口供PCI/PCIE协议IP核连接至PCI/PCIE总线;LPC设备接口供LPC控制逻辑连接至外部LPC设备,JATG/AS接口供可编程逻辑器件程序的调试和下载。
3.根据权利要求2所述的LPC总线协议转换及设备并行控制装置,其特征在于,板卡上还设置电源模块,为板卡上各模块提供工作电压。
4.根据权利要求1、2或3所述的LPC总线协议转换及设备并行控制装置,其特征在于,可编程逻辑器件为FPGA。
5.根据权利要求1、2或3所述的LPC总线协议转换及设备并行控制装置,其特征在于,数据缓存区为随机存储器或先进先出堆栈。
6.一种LPC总线协议转换及设备并行控制装置,其特征在于,包括BMC,BMC上设置LPC控制逻辑,BMC通过LPC控制逻辑连接外部LPC设备;
BMC将数据和控制信号发送至LPC控制逻辑,LPC控制逻辑实现LPC总线协议,把所接收的数据和控制信号转换为LPC总线信号,驱动外部LPC设备工作,实现BMC对外部LPC设备的主动控制。
7.一种基于权利要求1-5任一项所述装置的LPC总线协议转换及设备并行控制方法,其特征在于,包括以下步骤:
上位机通过PCI/PCIE总线向板卡发送本次需处理的数据;
板卡上PCI/PCIE协议IP核接收M比特位的PCI/PCIE总线数据,并处理为本地端数据信号存入数据缓存区;
主控状态机将数据缓存区内的本地端数据信号分为N组,每组4比特位;其中N*4=M;
主控状态机选通至少一个LPC控制逻辑,向各个选通的LPC控制逻辑发送相应的分组数据;
各个选通的LPC控制逻辑将接收的分组数据和控制信号转换为LPC总线信号,驱动LPC设备工作;
当选通的LPC控制逻辑完成对LPC设备数据的读取操作后,通知主控状态机读取数据,主控状态机将读取的数据存入数据缓存区;
主控状态机从所有选通的LPC控制逻辑读取完数据后,将全部LPC控制逻辑的4比特位数据组合成M比特位数据通过PCI/PCIE总线发送至上位机。
8.根据权利要求7所述的LPC总线协议转换及设备并行控制方法,其特征在于,将全部LPC控制逻辑的4比特位数据组合成M比特位数据时,未选通的LPC控制逻辑的4比特位数据在组合后的M比特位数据中的对应位置设置为“0000”。
9.根据权利要求8所述的LPC总线协议转换及设备并行控制方法,其特征在于,LPC控制逻辑对LPC设备的驱动通过LPC控制逻辑的写操作状态机实现;
写操作状态机包括以下状态:空闲、开始、传输类型、写地址、写数据、控制权转换、写等待、结束;
各状态间转换流程包括以下步骤,实现LPC控制逻辑对LPC设备的驱动:
1)系统复位后进入空闲状态,当复位结束并且总线传输信号有效时,进入开始状态;
2)在开始状态,经过1个时钟周期,写操作状态机将数据“0000”传入LPC设备的LAD总线,表示传输的开始,之后进入传输类型状态;
3)在传输类型状态,经过1个时钟周期,将高电平的读写控制信号传输至LPC设备的LAD总线,代表IO写操作类型,之后进入写地址状态;
4)在写地址状态,经过4个时钟周期,写操作状态机向LPC设备的LAD总线传输4个4bit地址,即LPC设备接收了16bit的地址,之后进入写数据状态;
5)在写数据状态,经过2个时钟周期,写操作状态机向LPC设备的LAD总线传输2个4bit的数据,即LPC设备接收了8bit的数据,之后进入控制权转换状态;
6)在控制权转换状态,经过2个时钟周期,写操作状态机向LPC设备的LAD总线传输“1111”,代表将总线的控制权交给LPC设备,之后进入写等待状态;
7)在写等待状态,写操作状态机等待LPC设备运算完成,监测其LAD总线,当LAD=0000时代表LPC设备完成运算,之后进入结束状态;
8)在结束状态,经过2个时钟周期,LPC设备将控制权交回给写操作状态机,之后返回空闲状态。
10.根据权利要求9所述的LPC总线协议转换及设备并行控制方法,其特征在于,LPC控制逻辑对LPC设备数据的读操作由LPC控制逻辑的读操作状态机实现;
读操作状态机包括以下状态:空闲、开始、传输类型、读地址、控制权转换、读等待、读数据、结束;
各状态间转换流程包括以下步骤,实现LPC控制逻辑对LPC设备数据的读取:
1)系统复位后进入空闲状态,当复位结束并且总线传输信号有效时,进入开始状态;
2)在开始状态,经过1个时钟周期,读操作状态机将数据“0000”传入LPC设备的LAD总线,表示传输的开始,之后进入传输类型状态;
3)在传输类型状态,经过1个时钟周期,将低电平的读写控制信号传输至LPC设备的LAD总线,代表IO读操作类型,之后进入读地址状态;
4)在读地址状态,经过4个时钟周期,读操作状态机从LPC设备的LAD总线读取4个4bit地址,即读取LPC设备的16bit地址,之后进入控制权转换状态;
5)在控制权转换状态,经过2个时钟周期,读操作状态机向LPC设备的LAD传输“1111”,代表将总线的控制权交给LPC设备,之后进入读等待状态;
6)在读等待状态,读操作状态机等待LPC设备的数据准备好,监测其LAD总线,当LAD=0000时代表LPC设备将数据准备完成,之后进入读数据状态;
7)在读数据状态,经过2个时钟周期,读操作状态机从LPC设备的LAD总线读取2个4bit的数据,之后进入结束状态;
8)在结束状态,经过2个时钟周期,LPC设备将控制权交回给读操作状态机,并且读操作状态机设置数据准备完成标识位为高电平,表示已完成对LPC设备数据的读取,之后返回空闲状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210831547.0A CN115202257B (zh) | 2022-07-15 | 2022-07-15 | 一种lpc总线协议转换及设备并行控制装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210831547.0A CN115202257B (zh) | 2022-07-15 | 2022-07-15 | 一种lpc总线协议转换及设备并行控制装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115202257A CN115202257A (zh) | 2022-10-18 |
CN115202257B true CN115202257B (zh) | 2024-01-23 |
Family
ID=83582286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210831547.0A Active CN115202257B (zh) | 2022-07-15 | 2022-07-15 | 一种lpc总线协议转换及设备并行控制装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115202257B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201820230U (zh) * | 2010-01-22 | 2011-05-04 | 华北计算技术研究所 | 计算机用可信计算信任根设备及计算机 |
CN104123204A (zh) * | 2013-04-23 | 2014-10-29 | 鸿富锦精密工业(深圳)有限公司 | Lpc总线检测系统及方法 |
CN204206157U (zh) * | 2014-11-20 | 2015-03-11 | 天津市英贝特航天科技有限公司 | Lpc总线与lbe总线间的转换结构 |
CN111143264A (zh) * | 2019-12-30 | 2020-05-12 | 山东方寸微电子科技有限公司 | 实现同步模式的apb桥、实现异步模式的apb桥及其控制方法 |
CN112860624A (zh) * | 2021-03-17 | 2021-05-28 | 西安超越申泰信息科技有限公司 | 一种基于飞腾2000-4处理器的计算机主板 |
-
2022
- 2022-07-15 CN CN202210831547.0A patent/CN115202257B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201820230U (zh) * | 2010-01-22 | 2011-05-04 | 华北计算技术研究所 | 计算机用可信计算信任根设备及计算机 |
CN104123204A (zh) * | 2013-04-23 | 2014-10-29 | 鸿富锦精密工业(深圳)有限公司 | Lpc总线检测系统及方法 |
CN204206157U (zh) * | 2014-11-20 | 2015-03-11 | 天津市英贝特航天科技有限公司 | Lpc总线与lbe总线间的转换结构 |
CN111143264A (zh) * | 2019-12-30 | 2020-05-12 | 山东方寸微电子科技有限公司 | 实现同步模式的apb桥、实现异步模式的apb桥及其控制方法 |
CN112860624A (zh) * | 2021-03-17 | 2021-05-28 | 西安超越申泰信息科技有限公司 | 一种基于飞腾2000-4处理器的计算机主板 |
Also Published As
Publication number | Publication date |
---|---|
CN115202257A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111984562B (zh) | 寄存器突发访问控制的方法、电子设备及存储介质 | |
US7725638B2 (en) | Application processor circuit incorporating both SD host and slave functions and electronic device including same | |
CN101571842B (zh) | 一种用于arinc429通讯的pci板卡装置 | |
CN1570907B (zh) | 多处理器系统 | |
CN109656851B (zh) | 一种时间确定的包括多路高速总线通道及共享接口的系统 | |
CN101436171B (zh) | 模块化通信控制系统 | |
CN109411007B (zh) | 一种基于fpga的通用闪存测试系统 | |
CN111338996A (zh) | 一种支持多协议的复合总线控制器 | |
CN110635985A (zh) | 一种FlexRay-CPCIe通信模块 | |
Li et al. | UART Controller with FIFO Buffer Function Based on APB Bus | |
GB2377138A (en) | Ring Bus Structure For System On Chip Integrated Circuits | |
CN101655825B (zh) | 一种使用fpga实现lpc-usb双向通信的装置及lpc-usb和usb-lpc数据转换方法 | |
CN115202257B (zh) | 一种lpc总线协议转换及设备并行控制装置及方法 | |
CN107370651B (zh) | 一种spi从机之间的通信方法 | |
CN109407574A (zh) | 一种多总线可选择输出控制装置及其方法 | |
CN111026691B (zh) | 基于apb总线的owi通讯设备 | |
CN219574799U (zh) | 一种基于amba总线的多总线桥接器及其片上系统 | |
CN115328832B (zh) | 一种基于pcie dma的数据调度系统与方法 | |
CN103226531A (zh) | 一种双端口外设配置接口电路 | |
CN103530256B (zh) | CPCIe和PCI协议数据的处理装置及方法 | |
CN101436119A (zh) | 一种与存储卡通讯的系统和方法 | |
CN103544133B (zh) | 一种转换装置及方法 | |
KR100361511B1 (ko) | 다기능 직렬 통신 인터페이스 장치 | |
CN220137680U (zh) | 一种支持异步通信接口的仿真器 | |
CN110825684A (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 |