钻石会员
主题
回帖0
积分10947
阅读权限50
注册时间2012-3-28
最后登录1970-1-1
在线时间 小时
|
在地摊街收了块640×400的无控制器液晶LM64135T。资料不好找,收的时候以为是VGA。4 o1 q- z, V7 @+ q
中途因为快递放假,十几天才到货,期间找到资料,发现是640×400。! H8 X+ g) W/ \% `
pdf如下,只有一页,那是相当的简单
7 ~+ d$ N. A7 d
LM64135z.pdf
(133.26 KB, 下载次数: 1178)
/ H u9 e7 N/ Z, D3 U
. l* ^8 j: y1 ]# |$ `( T( v驱动起来难度不大,双4bit接口,驱动参考了同系列的LM64183P的PDF,这个写的比较详细。2 q# Y/ q# p6 V1 L- r1 m
LM64183P.PDF
(1.23 MB, 下载次数: 1153)
6 @' B6 |% ^# U) P4 b9 V# B3 _8 S7 m8 s r: W- Z4 g S
! m% ]# B' {" ]7 t5 W
主要难度来源于60Hz×640×400/8byte=1.92Mbyte/s数据传输速度和4 o) W. Y, M! y; Y' C! C7 e
640×400/8Byte=31.25KByte的显示缓存。
# G2 f* H7 L. n
" [, D0 v! @, ]sram足够的只有一块mega128的板子(外扩32KbyteSRAM)。
$ m, R# Y) H4 Y好吧,找到一个25MHz的晶振,换上。超频近60%求各路神仙保佑(AVR核心问题不大,有源晶振32M,mega16A依然能正常工作,但是外设不太行,这里最担心的就是SRAM控制器了)。
8 _$ S6 |# @) L+ y; ^1 c/ ]7 q) M2 ]1 a" R1 T! I' X" `

+ B) L2 ]% \, J2 `最后,在我的努力优化下,还是驱动成功,刷新速度比要求的最低60稍高,能到70左右。
, @# J# _4 `) E- L8 w# G(小声说,其实,所谓优化,纯粹是,把读取SRAM的那句C语句,换成了汇编。无论开何种等级的优化,读取外部SRAM都要10多个汇编语句,而我自己写的,只需要2句……)
. t1 v( w! e0 G. D
6 U" R$ Z( `& `
8 A d& G" @7 u硬件:, g$ b5 D( O6 z1 S! {
MCU:ATMEGA128 SRAM:IS62C256 数据锁存器:74HC573
+ f+ W! r' r" Y: A
; B. Q; w2 _/ M/ }6 u2 \* O
4 |+ d* I9 H E6 i/ R- I+ O) f" O1 x9 {) v+ d
/ x5 f( b7 r7 a6 M/ P% Y \液晶-18V及高压板24V:3R33负压接法(这里高压板实际供电是正极接5V,负极接液晶负压-18V,实际供电电压是23V,已经足够亮了。)
$ @% A0 P' ~% ]) {) P- p& q带数码管的那个板子背面就是3R33 ( e9 t8 ] H* Q, j
5 x. B7 |6 ^* \- ~# C" P! _6 O
4 N+ h {) F4 u5 s" f下面测试图:! k7 q' o* W4 v/ F4 A6 [+ n
, _3 P6 D% B( ]. R9 N. q" \) u
+ x: A% q! _# p+ W6 T# C4 C+ P
$ v9 u Q. A1 e4 y+ M4 a* f7 z5 M+ }+ E7 \8 [$ n' f; h3 E
- Y0 I( K$ [+ x. |
: M* |- p q/ S2 E
1 d7 Y/ d+ b1 U! w+ y( `& h1 a! m. a5 g. X$ a, d3 U1 b
; `% S9 [: r$ U) y程序不怎么样,愿意参考的可以看一下。
/ \; c' ^6 w8 s& q5 t, V
VGA_640400_test.zip
(121.49 KB, 下载次数: 1106)
9 ` U5 n* S( \% |
0 A0 n( v+ I) u0 Q4 c1 wAVR studio 5.1编写,GCC编译器。
) S* R) t5 w- Q另,外置SRAM的初始化代码已经放到启动区,所以主程序中并没有调用,不是Bug的说。
8 ~6 c1 I6 {8 Q; a4 j/ O. d0 d5 ?5 D, B& }( b( X- o# S9 C
2 I$ N! x( y& Z1 P
下一步,换STM32,F4 discovery板子正在路上,有了这个就不用纠结速度问题了。% M8 k' ?# g# I; Q- ]4 w# f
不过话说回来,F4用在这里还真浪费,准备最终给它一片F103了事。+ {0 f3 n$ i8 M/ }; S8 z
/ ]/ l# X# ?7 M* F. R
" a& j9 B7 r& B* v顺便贴两张正之前组装别人的VFD套件。& b* f: N: `& {1 U
程序全部为自己重写(界面无美化,debug信息还没去掉,温度比较高是因为自身发热……)
) r5 j( ]7 A" L5 W
3 F2 j, ~4 ~( ^+ R! w8 q
0 |3 r A! X1 J6 d6 }
|
评分
-
查看全部评分
|