钻石会员
主题
回帖0
积分10948
阅读权限50
注册时间2012-3-28
最后登录1970-1-1
在线时间 小时
|
在地摊街收了块640×400的无控制器液晶LM64135T。资料不好找,收的时候以为是VGA。% k u/ r8 K( a" q/ l& ?
中途因为快递放假,十几天才到货,期间找到资料,发现是640×400。4 v3 x' r% U6 |. [, A% s9 ]
pdf如下,只有一页,那是相当的简单 6 k( a. A4 w6 ]: o3 ~
LM64135z.pdf
(133.26 KB, 下载次数: 1178)
" k; X- ], n8 ~2 O
3 V* h! d% I5 h0 z. z
驱动起来难度不大,双4bit接口,驱动参考了同系列的LM64183P的PDF,这个写的比较详细。; D) y$ {6 v8 }1 Y8 Z
LM64183P.PDF
(1.23 MB, 下载次数: 1153)
3 t* y% b H6 X$ g' ^+ T* N% _0 V$ B1 G
" _; G+ b7 [0 _" X
主要难度来源于60Hz×640×400/8byte=1.92Mbyte/s数据传输速度和
2 e4 |' e8 p6 t6 p2 P640×400/8Byte=31.25KByte的显示缓存。
8 ~7 B7 d3 g) Q( p$ D I8 j x% o9 [0 R0 L) O- _6 G, p
sram足够的只有一块mega128的板子(外扩32KbyteSRAM)。2 X. m% r9 ^7 ^
好吧,找到一个25MHz的晶振,换上。超频近60%求各路神仙保佑(AVR核心问题不大,有源晶振32M,mega16A依然能正常工作,但是外设不太行,这里最担心的就是SRAM控制器了)。
$ d6 W, C( h) J( U9 J( Z5 g4 d% l7 {# N
6 {. B: ?. V- [) l, d, U" a
最后,在我的努力优化下,还是驱动成功,刷新速度比要求的最低60稍高,能到70左右。% f. y5 G, u/ ?: V% A; n) w
(小声说,其实,所谓优化,纯粹是,把读取SRAM的那句C语句,换成了汇编。无论开何种等级的优化,读取外部SRAM都要10多个汇编语句,而我自己写的,只需要2句……)0 K4 C3 }" T5 m$ c6 g0 w7 Y/ A# o
& C- M) F6 e" f9 k# }% p" u! B
" D9 [2 \9 J9 U4 K6 Y* Z8 Y- [
硬件:
( p. e' L% `& V$ }MCU:ATMEGA128 SRAM:IS62C256 数据锁存器:74HC5731 c0 L) Z: T( o* q. M
) z3 F' u0 V+ B
7 j& \) m G8 ^6 @# j# E5 p$ b6 p2 |8 b/ B* A
3 ?4 e5 `% w' x/ D9 q/ H
液晶-18V及高压板24V:3R33负压接法(这里高压板实际供电是正极接5V,负极接液晶负压-18V,实际供电电压是23V,已经足够亮了。)
2 W) ^% D4 ^* C0 i' O' c# j& F, Q带数码管的那个板子背面就是3R33
8 o# b+ i" E0 t
( E9 F( N1 }; L5 N* a0 o
/ P$ y, x" l5 E8 [: u; R下面测试图:
0 I6 m5 N& I4 Z$ i+ p+ p, M
% i1 U6 Z' L8 r7 J; A0 j0 i
9 e0 G) l5 \3 y1 ?/ F9 C
( o5 C Q& |9 q
, m" g; o- _7 P% b+ u+ Z
: I; t, i5 k) E8 A
' i/ e5 V( O. e2 k
3 u4 }, M W& D
) Y/ l( y! w' M5 {. L
2 f( ]( L+ F5 U: @3 R0 X
程序不怎么样,愿意参考的可以看一下。
0 M4 M* D9 `; ^: K$ F! D$ R
VGA_640400_test.zip
(121.49 KB, 下载次数: 1106)
3 Q, ~( K# i; t, K9 S1 i
0 Y% y. o# z- _5 HAVR studio 5.1编写,GCC编译器。5 Y7 j& h# p! J4 Q7 L( ?
另,外置SRAM的初始化代码已经放到启动区,所以主程序中并没有调用,不是Bug的说。8 J5 b6 P: M6 S0 |/ @& r( E2 H& {+ J
, o2 x8 o2 z6 p! b/ v% e
7 N8 L2 ?" O* p/ v) J8 z* g/ [下一步,换STM32,F4 discovery板子正在路上,有了这个就不用纠结速度问题了。
, Q H+ \" v' q% y) V+ E+ a不过话说回来,F4用在这里还真浪费,准备最终给它一片F103了事。8 V7 s: y5 H% u/ e N
% g4 h ~4 A7 q$ ~5 p
/ B/ ]3 O$ M+ ^. C: C" T+ D* c9 N顺便贴两张正之前组装别人的VFD套件。; ^; c8 S6 K( W
程序全部为自己重写(界面无美化,debug信息还没去掉,温度比较高是因为自身发热……)
3 p* @' ]" S- {5 R! {" p$ D
6 x0 F3 v2 D& ?% `, Q: d1 \9 v
- v ~ c$ I3 u1 }7 Q- T G
|
评分
-
查看全部评分
|