这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 上一修订版 两侧同时换到之后的修订记录 | ||
icore4tfpga_18 [2020/03/14 10:44] zgf 创建 |
icore4tfpga_18 [2022/04/01 11:03] sean |
||
---|---|---|---|
行 2: | 行 2: | ||
|技术支持电话|**0379-69926675-801**||| | |技术支持电话|**0379-69926675-801**||| | ||
|技术支持邮件|Gingko@vip.163.com||| | |技术支持邮件|Gingko@vip.163.com||| | ||
- | |技术论坛|http://www.eeschool.org||| | ||
^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
| V1.0 | 2020-03-14 | gingko | 初次建立 | | | V1.0 | 2020-03-14 | gingko | 初次建立 | | ||
行 30: | 行 29: | ||
* 如图19.1,SCL一般由主机驱动发向从机。下面对开始标志(START)后的第一个字节进行解析:该字节主要包含器件专用地址码(高7位)和数据方向标志位(低1位),其中,专用地址码的高4位为器件类型,由厂家制定,低3位位器件引脚定义,由使用者定义。数据方向标志位,‘0’表示数据方向由主向从,‘1’表示数据方向由从向主。 | * 如图19.1,SCL一般由主机驱动发向从机。下面对开始标志(START)后的第一个字节进行解析:该字节主要包含器件专用地址码(高7位)和数据方向标志位(低1位),其中,专用地址码的高4位为器件类型,由厂家制定,低3位位器件引脚定义,由使用者定义。数据方向标志位,‘0’表示数据方向由主向从,‘1’表示数据方向由从向主。 | ||
* 本实验是将FPGA自身仿真成一个容量为256Byte的eeprom,按照标准eeprom的标准通信时序进行通信,其写时序如图18.2所示,读时序如图18.3所示。 | * 本实验是将FPGA自身仿真成一个容量为256Byte的eeprom,按照标准eeprom的标准通信时序进行通信,其写时序如图18.2所示,读时序如图18.3所示。 | ||
- | 图18.2 写时许 | + | **图18.2 写时许** |
{{ :icore4t:icore4t_fpga_18_2.png?direct |图18.2 写时许}} | {{ :icore4t:icore4t_fpga_18_2.png?direct |图18.2 写时许}} | ||
- | 图18.3 读时序 | + | **图18.3 读时序** |
{{ :icore4t:icore4t_fpga_18_3.png?direct |图18.3 读时序}} | {{ :icore4t:icore4t_fpga_18_3.png?direct |图18.3 读时序}} | ||
==== 四、 代码讲解 ==== | ==== 四、 代码讲解 ==== | ||
1、正常情况下,数据的变化都发生在SCL的低电平,只有起始标志时,SDA的变化发生在SCL的高电平。根据这个特点,提取每次命令交互的开始标志,其代码如下: | 1、正常情况下,数据的变化都发生在SCL的低电平,只有起始标志时,SDA的变化发生在SCL的高电平。根据这个特点,提取每次命令交互的开始标志,其代码如下: | ||
- | </code verilog> | + | <code verilog> |
always@(negedge i2c_sda or negedge rst_n or posedge cmd_over) | always@(negedge i2c_sda or negedge rst_n or posedge cmd_over) | ||
begin | begin | ||
行 245: | 行 244: | ||
</code> | </code> | ||
==== 五、 实验步骤及实验结果 ==== | ==== 五、 实验步骤及实验结果 ==== | ||
- | {{ :icore4t:icore4t_fpga_18_1.png?direct |图18.4}} | + | {{ :icore4t:icore4t_fpga_18_4.jpg?direct |图18.4}} |
- 将硬件正确连接,如图18.4所示。 | - 将硬件正确连接,如图18.4所示。 | ||
- 打开putty串口调试工具,打开设备管理器查看对应的端口信息,在putty中打开对应的端口,用于打印串口信息; | - 打开putty串口调试工具,打开设备管理器查看对应的端口信息,在putty中打开对应的端口,用于打印串口信息; | ||
行 251: | 行 250: | ||
- 将编写好的ARM代码编译,并下载到开发板中,在putty串口调试工具中输入“test”,开始执行读写操作; | - 将编写好的ARM代码编译,并下载到开发板中,在putty串口调试工具中输入“test”,开始执行读写操作; | ||
- 观察实验现象及putty终端打印信息——FPGA_LED闪烁,putty终端打印如图18.5所示. | - 观察实验现象及putty终端打印信息——FPGA_LED闪烁,putty终端打印如图18.5所示. | ||
- | {{ :icore4t:icore4t_fpga_18_1.png?direct |图18.5}} | + | {{ :icore4t:icore4t_fpga_18_5.png?direct |图18.5}} |
==== 六、 拓展实验 ==== | ==== 六、 拓展实验 ==== |