钻石会员
主题
回帖0
积分10948
阅读权限50
注册时间2012-3-28
最后登录1970-1-1
在线时间 小时
|
在地摊街收了块640×400的无控制器液晶LM64135T。资料不好找,收的时候以为是VGA。
+ ]- B: O$ E. U+ [中途因为快递放假,十几天才到货,期间找到资料,发现是640×400。 }; v) C3 t w6 x8 F
pdf如下,只有一页,那是相当的简单 6 F- M2 ~# k, g+ A. ~# z
LM64135z.pdf
(133.26 KB, 下载次数: 1178)
6 J3 I/ N( i; j% T B! D: _# v" b0 w: a6 e
驱动起来难度不大,双4bit接口,驱动参考了同系列的LM64183P的PDF,这个写的比较详细。
! q& l, s/ `, F X, m3 t9 j
LM64183P.PDF
(1.23 MB, 下载次数: 1153)
4 e2 W( h+ P/ L% Y% ~6 z
6 u) y" N; A( U5 [) a! ?' ]/ O* g9 m% E
主要难度来源于60Hz×640×400/8byte=1.92Mbyte/s数据传输速度和* M/ W8 Y/ X, W6 J# E6 \8 v/ g/ r: x
640×400/8Byte=31.25KByte的显示缓存。 0 d/ A1 S9 }0 M" K6 T" w
: T! r3 v4 K+ v3 N1 B3 Jsram足够的只有一块mega128的板子(外扩32KbyteSRAM)。
6 i5 y/ a+ @! z' c( @9 Q1 F% b- ^好吧,找到一个25MHz的晶振,换上。超频近60%求各路神仙保佑(AVR核心问题不大,有源晶振32M,mega16A依然能正常工作,但是外设不太行,这里最担心的就是SRAM控制器了)。4 e' r4 ^- D } d" \7 w- o; K
1 X% G0 ?/ o# L( V9 E9 ^$ O X" k 8 S s1 I; Q4 v
最后,在我的努力优化下,还是驱动成功,刷新速度比要求的最低60稍高,能到70左右。; ?+ \. u5 V P9 J
(小声说,其实,所谓优化,纯粹是,把读取SRAM的那句C语句,换成了汇编。无论开何种等级的优化,读取外部SRAM都要10多个汇编语句,而我自己写的,只需要2句……); [+ ~ m% u) g- o# G
" `6 s$ Z, @3 Q- u0 Y
# d3 f* L+ K. g0 \/ V' Q' K* v0 L, k# C
硬件:
9 d% Q. Y" x% R" Y1 K- ^MCU:ATMEGA128 SRAM:IS62C256 数据锁存器:74HC573
+ z6 e. m' y# ?8 i( Z* U7 h
8 G" V% Y' T2 o) X
! Q8 ~/ R! W& ?- `! z7 s2 _: z4 s A9 `' g! a9 q0 ~. M" K( a" W
6 o7 p' n5 C' [+ [; u; c6 z9 t; p
液晶-18V及高压板24V:3R33负压接法(这里高压板实际供电是正极接5V,负极接液晶负压-18V,实际供电电压是23V,已经足够亮了。)
! j% C. u- F1 g带数码管的那个板子背面就是3R33 , e" B/ K0 \+ e, \- Y- w) v
& K6 a- Z$ l5 a
0 L# G1 a# A8 R1 d( ?+ I& q下面测试图:6 Z) q& l; o+ S
" e h4 W9 w$ ]) M: L+ A. ?
) L- _# X5 \2 H% ~! B8 h
, v: c& h* Q2 O, \; x
1 Z; a; Q2 i1 s+ I6 M) Y. _
- u. M! t2 U. f. h* g
j- ~- K* V# Z t+ w
' P9 Q; R( n! |0 ~1 Z1 n" d; u% [" g; ?% L
0 n L7 a4 t# V7 E% f I程序不怎么样,愿意参考的可以看一下。 I! U, z' J/ H1 n& s C2 D
VGA_640400_test.zip
(121.49 KB, 下载次数: 1106)
" ?9 l" K# x4 e
2 S0 a) L* o- F7 s- M2 z
AVR studio 5.1编写,GCC编译器。
& i. X1 x; m2 o( H7 }- F另,外置SRAM的初始化代码已经放到启动区,所以主程序中并没有调用,不是Bug的说。# V* W4 v0 ]/ q' }! @% Z
5 G: H3 G: @$ Y% c
4 x! o( F0 c I# c/ `下一步,换STM32,F4 discovery板子正在路上,有了这个就不用纠结速度问题了。
% ?, i7 K! f0 J不过话说回来,F4用在这里还真浪费,准备最终给它一片F103了事。8 U: v; S% ~* d9 {
; E" ^/ X& u: E5 z' o
- [& z+ k) S1 ^7 U' A/ A顺便贴两张正之前组装别人的VFD套件。 E8 G# B3 ]* v t/ O5 p% F; g4 h
程序全部为自己重写(界面无美化,debug信息还没去掉,温度比较高是因为自身发热……)1 @9 T2 H( l# w0 |# G+ F r
' [8 N& U, r# E; c! w7 c
2 p4 h# W7 T1 n" |. {0 `
|
评分
-
查看全部评分
|