钻石会员
主题
回帖0
积分10947
阅读权限50
注册时间2012-3-28
最后登录1970-1-1
在线时间 小时
|
在地摊街收了块640×400的无控制器液晶LM64135T。资料不好找,收的时候以为是VGA。
/ K4 V$ |1 k+ p( B# P; m中途因为快递放假,十几天才到货,期间找到资料,发现是640×400。1 ?% n% Z' Z% S: N1 ]0 {$ w
pdf如下,只有一页,那是相当的简单
" A4 q k0 c7 N3 L
LM64135z.pdf
(133.26 KB, 下载次数: 1178)
# h- j+ O i2 q; T0 C! k
3 m! b# a4 y* O3 H
驱动起来难度不大,双4bit接口,驱动参考了同系列的LM64183P的PDF,这个写的比较详细。& c" j. b7 K/ r# z7 U& P( ^
LM64183P.PDF
(1.23 MB, 下载次数: 1153)
6 e/ o2 X- j. q% R! F( c/ L) _( N# W+ e% q3 _
9 X+ k; I& ^; ~) c8 h R& {
主要难度来源于60Hz×640×400/8byte=1.92Mbyte/s数据传输速度和 S4 S7 p0 M1 h/ q3 ]" c6 E4 W, Y
640×400/8Byte=31.25KByte的显示缓存。
* L3 E. y/ N7 G5 s, Y
* ~4 d" ?' A1 z% z3 Psram足够的只有一块mega128的板子(外扩32KbyteSRAM)。0 _# D$ Z5 l- B& t8 M h- \# L8 ?
好吧,找到一个25MHz的晶振,换上。超频近60%求各路神仙保佑(AVR核心问题不大,有源晶振32M,mega16A依然能正常工作,但是外设不太行,这里最担心的就是SRAM控制器了)。
5 y I$ U/ G6 D2 T' ?1 M. h
0 \3 M* Z b* a% w6 x- o # T# l( a, X1 ^4 C. u3 v+ i
最后,在我的努力优化下,还是驱动成功,刷新速度比要求的最低60稍高,能到70左右。; P' |- V8 p& B) P, t9 G
(小声说,其实,所谓优化,纯粹是,把读取SRAM的那句C语句,换成了汇编。无论开何种等级的优化,读取外部SRAM都要10多个汇编语句,而我自己写的,只需要2句……)
9 F. N5 g- E- B
% A3 k) ?% |4 p, |
, `, B2 J) O, l( g$ ]+ q硬件:( a' A) v. G. ?1 U [6 l
MCU:ATMEGA128 SRAM:IS62C256 数据锁存器:74HC573+ e3 f) `# s; [7 x
1 N$ h7 [+ H8 g/ ?! K
9 K: J3 C# B' y2 ^. S4 S, x! @ V. o5 z; I: |% @2 q
8 _' [3 C& b4 y% H' F液晶-18V及高压板24V:3R33负压接法(这里高压板实际供电是正极接5V,负极接液晶负压-18V,实际供电电压是23V,已经足够亮了。); X* N5 r O0 E; e; X- r
带数码管的那个板子背面就是3R33
& ~- z" S3 D7 s/ F* H9 H, B
1 m0 o- v9 L/ L0 L% ^) J6 r
$ P# X4 V6 X% j8 c下面测试图:
0 O& N* U5 Z" @/ L) i
. U# A. T+ N @# [$ ~+ N
' d9 e R6 Z6 e: S
( v- w2 h* h. C% z7 O2 q! L8 ^
; R, d* ~1 P5 }$ d' e
0 j6 w: Y! r9 J2 A8 i9 U6 {& v
, v7 }3 ^4 Y) G$ X) I
& w3 `6 T: Z7 L% v1 }) _2 P0 F, L
9 {! Z& r: |, G9 i4 X5 P6 }, W
程序不怎么样,愿意参考的可以看一下。
9 X3 V: z- z" U. H' \' @8 ?
VGA_640400_test.zip
(121.49 KB, 下载次数: 1106)
6 `' \5 v" j5 x
1 F- O( D! {. {& CAVR studio 5.1编写,GCC编译器。
# c# w7 d" v# w另,外置SRAM的初始化代码已经放到启动区,所以主程序中并没有调用,不是Bug的说。+ w7 f+ l/ I# o5 M
" w; J, i# X# P6 o4 w
3 c. E: u5 h |! B5 B5 H2 y
下一步,换STM32,F4 discovery板子正在路上,有了这个就不用纠结速度问题了。
* L1 m! P f+ ]8 y# Y9 G1 c( `) i不过话说回来,F4用在这里还真浪费,准备最终给它一片F103了事。% ]* \$ W i& D% Z* k! u3 z
: D, Z/ R7 Y& A% s7 J
/ [# d1 r! y5 z/ P6 K9 F. \/ j4 E7 S顺便贴两张正之前组装别人的VFD套件。
" }: [ V0 [4 {2 i程序全部为自己重写(界面无美化,debug信息还没去掉,温度比较高是因为自身发热……)7 b0 K- q! X/ z! O8 u0 m
$ }. ~7 k: E3 a5 y& {
! D: a4 }1 L, X! x
|
评分
-
查看全部评分
|