干货 | DIY 一块精简开发板

EEWORLD

电子资讯 犀利解读

技术干货 每日更新

我是搞 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 的降压。

画板子用掉了一个整周末加几个晚上的业余时间,软件还是用老土的我惯用的 Eagle 4.16. 再加上一个周末的焊接调试搞定。下面是 PCB 布局图:

FT232H 和 SRAM 占掉了绝大部分的 I/O,剩下来引出到插针的就十几个了。我在 FPGA VCCINT 旁边仅挨着引脚放置了 0402 的贴片电容,没有放到 PCB 背面。这么做是一个尝试,坏处就是临近的两个I/O无法引出走线而浪费掉了,是否值得这么安排退耦有待研究。因此 I/O 口更加吃紧,不得已把 SRAM 的 #CE, #UB, #LB 三个引脚都接地了,都成默认选通,不能 8-bit 写入。

比较费心思的还是 VCCIO, VCCINT 的退耦和走线,以及尽量 GND 不要太破碎。下面两个图把 GND、VCCINT (1.2V)、VCCIO (3.3V) 特意用颜色区别:

单独看 GND,叠在一起看是这个样子的,基本上都覆盖了,用了很多过孔来连接两层中的 GND

第一次做高速 USB 传输,我没有经验。PCB 发出去之后才在网上搜了搜,有说至少要 4 层 PCB 的,有说差分线不能走过孔的。看来我的走线布得不考究,有些忐忑。不过 PCB 做回来还是调通了,传输没有出现什么问题。

实际际效果图

至于 USB 接口的速度,我用同步 FIFO 模式,从 PC 到板子可以达到 19MBytes/s 以上的传输速率,从板子到 PC 可以达到 34MBytes/s 以上的传输速率。这个跟 CPU 负载也有关系。

(0)

相关推荐