钻石会员
主题
回帖0
积分10947
阅读权限50
注册时间2012-3-28
最后登录1970-1-1
在线时间 小时
|
在地摊街收了块640×400的无控制器液晶LM64135T。资料不好找,收的时候以为是VGA。/ |" q+ b* Y! m8 B, C( |3 P
中途因为快递放假,十几天才到货,期间找到资料,发现是640×400。
9 Y1 e8 v5 b. _3 Z8 dpdf如下,只有一页,那是相当的简单
5 Y; p* x/ a$ \8 t) o
LM64135z.pdf
(133.26 KB, 下载次数: 1178)
- z- s; I; z% f+ y( O# c
& T2 S. {9 U$ R0 O) S4 a6 w4 d驱动起来难度不大,双4bit接口,驱动参考了同系列的LM64183P的PDF,这个写的比较详细。" t* E, c$ _8 B" e
LM64183P.PDF
(1.23 MB, 下载次数: 1153)
/ d6 M4 f3 O1 _8 G
, ?6 V2 |# ~* h/ A
# h& U; U K4 }: {& J: v, w
主要难度来源于60Hz×640×400/8byte=1.92Mbyte/s数据传输速度和
9 ?; u8 b) ^7 @* W6 p9 g640×400/8Byte=31.25KByte的显示缓存。
, {( X& E/ Y7 d6 T- ~+ E) }, V" v" q2 ^9 V1 P) R- J( t
sram足够的只有一块mega128的板子(外扩32KbyteSRAM)。- Q& s' b8 r$ P/ {+ E; B& G
好吧,找到一个25MHz的晶振,换上。超频近60%求各路神仙保佑(AVR核心问题不大,有源晶振32M,mega16A依然能正常工作,但是外设不太行,这里最担心的就是SRAM控制器了)。0 @ X$ u% l$ O3 N# `2 w+ P$ u
* ?- F6 E7 y; i + f% l4 v7 B: ~! y1 L' t" R, W
最后,在我的努力优化下,还是驱动成功,刷新速度比要求的最低60稍高,能到70左右。7 ?5 X3 R1 w; ]5 @
(小声说,其实,所谓优化,纯粹是,把读取SRAM的那句C语句,换成了汇编。无论开何种等级的优化,读取外部SRAM都要10多个汇编语句,而我自己写的,只需要2句……)
) K' Q: C Z; s W4 G# G3 g/ W" K0 a
2 H, B; v. g) X. A+ E* W9 J; M9 K
0 X$ I/ j4 i( e1 P7 {
硬件:
- P6 U ? F4 d; TMCU:ATMEGA128 SRAM:IS62C256 数据锁存器:74HC573& @/ j8 _+ B& u! Y
3 [, i# A0 @/ o8 k: K- F M$ D9 D | X& R6 {3 @% ~
O5 z$ i0 b3 k* C7 G) Z) s
$ @! e$ m+ i. M* d液晶-18V及高压板24V:3R33负压接法(这里高压板实际供电是正极接5V,负极接液晶负压-18V,实际供电电压是23V,已经足够亮了。)1 K1 Y' e5 m$ [. Q# j
带数码管的那个板子背面就是3R33 8 m6 p [4 w9 g
0 M' `* {( _+ E9 [, Y% z* q. H. L' B8 [! g
下面测试图:* ^; V* t# p; c/ C% m! ?3 A! F B
1 S5 v9 H4 ]* R0 Y
! Q) u+ J; N9 O, H6 y' E
7 ^% v7 D' b- L4 i1 g' \ R6 D
# g8 U0 m r5 H/ O/ Y
+ h/ P. w6 b, i( z: [
3 b( I5 B8 ^5 R9 ~+ ^& t$ d, W) P. r( S1 R8 x9 W4 r6 x j3 @
$ ~& C' M9 y! v1 T+ W; s6 Y# \
程序不怎么样,愿意参考的可以看一下。
* v! u2 }( l4 o$ X+ e, c# N
VGA_640400_test.zip
(121.49 KB, 下载次数: 1106)
+ \: {% m+ U7 L$ N9 R; k. k
2 r) R7 D; j# l, T3 ~4 k2 AAVR studio 5.1编写,GCC编译器。
% l/ e; U' {) L& k' K0 P i另,外置SRAM的初始化代码已经放到启动区,所以主程序中并没有调用,不是Bug的说。 f5 q. ~- j) y9 Y: Z
& } Y% F9 B" h* H% P* k) |, G
: B u7 F8 x% g& I7 @下一步,换STM32,F4 discovery板子正在路上,有了这个就不用纠结速度问题了。) r- o$ B5 D0 S" m: }& A
不过话说回来,F4用在这里还真浪费,准备最终给它一片F103了事。
. \2 u4 o1 F& T( K
) ^& |5 g4 p( q6 R& f0 K8 i! C4 K/ w0 o+ C3 J3 c% P
顺便贴两张正之前组装别人的VFD套件。
) o9 m! |9 L; k+ \" \8 F程序全部为自己重写(界面无美化,debug信息还没去掉,温度比较高是因为自身发热……)
2 b6 s7 O% a6 c/ V# i2 |% i6 i! j; c
8 p k, |1 D8 x- F: Z2 K% m. g
8 _! V, D! y( \9 v+ }
|
评分
-
查看全部评分
|