verilog - 如何通过 I2c 配置 adv7180 视频解码器?
问题描述
我有 de2-115 板“基于FPGA ”和模拟摄像机“NTSC 标准”连接到它。
在这个 de2-115 板上有一个名为 adv7180 的芯片,它将模拟信号转换为数字信号“YCbCr 4:2:2 格式”,为此我必须在 Verilog 中
通过 I2c 协议配置 adv7180 寄存器
,您可以在此处找到有关的所有信息adv7180 芯片
以获取有关de2 板上 adv7180 引脚分配
的更多信息,
因此我应该发送哪个“0x40、子地址、数据”以获得正确的输出?
解决方案
对于要写入哪些寄存器以及向它们写入什么,您将不得不阅读数据表并可能进行一些实验。
对于如何在 Verilog 中编写它们,您需要一个 I2C 主机和一些驱动它的东西。如果您有软核或 FPGA CPU 或来自 PC 的某种控制路径(USB、串行端口、以太网等),那么将其桥接到 I2C 总线将是最简单的事情。否则,您可能需要某种状态机,它可以在上电时执行必要的 I2C 初始化操作。
我在这里有一个通用的 I2C 板初始化模块:https ://github.com/alexforencich/verilog-i2c/blob/master/rtl/i2c_init.v 。该模块旨在在上电时对一个或多个从设备执行一组 I2C 写操作,以初始化振荡器、PLL、时钟分配和接口组件等支持外设。它旨在与此 I2C 主模块配对:https ://github.com/alexforencich/verilog-i2c/blob/master/rtl/i2c_master.v 。
推荐阅读
- laravel - 如何将观察者链接到laravel中的另一个文件?
- kotlin - 放心的 kotlin 扩展发送一个空的身体
- android - 打开时的滑行问题。无法加载
- json - 使用来自 JSON 的值连接表
- python - Pandas:AttributeError:“float”对象没有属性“isnull”
- harbor - 如何使用 Harbor API 添加用户
- javascript - 通过事件监听器动态改变 URL
- android - Android Gradle 插件需要 Java 11 才能运行。改成11以上没有效果
- swift - 通过 USB 接口向 iOS 设备发送命令
- xcode - 删除 Xcode 的支持文件