3赞

47回答

2收藏

NightFPGA——关于DIY一个自己的FPGA开发平台的设想~~~~

   

#开源分享 #开源分享 34058 人阅读 | 47 人回复 | 2012-12-28

本帖最后由 nightseas 于 2012-12-28 17:27 编辑

一直想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的物料,若有童鞋一起参与再考虑增加数量。焊接调试会持续两周,测试基本的功能,出测试代码。


由于平时要上班,只能在休息时间进行该项目,所以周期会比较长~~~欢迎拍砖~~~

评分

参与人数 1声望 +1 与非币 +5 收起 理由
小菜儿 + 1 + 5 很给力!

查看全部评分

一只搞电子的懒兔子~~
分享到:
回复

使用道具 举报

回答|共 47 个

倒序浏览

沙发

kk5290122

发表于 2012-12-28 17:31:41 | 只看该作者

沙发啊……
板凳

小马哈

发表于 2012-12-28 17:34:18 | 只看该作者

好主意,只是玩家门槛比较高。
地板

噗噗熊

发表于 2012-12-28 17:38:43 | 只看该作者

志同道合的都来参与啊
5#

懒兔子

发表于 2012-12-28 17:38:53 | 只看该作者

zxq6 发表于 2012-12-28 17:34
好主意,只是玩家门槛比较高。

相对于Zynq的门槛已经低了好大一截,哈哈。而Spartan-3、Cyclone II这样的板子网上已经很多了,我也是权衡了好久才选的这个方案
一只搞电子的懒兔子~~
6#

anqi90

发表于 2012-12-28 17:39:39 | 只看该作者

本帖最后由 anqi90 于 2012-12-28 17:42 编辑

嘿嘿,最近总想着搞个最小系统板+扩展板的形式...感觉更适合以后DIY做别的玩玩
7#

QQ哥

发表于 2012-12-28 17:41:22 | 只看该作者

路过瞧瞧~~~~~~~~~
我就是QQ哥,QQ哥就是我!
https://www.cirmall.com/bbs/?fromuser=QQ%E5%93%A5
8#

懒兔子

发表于 2012-12-28 18:33:10 | 只看该作者

anqi90 发表于 2012-12-28 17:39
嘿嘿,最近总想着搞个最小系统板+扩展板的形式...感觉更适合以后DIY做别的玩玩 ...

我也考虑过这个形式,觉得貌似设计起来更麻烦。而且一大堆东西七零八落的看着不爽。所以就变成了单板+扩展板了~~
一只搞电子的懒兔子~~
9#

baiyunh0

发表于 2012-12-28 21:18:43 | 只看该作者

这型号FPGA~在大学校园里普及度不高吧~相对于cyclone系列的~我表示不会IP核、NIOS~只会做基本一些程序,为DSP做前期数据处理
10#

青风

发表于 2012-12-28 22:46:15 | 只看该作者

考,太牛叉了,那个盒子牛叉。哥想代理的你产品了
我的淘宝店:http://qfv5.taobao.com/
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条