钻石会员
主题
帖子
积分10948
阅读权限50
注册时间2012-3-28
最后登录1970-1-1
在线时间 小时
|
在地摊街收了块640×400的无控制器液晶LM64135T。资料不好找,收的时候以为是VGA。) ]6 \5 p0 j5 d
中途因为快递放假,十几天才到货,期间找到资料,发现是640×400。
* i3 k% f1 A/ N N5 g7 t& rpdf如下,只有一页,那是相当的简单
. b: ~2 H: p0 O& w( Z
LM64135z.pdf
(133.26 KB, 下载次数: 1177)
0 e& D; y. H$ I% e3 I* T$ Q
( b9 ]; V1 {# d" i- d驱动起来难度不大,双4bit接口,驱动参考了同系列的LM64183P的PDF,这个写的比较详细。
9 _6 d7 g7 N' c" L
LM64183P.PDF
(1.23 MB, 下载次数: 1152)
# K: z$ M5 _! W2 i7 _8 ^) t( E
3 [8 ^9 j# H# X) r6 A+ p
^4 y$ }, O0 I" n5 \- `
主要难度来源于60Hz×640×400/8byte=1.92Mbyte/s数据传输速度和
x# E; S9 }+ B* S- ]640×400/8Byte=31.25KByte的显示缓存。
! t% H' q ?$ M5 L, @0 q
/ a8 R; j0 p( T) \: K) v/ Asram足够的只有一块mega128的板子(外扩32KbyteSRAM)。6 z/ V) X* P# I+ [
好吧,找到一个25MHz的晶振,换上。超频近60%求各路神仙保佑(AVR核心问题不大,有源晶振32M,mega16A依然能正常工作,但是外设不太行,这里最担心的就是SRAM控制器了)。! @+ K( m4 g( h2 m/ a9 m* j
7 ?* n! j. x' a6 `7 w8 }! `! h1 X# Q: w: ]
最后,在我的努力优化下,还是驱动成功,刷新速度比要求的最低60稍高,能到70左右。 x9 O9 ^ z3 ]2 a2 l
(小声说,其实,所谓优化,纯粹是,把读取SRAM的那句C语句,换成了汇编。无论开何种等级的优化,读取外部SRAM都要10多个汇编语句,而我自己写的,只需要2句……); n! a# k8 x) `$ x( ?8 h* ]
) k; b* r8 w' ?5 l4 o: ] P5 f6 p1 D' K2 @' _
硬件:
+ J1 D; |) N8 t, I* \MCU:ATMEGA128 SRAM:IS62C256 数据锁存器:74HC573
; p( m$ g& q& P6 y
. ^( {% V9 l' o9 x4 U* q0 u( X8 _$ |
4 k( P6 _8 h4 A( H
5 j' k9 d$ F# z v- y: H" H2 E; g* z" W- i+ F* y& V, j
液晶-18V及高压板24V:3R33负压接法(这里高压板实际供电是正极接5V,负极接液晶负压-18V,实际供电电压是23V,已经足够亮了。)
4 g0 ?6 X9 Z3 t: e# h. ^带数码管的那个板子背面就是3R33
) ~# J2 }. U( y# I { o1 G: N
$ Y6 C) q9 {$ k6 d' s% R$ ~* Q% |) q3 n; q
下面测试图:
( S& V$ R C/ r8 c* o* s
; `( [' I+ w- k( L! i& @: M
0 }/ K+ Q* o4 _3 l( i& |+ M2 l9 S2 s1 i" \: v8 R
/ C4 z( B# G; n
5 W, c" [ y/ B! S k4 R h$ w- r1 X7 s" b
# Q2 v6 e9 g6 j# @+ R
0 c- ~5 h# q. A3 W
2 a: b+ c- I, X+ L程序不怎么样,愿意参考的可以看一下。
/ ?: E) u( V6 j+ J6 K% P9 V( Z
VGA_640400_test.zip
(121.49 KB, 下载次数: 1106)
5 M' A1 j7 H7 P$ o( m
* {. _0 T( e! c5 @8 u2 _- _AVR studio 5.1编写,GCC编译器。! ?* }' a8 A, S: ~3 |5 C
另,外置SRAM的初始化代码已经放到启动区,所以主程序中并没有调用,不是Bug的说。
; i( a. e# f7 v6 {$ ?& L) s: Q$ G+ `$ u* {, W4 D5 d6 A
/ u/ I) F" n5 D+ O下一步,换STM32,F4 discovery板子正在路上,有了这个就不用纠结速度问题了。
+ n" w& y7 I t. r5 n# P, k2 s不过话说回来,F4用在这里还真浪费,准备最终给它一片F103了事。7 U" R$ y* J2 [# g/ U4 e3 j: _
2 z: N* i/ B5 C9 q8 v
! U/ K! G1 h: j+ p顺便贴两张正之前组装别人的VFD套件。
$ m" `+ d. I, b( O程序全部为自己重写(界面无美化,debug信息还没去掉,温度比较高是因为自身发热……): ^& {# v. u: w' ^+ i
# c8 z i7 w% @! Z9 }( O2 W
2 ~* f/ C) [" K5 V$ K% p
|
评分
-
查看全部评分
|