在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3536|回复: 2

[求助] 使用ADV7125芯片控制的VGA显示问题

[复制链接]
发表于 2015-9-18 19:59:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 xylion 于 2015-9-18 20:00 编辑

小弟最近在做VGA实验,采用的时钟是59.944MHz,使用DCM进行了一次1.5倍分频,显示为800x600@60,随便写了一个代码,让显示屏全部显示白色,但是显示器没反应,我觉得自己是不是把原理理解错了,所以把代码贴在这里,希望各位不吝赐教。
另外附上了一张图板子用户手册上ADV7125和VGA连接的示意图。

ADV7125和VGA接口连接示意图

ADV7125和VGA接口连接示意图




  1. //////////////////////////////////////////////////////////////////////////////////
  2. module vga_dis(
  3. clk,rst_n,
  4. hs,vs,
  5. vga_r,vga_g,vga_b,
  6. );

  7. input clk; //59.944MHz
  8. input rst_n; //低电平复位
  9. output hs; //行同步信号
  10. output vs; //场同步信号
  11. output [7:0]vga_r; //RGB各8位800X600@60
  12. output [7:0]vga_g;
  13. output [7:0]vga_b;

  14. //-----------
  15. wire clk_40M;

  16. DCM1 instance_name (
  17. .CLKIN_IN(clk),
  18. .CLKDV_OUT(clk_40M)
  19. );


  20. //----------vs,vh产生----------

  21. reg[10:0] x_cnt; //行坐标
  22. reg[10:0] y_cnt; //列坐标

  23. always @ (posedge clk_40M or negedge rst_n)
  24. if(!rst_n) x_cnt <= 11'd0;
  25. else if(x_cnt == 11'd1056) x_cnt <= 11'd0;
  26. else x_cnt <= x_cnt+1'b1;

  27. always @ (posedge clk_40M or negedge rst_n)
  28. if(!rst_n) y_cnt <= 11'd0;
  29. else if(y_cnt == 11'd628) y_cnt <= 11'd0;
  30. else if(x_cnt == 11'd1056) y_cnt <= y_cnt+1'b1;

  31. reg valid;
  32. always @ (posedge clk_40M or negedge rst_n)
  33. if(!rst_n) valid<= 1'b0;
  34. else if((x_cnt>11'd216)&&(x_cnt< 11'd1017)&&(y_cnt> 11'd27)&&(y_cnt<11'd627))
  35. valid <= 1'b1;
  36. else valid <= 1'b0;

  37. assign vs=(x_cnt<= 11'd4 )?1'b0: 1'b1;
  38. assign hs= (y_cnt<= 11'd128 )? 1'b0 : 1'b1;

  39. reg [23:0]vga;

  40. always @ (posedge clk_40M )
  41. if(!valid) vga <= 24'd0;
  42. else

  43. vga<=24'b1111_1111_1111_1111_1111_1111;

  44. assign vga_r = vga[23:16];
  45. assign vga_g = vga[15:8];
  46. assign vga_b = vga[7:0];

  47. endmodule


复制代码
 楼主| 发表于 2015-9-18 20:42:13 | 显示全部楼层
行时序128+88+800+40=1056
帧时序4+23+600+1=628
 楼主| 发表于 2015-9-19 09:46:07 | 显示全部楼层
:dizzy:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-6 03:50 , Processed in 0.018227 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表