CN104598418A - 一种基于fpga的控制i2c通信的系统及方法 - Google Patents

一种基于fpga的控制i2c通信的系统及方法 Download PDF

Info

Publication number
CN104598418A
CN104598418A CN201510040806.8A CN201510040806A CN104598418A CN 104598418 A CN104598418 A CN 104598418A CN 201510040806 A CN201510040806 A CN 201510040806A CN 104598418 A CN104598418 A CN 104598418A
Authority
CN
China
Prior art keywords
module
write
register
read
value
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
Application number
CN201510040806.8A
Other languages
English (en)
Inventor
朱天全
鲍胜青
范少蕾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing OPWILL Technologies Co Ltd
Original Assignee
Beijing OPWILL Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing OPWILL Technologies Co Ltd filed Critical Beijing OPWILL Technologies Co Ltd
Priority to CN201510040806.8A priority Critical patent/CN104598418A/zh
Publication of CN104598418A publication Critical patent/CN104598418A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Abstract

一种基于FPGA的控制I2C通信的系统及方法,用于通信系统中从设备与主设备之间的通信,将从设备的MCU通过主控I2C模块连接一个FPGA,经编程构成FPGA单元,所述FPGA单元包括:主控I2C模块、控制模块和第一存储模块,主控I2C模块分别与所述控制模块和所述第一存储模块连接,其中,主控I2C模块包括:开始标志寄存器;时钟寄存器;数据长度寄存器;读写标志寄存器;地址寄存器;写寄存器;读寄存器;连续读写标志寄存器;连续数据长度寄存器。本发明提供的I2C模块设计了九个特殊寄存器用以实现读写功能,具有高度的灵活性和可移植性,即可以实现一次性读写操作,也可以实现读操作与写操作单独立执行。

Description

一种基于FPGA的控制I2C通信的系统及方法
技术领域
本发明属于通信控制领域,涉及一种基于FPGA的控制I2C通信的系统及方法。
背景技术
随着通信技术、传感器技术、嵌入式操作技术和微电子等技术的高速发展,智能产品的集成度越来越高,因此产品的板级电路的通信速度要求也不断提高。I2C协议作为芯片间的一种基本的通信方式被电子设备广泛应用。因此,提高器件之间I2C的通信速度对提高系统速度有至关重要的意义。
目前,研究者在设计系统时,将定制电路的主设备和有限个I2C接口的从设备连接在一起,只有一个I2C接口的主设备只能依次和多个I2C从设备进行通信,主设备和其中的一个I2C从设备通信时,其他设备则需要等待,这样以来就大大降低了器件之间通信的效率,其次,I2C总线协议规定一个I2C总线所挂载的从设备的数量是有限的,因此,主设备通过单个I2C总线和多个从设备连接是无法满足高速通信的要求。
FPGA作为ASIC专用集成电路领域的一种半定制电路,以其高度灵活性、可重构性,高速且资源丰富等优点给现有的速度慢、性能差的定制电路技术带来了变革,通过FPGA丰富的资源来编程重构主控I2C接口和多个从器件的I2C接口,可以实现CPU与外设之间同时交互通信,然而作为使用I2C通道的设备来说,它们要求的通信方式不尽相同,有的设备一次操作只能执行读或者只能写,而有的设备要求读和写在一次操作中完成,目前的应用中只是根据从设备的时序要求来进行设计。
因此,如何研发一种基于FPGA的控制I2C通信的系统及方法,便成为亟待解决的技术问题。
发明内容
本发明的目的在于克服上述不足,提供一种基于FPGA的控制I2C通信的系统及方法,其可以简便、高效地实现对步进电机运行状态的实时调整。
为了实现上述目的,本发明采用的技术方案为:
一种基于FPGA的控制I2C通信的系统,用于通信系统中从设备与主设备之间的通信,其特征在于,将从设备的MCU通过主控I2C模块连接一个FPGA,经编程构成FPGA单元,所述FPGA单元包括:主控I2C模块、控制模块和第一存储模块,所述主控I2C模块分别与所述控制模块和所述第一存储模块连接,其中,
所述主控I2C模块包括:
开始标志寄存器,用于设置主控I2C模块的开始标志值;
时钟寄存器,用于设置主控I2C模块传输数据的时钟频率值;
数据长度寄存器,用于设置主控I2C模块的一次读取或写入数据的长度值;
读写标志寄存器,用于设置主控I2C模块的读写标志值;
地址寄存器,用于设置从设备的地址值;
写寄存器,用于设置写入的数据值;
读寄存器,用于设置读取的数据值;
连续读写标志寄存器,用于设置连续读写主控I2C模块的标志值;
连续数据长度寄存器,用于设置连续读写时读取数据的长度值。
进一步地,还包括:第二存储模块和从属I2C模块,所述从属I2C模块与所述第二存储模块连接。
进一步地,所述第一存储模块与所述第二存储模块通过地址映射实现互通。
进一步地,还包括CPU接口模块,所述CPU接口模块通过总线与外部CPU进行通信。
进一步地,所述主控I2C模块还连接有从设备。
进一步地,所述从属I2C模块还连接有主设备。
一种基于FPGA的控制I2C通信的方法,其特征在于,包括:
开始标志寄存器,设置主控I2C模块的开始标志值;
时钟寄存器,设置主控I2C模块传输数据的时钟频率值;
数据长度寄存器,设置主控I2C模块的一次读取或写入数据的长度值;
读写标志寄存器,设置主控I2C模块的读写标志值;
地址寄存器,设置从设备的地址值;
写寄存器,设置写入的数据值;
读寄存器,设置读取的数据值;
连续读写标志寄存器,设置连续读写主控I2C模块的标志值;
连续数据长度寄存器,设置连续读写时读取数据的长度值。
进一步地,所述开始标志寄存器的设置步骤还包括:
当I2C_start由0到1跳变时,表示发起操作。
进一步地,所述读写标志寄存器的设置步骤还包括:
当I2C_wen写入0时,表示此次操作为写操作;
当I2C_wen写入1时,表示此次操作为读操作。
进一步地,所述连续读写标志寄存器的设置步骤还包括:
当I2C_sr写入0时,表示此次操作只执行读或写操作;
当I2C_sr写入1时,表示此次操作为连续读写操作。
与现有技术相比,本发明所述的一种基于FPGA的控制I2C通信的系统及方法,达到了如下效果:
(1)本发明提出了一种基于FPGA的控制I2C通信的系统,该系统为I2C模块设计了九个特殊寄存器用以实现读写功能,使I2C模块具有高度的灵活性和可移植性,可以适用于各种I2C从设备,避免了设计者浪费大量时间来根据不同的I2C从设备进行重新设计,可移植性强。
(2)本发明提出了一种基于FPGA的控制I2C通信的方法,该方法即可以实现一次性读写操作,也可以实现读操作与写操作单独立执行,采用该种方法能够实现高度集成和高速通信的目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明的基于FPGA的控制I2C通信的系统的结构原理示意图;
图2是本发明的基于FPGA的控制I2C通信的方法的示意图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
实施例1
请参照图1,本发明提供的一种基于FPGA的控制I2C通信的系统,用于通信系统中从设备与主设备之间的通信,将从设备的MCU(Micro ControlUnit,微控制模块)通过主控I2C模块连接一个FPGA,经编程构成FPGA单元,所述FPGA单元包括:主控I2C模块、控制模块和第一存储模块,其中,
所述主控I2C模块包括:
I2C_start,开始标志寄存器,用于设置主控I2C模块的开始标志值;
I2C_DIV,时钟寄存器,用于设置主控I2C模块传输数据的时钟频率值;
I2C_data_len,数据长度寄存器,用于设置主控I2C模块的一次读取或写入数据的长度值;
I2C_wen,读写标志寄存器,用于设置主控I2C模块的读写标志值;
I2C_addr,地址寄存器,用于设置从设备的地址值;
I2C_wdata,写寄存器,用于设置写入的数据值;
I2C_rdata,读寄存器,用于设置读取的数据值;
I2C_sr,连续读写标志寄存器,用于设置连续读写主控I2C模块的标志值;
I2C_rdata_len,连续数据长度寄存器,用于设置连续读写时读取数据的长度值。
优选地,所述FPGA单元还包括:第二存储模块和从属I2C模块,所述从属I2C模块与所述第二存储模块连接。
优选地,所述第一存储模块与所述第二存储模块通过地址映射实现互通。
优选地,所述FPGA单元还包括CPU接口模块,所述CPU接口模块通过总线与外部CPU进行通信。
优选地,所述主控I2C模块还连接有外部从设备。
优选地,所述从属I2C模块还连接有外部主设备。
优选地,FPGA芯片主要包括:可编程输入输出单元、基本可编程逻辑单元、时钟管理单元、嵌入块式RAM、布线单元、内嵌的底层功能单元和内嵌专用硬件模块。
优选地,FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了即可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。
优选地,FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及个模块之间或模块与I/O间的连接方式,并最终决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
优选地,所述可编程输入输出单元是与外界电路的接口部分,用于完成不同电气特性下对输入/输出信号的驱动与匹配要求,通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小。
优选地,外部输入信号可以通过可编程输入输出单元输入到FPGA的内部,也可以直接输入FPGA内部。
优选地,基本可编程逻辑单元包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。
优选地,开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。
优选地,每个基本可编程逻辑单元不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布式ROM。
优选地,基本可编程逻辑单元由两个4输入的函数、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。
优选地,算术逻辑包括一个异或门和一个与门,一个异或门可以实现2bit全加操作,进位逻辑由进位信号和函数复用器组成,用于实现快速的算术加减法操作;4输入函数发生器用于实现4输入LUT、分布式RAM或16比特移位寄存器。
优选地,所述进位逻辑包括两条快速进位链,用于提高基本可编程逻辑单元的处理速度。
优选地,时钟管理单元用于数字时钟管理和相位环路锁定。相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。
优选地,嵌入块式RAM可被配置为单端口RAM、双端口RAM、内容地址存储器以及FIFO等存储结构。
优选地,内容地址存储器在其内部的每个存储单元中都有一个比较逻辑,写入CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址。
优选地,布线单元连通FPGA内部的所有单元,根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别。第一类是全局布线模块,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线模块,用以完成芯片Bank间的高速信号和第二全局时钟信号的布线;第三类是短线模块,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线模块,用于专有时钟、复位等控制信号线。
优选地,内嵌的底层功能单元包括:DLL(Delay Locked Loop),PLL(Phase Locked Loop),DSP。用于完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。
优选地,本实施例采用的配置模式为将FPGA连接CPU,由CPU对FPGA编程。
优选地,还可采用一片FPGA加一片EPROM的配置模式。
优选地,还可采用一片PROM编程多片FPGA的配置模式。
优选地,还可采用串行PROM编程FPGA的配置模式。
实施例2
如图2所示,本发明提供的一种基于FPGA的控制I2C通信的系统及方法,包括:
开始标志寄存器(I2C_start),设置主控I2C模块的开始标志值;
时钟寄存器(I2C_DIV),设置主控I2C模块传输数据的时钟频率值;
数据长度寄存器(I2C_data_len),设置主控I2C模块的一次读取写入数据的长度值;
读写标志寄存器(I2C_wen),设置主控I2C模块的读写标志值;
地址寄存器(I2C_addr),设置从设备的地址值;
写寄存器(I2C_wdata),设置写入的数据值;
读寄存器(I2C_rdata),设置读取的数据值;
连续读写标志寄存器(I2C_sr),设置连续读写主控I2C模块的标志值;
连续数据长度寄存器(I2C_rdata_len),设置连续读写时读取数据的长度值。
优选地,开始标志寄存器(I2C_start),当I2C_start由0到1跳变时,表示发起操作;
优选地,读写标志寄存器(I2C_wen),当I2C_wen写入0时,表示此次操作为写操作,当I2C_wen写入1时,表示此次操作为读操作;
优选地,连续读写标志寄存器(I2C_sr),当I2C_sr写入0时,表示此次操作只执行读或写操作,当I2C_sr写入1时,表示此次操作为连续读写操作。
具体地,寄存器的设置包括:写操作过程的设置和读操作过程的设置,其中,
写操作过程的设置包括如下步骤:
向时钟寄存器(I2C_DIV)中写入分频值,配置I2C的时钟频率;
向数据长度寄存器(I2C_data_len)中写入一次向从设备输入的数据长度;
向地址寄存器(I2C_addr)中写入从设备地址;
向写寄存器(I2C_wdata)中写入要往从设备配置的数据;
向读写标志寄存器(I2C_wen)中写入0表示此次操作为写操作;
向开始标志寄存器(I2C_start)中写入0再写入1发起操作。
读操作设置包括:一次读操作设置和两次读操作设置,其中,
一次读操作过程的设置包括如下步骤:
向时钟寄存器(I2C_DIV)中写入分频值,配置I2C的时钟频率;
向数据长度寄存器(I2C_data_len)中写入一次向从设备输入的数据长度;
向地址寄存器(I2C_addr)中写入从设备地址;
向写寄存器(I2C_wdata)中写入要往从设备配置的数据;
向读写标志寄存器(I2C_wen)中写入0表示此次操作为写操作;
向连续读写标志寄存器(I2C_sr)中写表示此次执行完后直接读取数据即表示连续读写;
向连续数据长度寄存器(I2C_rdata_len)中写入读取数据的长度;
向开始标志寄存器(I2C_start)中写入0再写入1发起操作。
两次读操作过程的设置包括如下步骤:
首先执行一次写操作过程;
向时钟寄存器(I2C_DIV)中写入分频值,配置I2C的时钟频率;
向数据长度寄存器(I2C_data_len)中写入一次从从设备中读取的数据长度;
向地址寄存器(I2C_addr)中写入从设备地址;
向读写标志寄存器(I2C_wen)中写入1表示此次操作为读操作;
向开始标志寄存器(I2C_start)中写入0再写入1发起操作。
主控I2C模块读写数据的步骤包括:
S1:IDLE空闲状态时,开始标志寄存器(I2C_start)由0跳变到1,则从IDLE空闲状态转入输出地址状态;
S2:进入输出地址状态,地址寄存器(I2C_addr)将从设备的地址输出到从设备中,并进入地址匹配状态;
S3:进入地址匹配状态,当从设备的地址与地址寄存器(I2C_addr)输出的地址一致时,收到从设备回应的ACK,并进入步骤S4;当从设备的地址与地址寄存器(I2C_addr)输出的地址不一致时,则不回应,系统收不到回应则返回步骤S1;
S4:进入数据处理状态,判断数据长度寄存器中(I2C_data_len)的长度值,若不为0,则进入步骤S5;若为0时,则进入S7;
S5:判断读写标志寄存器(I2C_wen)中的读写标志值,若I2C_wen为1时,则进入步骤S6;若I2C_wen为0时,则进入步骤S7;
S6:进入读数据状态,读取读寄存器(I2C_rdata)中的数据,每读一个字节I2C_data_len自动减一,至到读完所有数据,则转入步骤S8;
S7:进入写数据状态,将写寄存器(I2C_wdata)中的数据输出到从设备中,输出一个字节I2C_data_len自动减一,当数据长度减为0时,则进入步骤S8;
S8:判断连续读写标志寄存器(I2C_sr)中的标志值,当为1时,则进入步骤S9,当为0时,则转入步骤S11;
S9:判断连续数据长度寄存器(I2C_rdata_len)中的读取数据的长度值,当不为0时,则进入步骤S10,当为0时,则转入步骤S11;
S10:进入读数据状态,读取读寄存器(I2C_rdata)中的数据值,每读一个字节I2C_rdata_len自动减一,当I2C_rdata_len为0时,数据读完,转入步骤S11。
S11:结束操作。
实施例3
请参照图1和图2,本发明提供的一种基于FPGA的控制I2C通信的系统及方法,用于通信系统中从设备与主设备之间的通信,将从设备的MCU(Micro Control Unit,微控制模块)通过主控I2C模块连接一个FPGA,经编程构成FPGA单元,所述FPGA单元包括:CPU接口模块、多个主控I2C模块、控制模块、第一存储模块、第二存储模块、多个从属I2C模块,其中,
所述CPU接口模块通过CPU总线与外部CPU进行通信,外部CPU通过CPU总线读写FPGA内部开辟的寄存器发起和终止I2C的起操,以达到控制和查询状态的目的;
所述主控I2C模块包括以下九个特殊寄存器来实现一次读写的功能:开始标志寄存器(I2C_start),用于设置主控I2C模块的开始标志值;时钟寄存器(I2C_DIV),用于设置主控I2C模块传输数据的时钟频率值;数据长度寄存器(I2C_data_len),用于设置主控I2C模块的一次读取或写入数据的长度值;读写标志寄存器(I2C_wen),用于设置主控I2C模块的读写标志值;地址寄存器(I2C_addr),用于设置从设备的地址值;写寄存器(I2C_wdata),用于设置写入的数据值;读寄存器(I2C_rdata),用于设置读取的数据值;连续读写标志寄存器(I2C_sr),用于设置连续读写主控I2C模块的标志值;连续数据长度寄存器(I2C_rdata_len),用于设置连续读写时读取数据的长度值,进一步地,每个主控I2C模块还链接有外部从设备,以此控制I2C从设备,并实现高度集成和高速通信的目的。
所述控制模块,通过总线与外部CPU链接,所述控制模块的工作状态由CPU直接控制,同时,所述控制模块与主控I2C模块连接,用于控制FPGA内部实现对I2C模块的命令传输,按照设置产生各个协议命令、相应动作及工作模式。
所述第一存储模块分别与所述主控I2C模块和外部CPU连接,用于所述主控I2C模块与外部CPU之间的数据的缓存。
所述第二存储模块与所述从属I2C模块连接,用于所述从属I2C模块中数据的缓存,所述第二存储模块与所述第一存储模块之间与通过地址映射实现互通,且每个从属I2C模块还连接有外部主设备。
与现有技术相比,本发明所述的一种基于FPGA的控制I2C通信的系统及方法,达到了如下效果:
(1)本发明提出了一种基于FPGA的控制I2C通信的系统,该系统为I2C模块设计了九个特殊寄存器用以实现读写功能,使I2C模块具有高度的灵活性和可移植性,可以适用于各种I2C从设备,避免了设计者浪费大量时间来根据不同的I2C从设备进行重新设计,可移植性强。
(2)本发明提出了一种基于FPGA的控制I2C通信的方法,该方法即可以实现一次性读写操作,也可以实现读操作与写操作单独立执行,采用该种方法能够实现高度集成和高速通信的目的。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

Claims (10)

1.一种基于FPGA的控制I2C通信的系统,用于通信系统中从设备与主设备之间的通信,其特征在于,将从设备的MCU通过主控I2C模块连接一个FPGA,经编程构成FPGA单元,所述FPGA单元包括:主控I2C模块、控制模块和第一存储模块,所述主控I2C模块分别与所述控制模块和所述第一存储模块连接,其中,
所述主控I2C模块包括:
开始标志寄存器,用于设置主控I2C模块的开始标志值;
时钟寄存器,用于设置主控I2C模块传输数据的时钟频率值;
数据长度寄存器,用于设置主控I2C模块的一次读取或写入数据的长度值;
读写标志寄存器,用于设置主控I2C模块的读写标志值;
地址寄存器,用于设置从设备的地址值;
写寄存器,用于设置写入的数据值;
读寄存器,用于设置读取的数据值;
连续读写标志寄存器,用于设置连续读写主控I2C模块的标志值;
连续数据长度寄存器,用于设置连续读写时读取数据的长度值。
2.根据权利要求1所述的基于FPGA的控制I2C通信的系统,其特征在于,还包括:第二存储模块和从属I2C模块,所述从属I2C模块与所述第二存储模块连接。
3.根据权利要求1或2所述的基于FPGA的控制I2C通信的系统,其特征在于,所述第一存储模块与所述第二存储模块通过地址映射实现互通。
4.根据权利要求1所述的基于FPGA的控制I2C通信的系统,其特征在于,还包括CPU接口模块,所述CPU接口模块通过总线与外部CPU进行通信。
5.根据权利要求1所述的基于FPGA的控制I2C通信的系统,其特征 在于,所述主控I2C模块还连接有从设备。
6.根据权利要求2所述的基于FPGA的控制I2C通信的系统,其特征在于,所述从属I2C模块还连接有主设备。
7.一种基于FPGA的控制I2C通信的方法,其特征在于,包括:
开始标志寄存器,设置主控I2C模块的开始标志值;
时钟寄存器,设置主控I2C模块传输数据的时钟频率值;
数据长度寄存器,设置主控I2C模块的一次读取或写入数据的长度值;
读写标志寄存器,设置主控I2C模块的读写标志值;
地址寄存器,设置从设备的地址值;
写寄存器,设置写入的数据值;
读寄存器,设置读取的数据值;
连续读写标志寄存器,设置连续读写主控I2C模块的标志值;
连续数据长度寄存器,设置连续读写时读取数据的长度值。
8.根据权利要求7所述的基于FPGA的控制I2C通信的方法,其特征在于,所述开始标志寄存器的设置步骤还包括:
当I2C_start由0到1跳变时,表示发起操作。
9.根据权利要求7所述的基于FPGA的控制I2C通信的方法,其特征在于,所述读写标志寄存器的设置步骤还包括:
当I2C_wen写入0时,表示此次操作为写操作;
当I2C_wen写入1时,表示此次操作为读操作。
10.根据权利求7所述的基于FPGA的控制I2C通信的方法,其特征在于,所述连续读写标志寄存器的设置步骤还包括:
当I2C_sr写入0时,表示此次操作只执行读或写操作;
当I2C_sr写入1时,表示此次操作为连续读写操作。
CN201510040806.8A 2015-01-27 2015-01-27 一种基于fpga的控制i2c通信的系统及方法 Pending CN104598418A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510040806.8A CN104598418A (zh) 2015-01-27 2015-01-27 一种基于fpga的控制i2c通信的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510040806.8A CN104598418A (zh) 2015-01-27 2015-01-27 一种基于fpga的控制i2c通信的系统及方法

Publications (1)

Publication Number Publication Date
CN104598418A true CN104598418A (zh) 2015-05-06

Family

ID=53124223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510040806.8A Pending CN104598418A (zh) 2015-01-27 2015-01-27 一种基于fpga的控制i2c通信的系统及方法

Country Status (1)

Country Link
CN (1) CN104598418A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829626A (zh) * 2018-04-26 2018-11-16 常州新途软件有限公司 一种用于汽车控制系统的通信方法
CN109597772A (zh) * 2018-12-04 2019-04-09 中国兵器装备集团自动化研究所 一种数据预触发采集方法
CN109614351A (zh) * 2018-11-30 2019-04-12 中国人民解放军陆军工程大学 带有纠错和自动应答机制的并行总线串行互联扩展方法
CN110399325A (zh) * 2019-07-30 2019-11-01 江西理工大学 一种基于iic总线协议的改进型ip核
CN110489361A (zh) * 2019-07-31 2019-11-22 广东高云半导体科技股份有限公司 兼容sram总线的i3c接口电路
CN110738015A (zh) * 2019-09-10 2020-01-31 广东高云半导体科技股份有限公司 片上系统及其fpga内核信息处理方法
CN111459545A (zh) * 2020-03-27 2020-07-28 广东速美达自动化股份有限公司 一种fpga的寄存器资源的优化方法及装置
CN111488175A (zh) * 2019-12-29 2020-08-04 北京浪潮数据技术有限公司 一种访问控制方法、装置、设备及可读存储介质
CN111813731A (zh) * 2020-06-11 2020-10-23 中国长城科技集团股份有限公司 一种内存信息的读取方法、装置、服务器及介质
CN112114189A (zh) * 2020-08-16 2020-12-22 西安电子科技大学 一种基于fpga控制的电参数测量系统及测量方法
CN112286852A (zh) * 2019-07-25 2021-01-29 杭州海康汽车技术有限公司 基于iic总线的数据通信方法和数据通信装置
CN113196255A (zh) * 2020-04-07 2021-07-30 华为技术有限公司 基于内部集成电路协议的数据传输方法和传输装置
CN113626885A (zh) * 2021-06-25 2021-11-09 苏州浪潮智能科技有限公司 Mcu多源写操作控制方法、系统、终端及存储介质
CN115695878A (zh) * 2022-10-27 2023-02-03 北京华建云鼎科技股份公司 基于spi的通信系统
CN117201222A (zh) * 2023-08-16 2023-12-08 天津瑞发科半导体技术有限公司 I2c接口系统、数据写入方法以及数据读取方法
CN117648084A (zh) * 2024-01-29 2024-03-05 井芯微电子技术(天津)有限公司 一种实现i2c底层驱动的方法、装置及可读介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256544A (zh) * 2008-03-25 2008-09-03 华为技术有限公司 内部集成电路总线的扩展方法、装置及系统
CN102023954A (zh) * 2009-09-17 2011-04-20 研祥智能科技股份有限公司 具有多路i2c总线的装置、处理器、系统主板及工控计算机
CN102243619A (zh) * 2011-06-23 2011-11-16 天津光电通信技术有限公司 一种基于fpga实现多路i2c总线端口扩展的方法
CN102841869A (zh) * 2012-07-03 2012-12-26 深圳市邦彦信息技术有限公司 一种基于fpga的多通道i2c控制器
CN102890634A (zh) * 2011-07-19 2013-01-23 联想(北京)有限公司 终端设备和启动终端设备的操作系统的方法
KR20130138472A (ko) * 2012-06-11 2013-12-19 삼성탈레스 주식회사 Fpga를 활용한 장치 제어용 범용 i2c 인터페이스 장치 및 이를 이용한 통신 방법
CN103902232A (zh) * 2012-12-28 2014-07-02 联想(北京)有限公司 一种写入的数据的方法及装置
CN104281538A (zh) * 2013-07-03 2015-01-14 联想(北京)有限公司 一种存储设备的扩容及快照方法和存储设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256544A (zh) * 2008-03-25 2008-09-03 华为技术有限公司 内部集成电路总线的扩展方法、装置及系统
CN102023954A (zh) * 2009-09-17 2011-04-20 研祥智能科技股份有限公司 具有多路i2c总线的装置、处理器、系统主板及工控计算机
CN102243619A (zh) * 2011-06-23 2011-11-16 天津光电通信技术有限公司 一种基于fpga实现多路i2c总线端口扩展的方法
CN102890634A (zh) * 2011-07-19 2013-01-23 联想(北京)有限公司 终端设备和启动终端设备的操作系统的方法
KR20130138472A (ko) * 2012-06-11 2013-12-19 삼성탈레스 주식회사 Fpga를 활용한 장치 제어용 범용 i2c 인터페이스 장치 및 이를 이용한 통신 방법
CN102841869A (zh) * 2012-07-03 2012-12-26 深圳市邦彦信息技术有限公司 一种基于fpga的多通道i2c控制器
CN103902232A (zh) * 2012-12-28 2014-07-02 联想(北京)有限公司 一种写入的数据的方法及装置
CN104281538A (zh) * 2013-07-03 2015-01-14 联想(北京)有限公司 一种存储设备的扩容及快照方法和存储设备

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829626A (zh) * 2018-04-26 2018-11-16 常州新途软件有限公司 一种用于汽车控制系统的通信方法
CN109614351A (zh) * 2018-11-30 2019-04-12 中国人民解放军陆军工程大学 带有纠错和自动应答机制的并行总线串行互联扩展方法
CN109614351B (zh) * 2018-11-30 2022-05-24 中国人民解放军陆军工程大学 带有纠错和自动应答机制的并行总线串行互联扩展方法
CN109597772A (zh) * 2018-12-04 2019-04-09 中国兵器装备集团自动化研究所 一种数据预触发采集方法
CN112286852B (zh) * 2019-07-25 2022-08-12 杭州海康汽车技术有限公司 基于iic总线的数据通信方法和数据通信装置
CN112286852A (zh) * 2019-07-25 2021-01-29 杭州海康汽车技术有限公司 基于iic总线的数据通信方法和数据通信装置
CN110399325A (zh) * 2019-07-30 2019-11-01 江西理工大学 一种基于iic总线协议的改进型ip核
CN110489361B (zh) * 2019-07-31 2020-08-25 广东高云半导体科技股份有限公司 兼容sram总线的i3c接口电路
CN110489361A (zh) * 2019-07-31 2019-11-22 广东高云半导体科技股份有限公司 兼容sram总线的i3c接口电路
CN110738015B (zh) * 2019-09-10 2020-07-07 广东高云半导体科技股份有限公司 片上系统及其fpga内核信息处理方法
CN110738015A (zh) * 2019-09-10 2020-01-31 广东高云半导体科技股份有限公司 片上系统及其fpga内核信息处理方法
CN111488175B (zh) * 2019-12-29 2023-07-14 北京浪潮数据技术有限公司 一种访问控制方法、装置、设备及可读存储介质
CN111488175A (zh) * 2019-12-29 2020-08-04 北京浪潮数据技术有限公司 一种访问控制方法、装置、设备及可读存储介质
CN111459545A (zh) * 2020-03-27 2020-07-28 广东速美达自动化股份有限公司 一种fpga的寄存器资源的优化方法及装置
CN111459545B (zh) * 2020-03-27 2022-07-22 广东速美达自动化股份有限公司 一种fpga的寄存器资源的优化方法及装置
CN113196255A (zh) * 2020-04-07 2021-07-30 华为技术有限公司 基于内部集成电路协议的数据传输方法和传输装置
CN113196255B (zh) * 2020-04-07 2022-04-29 华为技术有限公司 基于内部集成电路协议的数据传输方法和传输装置
CN111813731A (zh) * 2020-06-11 2020-10-23 中国长城科技集团股份有限公司 一种内存信息的读取方法、装置、服务器及介质
CN111813731B (zh) * 2020-06-11 2022-10-25 中国长城科技集团股份有限公司 一种内存信息的读取方法、装置、服务器及介质
CN112114189B (zh) * 2020-08-16 2021-10-19 西安电子科技大学 一种基于fpga控制的电参数测量系统及测量方法
CN112114189A (zh) * 2020-08-16 2020-12-22 西安电子科技大学 一种基于fpga控制的电参数测量系统及测量方法
CN113626885A (zh) * 2021-06-25 2021-11-09 苏州浪潮智能科技有限公司 Mcu多源写操作控制方法、系统、终端及存储介质
CN113626885B (zh) * 2021-06-25 2023-05-23 苏州浪潮智能科技有限公司 Mcu多源写操作控制方法、系统、终端及存储介质
CN115695878A (zh) * 2022-10-27 2023-02-03 北京华建云鼎科技股份公司 基于spi的通信系统
CN117201222A (zh) * 2023-08-16 2023-12-08 天津瑞发科半导体技术有限公司 I2c接口系统、数据写入方法以及数据读取方法
CN117648084A (zh) * 2024-01-29 2024-03-05 井芯微电子技术(天津)有限公司 一种实现i2c底层驱动的方法、装置及可读介质
CN117648084B (zh) * 2024-01-29 2024-04-30 井芯微电子技术(天津)有限公司 一种实现i2c底层驱动的方法、装置及可读介质

Similar Documents

Publication Publication Date Title
CN104598418A (zh) 一种基于fpga的控制i2c通信的系统及方法
EP1382117B9 (en) A field programmable gate array and microcontroller system-on-a-chip
US6754881B2 (en) Field programmable network processor and method for customizing a network processor
US6483342B2 (en) Multi-master multi-slave system bus in a field programmable gate array (FPGA)
CN104050146B (zh) 一种微控制单元mcu芯片
US10318447B2 (en) Universal SPI (Serial Peripheral Interface)
US8856711B2 (en) Apparatus and methods for time-multiplex field-programmable gate arrays
US20060001445A1 (en) Programmable logic block for designing an asynchronous circuit
WO2016076963A1 (en) System and method for preparing partially reconfigurable circuit designs
US7624209B1 (en) Method of and circuit for enabling variable latency data transfers
CN103885034A (zh) 一种雷达用数字信号处理装置
CN104601062A (zh) 基于fpga的控制步进电机的系统及方法
US6523153B1 (en) Method of design verification for integrated circuit system and method for generating interface model for design verification
CN103246623A (zh) Soc计算设备扩展系统
CN206100049U (zh) 一种协议转换器
US20220350772A1 (en) Control system, switch, and method for controlling execution device
US6828838B1 (en) Vectored flip-flops and latches with embedded output-merge logic and shared clock drivers
US9729153B1 (en) Multimode multiplexer-based circuit
CN2657097Y (zh) 一种中央处理单元电路控制系统
Russo Adaptation of High Performance and High Capacity Reconfigurable Systems to OpenCL Programming Environments
JPH04286213A (ja) コンフィグレーション容易なプログラマブルロジックデバイス
US20040225490A1 (en) Device for emulating one or more integrated-circuit chips
CN107665179B (zh) 一种包括现场可编程门阵列的系统
Schmölzer Design of a flexible data path for heterogenous coarse-grain reconfigurable logic circuits
Lin Design of Bidirectional Bus Based on Verilog HDL

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150506

RJ01 Rejection of invention patent application after publication