|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——DIY的精简开发板
( W$ i2 V5 n, s" u$ U! B3 l我是搞DIY玩的,会用到FPGA做PC和器件的数据接口。很久以前就想做这么个小开发板,带有USB高速传输,以及尽可能放个外置RAM做FIFO,FPGA留出来的I/O不需要很多。手头还有Cyclone II的存货,就继续使用EP2C5/EP2C8做设计了,144脚QFP封装的FPGA。USB接口器件选FT232H,他家的FT232R, FT245R我都用过,这回第一次用USB 2.0高速的。两层PCB设计,不到万不得以不上四层(省开销,我还没有DIY画过四层的)。布线允许就放块IS61LV25616 SRAM. 电源可以从USB 5V取或者5mm DC插座输入,用一个跳线选择。为了节省USB电源开销,没有使用AMS1117的简单稳压,而安排了两组DC-DC来提供5V到3.3V,迎接3.3V到1.2V的降压。
, Y' n+ k0 A7 T9 u. L
" q- _% K$ ]% w4 r6 k0 q0 j画板子用掉了一个整周末加几个晚上的业余时间,软件还是用老土的我惯用的Eagle 4.16. 再加上一个周末的焊接调试搞定。下面是PCB布局图:( ^1 H" H V1 M+ N/ _- T
3 D% c. k' m9 F, ~/ g; w
1 ]9 M3 O' e' u! j5 N
% q# ~2 c, @; J; m2 DFT232H和SRAM占掉了绝大部分的I/O,剩下来引出到插针的就十几个了。我在FPGA VCCINT旁边仅挨着引脚放置了0402的贴片电容,没有放到PCB背面。这么做是一个尝试,坏处就是临近的两个I/O无法引出走线而浪费掉了,是否值得这么安排退耦有待研究。因此I/O口更加吃紧,不得已把SRAM的#CE, #UB, #LB三个引脚都接地了,都成默认选通,不能8-bit写入。
4 k9 i, k1 V8 M1 i
2 w( ~- w" ]7 C1 W: ~( ?比较费心思的还是VCCIO, VCCINT的退耦和走线,以及尽量GND不要太破碎。下面两个图把GND、VCCINT (1.2V)、VCCIO (3.3V)特意用颜色区别:
' S6 ]6 X o5 g; L1 G* _
, q/ p' V5 M2 R/ k x2 R& {! |5 ` s5 W
N- O# b' b. s: U, D* k
) ^( V' k- K7 r) J2 V8 U单独看GND,叠在一起看是这个样子的,基本上都覆盖了,用了很多过孔来连接两层中的GND Y) S- C! u! @' k5 v$ {
0 G5 M5 l! e. ]1 g3 \3 t1 F2 I) I
第一次做高速USB传输,我没有经验。PCB发出去之后才在网上搜了搜,有说至少要4层PCB的,有说差分线不能走过孔的。看来我的走线布得不考究,有些忐忑。不过PCB做回来还是调通了,传输没有出现什么问题。
$ D% f2 A* y9 M% ?/ j5 A
1 p5 o- W1 u' i
{/ L# L1 X$ P5 A K/ G# q/ U实际际效果图
+ A* v; e2 W3 K0 o5 U2 F - j& u( |9 {9 `. l2 M
3 {( Y6 V- X$ x; D
+ H! E, O/ o2 l- S1 s5 A! j$ _9 P, G6 u, I/ H* r) |1 m8 z% s( H
( d, P/ V' L0 `
4 k% o0 I5 K, U至于USB接口的速度,我用同步FIFO模式,从PC到板子可以达到19MBytes/s以上的传输速率,从板子到PC可以达到34MBytes/s以上的传输速率。这个跟CPU负载也有关系。
2 |' b5 r! V1 S4 V: G- X |
|