HDMI数据的接收发送实验(十)

一、 概述

本章节通过仿真来观察EDID的读取数据波形,可以观察主机与从机的交互流程。

二、仿真示例

仿真模块:给主机和从机产生50MHz时钟和复位。

`timescale 1ns / 1ps

module ddr_tb(

);

reg sclk;

reg reset_n;

wire hdmi_rx_hpd;

wire hdmi_rx_ten;

wire scl;

wire sda;

initial begin

sclk = 0;

reset_n = 0;

#1000;

sclk = 1;

reset_n = 1;

end

always # 10 sclk = ~sclk;

复制代码
ddc_ctrl inst_ddc_ctrl (
		.sclk        (sclk),
		.reset_n     (reset_n),
		.hdmi_rx_hpd (hdmi_rx_hpd),
		.hdmi_rx_ten (hdmi_rx_ten),
		.scl         (scl),
		.sda         (sda)
	);

ddc_master  inst_ddc_master (
		.sclk        (sclk),
		.reset_n     (reset_n),
		.hdmi_rx_hpd (hdmi_rx_hpd),
		.hdmi_rx_ten (hdmi_rx_ten),
		.scl         (scl),
		.sda         (sda)
	);

Endmodule

DDC主设备模块(主动读取EDID),ddc_master.v模块。

主机启动读指令波形:

上图为主机通过IIC协议启动读取的波形,先发出启动信号,再发起虚拟写入操作,写入器件地址0,'hA0为写指令,之后写入寄存器地址'h00。再开始读寄存器,'hA1为读指令。

1、主机读取数据波形:

主机输入读指令后,开始读取数据,根据sda的二进制数据,可以看出第一个字节为00,后边为6个ff,后边依次跟着edid的数据。

结束读数据波形:

当最后的EDID数据读出来后,发起不应答信号(将sda_out拉高),输出sda位1,表示非应答,之后再产生停止指令。定值指令是指在SCL为高时,出现SDA上升沿表示停止信号。

2、从机被读取数据波形:

Sda_oe为高时表示可以把sda_out作为sda发送,作为被读取的从机接口,需要做好从机应答过程。并输入被读取数据。输入的数据就是EDID数据。

在从机发送EDID数据的最后,接收到不应答标志,再接收到停止标志表示读取完成。

三、总结

本章节给出了IIC协议的主机和从机的读数据的仿真流程,ddc_ctrl:作为从设备,存储并提供EDID数据,ddc_master:作为主设备,主动读取显示设备的EDID。

本文章由威三学社出品

对课程感兴趣可以私信联系

相关推荐
森旺电子6 小时前
Vivado使用心得
fpga开发
FPGA小徐7 小时前
AI 浪潮下,FPGA 如何实现自我重塑与行业变革
人工智能·fpga开发
FPGA小徐7 小时前
[FPGA IP系列] FPGA常用存储资源大全(RAM、ROM、CAM、SRAM、DRAM、FLASH
fpga开发
Szime8 小时前
AD9218 国产替代方向:双通道 10 位 105MSPS ADC 选型支持
单片机·嵌入式硬件·fpga开发·汽车
ALINX技术博客9 小时前
ALINX VD100+Simulink 快速实现 FPGA 图像处理 Sobel 边缘检测
图像处理·人工智能·fpga开发
FPGA小徐9 小时前
FPGA开发中的常用通信协议与通信接口区别与联系
fpga开发
Szime11 小时前
深智微40Gsps高速数据采集系统进入工程化阶段
科技·单片机·嵌入式硬件·fpga开发
2601_961845421 天前
2027考研数学大纲|数一数二数三
考研·fpga开发·ar·vr·mr·oneflow
X_xcccc1 天前
2026年嵌入式智能核心,从异构计算到敏捷开发的硬核指南
fpga开发·敏捷流程·zynq-7000·fpga板卡定制
9527华安1 天前
FPGA实现GTX Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·aurora·gtx·高速接口·高速收发器·transceivers