一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 8018|回复: 1

NEC测试程序

[复制链接]
发表于 2009-2-27 21:14 | 显示全部楼层 |阅读模式
好一段时间没有过来了!因为太多的时间去开发和调试上面真是没办法。
( I' ~* P. w% N现在我发些屏的驱动程序给大家这个是NEC的VGA屏是模拟屏所以只能显示RGB三色只是测屏用的呵呵
8 H4 f& M' B5 u8 r0 G9 |5 {5 X* @) e$ y6 J2 I0 \, |& n
, ?; ~, N8 ?1 V4 L# a1 ]
3 G1 S, B/ T7 ]4 n" z* @
module NL6448AC30_09( gclk,9 E( G% a0 N1 D) S5 n0 X4 G
                   tft_clk,* a. w- m% ~/ t# A; U: c: X: ~
                   hsync,
: C0 I1 N" {$ n. S                   vsync,
5 o7 |4 P8 v" }+ Q$ A: q                   DE,3 `: K! Z- _$ G6 A* n8 k5 Y
                   R,
( a! Z' h2 @4 o" u                   G,
: ?. E. ]) E" b# ~) V                   B   );
* v: O& u% K7 I
0 B: Q9 c9 y; ?: c5 h/ _input   gclk;
+ V7 l! d3 ^+ C$ coutput  tft_clk;
3 [; R- b2 X; s5 I! \) `/ x$ R8 \output  [1:0]R,G,B;" h% Y$ h+ z# j, t8 Y
reg     [1:0]R,G,B;
' s, f6 S5 @1 r& V. s2 poutput  hsync,vsync,DE;
. n, p& l2 m5 m$ }reg     hsync,vsync,DE;2 p3 Q& P$ N  j# P  d& v4 W) U
reg    [9:0]clk_count,hsync_count;
; f& i  C8 V& B5 s2 q3 d5 xreg    div_count;: d& k) [5 e+ {% R5 i, [* k
/ ^1 ?/ x! D- S5 _4 j( Y
assign tft_clk = div_count;
6 p7 d, p7 {; i//分频程序对50MHZ产生25MHZ分频供LCD时钟所用( O7 W* d, `4 S; W- p
///////////////////////////////////////////////////////////////////////////////////////////////////////
' N: d# \$ F. ^% s/ malways @(posedge gclk)               //gclk全局时钟50MHZ                                             //+ f4 _- V4 ^5 \, I3 `; z4 }& g; R
begin                                                                                               //& x$ w: e7 S. N+ i* f/ ]! P
   div_count <= div_count + 1'b1;    //将50MHZ 2分频后得到25MHZ供LCD时钟所用                         //
4 M/ `' H" [) L# R///////////////////////////////////////////////////////////////////////////////////////////////////////                                                                                   # ?' r# D* |! X1 y. d
                                                                                                                     
/ W( H; z+ s' t1 k# D7 Q   if(hsync_count < 2)vsync <= 1'b0; //产生场频时钟“在行时钟开始的头2位行时钟线为低电平其它为高电平”                        
, u1 d1 ^0 j; s2 i% Y# ?   else vsync <= 1'b1;                                               * L, e, L* W& b3 g% m( t# W
                           
. C- E6 i/ _. z) N6 U, tend                                                         - A' H/ f$ K7 K8 j
                                                   
- D: Y- z$ X, H1 Talways @(posedge div_count)  //TFT LCD 用时钟线                                                                                  //
6 W/ M; }* e1 I3 y7 ~2 |begin                                                                                                                           //
2 N; i3 o  J  W: L                                                                                                                                 //; |% A8 E* s3 c( X$ \
   if(clk_count < 799)clk_count <= clk_count + 1'b1;   //时钟计数器用来产列时钟产生条件                                          //# v* T' ^& ?3 y+ e+ g
   else clk_count <= 10'b0000000000;                                                                                             //
$ [: Q" ~" P, K7 E                                                                                                                                 //
$ k$ j! p$ e& E7 Q9 kend   
5 I8 L! x! b7 H$ |
! K0 @; P' C0 M) b$ v, `9 l- U, ]always @(posedge tft_clk)
" {% U, c5 v, a3 V* _' Hbegin
6 c: X( D  k. U4 Y1 G2 k   if(clk_count > 142 && clk_count < 783)DE <= 1'b1;  // && hsync_count > 32 && hsync_count < 513                                //
4 q6 Z) q6 D: P  v   else DE <= 1'b0;                                                                                                              //
8 P; l4 Q, T0 Q- R" Z1 e/ u                                                                                                                                 //
0 L8 N+ H. i1 A6 a( d7 t7 o                                                                                                                                 //
, ~# e, z  j' @9 U8 @: d8 ?: T3 p, E   if(clk_count > 94 && clk_count < 799)hsync <= 1'b1;  //产生行时钟线“一个行的低电平包含有96个时钟脉冲”                         //
1 |( A5 b! b0 g! W   else hsync <= 1'b0;                                                                                                           //
3 K* {& D% t  ~                                                                                                                                 //  i9 s3 o3 @9 E" M; K/ w& F
end                                                                                                                             //: _1 _2 P* o! k! `+ [: R( g0 k' R
                                                                                                                                 //
# P* ?9 [6 h! S: P& Q                                                                                                                                 //, D3 {# K7 E8 r' B' Y4 w- f$ P, ~
always @(posedge hsync)                                                                                                          //$ x3 d/ J3 x3 \' P% d0 `7 _5 z4 Q
begin                                                                                                                           //
# p! m5 o, ]6 A8 Q8 N% R: R2 p; W8 O  if(hsync_count < 524)hsync_count <= hsync_count + 1'b1;  //对行进行计数用来产生场时钟制造条件                                  //
; n8 f. d' n( C$ l9 e  else hsync_count <= 10'b0000000000;                      //一个场含有525个行时钟,当行计数器不大于525的时候加1 否则清零         //1 L1 |0 {; M8 C; Y7 \6 p
                                                                                                                                 //
! k: m; s5 S4 Cend                                                                                                                             //% O! v2 b) u0 [- |& C/ H7 b
                                                                                                                                 //
$ u$ l% ^' v, C7 p4 K, K7 Q8 J                                                                                                                                 //
6 W  R& j' V! I7 ?            
: s: t% h5 |7 F" M- v9 Y  N8 C/ J7 C$ h7 F
[email=always@(posedge]always@(posedge[/email] tft_clk) ; y. d& |, W  @- j$ F
// black control
  g( e8 P) n( Fif((clk_count > 142) && (clk_count < 251))
$ u8 G8 `. @( W+ W8 T4 V5 y% n   begin * ~1 d2 M' ^  R( t
     R[1:0] <=0;
4 S  X+ ~& k* ~0 }* s" Z. p& C     G[1:0] <=0; # ^! S0 o/ \' y* U  m8 T! Q
     B[1:0] <=0; ; s% x- q  p2 u/ E
   end 1 p8 @, |; R* Q; t, R, I/ E
else
. ^3 i7 j- S- F5 q  begin " y9 F. O9 U* r) ~" u! F
    if((clk_count > 252) && (clk_count < 358)) . g. j- K; Y2 S5 ?0 Z$ c0 \4 ~
      begin $ q) z+ `) u$ a1 g* n
        R[1:0] <=3; 6 P! L; C1 b7 W3 b* P( K4 U
        G[1:0] <=0;
( v" Z. H0 _& v        B[1:0] <=0; & q( a; l: g0 |! ^, s2 w* m2 N. ]" k
      end 2 U& ]6 R" y+ A1 M: {
    else& }; n* b" [% c; k: q' K
      if((clk_count < 359) && (clk_count < 465))
6 s! G% K8 C( j5 ~& Z: f, B8 v6 h        begin . u' l5 y6 D( o. r$ |) Z. b' |
          R[1:0] <=0;
" G% a8 w0 q0 a          G[1:0] <=3;
6 S, n$ x7 Q1 ^) A3 D1 Z! e          B[1:0] <=0; " o0 B5 g, b, t  C3 l0 j
        end * v; T( s7 x, t5 x
      else + t- {. z: ~7 h3 p
        if((clk_count < 466) && (clk_count < 572) )
  y" _: Z8 j( _          begin 7 z6 F( h8 n' s% h8 t
            R[1:0] <=0; + Z2 N6 X# L9 f2 f. k! I! ]: j
            G[1:0] <=0;
' B( G9 }$ A$ S( s2 I            B[1:0] <=3;
8 H. A6 |2 |/ x9 q, |; w) l8 F6 _          end . \2 Z! D% K. U! Q& g7 T
      else
3 j% L' o) b) E7 v8 @. `        begin 2 f1 U4 v& J; c$ ~+ k+ a) V) w* n
          R[1:0] <=3;
) X7 \  c  [$ Z6 Q0 w2 }  t2 h          G[1:0] <=3;
: H7 @, Y( r0 i          B[1:0] <=3; ; E' M5 f; @# V( H! c7 i4 b0 `
        end
( T$ U$ _: R% \+ o$ y+ uend 2 J* W. w3 @1 G  m! Y" N: q& X4 x

2 v! K5 C; w0 W. ?1 e1 wendmodule
# c1 e7 n  L# _2 Z* J; ?+ u
- n# e9 i) a$ f: {$ H3 x[ 本帖最后由 kenson 于 2009-2-27 21:15 编辑 ]
 楼主| 发表于 2009-2-27 21:20 | 显示全部楼层
有关这个屏的资料如下:
6 l8 U) }) `6 c
( F. |% R+ i' J2 G7 q2 ?, ]CN1:映像, 同期信号 入力/ W. R9 r/ G- h
ピン番号
信号名機能&#12539;規格&#12539;動作
1
RED赤 映像信号, 入力インピーダンス 75オーム, 0.7Vp-p
2
GND接地
3
GREEN緑 映像信号, 入力インピーダンス 75オーム, 0.7Vp-p
4
GND接地
5
BLUE青 映像信号, 入力インピーダンス 75オーム, 0.7Vp-p
6
GND接地
7
Hsync水平同期信号, TTL, 負論理(負パルス)
8
GND接地
9
Vsync垂直同期信号, TTL, 負論理(負パルス)
10
GND接地

) D+ R- \- L; OCN2:制御信号, 電源 入力
! L( M6 G2 I  g* S4 U
ピン番号
信号名機能&#12539;規格&#12539;動作
1
GND接地
2
CLKドットクロック, TTL, 800 clock 1ライン(1Hsync)毎
3
GND接地
4
DEデータイネーブル(表示データ有効&#12539;表示位置制御), TTL, 正論理 8 [  \% A+ j) w& S
Hi = RGBデータ有効, Lo = RGBデータ無効, open時 5V
: _. k, ^( T% j% D0 I; v7 N: lMODE = HiでDE有効, MODE = Lo時はDE無効(Hi/Lo いずれでも良い)
5
?不明, (15KHz時のフィールド入力か?)
- `  s7 Y# A/ t8 v, k* PC-9821Np/Nfではopen, open時 = Lo, Hi にしても変化無しのようだ。
6
GND接地
7
MODE表示タイミングモード選択, TTL
; a& G9 i) M6 k0 bHi = DE モード(DE制御有効)' a7 z' `# \) K% T
Lo(open) = 固定モード(DE制御無効, 規定の固定タイミング使用)
# G4 l' i0 E. D% e# R* PC-9821Np/NfのHsync24/31KHzはDEモードで使用されている。
8
SCAN水平走査選択, TTL1 S* a5 g. w+ \5 a
Hi = ダブルスキャン(Hsync 15KHz用)+ c, X/ u+ B- g8 d4 o, c6 Q
Lo(open) = シングルスキャン(Hsync 24/31KHz用)
) ^' b4 V# r. X7 l' }* Hsync 15KHz時Loで垂直が半分に潰れたワイド表示を上下に2個表示。
9
MASK上下マスクキング(上下非表示, 垂直表示開始位置制御), TTL
: r1 e5 q. j- \0 J: UHi = 上下40ラインマスク(Hsync 24KHz用)
  d7 t! `" Y9 J& _3 u  a0 WLo(open) = マスク無し(Hsync 15/31KHz用)2 x1 t7 X* C6 H+ d9 O; Z! b$ x
* Hsync 15KHz時Hiで非表示(ホワイトアウト)。
10
?不明- b1 L% x* e. ~7 r; o: d% c# G
* Hsync 15KHz時Hi/Loいずれでも正常表示。7 X, H, b/ z6 @& X. ~) q; K
* Hsync 24/31KHz時Hiで正常表示, Loで非表示(ホワイトアウト)。
11
GND接地
12
Vcc電源, +5V DC
13
GND接地
CN3:バックライト制御, 電源 入力6 w, o, l+ |" ?' b! l( t, a9 J
ピン番号
信号名機能&#12539;規格&#12539;動作
1
Vddバックライト電源, +12V DC
2
Vddバックライト電源, +12V DC
3
GND接地
4
GND接地
5
BRTCバックライト制御, TTL5 D) Z& _% b" R: x0 O" z% V
Hi(open) = バックライト点灯, Lo = バックライト消灯
6
GND接地
7
GND接地
8
Vddバックライト電源, +12V DC
9
Vddバックライト電源, +12V DC
10
GND接地
11
GND接地
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-10-28 06:19 , Processed in 0.033656 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表