基于NIOS II的IC总线接口设计
2
第五章 软件设计
Quartus Ⅱ配置完成后,进行Nios IDE软件的开发。
打开Nios IDE软件,点击File选择Nios Ⅱ C/C++ Application。在SOPC Builder System PTF File选择Quartus Ⅱ工程文件目录下的.ptf格式文件。新建一个空的工程。
图5-1 添加NIOS II工程
这样建立工程后,在工程内添加的程序。程序添加后进行编译。
31
基于NIOS II的IC总线接口设计
2
图5-2 NIOS II IDE
5.1 功能描述
实验中是使用I2C总线与EEPROM 24LC04进行通信,对该芯片进行读写512字节数据的操作,过程如图。
初始化I2C总线初始化I2C总线初始化写入24LC04地址找到24LC04器件N写入24LC04地址找到24LC04器件N是否找到器件是否找到器件Y读出24LC04中数据Y向24LC04中写入数据读取是否成功Y书写是否成功将读取的数据打印出来Y将写入的数据打印出来读取数据与写入数据对比释放总线打印对比结果
32
基于NIOS II的IC总线接口设计
2
图5-1 程序流程图
5.2 本章小结
本章详细介绍了程序流程,描述了如何使用C语言代码对I2C总线进行实现,如何使用FPGA进行代码实现。
33
基于NIOS II的IC总线接口设计
2
.第六章 硬件调试与仿真
前几章的工作已经将FPGA的I2C接口配置完成,下面将使用配置好的I2C总线接口与具有I2C总线协议的芯片进行通信,我使用的是24LC04,4K的EEPROM,通过对其内部写入512个数值,然后读出24LC04内部数据并和先前写入数据进行比较并打印,这样来验证基于Nios Ⅱ的I2C总线接口是否实现[21]。
6.1 硬件调试仿真
首先将FPGA开发板通过USB-Blaster与电脑在掉电情况下连接,连接后上电。打开Nios IDE打开先前建立的I2C工程,在工具栏点击Tools选择Quartus Ⅱ Programmer点击打开。进入程序烧写界面,在Hardware Setup处选择USB-Blaster,点击Start这样程序就烧写到了FPGA开发板中。
图6-1
退到Nios IDE界面,在左侧工程栏中右键点击工程选择Run as再选择Nios Ⅱ hardware,开始进行硬件仿真。在Console界面中可以看到仿真结果,结果如图。
34
基于NIOS II的IC总线接口设计
2
图6-2
图6-3
通过仿真结果可以看到,对24LC04芯片的写入数据和读取数据都成功,说明通过Nios Ⅱ配置的I2C接口总线得到实现。设计成功。
6.2 本章小结
本章使用Quartues II来配置SOPC,使用Nios II内核来构建I2C总线接口的,连接硬件开发板进行线上调试,使用JTAG UART串口仿真,得到仿真结果,验证了I2C接口的实现。
35