一乐电子

一乐电子百科

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

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 5832|回复: 1
收起左侧

NEC测试程序

[复制链接]
发表于 2009-2-27 21:14 | 显示全部楼层 |阅读模式
好一段时间没有过来了!因为太多的时间去开发和调试上面真是没办法。
# h. d9 ]/ y( z3 G现在我发些屏的驱动程序给大家这个是NEC的VGA屏是模拟屏所以只能显示RGB三色只是测屏用的呵呵5 M; n) }. x, E  j) g, |

! l& A7 u8 B. }1 `6 |/ w- s" k; j" i5 W

3 G9 f( E% H3 Dmodule NL6448AC30_09( gclk,
; X; S% s' r8 ?* E                   tft_clk,
  I- f! D, q" D$ D8 ~                   hsync,3 c" l2 g' j; y0 K
                   vsync,
3 G! P& y6 |! ]  }/ B" ?0 Y                   DE,+ m( K' o9 q* w- p% t7 T: u, [; D
                   R," P8 C1 V; o0 p! ^( w7 \
                   G,$ V0 F5 K3 L9 [: x& ~
                   B   );
- p, c3 E( a* t% I0 `6 G9 N
( h% k$ e) z9 h! B, w( z  Minput   gclk;0 ?- |" a  `. e3 E& Z; H. ^
output  tft_clk;1 F4 ]) v5 d- Y4 M, h7 d) X
output  [1:0]R,G,B;
% F, s3 ]. G3 D- u* H* creg     [1:0]R,G,B;
8 X2 T( e* I. W8 coutput  hsync,vsync,DE;; L* L0 ?- C' T2 E7 r
reg     hsync,vsync,DE;
" z$ p$ t  z( Q% Q, L7 h: zreg    [9:0]clk_count,hsync_count;2 v# f8 p/ m' j6 s
reg    div_count;9 h% P2 Q* p* G5 W

5 D  Y# R! J( B( d6 F1 @& Eassign tft_clk = div_count;
: N: L/ t1 r1 ^; @/ c: {//分频程序对50MHZ产生25MHZ分频供LCD时钟所用1 \6 D/ s5 Z5 A: j
///////////////////////////////////////////////////////////////////////////////////////////////////////
- E3 l1 Y& }0 g' w- m  Galways @(posedge gclk)               //gclk全局时钟50MHZ                                             //  r- o4 u3 z, v6 c
begin                                                                                               //
% K; |  |/ G6 D9 }6 |6 k   div_count <= div_count + 1'b1;    //将50MHZ 2分频后得到25MHZ供LCD时钟所用                         //$ e6 _, _$ a' {1 w1 E1 _
///////////////////////////////////////////////////////////////////////////////////////////////////////                                                                                   . [5 C% `% x5 f/ X/ t6 o
                                                                                                                     
6 C* h/ B# d1 a8 [. p! r0 ?4 H: m. u! N   if(hsync_count < 2)vsync <= 1'b0; //产生场频时钟“在行时钟开始的头2位行时钟线为低电平其它为高电平”                        2 |, E. S! L  s2 s
   else vsync <= 1'b1;                                               
' ~7 ^4 K8 V! D                           
; |/ U0 N6 I$ Z$ xend                                                           t! F4 x7 @  S" U
                                                    # `6 r$ O' c; k
always @(posedge div_count)  //TFT LCD 用时钟线                                                                                  //# B  a' w6 N9 P4 y2 `
begin                                                                                                                           //
; w7 o4 W: a, o7 M8 E! L                                                                                                                                 //! a* l2 v; p1 l0 k/ |+ p
   if(clk_count < 799)clk_count <= clk_count + 1'b1;   //时钟计数器用来产列时钟产生条件                                          //
! P( g$ x, r: D' K   else clk_count <= 10'b0000000000;                                                                                             //
+ K+ P  q/ a8 m                                                                                                                                 //% I% O4 k2 {# [* F; n5 _  g
end   ( P0 n/ ~, }' @5 N- z0 D) \& M
- J5 q& ^. t3 ~: F$ G
always @(posedge tft_clk), f# D2 ?/ Y3 p, [7 X/ L- }
begin
, I: _3 i4 `8 D% D( c( x( J   if(clk_count > 142 && clk_count < 783)DE <= 1'b1;  // && hsync_count > 32 && hsync_count < 513                                //
( e' n# P+ C) [$ o* E) A& q7 q   else DE <= 1'b0;                                                                                                              //
- B* n  u$ @0 T# d% t# K/ w1 H$ I                                                                                                                                 //
0 O1 o8 o& Y9 K5 k                                                                                                                                 //
8 }6 j, X8 ]  z1 ^( M  o# C   if(clk_count > 94 && clk_count < 799)hsync <= 1'b1;  //产生行时钟线“一个行的低电平包含有96个时钟脉冲”                         //4 |- u4 B. x1 F" h0 o
   else hsync <= 1'b0;                                                                                                           //4 U* C0 R5 p/ Q- Q
                                                                                                                                 //
$ d8 a5 b% [: c  L: D- U, i- g' Hend                                                                                                                             /// s) M8 ]7 S2 E: m5 R- y1 g1 u% G
                                                                                                                                 //
3 |6 [0 L, K; Q* T                                                                                                                                 /// R9 ]  Q! Z% \: e2 i1 z
always @(posedge hsync)                                                                                                          //
) A+ _# P' a7 t* b! fbegin                                                                                                                           //- x' A3 o, r6 X
  if(hsync_count < 524)hsync_count <= hsync_count + 1'b1;  //对行进行计数用来产生场时钟制造条件                                  //
8 I* X9 d) `1 k) v5 F1 E  else hsync_count <= 10'b0000000000;                      //一个场含有525个行时钟,当行计数器不大于525的时候加1 否则清零         //2 W0 Y8 G- [( C# Z: w7 a* A
                                                                                                                                 //
7 l. o- {! T6 ~, q) N* f" B9 O! oend                                                                                                                             //
0 R' A: j7 w6 f8 K5 k+ H: k. M                                                                                                                                 //
1 ]3 V& B7 I4 S0 ^0 V                                                                                                                                 //, v2 A5 \0 z+ P
            
/ l# D, H) Z3 a6 z$ ~( A5 |- V" L$ r. u  J8 m" M- R  k9 G. ~
[email=always@(posedge]always@(posedge[/email] tft_clk)
3 ~, l5 {* D. U// black control
6 L# a, d' g/ w) Z8 ~& w; mif((clk_count > 142) && (clk_count < 251))
- s# n# M8 Z# y7 l( D2 t' D" W, ]   begin 9 G9 I( y0 I) s/ ^# D: d; P' q
     R[1:0] <=0; 9 e% R- l3 Q* y  D* E2 a! m
     G[1:0] <=0;
7 v- B+ c% Q% ]     B[1:0] <=0;
* n) x7 O# [  E% h7 l' ^; _# b* T   end
& ?. @  {3 D4 V+ @( T0 Oelse 2 A+ Y* b$ e% ]& z
  begin & G/ f1 ^* D. G' J
    if((clk_count > 252) && (clk_count < 358)) % Y# v  S9 b8 H0 I
      begin
' d( j' t& s6 O. J$ P. F7 Z        R[1:0] <=3;
8 h. e0 s1 S7 e' g6 D- p* a% P7 K        G[1:0] <=0;
+ Y4 O, O) S" L5 F; ^) w        B[1:0] <=0;
) `# W' y! H% M4 u      end 2 w. a9 w" S6 l# q9 |+ r5 Q
    else
; a4 t: J( B$ p- t      if((clk_count < 359) && (clk_count < 465))
7 a9 Y2 z9 A! {6 D7 W        begin
- r5 D* q$ Y* e! Z2 [7 K" M          R[1:0] <=0; 7 L0 N& c! }& |+ \; y/ d0 D
          G[1:0] <=3;
5 }# R! y, ]# H9 M! `          B[1:0] <=0; / }0 c# K4 ?; }" b/ J
        end
6 |9 v: t; e; D3 L4 ?8 Z/ Y      else
+ @6 Y1 g# z! ], {6 c/ q- k  x% n% s% M  v        if((clk_count < 466) && (clk_count < 572) ) & o7 k4 @  |! o/ R, N) x2 }& F
          begin 0 g) P' k2 ?( Q5 H4 d
            R[1:0] <=0; / ]6 A8 H0 U5 J
            G[1:0] <=0; 6 [7 E2 `2 {# n5 X" y5 [. t1 a
            B[1:0] <=3; : ]* O* p. r" m4 P4 E! R
          end
, K8 E! u; I7 \% z4 b5 X: x4 k      else # Y$ h% A4 k4 M2 V5 o5 U, Q1 v
        begin ) U! z# ^2 P- I# \2 J1 u( k$ Y
          R[1:0] <=3;
7 Q2 K' H* M7 ]7 G          G[1:0] <=3; 3 O% D( W  b4 Y- f; ~  y, W# ~8 R
          B[1:0] <=3; $ ^0 @8 ]' n0 K
        end
& u0 N. }8 A' w3 y, b- N  k0 bend
9 E4 U7 U) }! n
0 ?9 H* l' J" Z/ l, Hendmodule+ X  J: h6 d0 U: i% F6 P. o. \

& g! l3 n& c" N, n6 ^[ 本帖最后由 kenson 于 2009-2-27 21:15 编辑 ]
 楼主| 发表于 2009-2-27 21:20 | 显示全部楼层
有关这个屏的资料如下:
. R) F7 e) }6 {: d# Y; A, x1 O0 @8 O# O8 }) s
CN1:映像, 同期信号 入力% F$ _, u  u! O9 D- v
ピン番号
信号名機能&#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接地

5 p+ v0 q7 \2 M+ Q( |& iCN2:制御信号, 電源 入力
8 x# O# `" i2 R) W9 q8 {( B$ G
ピン番号
信号名機能&#12539;規格&#12539;動作
1
GND接地
2
CLKドットクロック, TTL, 800 clock 1ライン(1Hsync)毎
3
GND接地
4
DEデータイネーブル(表示データ有効&#12539;表示位置制御), TTL, 正論理 - M8 m  g3 D$ A/ `) c
Hi = RGBデータ有効, Lo = RGBデータ無効, open時 5V
7 E$ D; J" X9 i/ L1 T( E. KMODE = HiでDE有効, MODE = Lo時はDE無効(Hi/Lo いずれでも良い)
5
?不明, (15KHz時のフィールド入力か?)/ }2 c/ w5 t' H  Z5 @7 w  j
* PC-9821Np/Nfではopen, open時 = Lo, Hi にしても変化無しのようだ。
6
GND接地
7
MODE表示タイミングモード選択, TTL
2 U* c+ Y5 d! g5 C! O2 ]& }Hi = DE モード(DE制御有効)
% z4 S# Y) L  |  u  j7 FLo(open) = 固定モード(DE制御無効, 規定の固定タイミング使用)
- F" \& E% r& V' r* PC-9821Np/NfのHsync24/31KHzはDEモードで使用されている。
8
SCAN水平走査選択, TTL& [: K' @7 Z2 \
Hi = ダブルスキャン(Hsync 15KHz用)! }8 @4 }3 J- U
Lo(open) = シングルスキャン(Hsync 24/31KHz用)5 p8 K& R8 ?4 x" `5 @
* Hsync 15KHz時Loで垂直が半分に潰れたワイド表示を上下に2個表示。
9
MASK上下マスクキング(上下非表示, 垂直表示開始位置制御), TTL
* L9 b7 t8 B3 C: P, H6 dHi = 上下40ラインマスク(Hsync 24KHz用)7 s# _7 @5 c7 q3 R+ e6 @
Lo(open) = マスク無し(Hsync 15/31KHz用)" |, A! @. K4 b0 v, E
* Hsync 15KHz時Hiで非表示(ホワイトアウト)。
10
?不明% d: ?7 j) g$ ~0 d- T* P9 e
* Hsync 15KHz時Hi/Loいずれでも正常表示。4 _2 Z8 U. j& S  A( t- }
* Hsync 24/31KHz時Hiで正常表示, Loで非表示(ホワイトアウト)。
11
GND接地
12
Vcc電源, +5V DC
13
GND接地
CN3:バックライト制御, 電源 入力
- E& G" l; o: x1 F6 t
ピン番号
信号名機能&#12539;規格&#12539;動作
1
Vddバックライト電源, +12V DC
2
Vddバックライト電源, +12V DC
3
GND接地
4
GND接地
5
BRTCバックライト制御, TTL7 m. x, R6 R2 y% Y
Hi(open) = バックライト点灯, Lo = バックライト消灯
6
GND接地
7
GND接地
8
Vddバックライト電源, +12V DC
9
Vddバックライト電源, +12V DC
10
GND接地
11
GND接地

本版积分规则

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

GMT+8, 2024-5-18 18:58 , Processed in 0.047609 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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