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。

本文章由威三学社出品

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

相关推荐
逻辑诗篇3 小时前
破核拆解:PCIE719——基于Xilinx Zynq UltraScale+的高性能SAS扩展卡设计
fpga开发·架构
逻辑诗篇7 小时前
高性能存储扩展利器|PCIE719 基于Zynq UltraScale+的企业级可编程SAS方案
fpga开发
liuluyang5309 小时前
SV主要关键词详解
fpga开发·uvm·sv
happyDogg_12 小时前
验证环境采样rtl时序数据遇到的问题
fpga开发
unicrom_深圳市由你创科技13 小时前
项目分析和FPGA器件选型外包服务包括哪些内容?别让选错芯片毁了整个项目
fpga开发
Aaron158814 小时前
27DR/47DR/67DR技术对比及应用分析
人工智能·算法·fpga开发·硬件架构·硬件工程·信息与通信·基带工程
my_daling15 小时前
DSMC通信协议理解,以及如何在FPGA上实现DSMC从设备(2)
学习·fpga开发
珞光电子USRP SDR软件无线电平台1 天前
打破通用瓶颈:珞光电子发布 Luowave Driver V2 定制化驱动方案
fpga开发
9527华安1 天前
FPGA实现PCIe数据通信培训课程,提供工程源码+视频教程+FPGA开发板
fpga开发·pcie·视频教程·培训