基于NIOS II的IC总线接口设计
2
图4-11 JTAG UART设置
4.3.5 加入I2C总线的SCL和SDA总线
加入两个PIO接口,然后定义为I2C总线的两条总线SCL,SDA。其中SCL为单向总线,只为输出;SDA为双向数据传输总线。
图4-12 I2C时钟总线SCL
26
基于NIOS II的IC总线接口设计
2
图4-13 I2C数据总线SDA
4.3.6 地址自动分配
添加完元件成后,要为每个外设分配及地址和中断请求优先级(IRQ)。SOPC Builder 提供Auto-Assign Base Addresses和Auto-Assign IRQs命令,这两个命令可分别简单分配外设基地址和中断优先级。所有组件添加完毕后进行编译[19]。
图4-14 SOPC编译图
编译成功后,就可以退出SOPC Builder。
重新进入Quartus Ⅱ界面,在电路上双击左键,弹出器件添加的工具栏,选择刚刚编译好的Nios Ⅱ内核,放置在空白处。
27
基于NIOS II的IC总线接口设计
2
图4-15 定义的kernel
为了使系统运行起来,还需要配置一个锁相环PLL。在空白处双击左键点击MegaWizard Plug选项。选择Create a new custom megafunction variation选项进入插件选择,选择I/O下面的ALTPLL,在右侧命名为PLL选择Verilog HDL选项点击下一步完成[20]。
图4-16 添加PLL
设置PLL如图,开发板上的晶振为20M,这里选择5倍倍频100M.
28
基于NIOS II的IC总线接口设计
2
图4-17 锁相环倍频设置
将配置好的PLL模块放置在电路中。将Nios Ⅱ内核与PLL连接并引出引脚,全部完成后如图。
图4-18 整体电路
接下来为画好的硬件电路分配引脚。这里使用TCL脚本文件进行配置。完成后编译。
图3-19 配置引脚
到此硬件配置完毕。
29
基于NIOS II的IC总线接口设计
2
4.4 本章小结
本章详细介绍了使用Quartues II来配置SOPC,使用Nios II内核来构建I2C总线接口的方法,着重介绍了SOPC的设置,是对I2C嵌入式硬件设置的一个详细介绍,为后续的Nios II软件编程奠定了基础。
30