搜索
bottom↓
回复: 15

准备做一个用于毕设的FPGA板子,求建议

[复制链接]

出0入0汤圆

发表于 2010-2-17 19:21:11 | 显示全部楼层 |阅读模式
由于在下的毕业设计需要用到FPGA(3阶的格形双通道正交分析滤波器组),所以我希望自己能做一个适合自己的开发板。

我的构思是板级专用硬件和计算机通用软件结合的小型开发测试系统。我的毕设题目是数字滤波器,我想从计算机产生波形,然后把波形数据发送到数字滤波器,数字滤波器处理后再发回计算机,在计算机上对比显示。

限于个人水平(我是初学者),所以大大简化了原来的构想。

希望得到各位指点。

谢谢!
=======================================================================

基本框架结构:

专用硬件设备:专用设备主要由FPGA核心板、扩展面板(包括附属子板)和电源背板组成。
●        FPGA核心板采用大容量高逻辑密度的FPGA,并有配置器件、下载接口和小容量的高速RAM,针对数字信号处理、数字调制解调、算法硬件仿真等对速度和精度高要求的应用,在整个设备中起到核心作用。
●        扩展面板的主要功能是充当FPGA核心板的人机界面,以丰富的软硬件功能为特征,其核心为MCU器件。MCU没有使用一般的8位元芯片,而是采用32位的ARM Cortex-M3核心的芯片,提供高性价比的32位计算能力,带来出色的人机交互和数据处理能力。尽管如此,扩展面板并不是典型的高性能ARM嵌入式系统。它可以用作独立的MCU开发板。
●        电源背板是上述设备的总电源,在实际中作为外部电源的DC-DC适配器,有较宽的电压调整范围(标准输入电压为9或12V)和较高的效率,并能满足一定规模的扩展设备对电源的需求。
计算机通用软件:计算机通用软件是在Win32平台下采用VC++开发软件编写的通信软件。目前只能通过RS-232C硬件串口或USB虚拟串口与专用硬件设备通信,获取设备状态、处理结果和发送命令、测试数据等等的双工通信。

电路各部分的说明:

USB接口
可选的方案有:FT232R,CY7C68013,PL2303HX三种。
●PL2303HX:使用该芯片的成本、开发难度和复杂度都是最低的。只要在PC上安装好相应的驱动,那么使用该芯片的USB接口会被识别为串口,然后按照PC串口的开发方式编写应用程序即可。支持USB2.0 Full Speed,UART最高波特率为6Mbps。
●FT232R:使用该芯片的成本偏高、开发难度低,复杂度适中。厂商提供两种驱动,虚拟串口(VCP)和USB。这就是说,用户可以选择简单的VCP方式或者是复杂的USB方式进行通信。支持USB2.0 Full Speed,UART最高波特率为3Mbps。外围元件少是其最大特点。
●CY7C68013:使用该芯片的成本偏高、开发难度高,复杂度高。在硬件上不支持RS485、RS422、RS232等标准,不属于USB和UART之间的桥接芯片。该芯片属于USB外设微控制器,内置增强型8051内核。支持USB2.0 High Speed,UART(两个)最高波特率为230Kbps,具有8或16位的数据总线接口,最高数据速率为96Mbps。
        最终采用FT232R,其硬件电路简单,大大减少了PCB布线空间和难度;支持USB开发,由厂商提供DLL S/W接口,可以编写更复杂的应用程序。
        FT232R支持RS422、RS485和RS232标准,与这类接口有关的信号均连接到FPGA上,剩下的可作为GPIO的管脚连接到LM3S102上,作为LM3S102的USB通信接口,但是这必须是基于USB的PC软件开发。
        FT232R的供电由USB总线供电,在插入PC机的USB接口前,该部分无法工作。
        FT232R有两枚指示数据收发的指示灯。

MCU辅助
MCU的主要作用是作为FPGA核心板与扩展面板通信的UART接口,还有作为FPGA的功能的补充,因为在MCU上实现某些功能会更容易。
        这里采用LM3S102,20MHz主频的32位微控制器,性能优秀,并且通过厂商提供的API,使用C语言开发,开发难度大大降低了。
        LM3S102的只有一个UART接口,最高波特率为460.8Kbps。用于和其他带有UART接口的设备通信,例如有优秀人机界面的高性能MCU系统。
        LM3S102的同步串行接口(SSI)用于和FPGA通信,理论上,LM3S102的SSI最大发送位速率可以达到10MHz,最大接收位速率可以达到1.6MHz。
        LM3S102带有掉电监测,当电源出现掉电时,可以通过和FPGA连接的复位信号复位FPGA,防止程序错误运行。
        这部分带有一个无源蜂鸣器,利用的LM3S102的简单PWM功能发声。同时,该信号管脚也用作防止JTAG失效的措施。
       
FPGA的配置
FPGA有多种配置方式,这里只采用最常用的两种——JTAG模式和主动串行模式。
        主动串行模式采用了Xilinx Platform Flash PROM,这是兼容性和可靠性最好的模式。通过JTAG把配置文件下载到PROM,FPGA会在上电复位后自动从PROM加载配置文件。
        JTAG模式可以直接通过JTAG对FPGA进行配置,不必下载到任何存储器,适用于程序调试,但是不具有断电记忆的特性。
        该PROM和FPGA同样支持JTAG,可以构成JTAG扫描链,这里采用FPGA在先、PROM在后的顺序。由于采用3.3V 的JTAG接口,所以采取了一定的限流措施。
        这里提供FPGA的复位信号输入,以便外部逻辑电路(MCU)使FPGA复位。

主要电源
FPGA有三种电源管脚,分别是内核供电,辅助供电和端口供电。一般,内核供电1.2V,辅助供电2.5V,端口供电3.3V。
        这里内核供电1.25V,辅助供电2.5V,端口供电3.3V。采用低压差线性稳压器,AMS1117,额定输出电流1100mA。
        输入到AMS1117的电压为5V,该电压由开关型稳压器LM2596提供。LM2596的额定输出电流达到3A,最大输入电压为40V,效率达到80%(LM2596-5.0)。这里LM2596的输入电压设置为12V。
        FPGA的IO Bank1作为GPIO,其端口供电不和其他IO Bank共用,其独立使用的电源同时对外供电。
        由于FPGA电源种类多和电源管脚多,分布不密集,造成单一块双面板布线困难,所以几乎所有的稳压器会集中在另一块板子上,也就是电源背板。通过连接器连接两个板子,大大降低布线的难度。

数据存储与通信部分
这部分电路集中在FPGA的IO Bank2和Bank3。这里连接了一片SRM,一片FRAM和一片Flash,也集中了USB和MCU的信号。
        SRAM采用IS62LV256AL,32KB容量,8位数据线,有20ns和45ns两种速度等级,典型功耗为50mW。安装在Bank2和Bank3之间的拐角处,利用了空间又便于布线。
        FRAM采用FM25L04,4Kb容量,串行数据线,最高时钟14MHz,FRAM具有像RAM那样的快速写入特性,又具有像EEPROM那样的断电不丢失数据特性。这个型号具有无限次的读写周期。
        Flash采用AT45DB161D,16Mb容量,串行数据线,最高时钟66MHz。

GPIO部分
FPGA的IO Bank1的全部可用的用户IO管脚都作为GPIO,而全部只输入管脚则作为按键输入。这部分的VCCO电源是独立的,不和其他Bank的端口共用,并且可以对外供电。

时钟输入
FPGA的时钟输入设置在IO Bank0处,这里有两个时钟源,可以同时使用,一个是50MHz,另一个是14.7456MHz。因为时钟信号很重要,所以尽量不在时钟源附近布线,并且时钟源尽量靠近芯片。因此IO Bank0的管脚利用率很低。这里还连接了8个分立LED和一位8段数码管,数码管采用移位寄存器74HC595驱动。



FPGA板原理图ourdev_534119.pdf(文件大小:640K) (原文件名:FPGA_Board.pdf)
配套的电源背板原理图ourdev_534120.pdf(文件大小:181K) (原文件名:PowerBoard.pdf)
斯巴达3E的DS的个人翻译ourdev_534121.pdf(文件大小:1.88M) (原文件名:斯巴达3E不完全汉化不完全数据手册.pdf)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-2-17 20:07:41 | 显示全部楼层
看一下。。

出0入0汤圆

发表于 2010-2-17 20:41:56 | 显示全部楼层
USB +CM3建议换AT91的U3

出0入0汤圆

发表于 2010-2-17 21:54:22 | 显示全部楼层
简单点用 xc3s50an + SDRAM/SRAM + atmega48/88/attiny45/85就足够了,Spartan-3an内置flash,省了配置芯片,你电源也省掉了一个2.5V,只需要3.3和1.2,avr8位机可以用VUSB实现usb功能,MCU与FPGA则用spi或i2c连。优点是方便实用,板子好做,缺点是SPI/i2c与USB的速度慢了点。
如果要更爽一点可以把MCU换成AT32UC3A,FPGA写个SRAM-Like接口挂到MCU的外部总线上,USB用UC3内置的。优点是速度快,应该可以上到10M的比特率。缺点是软件工作量比用8位avr多了一点。

出0入0汤圆

 楼主| 发表于 2010-2-17 23:01:50 | 显示全部楼层
回复【2楼】888888888888
-----------------------------------------------------------------------

谢谢!
不过我不想浪费自己掏钱买的ZLG的LM学习板。


回复【3楼】wei1985_5
-----------------------------------------------------------------------

谢谢!
我之前也考虑过用AN,但是我担心出现逻辑单元不够用的情况。高密度的AN,BGA封装让我无语。
我现在才知道VUSB的存在,Google一下,发觉很好用,以后我再研究一下。
那个AT32UC3A真是一步到位,不过也大大超过我的能力范围(汗)。在下除了51,就学了ZLG的LM板子。

出0入0汤圆

发表于 2010-2-19 21:46:48 | 显示全部楼层
建议用nios ii,这样可以省去了mcu,简化了pcb布局和设计方案

出0入0汤圆

发表于 2010-2-19 22:03:35 | 显示全部楼层
我和楼上的想法一样


整版就一个FPGA 最好是EP3C40一类的,价格也不贵

一片全部搞定

出0入0汤圆

 楼主| 发表于 2010-2-20 10:20:37 | 显示全部楼层
回复【5楼】avic
-----------------------------------------------------------------------

回复【6楼】YUHANG
-----------------------------------------------------------------------

我个人认为做DSP方面,利用Xilinx的IP会比在NIOS上实现起来要更简单些。

出0入0汤圆

发表于 2010-2-20 11:16:09 | 显示全部楼层
做DSP可以用Altera的DSP Builder,使用Simulink编程,然后转成HDL,编译即可。
Nios是MCU,当然做DSP费劲了。

点击此处下载 ourdev_534352.pdf(文件大小:5.25M) (原文件名:DE2 平台应用及DSP Builder技术.pdf)

出0入0汤圆

 楼主| 发表于 2010-2-20 14:10:53 | 显示全部楼层
回复【8楼】tear086 .COM缺氧
-----------------------------------------------------------------------

非常感谢!
我一直以为Altera的FPGA的特色应用是NIOS,所以在思考这个题目时候,压根没有考虑过选择Altera。
由于毕设指导老师用的是Xilinx的产品,前两届的学长们也是,所以我们的毕设小组也只能按着这个传统了,尽管知道Xilinx的电源设置麻烦,USB下载器昂贵。

出0入0汤圆

发表于 2010-2-26 14:42:06 | 显示全部楼层
楼主这是硕士毕设?
不得不佩服,楼主的电路图赏心悦目!
赞!

出0入0汤圆

发表于 2010-4-1 20:26:59 | 显示全部楼层
不得不佩服

出0入0汤圆

 楼主| 发表于 2010-4-26 15:15:31 | 显示全部楼层
经过两个多月的方案修改和物料工具准备,最后花了一周时间焊接完成。本来打算完成两块FPGA板,目前只完成一块,另一块在修复当中(因为焊歪第一个FPGA,拆焊时搞坏了第一块FPGA板,目前完成的是第二块板子)。除了FPGA板子,还做了单片机板。实物图如下:


人机界面(HIP),正面,板载两个LED、一个无源蜂鸣器、ISP/SPI和USART。 (原文件名:IMG_4038_缩小大小.JPG)


人机界面(HIP),正面,安装2英寸触摸屏后的样子。 (原文件名:IMG_4056_缩小大小.jpg)


人机界面(HIP),背面,采用ATmega16A。 (原文件名:IMG_4037_缩小大小.jpg)


人机界面(HIP),侧面,触摸屏的安装。 (原文件名:IMG_4059_缩小大小.JPG)


通信处理核心(CPC),正面,板载16Mb+16Mb Flash,32KB SRAM,FT245R USB接口。 (原文件名:IMG_4063_缩小大小.JPG)


通信处理核心(CPC),背面,电源电容。 (原文件名:IMG_4065_缩小大小.jpg)


通信处理核心(CPC),正面,核心,Xilinx Spartan-3E 500 (原文件名:IMG_4070_缩小大小.jpg)


通信处理核心(CPC),通过SPI接口与HIP通信。 (原文件名:IMG_4072_缩小大小.JPG)


通信处理核心(CPC),上电的第一个程序,LED全亮。 (原文件名:IMG_4076_缩小大小.JPG)


通信处理核心(CPC),JTAG接口兼容兽哥的USB下载线。 (原文件名:IMG_4068_缩小大小.JPG)


通信处理核心(CPC),Shanan 2010年春毕设。 (原文件名:IMG_4078_缩小大小.JPG)


电路图(Unicorn DX)(第四版本的修正版)ourdev_549367.pdf(文件大小:950K) (原文件名:Unicorn.pdf)

出0入0汤圆

发表于 2013-11-26 14:43:34 | 显示全部楼层
不錯 樓主很給力啊 獨自完成這麼難度的

出0入0汤圆

发表于 2013-11-26 21:22:26 | 显示全部楼层
佩服啊!!

出0入0汤圆

发表于 2014-1-27 09:46:08 | 显示全部楼层
好呀!!!!!!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 05:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表