例说FPGA连载92:多分辨率HDMI显示驱动设计之iic_avl_driver.v模块代码解析 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc 该模块实现Avalon-MM总线的从机接口,该模块的内部功能框图如图18.8所示。Avalon-MM总线从机逻辑详解可以参考工程实例4例程的“flash_avalon.v模块代码解析”。 图18.8 Avalon-MM总线从机接口模块功能框图 NIOS II处理器可以读写该模块定义的4个寄存器,实现ADV7513的IIC寄存器读写操作。该Avalon-MM总线从机有4个可用寄存器,其功能定义如表18.1所示。 表18.1 IIC读写控制寄存器定义 功能 | | | | | | | | | | | 只写。该寄存器写入0xaa,将执行IIC写操作;写入0x55,执行IIC读操作。 | | | 只读。返回 0xff,表示IIC总线当前处于忙状态;返回0x00,表示IIC总线当前处于空闲标志。 |
要实现IIC总线的读写操作,需要按照以下步骤操作Avalon-MM总线的寄存器。 执行一次IIC写入操作: ● 写地址0x00,设置IIC地址; ● 写地址0x01,设置IIC数据; ● 写地址0x02,写入数据为0xaa; ● 读地址0x03,返回0xff则继续等待的,返回0x00表示操作完成。 执行一次IIC读出操作: ● 写地址0x00,设置IIC地址; ● 写地址0x02,写入数据为0x55; ● 读地址0x03,返回0xff则继续等待,返回0x00表示操作完成; ● 读地址0x01,读出IIC数据。
|