体三维显示器-PCB部分-LED控制板

少女dtysky

世界Create

时刻2015.02.19

体三维显示器的PCB工程:
https://github.com/dtysky/Led_Array

体三维显示器为真三维显示的一种,即可以在真是的空间内显示一个三维的图像,图像占据一个真实的三维空间,不需要借助任何辅助视觉器件,我采用的方案是二维LED点阵的旋转,LED点阵为自行设计,这里记录了控制板的设计心得。


1.指标

既然LED阵列已经设计完毕,那么其控制电路也就可以开始考虑了。 这个控制电路应当是怎样的一种形式?但LED打样成功后我思索着这个问题,思考的约束主要来自于如下几个部分:

1.IO数量:
LED阵列被分成了三块(为了最低的亮度考虑),每块分辨率为120x38,这也就是说按照逐行扫描的方案我需要(120+38)x3个IO去控制整个电路,一开始是想直接用FPGA芯片的IO去搞,甚至花了相当的时间去考虑如何设计一个FPGA核心板(太年轻了),当经历了漫长的选型、设计之后,甚至连原理图都快要完成的并且芯片已经买到手的时候,我发现了一个事实——这是不可能的任务。一个如此多IO脚的FPGA核心板至少十层以上,并且对于我这种菜鸟一次成功率基本为0,而我的经费和时间是有限的。
经过了基友和老师的劝告,我放弃了执念,选用了现成的开发板——黑金某个板子,IO口二百多个,这也让我不得不去考虑别的方案。
这个方案是大家所熟悉的,一百LED点阵都会用这种方式——Latch。
当然,出于某些原因我并没有用Latch,而是用了Trigger。
利用Trigger锁存数据来达到多路复用的目的,第一个周期将行送出锁存、第二个周期送出列这种形式,当然实际控制会复杂一些(消隐之类的)。

2.负载:
我选用了Trigger复用IO口的方案,这样一个IO就要对多个Trigger进行驱动,这是不被允许的,因为一般而言这种主控芯片可以负载的电容都是有限的,所以我不得不去考虑其他的方案。 这时候,就要Buffer出场了,Buffer即为缓冲器,一个Buffer带载Latch的能力一般在4-6个,完全满足我的要求。
要注意的是,Buffer仅仅起到提高负载的作用,不对逻辑产生任何影响。

3.特殊引脚:
特殊引脚就是Trigger的时钟引脚,相对于一般的数据引脚,时钟引脚的错误带来的后果更为严重,所谓牵一发而动全身,所以我在布线的时候为其做了特别的保护,加大线宽和线距以及让附近的走线尽量少。


2.设计

指标了解之后便可以开始电路设计。

1.选型:
Buffer选用TI的SN74alvch162827,Trigger选用TI的SN74alvch16721,保证质量。

2.电源:
除了LED电流之外还要解决这些芯片的供电问题,和LED阵列一样,选择了一个TI的电源模块,按照建议进行了布局。

3.电路:
电路实际设计的过程比较痛苦,因为走线很多约束不少而面积被LED阵列限制所以双层板肯定不够,最终敲定了四层板。


3.生产

1.布局布线:
很痛苦,由于布线很紧张所以没有办法自动化,只有手慢慢拉,而且国内的打样厂一般不给打盲孔,所以无法让每一层物尽其用,但还是勉强布完了,如下:
layout

2.打样:
难度比较高,被第一家打样厂拒了之后第二家打样的,花了1K5,比LED阵列还贵。

3.焊接:
焊接也是蛋疼,找的师傅焊接,花了500。


4.总结

板子总共花费约2K5,整体良好。
说实话,作为一个菜鸟的第一块四层板,我感到十分庆幸。
板子如下:
pab

如果不是自己的创作,少女是会标识出来的,所以要告诉别人是少女写的哦。