公开/公告号CN105718410A
专利类型发明专利
公开/公告日2016-06-29
原文格式PDF
申请/专利权人 山东超越数控电子有限公司;
申请/专利号CN201610033193.X
申请日2016-01-19
分类号G06F13/40(20060101);
代理机构37100 济南信达专利事务所有限公司;
代理人杜鹃花
地址 250100 山东省济南市高新区孙村镇科航路2877号
入库时间 2023-12-18 15:45:39
法律状态公告日
法律状态信息
法律状态
2018-05-18
授权
授权
2016-07-27
实质审查的生效 IPC(主分类):G06F13/40 申请日:20160119
实质审查的生效
2016-06-29
公开
公开
技术领域
本发明涉及接口适配器技术领域,具体地说是一种基于FPGA的LPC与SPI及I2C转换适配器及其实现方法。
背景技术
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
目前计算机无论是国产还是Intel、AMD等平台都配备了LPC接口,用于连接嵌入式控制器(EC)及扩展其他外设。市场上通用的LPC接口转换芯片都有一定的局限性,每一款产品的需求不一样,因此不能通用。基于TCM项目,需要完成国产平台的LPC接口到SPI接口的转换,用于读取存储BIOS的Flash的内容完成校验等处理。目前,市场上没有此类成熟芯片。
LPC(全名:LowPinCount),97年Intel发布的取代传统ISABUS的一种新接口规范。以往为了连接ISA扩充槽、适配器、ROMBIOS芯片、SuperI/O等接口,南桥芯片必须保留一个ISABUS,并且连通SuperI/O芯片,以控制传统的外围设备。Intel所定义的PC接口,将以往ISABUS的地址/数据分离译码,改成类似PCI的地址/数据信号线共享的译码方式,信号线数量大幅降低,工作速率由PCI总线速率同步驱动,虽然改良过的LPC接口一样维持最大传输值16MB/s,不过所需要的信号脚位数大幅降低25~30个,以LPC接口设计的SuperI/O芯片、Flash芯片都能享有脚位数减少、体积微缩的好处,主板的设计也可以简化,这也就是取名LPC——LowPinCount的原因。可接的设备:用LPC接口的SuperIO可以接鼠标、键盘、打印机、软驱等;有些Flash也用LPC接口。
SPI(SerialPeripheralInterface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。外围设备包括FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线NSS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。
专利号为CN104503936A的专利文献公开了一种基于FPGA实现的RS232-I2C转换适配器的方法,该方法是利用FPGA的可编程性在FPGA内部搭建I2C模块、RS232模块,通过调整I2C模块速率参数和RS232模块速率参数来调整I2C的通信速率和RS232通信速度;利用FPGA的引脚数量多和FPGA模块的可重构性实现一个FPGA搭建多路RS232-I2C转换适配器。该专利只能实现RS232-I2C转换适配器,不能实现LPC与SPI及其它转换适配器。
由此可见,如何能够实现LPC接口与SPI接口以及其他接口的转换,读取存储BIOS的Flash的内容完成校验等处理是目前现有技术中存在的技术问题。
发明内容
本发明的技术任务是针对以上不足之处,提供一种结构简单、生产成本低、易于加工、对环境无污染的基于FPGA实现的LPC与SPI及I2C转换适配器的方法。
本发明解决其技术问题所采用的技术方案是:一种基于FPGA的LPC与SPI及I2C转换适配器,包括LPC模块、数据存储模块、接口选择模块、速率选择模块、地址映射模块、SPI模块和I2C模块,所述LPC模块分别连接地址映射模块和数据存储模块,地址映射模块连接接口选择模块,数据存储模块分别连接速率选择模块和接口选择模块,接口选择模块分别连接SPI模块和I2C模块。
作为优选,所述数据存储模块采用FIFO存储模块。其中,FIFO(FirstInFirstOut)简单说就是指先进先出。由于微电子技术的飞速发展,新一代FIFO芯片容量越来越大,体积越来越小,价格越来越便宜。作为一种新型大规模集成电路,FIFO芯片以其灵活、方便、高效的特性,逐渐在高速数据采集、高速数据处理、高速数据传输以及多机处理系统中得到越来越广泛的应用。
一种基于FPGA的LPC与SPI及I2C转换适配器的实现方法,该方法的步骤如下:
(1)通过地址映射模块将LPC模块传输的地址编码成SPI模块和I2C模块的地址、并传输到接口选择模块;
(2)通过数据存储模块将LPC接口传输的数据转换成32位透明数据存入数据存储模块中、并传输到接口选择模块;
(3)接口选择模块根据步骤(1)和步骤(2)中的地址及数据,选择连通SPI模块和/或I2C模块;
(4)通过SPI模块和I2C模块将数据存储模块中的数据分别以SPI接口和I2C接口的协议进行转换和传输;
(5)速率选择模块根据SPI接口和I2C接口的通信速率,通过硬件上的拨码开关或者LPC接口命令实现SPI接口和I2C接口的通信速率的调整。
本发明的一种基于FPGA的LPC与SPI及I2C转换适配器及其实现方法和现有技术相比,存在以下优点:
1、本发明通过在FPGA内部搭建LPC模块、SPI模块以及I2C模块,通过接口选择模块,可以选择连通SPI接口和/或I2C接口,实现了LPC接口与SPI接口以及I2C接口的转换,读取存储BIOS的Flash的内容完成校验等处理,同时确保提高了本发明的转换适配器的普遍适用性;
2、采用SPI接口,SPI接口具有信号线少,协议简单,相对数据速率高的特点,故本发明的转换适配器具有使用灵活方便、适应性强,增强了接口稳定性,同时降低了成本。
由此可见,本发明具有设计合理、结构简单、易于加工、体积小、使用方便、一物多用等特点,因而,具有很好的推广使用价值。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种基于FPGA的LPC与SPI及I2C转换适配器的结构框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
实施例1
如附图1所示,一种基于FPGA的LPC与SPI及I2C转换适配器,包括LPC模块、数据存储模块、接口选择模块、速率选择模块、地址映射模块、SPI模块和I2C模块,LPC模块分别连接地址映射模块和数据存储模块,地址映射模块连接接口选择模块,数据存储模块分别连接速率选择模块和接口选择模块,接口选择模块分别连接SPI模块和I2C模块。数据存储模块采用FIFO存储模块。
该转换适配器利用FPGA的可编程特性在FPGA内部搭建LPC模块、SPI模块、I2C模块以及接口选择模块,通过接口选择模块选择连通SPI模块和I2C模块,通过调整LPC模块速率参数、SPI模块速率参数以及I2C模块速率参数来调整LPC接口的通信速率、SPI接口通信速率以及I2C接口的通信速率;利用FPGA内部模块的可重构性实现一个LPC接口与多个SPI接口及I2C接口的转换。
实施例2
一种基于FPGA的LPC与SPI及I2C转换适配器的实现方法,该方法的步骤如下:
(1)通过地址映射模块将LPC模块传输的地址编码成SPI模块和I2C模块的地址、并传输到接口选择模块;
(2)通过数据存储模块将LPC接口传输的数据转换成32位透明数据存入数据存储模块中、并传输到接口选择模块;
(3)接口选择模块根据步骤(1)和步骤(2)中的地址及数据,选择连通SPI模块;
(4)通过SPI模块将数据存储模块中的数据分别以SPI接口的协议进行转换和传输;
(5)速率选择模块根据SPI接口的通信速率,通过LPC接口命令实现SPI接口的通信速率的调整。
实施例3
一种基于FPGA的LPC与SPI及I2C转换适配器的实现方法,该方法的步骤如下:
(1)通过地址映射模块将LPC模块传输的地址编码成SPI模块和I2C模块的地址、并传输到接口选择模块;
(2)通过数据存储模块将LPC接口传输的数据转换成32位透明数据存入数据存储模块中、并传输到接口选择模块;
(3)接口选择模块根据步骤(1)和步骤(2)中的地址及数据,选择连通I2C模块;
(4)通过I2C模块将数据存储模块中的数据分别以I2C接口的协议进行转换和传输;
(5)速率选择模块根据I2C接口的通信速率,通过硬件上的拨码开关命令实现I2C接口的通信速率的调整。
实施例4
一种基于FPGA的LPC与SPI及I2C转换适配器的实现方法,该方法的步骤如下:
(1)通过地址映射模块将LPC模块传输的地址编码成SPI模块和I2C模块的地址、并传输到接口选择模块;
(2)通过数据存储模块将LPC接口传输的数据转换成32位透明数据存入数据存储模块中、并传输到接口选择模块;
(3)接口选择模块根据步骤(1)和步骤(2)中的地址及数据,选择连通SPI模块和I2C模块;
(4)通过SPI模块和I2C模块将数据存储模块中的数据分别以SPI接口和I2C接口的协议进行转换和传输;
(5)速率选择模块根据SPI接口和I2C接口的通信速率,通过LPC接口命令实现SPI接口和I2C接口的通信速率的调整。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于FPGA的LPC与SPI及I2C转换适配器及其实现方法的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的四种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
机译: 基于FPGA实现的PCIe和SPI转换适配器和适应方法
机译: 双I2C和SPI从器件,用于FPGA和ASIC实现
机译: 双I2C和SPI从器件,用于FPGA和ASIC实现