钻石会员
主题
回帖0
积分10948
阅读权限50
注册时间2012-3-28
最后登录1970-1-1
在线时间 小时
|
在地摊街收了块640×400的无控制器液晶LM64135T。资料不好找,收的时候以为是VGA。
( ~' a: M4 U/ `中途因为快递放假,十几天才到货,期间找到资料,发现是640×400。" A' d, L9 G' [3 u3 n
pdf如下,只有一页,那是相当的简单
p& G; H% ^* |+ d; V# ?) y- u
LM64135z.pdf
(133.26 KB, 下载次数: 1178)
! A! X6 Y9 s* h: d3 [$ k
& L% y& }! C) }. Q) ?4 o& S4 n4 d5 T驱动起来难度不大,双4bit接口,驱动参考了同系列的LM64183P的PDF,这个写的比较详细。' A) m& X6 Z. l$ T/ ^9 ~( M5 k9 G
LM64183P.PDF
(1.23 MB, 下载次数: 1153)
/ T" D& R" Y% S7 Y1 D( L, w) B. {
( s/ z; t7 s) i. }/ D9 O; F4 u
主要难度来源于60Hz×640×400/8byte=1.92Mbyte/s数据传输速度和
- p& U6 ?) @1 {3 }. K640×400/8Byte=31.25KByte的显示缓存。
; d# R; e6 u {; z0 V, N c$ r6 @) @7 C) U
sram足够的只有一块mega128的板子(外扩32KbyteSRAM)。
/ I; d; X: W6 `# q8 S0 h好吧,找到一个25MHz的晶振,换上。超频近60%求各路神仙保佑(AVR核心问题不大,有源晶振32M,mega16A依然能正常工作,但是外设不太行,这里最担心的就是SRAM控制器了)。
% j/ v2 `' h6 C3 P# C$ g* v+ d$ G6 }0 {
8 {2 d/ A. O: p+ _2 t/ @& t7 {# u
最后,在我的努力优化下,还是驱动成功,刷新速度比要求的最低60稍高,能到70左右。
" @# K: G O# o0 u8 n! h% R9 b(小声说,其实,所谓优化,纯粹是,把读取SRAM的那句C语句,换成了汇编。无论开何种等级的优化,读取外部SRAM都要10多个汇编语句,而我自己写的,只需要2句……)
2 y: O3 u3 d! ]! c' `) J" I* @
0 i# w8 Q+ Z% H! J
% y: {) d5 ?4 u# y
硬件:
F6 |2 s& L9 B) E+ h6 NMCU:ATMEGA128 SRAM:IS62C256 数据锁存器:74HC5736 w! L" o9 [! _9 c
, V' J& U4 b n7 o% \% m$ R& }
4 [0 l/ C2 }/ |- g! n
' |8 s; z- k9 w& ^
' v, \* h3 B( E# j8 V8 v8 l, }液晶-18V及高压板24V:3R33负压接法(这里高压板实际供电是正极接5V,负极接液晶负压-18V,实际供电电压是23V,已经足够亮了。)) Z9 C6 T' `7 F9 L# a6 [* v
带数码管的那个板子背面就是3R33 : l( |. R! j2 b' C3 |% F
, r! U; H0 V* w) X" K
2 P* N# D. ]. T0 w下面测试图:
$ v' M1 S3 `- Y6 {' n2 k- e3 u
b. s3 `& _# J2 _' M R
5 a. [" ]+ g) b5 M V- d) w6 [6 H! n- P" |1 f# }, _/ Z9 A
8 H1 T# _4 \4 }4 D \ L
3 E% ~, X# R0 c/ w5 a0 s+ `) d; S+ s
3 E+ y1 j& o, `7 Y9 C
, l% W, x; b$ m- Q! v$ o( C. c4 N6 }7 d* @
程序不怎么样,愿意参考的可以看一下。1 V/ C, z. l3 B
VGA_640400_test.zip
(121.49 KB, 下载次数: 1106)
. B3 v! G3 [$ w7 Y( L
; ?3 W; w) m7 u8 i! x/ h/ gAVR studio 5.1编写,GCC编译器。
0 a2 c" w7 t5 z2 P* c% l* H另,外置SRAM的初始化代码已经放到启动区,所以主程序中并没有调用,不是Bug的说。
$ Y5 z# l# i+ p8 v h
- t7 e# J$ q/ ?: l+ l3 H( S
- c" H6 q' M2 a* X, y下一步,换STM32,F4 discovery板子正在路上,有了这个就不用纠结速度问题了。' i$ x6 w( `6 q) _
不过话说回来,F4用在这里还真浪费,准备最终给它一片F103了事。
) G- R4 A3 {" ?3 b# N& N8 [% m$ B+ l
6 f8 l( j! f: v7 J' e% t& \顺便贴两张正之前组装别人的VFD套件。
: i O8 k# r3 R程序全部为自己重写(界面无美化,debug信息还没去掉,温度比较高是因为自身发热……); s# q+ ?: V$ c/ D) L9 U: k
5 ^7 ?- n5 C/ K4 O' V, z
6 ^- e3 D9 v+ |0 c2 @: @5 F
|
评分
-
查看全部评分
|