CN105718410B - 一种基于fpga的lpc与spi及i2c转换适配器及其实现方法 - Google Patents
一种基于fpga的lpc与spi及i2c转换适配器及其实现方法 Download PDFInfo
- Publication number
- CN105718410B CN105718410B CN201610033193.XA CN201610033193A CN105718410B CN 105718410 B CN105718410 B CN 105718410B CN 201610033193 A CN201610033193 A CN 201610033193A CN 105718410 B CN105718410 B CN 105718410B
- Authority
- CN
- China
- Prior art keywords
- module
- interface
- spi
- modules
- lpc
- 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
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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
-
- 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/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于FPGA的LPC与SPI及I2C转换适配器及其实现方法,属于接口适配器,本发明要解决的技术问题为如何能够实现LPC接口与SPI接口以及其他接口的转换,读取存储BIOS的Flash的内容完成校验。技术方案为:(1)一种基于FPGA的LPC与SPI及I2C转换适配器,包括LPC模块、数据存储模块、接口选择模块、速率选择模块、地址映射模块、SPI模块和I2C模块,所述LPC模块分别连接地址映射模块和数据存储模块。(2)一种基于FPGA的LPC与SPI及I2C转换适配器的实现方法,该方法的步骤如下:通过地址映射模块将LPC模块传输的地址编码成SPI模块和I2C模块的地址、并传输到接口选择模块。
Description
技术领域
本发明涉及接口适配器技术领域,具体地说是一种基于FPGA的LPC与SPI及I2C转换适配器及其实现方法。
背景技术
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
目前计算机无论是国产还是Intel、AMD等平台都配备了LPC接口,用于连接嵌入式控制器(EC)及扩展其他外设。市场上通用的LPC接口转换芯片都有一定的局限性,每一款产品的需求不一样,因此不能通用。基于TCM项目,需要完成国产平台的LPC接口到SPI接口的转换,用于读取存储BIOS的Flash的内容完成校验等处理。目前,市场上没有此类成熟芯片。
LPC(全名:Low Pin Count),97年Intel发布的取代传统ISA BUS的一种新接口规范。以往为了连接ISA扩充槽、适配器、ROM BIOS芯片、Super I/O等接口,南桥芯片必须保留一个ISA BUS,并且连通Super I/O芯片,以控制传统的外围设备。Intel所定义的PC接口,将以往ISA BUS的地址/数据分离译码,改成类似PCI的地址/数据信号线共享的译码方式,信号线数量大幅降低,工作速率由PCI总线速率同步驱动,虽然改良过的LPC接口一样维持最大传输值16MB/s,不过所需要的信号脚位数大幅降低25~30个,以LPC接口设计的Super I/O芯片、Flash芯片都能享有脚位数减少、体积微缩的好处,主板的设计也可以简化,这也就是取名LPC——Low Pin Count的原因。可接的设备:用LPC接口的SuperIO可以接鼠标、键盘、打印机、软驱等;有些Flash也用LPC接口。
SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。外围设备包括FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线NSS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。
专利号为CN 104503936 A的专利文献公开了一种基于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( First In FirstOut)简单说就是指先进先出。由于微电子技术的飞速发展,新一代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转换适配器及其实现方法的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的四种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (3)
1.一种基于FPGA的LPC与SPI及I2C转换适配器,其特征在于:包括LPC模块、数据存储模块、接口选择模块、速率选择模块、地址映射模块、SPI模块和I2C模块,所述LPC模块分别连接地址映射模块和数据存储模块,地址映射模块连接接口选择模块,接口选择模块分别连接SPI模块和I2C模块,通过地址映射模块将LPC模块传输的地址编码成SPI模块和I2C模块的地址、并传输到接口选择模块;数据存储模块分别连接速率选择模块和接口选择模块,通过数据存储模块将LPC接口传输的数据转换成32位透明数据存入数据存储模块中、并传输到接口选择模块;接口选择模块根据接收到的地址及数据,选择连通SPI模块和/或I2C模块;通过SPI模块和I2C模块将数据存储模块中的数据分别以SPI接口和I2C接口的协议进行转换和传输;速率选择模块根据SPI接口和I2C接口的通信速率,通过硬件上的拨码开关或者LPC接口命令实现SPI接口和I2C接口的通信速率的调整。
2.根据权利要求1所述的一种基于FPGA的LPC与SPI及I2C转换适配器,其特征在于:所述数据存储模块采用FIFO存储模块。
3.一种基于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接口的通信速率的调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610033193.XA CN105718410B (zh) | 2016-01-19 | 2016-01-19 | 一种基于fpga的lpc与spi及i2c转换适配器及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610033193.XA CN105718410B (zh) | 2016-01-19 | 2016-01-19 | 一种基于fpga的lpc与spi及i2c转换适配器及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105718410A CN105718410A (zh) | 2016-06-29 |
CN105718410B true CN105718410B (zh) | 2018-05-18 |
Family
ID=56147640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610033193.XA Active CN105718410B (zh) | 2016-01-19 | 2016-01-19 | 一种基于fpga的lpc与spi及i2c转换适配器及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718410B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445579A (zh) * | 2016-08-29 | 2017-02-22 | 安徽皖通邮电股份有限公司 | 一种通用x86服务器子卡固件烧结的方法和装置 |
CN107844450B (zh) * | 2016-09-21 | 2020-12-11 | 深圳中电长城信息安全系统有限公司 | Lpc接口通讯协议的转换方法和系统 |
CN110895501B (zh) * | 2019-06-10 | 2024-05-14 | 研祥智慧物联科技有限公司 | 串口切换方法及其系统 |
CN112131167B (zh) * | 2020-08-21 | 2022-06-21 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于lpc协议的i2c转发模块、系统及其使用方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202306544U (zh) * | 2011-10-25 | 2012-07-04 | 北京航天长征飞行器研究所 | 基于fpga的spi接口ad、da的通用控制接口 |
CN102999467A (zh) * | 2012-12-24 | 2013-03-27 | 中国科学院半导体研究所 | 基于fpga实现的高速接口与低速接口转换电路及方法 |
CN203405588U (zh) * | 2013-08-05 | 2014-01-22 | 中国烟草总公司重庆市公司烟草科学研究所 | 一种基于can总线的户外自动气象站 |
CN204374963U (zh) * | 2015-01-26 | 2015-06-03 | 山东超越数控电子有限公司 | 一种基于tcm芯片的服务器加密模块 |
CN104881388A (zh) * | 2015-06-12 | 2015-09-02 | 哈尔滨工业大学 | 基于fpga的usb 3.0接口模块 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1250294A (zh) * | 1999-07-27 | 2000-04-12 | 邮电部武汉邮电科学研究院 | 以太网与同步数字体系或同步光网络融合的适配方法 |
-
2016
- 2016-01-19 CN CN201610033193.XA patent/CN105718410B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202306544U (zh) * | 2011-10-25 | 2012-07-04 | 北京航天长征飞行器研究所 | 基于fpga的spi接口ad、da的通用控制接口 |
CN102999467A (zh) * | 2012-12-24 | 2013-03-27 | 中国科学院半导体研究所 | 基于fpga实现的高速接口与低速接口转换电路及方法 |
CN203405588U (zh) * | 2013-08-05 | 2014-01-22 | 中国烟草总公司重庆市公司烟草科学研究所 | 一种基于can总线的户外自动气象站 |
CN204374963U (zh) * | 2015-01-26 | 2015-06-03 | 山东超越数控电子有限公司 | 一种基于tcm芯片的服务器加密模块 |
CN104881388A (zh) * | 2015-06-12 | 2015-09-02 | 哈尔滨工业大学 | 基于fpga的usb 3.0接口模块 |
Also Published As
Publication number | Publication date |
---|---|
CN105718410A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718410B (zh) | 一种基于fpga的lpc与spi及i2c转换适配器及其实现方法 | |
CN104809094B (zh) | Spi控制器及其通信方法 | |
CN104915303B (zh) | 基于PXIe总线的高速数字I/O系统 | |
CN105208034B (zh) | 一种spi总线与can总线协议转换电路及方法 | |
CN204857144U (zh) | Led显示屏控制系统和发送卡 | |
CN104318301B (zh) | 一种带有通信功能的tf卡 | |
CN103827841B (zh) | 可配置带宽的io连接器 | |
KR20110078471A (ko) | 모바일 인더스트리 프로세서 인터페이스 | |
CN103581070B (zh) | 一种卫星通信移动终端基带处理系统及其应用方法 | |
CN103471656B (zh) | 一种实现传感器多级级联装置及方法 | |
CN101599004A (zh) | 基于fpga的sata控制器 | |
CN105786741B (zh) | 一种soc高速低功耗总线及转换方法 | |
CN108153686A (zh) | 多接口cpu模块 | |
CN103901814B (zh) | 一种多轴运动数控系统 | |
CN201383075Y (zh) | 基于PowerPC处理器的PC104-plus控制器 | |
CN104484302B (zh) | 基于usb接口的实现两台主机之间双向通信与控制的系统 | |
CN201886466U (zh) | Mdio总线从机至spi总线的无缝转换模块 | |
CN110401586A (zh) | 一种总线通信方法、装置、设备及可读存储介质 | |
CN102693203A (zh) | 嵌入式usb主机 | |
CN208128284U (zh) | 一种基于s698pm的以太网转多路同步串口接口通讯设备 | |
CN202406141U (zh) | 一种防火墙 | |
CN103051817B (zh) | 用spi接口实现pcm信息交互的方法及语音终端设备 | |
CN206819347U (zh) | 一种基于fpga的加密串口交换模块 | |
CN101344874A (zh) | 控制i2c器件的方法及装置 | |
CN113625617A (zh) | 一种基于国产mcu芯片的gmac通道复用系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201218 Address after: 1218-18, building 3, No. 1366, Hongfeng Road, Huzhou Economic and Technological Development Zone, Huzhou City, Zhejiang Province Patentee after: Zhejiang Chaoyue CNC Electronic Technology Co.,Ltd. Address before: 250100 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech District, Shandong Province Patentee before: SHANDONG CHAOYUE NUMERICAL CONTROL ELECTRONIC Co.,Ltd. |
|
TR01 | Transfer of patent right |