|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——DIY的精简开发板
5 I6 c( R$ ? N我是搞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的降压。3 d" G( @+ R: S
- ?) F% ~# s/ a
画板子用掉了一个整周末加几个晚上的业余时间,软件还是用老土的我惯用的Eagle 4.16. 再加上一个周末的焊接调试搞定。下面是PCB布局图:
0 g- j, V* o( b8 D. R' F8 I . W. u% a( w& x. @2 e
; K* ~+ Z0 K6 \$ n( W2 p) J+ r2 H* t+ ?, n5 v" s
FT232H和SRAM占掉了绝大部分的I/O,剩下来引出到插针的就十几个了。我在FPGA VCCINT旁边仅挨着引脚放置了0402的贴片电容,没有放到PCB背面。这么做是一个尝试,坏处就是临近的两个I/O无法引出走线而浪费掉了,是否值得这么安排退耦有待研究。因此I/O口更加吃紧,不得已把SRAM的#CE, #UB, #LB三个引脚都接地了,都成默认选通,不能8-bit写入。
: @+ o6 D7 g+ A- V5 {7 y9 E, T3 G9 w, Y6 l% V- w
比较费心思的还是VCCIO, VCCINT的退耦和走线,以及尽量GND不要太破碎。下面两个图把GND、VCCINT (1.2V)、VCCIO (3.3V)特意用颜色区别:, n! y4 y+ {* G5 F1 J' q
! X( n6 u$ Q* e+ L - T7 A; F5 N8 p: J! D
. d: @) H5 W: h) _9 h* F
单独看GND,叠在一起看是这个样子的,基本上都覆盖了,用了很多过孔来连接两层中的GND
0 W0 S/ `8 O+ a6 P/ ?8 Y6 p ( j9 ^. b, U+ n' N! f
% D8 X; ?% b' I. u第一次做高速USB传输,我没有经验。PCB发出去之后才在网上搜了搜,有说至少要4层PCB的,有说差分线不能走过孔的。看来我的走线布得不考究,有些忐忑。不过PCB做回来还是调通了,传输没有出现什么问题。
T7 I6 @0 t$ W- K 1 }% \! q, d* P v& y
3 j x. T6 q$ @) Q实际际效果图, f) j* c6 s/ {0 a- Y0 _
5 \. k! D$ z$ ?' ~
) a5 o9 \6 |/ V! S6 G2 R
) L n3 r) H ^# F3 y! j7 L* r3 I% R0 j) i/ X! y9 K
3 Z% V0 d K% k* y2 r9 i' z+ R3 U
6 M: |, O: b. Y' B至于USB接口的速度,我用同步FIFO模式,从PC到板子可以达到19MBytes/s以上的传输速率,从板子到PC可以达到34MBytes/s以上的传输速率。这个跟CPU负载也有关系。/ T' L0 g9 @- y1 G6 q2 u+ V7 t
|
|