第三章 FPGA开发板选型:找到你的实战利器
做HDMI采集与显示,选对开发板是第一步。说实话,我见过不少朋友兴致勃勃买了板子,结果发现资源不够用,或者接口对不上,最后只能吃灰。今天我就结合自己这些年踩过的坑,聊聊怎么选一块适合你的FPGA开发板。
3.1 主流FPGA厂商,谁更适合你?
目前市面上主流的FPGA厂商就三家:Xilinx(现在叫AMD)、Altera(被Intel收购了)、Lattice。嗯,这三家我都用过,各有各的脾气。
Xilinx(AMD)
我个人最常用的是Xilinx。为什么?因为它的生态太成熟了。Vivado这套工具虽然吃内存,但功能确实强大。尤其是Zynq系列,集成了ARM硬核,做HDMI采集这种需要CPU参与控制的应用,简直不要太方便。
核心优势:
- Vivado + Vitis 工具链成熟
- IP核丰富,HDMI、MIPI等接口IP直接调用
- Zynq系列带ARM硬核,软硬协同设计方便
- 社区资源多,遇到问题容易找到答案
Altera(Intel)
Altera的Quartus工具我用过一段时间,说实话,它的编译速度比Vivado快不少。如果你做的是纯逻辑设计,不涉及ARM核,Cyclone系列性价比很高。我在一个工业项目中用过Cyclone V,稳定性没得说。
小提示:Altera的Nios II软核虽然也能用,但性能和Zynq的硬核ARM比还是有差距。做HDMI采集这种实时性要求高的应用,我建议优先考虑硬核方案。
Lattice
Lattice的板子我用的不多,但它有个特点——功耗低、封装小。如果你做的是便携设备或者对体积有要求,Lattice的CrossLink系列值得看看。不过它的资源相对少,做复杂的HDMI处理可能会吃力。
3.2 HDMI开发板推荐
选板子不能光看厂商,还得看具体型号。我根据不同的需求,推荐几款我亲自用过或者测试过的板子。
Zynq系列:全能选手
如果你预算充足,想一步到位,Zynq系列是我的首选。以Zynq-7000为例,它集成了双核ARM Cortex-A9和FPGA逻辑。做HDMI采集时,ARM负责控制、网络传输,FPGA负责像素处理,分工明确。
| 型号 | 逻辑资源 | ARM核 | HDMI接口 | 参考价格 |
|---|---|---|---|---|
| Zynq-7020 | 85K LUT | 双核A9 | 1路输入+1路输出 | ¥1500-2500 |
| Zynq-7030 | 125K LUT | 双核A9 | 2路输入+1路输出 | ¥3000-5000 |
我记得有一次做多路HDMI采集项目,用的就是Zynq-7030。四路1080p同时采集,FPGA逻辑资源用了不到60%,ARM核跑Linux做网络推流,稳得很。
Artix系列:性价比之选
如果你主要做逻辑设计,不需要ARM核,Artix-7系列性价比很高。它没有硬核处理器,但逻辑资源丰富,价格也亲民。我推荐Artix-7 35T或100T,搭配一个外置的HDMI编解码芯片(比如ADV7611+ADV7513),就能组成一套完整的HDMI采集显示系统。
注意:Artix系列没有ARM硬核,控制逻辑需要用FPGA实现软核或者外接MCU。如果你不熟悉嵌入式开发,建议还是选Zynq。
Cyclone系列:入门首选
对于刚入门的朋友,Altera的Cyclone IV或Cyclone V是不错的选择。价格便宜,开发板几百块就能拿下。我在带新人时,经常推荐他们用Cyclone V GT版,自带HDMI接口,上手就能跑demo。
3.3 板级资源评估,别等买了才后悔
选板子不能光看型号,还得评估具体资源够不够用。我总结了一个「三板斧」评估法,你照着做就行。
第一板斧:逻辑资源够不够?
做HDMI采集,最基本的资源需求是这样的:
- LUT(查找表):至少20K以上。1080p@60fps的采集,光一个帧缓存控制器就要吃掉5-8K LUT。
- BRAM(块内存):至少100个。做行缓存、FIFO都需要BRAM,少了根本跑不动。
- DSP Slice:至少20个。做色彩空间转换、缩放滤波,DSP是硬需求。
我曾经帮一个朋友看他的设计,他用的是Cyclone IV EP4CE15,LUT只有15K。结果一个简单的HDMI采集+边缘检测,LUT占用率就飙到了95%,时序根本收敛不了。嗯,这就是典型的资源没评估好。
第二板斧:接口够不够?
HDMI采集需要哪些接口?我列个清单:
- HDMI输入接口:至少1路,最好是带TMDS信号输入的
- HDMI输出接口:至少1路,用于显示
- DDR内存接口:做帧缓存必须的,至少256MB
- 以太网接口:如果你要做网络传输,千兆网口是标配
- UART/SPI/I2C:调试和配置用
避坑指南:我曾经买过一块板子,号称支持HDMI,结果它的HDMI接口是通过FMC扩展子卡实现的。子卡插上去,占用了大量IO,导致其他外设没法用。所以买板子前,一定要看清楚HDMI是板载的还是扩展的。
第三板斧:工具链支持好不好?
这一点很多人会忽略。有些小众板子,虽然硬件参数好看,但工具链支持很差。比如:
- Vivado里没有对应的器件文件
- IP核不支持你的芯片型号
- 官方例程只有简单的LED闪烁,没有HDMI相关demo
遇到这种情况,你光调试环境就要花一周时间。我建议优先选大厂的主流型号,社区资源多,遇到问题百度一下就有答案。
3.4 我的最终推荐
说了这么多,如果你让我直接给个结论:
- 预算充足(¥2000+):选Zynq-7020开发板,比如米联客的MA7035A,或者黑金AX7020。ARM+FPGA双核,HDMI采集+显示一条龙。
- 预算有限(¥500-1000):选Artix-7 35T开发板,比如正点原子的达芬奇Pro。外接HDMI子卡,成本可控。
- 纯入门学习(¥300-500):选Cyclone IV开发板,比如小梅哥的AC620。跑通HDMI显示demo没问题,但做采集需要加扩展板。
好了,板子选好了,下一章我们就开始搭建开发环境。记住一句话:选板子就像选工具,适合自己的才是最好的。
核心要点回顾:
- Xilinx生态最成熟,Zynq系列带ARM硬核,适合HDMI采集
- Altera性价比高,Cyclone系列适合入门
- Lattice功耗低,适合便携设备
- 选板子前一定要评估LUT、BRAM、DSP资源
- 接口要够用,HDMI输入输出、DDR、以太网是标配
可可精品资料库