钻石会员
主题
回帖0
积分10948
阅读权限50
注册时间2012-3-28
最后登录1970-1-1
在线时间 小时
|
在地摊街收了块640×400的无控制器液晶LM64135T。资料不好找,收的时候以为是VGA。8 \& O8 h* m! M& F: @& c
中途因为快递放假,十几天才到货,期间找到资料,发现是640×400。
% M. a( S4 i/ H$ o: m5 bpdf如下,只有一页,那是相当的简单
7 X9 W6 J: t4 R. f
LM64135z.pdf
(133.26 KB, 下载次数: 1178)
3 J0 o4 x4 k4 ]. U* ]
- Z7 c) A& I. U) e- A- j& p驱动起来难度不大,双4bit接口,驱动参考了同系列的LM64183P的PDF,这个写的比较详细。8 E+ v- f6 U( T& l
LM64183P.PDF
(1.23 MB, 下载次数: 1153)
. {7 \6 k) l" n/ w$ A) O, A2 L5 o2 I$ q
$ @ [' {& p4 @& [+ Q# \
主要难度来源于60Hz×640×400/8byte=1.92Mbyte/s数据传输速度和9 X9 f0 H7 E$ g/ \
640×400/8Byte=31.25KByte的显示缓存。
1 k& g: B* K) U6 ~9 I U! C- H2 i' X9 Z6 ~- r7 `
sram足够的只有一块mega128的板子(外扩32KbyteSRAM)。
8 ?, x/ ~* G5 }5 p7 v! C( d! g好吧,找到一个25MHz的晶振,换上。超频近60%求各路神仙保佑(AVR核心问题不大,有源晶振32M,mega16A依然能正常工作,但是外设不太行,这里最担心的就是SRAM控制器了)。
1 M9 A# n) ?$ D9 M) c
& C4 h4 @" Q, N* S% `! s1 |, N; k' Z
8 I2 @8 {, |, G* l( h3 b最后,在我的努力优化下,还是驱动成功,刷新速度比要求的最低60稍高,能到70左右。
* E1 f2 E0 Q) d, p; G+ d L(小声说,其实,所谓优化,纯粹是,把读取SRAM的那句C语句,换成了汇编。无论开何种等级的优化,读取外部SRAM都要10多个汇编语句,而我自己写的,只需要2句……)
' D! g2 N% s7 n5 r% q: U
5 p8 l$ i- j" O4 e5 ?9 X. y9 e$ k) ~1 M+ H
硬件:
- k4 K5 Q( H0 p- ^MCU:ATMEGA128 SRAM:IS62C256 数据锁存器:74HC573
4 {- q- ^: }9 v: _9 o
$ S& _; f* T1 l( X/ v; c3 @
4 ]3 _2 k7 r; Q0 V2 G$ }/ w g1 R, W& Q
1 X8 c: F6 C- [ v0 i液晶-18V及高压板24V:3R33负压接法(这里高压板实际供电是正极接5V,负极接液晶负压-18V,实际供电电压是23V,已经足够亮了。)
- K3 }2 \6 c$ v: c; S带数码管的那个板子背面就是3R33
+ S4 q% s# M( ?4 r
2 S7 x- w3 I+ a8 Z8 X. u
0 Y P) j5 X% T3 b下面测试图:
2 _! P% ?) R; `2 e# D( C& A, G1 J3 T* z- x
7 _& D2 G( _2 U2 t6 z
3 |! S: m4 p7 b8 q9 ?4 d
/ p, L- E* T0 Y5 t$ ^4 Q
( `1 {1 Y8 l; [8 A4 a
6 v' e/ @' q4 e
/ \( {. k& q! k# T- b1 ]$ G1 ?. N: d
% y, u4 e! y8 D7 Q9 E
程序不怎么样,愿意参考的可以看一下。& j" |* q5 `# a: P
VGA_640400_test.zip
(121.49 KB, 下载次数: 1106)
/ c5 r3 r1 ?- C4 S+ Q7 q
& j/ p9 _4 F8 T4 P2 q2 E
AVR studio 5.1编写,GCC编译器。
3 e3 U4 y' w4 P6 s& X另,外置SRAM的初始化代码已经放到启动区,所以主程序中并没有调用,不是Bug的说。
m6 z7 e, K& y' ]$ X; `! y
' `( _6 u/ `. F; ?# l; p K' B8 L6 m) h
下一步,换STM32,F4 discovery板子正在路上,有了这个就不用纠结速度问题了。
) @6 g: p. \% V! ]! M1 z* k不过话说回来,F4用在这里还真浪费,准备最终给它一片F103了事。
* [7 e7 w, i- T9 }) B5 U
) V6 b7 ^: i1 t5 Z1 _0 h, R0 a8 U* z+ ?# ~ L+ u' D2 p
顺便贴两张正之前组装别人的VFD套件。, N: T, @1 W: n, P0 X: s+ e
程序全部为自己重写(界面无美化,debug信息还没去掉,温度比较高是因为自身发热……)' p& Y$ l$ l4 H* t3 W f1 @5 @
2 z2 U0 d4 t0 S* e- m5 M. o4 t& p/ h: p" G5 t1 ~8 A$ U
|
评分
-
查看全部评分
|