HDMI字符显示 —— 基于Genesys2

  • FPGA开发板:Genesys2
  • HDMI显示屏:1280×720
  • 实现功能:按键切换图像显示

字符取模参考:8. vga显示器字符显示 --- 野火FPGA Verilog开发实战指南------基于Altera EP4CE10 征途Pro开发板 文档

功能实现部分参考:

HDMI字符显示实验 --- ZYNQ 7000开发平台FPGA教程 1.0 文档


HDMI时序:

工程结构:

关键代码说明:

①像素坐标计算。检测到video_valid的下降沿时将y_pos加1,检测到场同步上升沿时将y_pos置0:

② 确定显示区域。这里显示区域大小为240x24,共5760个像素点,在ram中为720个字节。点阵大小需要和区域大小一致,假设单个字符点阵大小设置为40*24(英文字符为20*24),则总点阵大小为240x24可以显示12个英文字符:

③ 使用三个ram存储三个不同的字符图像,并将ram_addr除8作为字节地址

通过状态机实现按键控制字符显示功能:

④ 有效区域内ram地址递增,并将x_pos的低三位(0~7)作为像素/比特地址

⑤ 从ram_data70判断像素数值:


使用ILA观察波形,观察到ram_addr在有效区域内自增,一次持续时间内增加240,共增加24次,在5760处停止:

如图,ram_addr计数到688时(字节地址为86),读出数据为0x60,持续8个时钟周期,osd_x从0递增到7,分别在计数到1和2时检测到ram_data6和ram_data5为1,pixel_R/G/B在下一个周期更新输出:


效果展示:

  1. 按下KEY0显示 Hello,World!
  1. 按下KEY1显示 HDMI DISPLAY:
  1. 按下KEY2显示 GENESYS2开发 :
相关推荐
我爱C编程2 天前
基于FPGA的DSB调制解调系统verilog开发
fpga开发·verilog·fpga·dsb
学习FPGA的电气小兴兴4 天前
基于FPGA的DDS信号发生器设计,生成频率可调的正弦波、三角波、锯齿波和方波
fpga开发·数字信号处理·fpga·vivado·dsp·dds·diy
Hi202402178 天前
Vortex 3.0 + xcvu19p CMD_MEM_WRITE 调试
fpga·rtl·vortex
Hi2024021715 天前
Cortex-A53 + GIC700 + Boot BRAM Vivado 全流程复现
arm·fpga·vivado
Eloudy15 天前
Holoscan Sensor Bridge 入门指南(Getting Started)
gpu·fpga·rdma
Eloudy17 天前
RFSoC-PYNQ → RK-XCKU5P-F 移植记录
fpga
ARM+FPGA+AI工业主板定制专家18 天前
国产化RK3576+FPGA架构|晶圆传输机器人高速定位+AI瑕疵检测一体化方案
fpga开发·架构·机器人·嵌入式·fpga·工控·机器人运控
Eloudy19 天前
申请 Xilinx 免费 IP 许可的步骤笔记
fpga
零涂毕业设计20 天前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
神电测控23 天前
新品发布:国产新型三合一多功能PG-ZYNQ7100 sbRIO板卡(PCIe+USB3.0+Ethernet+FMC+4个40pin扩展口)
fpga·zynq·crio·神电测控·王电令·sbrio·linuxrt