首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

NightFPGA——DIY一个自己的FPGA开发平台

NightFPGA——DIY一个自己的FPGA开发平台

一直想DIY一个自己的FPGA开发平台,能够像一台小电脑一样运行,并依自己的需要随意扩展外设。不能太贵也不要太低端。由于前些日子忙于各种事情,抽不出身,所以一直搁置,现在把设想提出来,希望有共同兴趣爱好的朋友加入,或者提出你的看法和建议。好的设计是需要不断推敲和论证的,兔子在此不尽感激。
设想的起因:
借助一块参加论坛活动获得的ZedBoard,让我真正地到了FPGA的神奇之处,这是之前做逻辑粘合时无法比拟的感受。一个(或多个)处理器内核,一条AXI总线,通过组合各种外设,FPGA就能够用来搭建一个图形化的通用嵌入式平台。在Linux系统下,集合图形显示、音频输入输出、以太网、USB等功能,并且可以随意地裁剪组合,看来Xilinx宣称的All Programable是恰如其分的。

然而问题还是有的——ZYNQ平台瞄准的是较为高端的领域,因而成本不菲,并且其Cortex-A9硬核只适用于ZYNQ-7000系列,不具有通用性。于是决定利用Xilinx的MicroBlaze软核DIY一款通用性更强,价格更低廉的嵌入式平台。硬件就选用同样支持AXI总线的Spartan-6 FPGA(Spartan-3E只支持早期的OPB),这样一来自行开发的外设也可以与ZYNQ通用。
整体结构:
这就是兔子的初步设想,各种配置一应俱全。本来希望加个USB Device或者USB Host(划红线的地方),但由于USB芯片占用大量的IO,且需要另行编程,加不加就需要斟酌了。


芯片选型:
确定了设计方向和功能后,我对使用的主要IC做了选型(电源方案还没确定),如下表所示:

功能类型

器件型号

说明

FPGA
XC6SLX16-2FTG256C
14.5K Cell,MCBx2,I/Ox186,FTBGA260
DDR2
MT47H64M16HR-3
1Gbit DDR2-667,16-Bit,FBGA84
Flash
W25Q16BVSIG
32Mbit SPI Flash,SO8
Video
ADV7125JSTZ140
140MHz,24位色VGA输出,LQFP48
Audio
WM8731S

Audio Codec,I2S,SSOP28
Ethernet Phy
RT8211CL/RT8201EL
PHY,首选GE RGMII,备选FE MII,LQFP48
USB
CY7C68013A-56LTXC
USB2.0 SOC,16-Bit总线,8051核,QFN56(优先去除)
UART
CP2102
USB2.0 to UART Bridge,QFN28
SD Card
Standard SD Connector
SD卡槽,存储大量数据及Linux系统

PS2
Standard PS2 Connector
PS2母头x2,连接鼠标键盘

Extend Con
PMOD Connector
PMOD排座若干,扩展一般功能模块

High Speed Connector
高速连接器座,扩展高速信号模块

FPGA选用了FBGA256封装的LX16,这个封装采用4层PCB基本可以搞定,可以节省不少DIY成本,选这个芯片可以说权衡了成本、资源和设计。Spartan-6里除了TQFP144的就是BGA,真的很让人不爽。相应的,DDR2也是BGA封装,最高工作频率667MHz,128M-Byte容量,能够满足一般的Linux应用。
QSPI Flash用作配置器件,价格适中速度也说得过去,令配SD卡接口,用来放Linux文件系统和数据。视频输出这部分很多开发板上都用电阻来搭,只能用于演示,这里兔子选用VGA芯片ADV7125,包含3个8位DAC,能够达到24位色。音频选用Wolfson的芯片我倒是没什么底,因为有人用它,应该比较容易找到资料。
以太网芯片选用GE还是FE的PHY需要确认,FE的可能有人觉得太水了,但GE的不知道Xilinx有没有现成的AXI MAC IP可用。这两款芯片是可以做兼容性设计的。
CY7C68013A这个芯片比较鸡肋,原因除上面提到的以外,还有就是这个开发平台兔子希望设计成一个主机设备,运行自己的嵌入式Linux系统,而不是简单的下位机。最初的设想是有一个USB Host来接键盘鼠标,后来从复杂度考虑还是作罢,改用PS2的键鼠,简单省钱。
串口设计成U转串的形式,方便tty调试。扩展口方面,觉得Digilent的PMOD接口形式不错,可作为低速I/O使用,另加一高速连接器座,用于扩展高速应用的子板。
结构设计最好能配合照市面上已有终端设备来做,这样可以直接套用其外壳,最终做成这样的小设备:


设计生产规划:
兔子准备在年后开始一步步执行计划,首先是两周左右的论证(同时开始进行原理图设计),原理图应该在1月期间完成,之后是5周左右的PCB设计。

投板在网上进行,问题是要不要由PCB厂家来进行阻抗控制(成本会相应增加)。PCB一般会回来10pcs,BGA焊接是个大问题,兔子准备想办法找人帮忙贴3pcs,只贴BGA,剩下的元件手焊。或者哪位有更好的建议和门路也行,只要费用不是太高,委托贴焊也可以。
备料工作在PCB投板后进行,考虑成本问题,兔子自己只会买3pcs的物料,若有童鞋一起参与再考虑增加数量。焊接调试会持续两周,测试基本的功能,出测试代码。
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表