国产FPGA开发板上手体验:不足百元,集成ARM硬核处理器!
扫描二维码
随时随地手机看文章
-
TangNano 4K开发板
-
黑色USB Type-C数据线,长度约50cm,材质比较柔软
-
2.54mm间距22P排针2根
-
OV2640摄像头模组和配套的FPC母座
-
磨砂材质的收纳盒,刚好可以放下以上所有配件
-
1.开发板硬件资源
-
2.开发板硬件电路
-
3.GW1NSR-4C芯片资源
-
4.关于高云半导体
-
5.开发工具和资料
-
6.总结
-
7.参考资料
1. 开发板硬件资源
Tang Nano 4K FPGA开发板整体尺寸非常小巧,只有22.86x60mm大小,放在手里显得很精致,PCBA元器件布局紧凑,所有的元器件都集中放置在一面,另一面只有丝印。阻容元件大多采用尺寸更小的0402封装,PCB应该在4层以上,PCB采用的是哑光色油墨、沉金工艺,整体看起来有点高端。开发板正面开发板背面开发板两侧预留有标准2.54mm间距的排针接口,焊接上排针,可以作为核心板插在设计的底板上,或者直接插在面包板上通过杜邦线连接外设硬件模块。下面来看一下开发板板载的硬件资源:-
FPGA主控核心,采用的是国产FPGA芯片——广东高云半导体的小蜜蜂系列SoC GW1NSR-LV4C,QFN-48封装,片上集成了FPGA和ARM Cortex-M3硬核。
-
板载FPGA调试器,基于南京博流智能的BL702芯片方案,只需要一根USB线就可以完成下载、调试,支持使用FPGA逻辑分析仪,或者调试ARM核,遗憾的是开发板厂商在低配开发板上去掉了虚拟串口功能,如果需要使用串口调试,还需要通过排针外接一个串口模块。
-
SPI Flash芯片,采用的是上海普冉半导体的P25Q32,32MBit容量,可以用来存储用户数据,GW1NSR内部有存储空间可以存储FPGA和ARM固件程序,也支持从外部SPI启动,当设置为MSPI启动方式时,可以实现从外部SPI Flash加载FPGA程序,TangNano 4K开发板的启动模式固定为从内部启动,所以这颗Flash芯片用户可以随意进行读取。
-
摄像头接口,标准24P 0.5mm 间距FPC座子,可用来连接OV2640摄像头模组。
-
标准HDMI接口,可以直接连接HDMI接口的显示器,配合摄像头可以做一些图像处理的应用,受限于逻辑规模,也不能做太复杂的处理。
-
1路用户LED,2路用户按键,可以1个作为复位,1个作为普通按键来使用。
-
标准2.54mm间距 2x22排针扩展接口,预留出了38个用户GPIO,可以用来连接丰富的外部电子模块。
-
板载27MHz有源晶体,说实话在FPGA板子上这个频率的晶体很少见,大多都是25/50/100/200MHz。
-
电源芯片方案采用的是西安拓尔微电子的TMI7003C,5v转3.3/2.5/1.8v,其他还有微盟电子(南京)的ME6211,上海南麟电子的LN6206P15/30
-
TypeC接口,可以连接PC进行FPGA/ARM程序下载、调试等,非常方便。
2. 开发板硬件电路
从官方提供的原理图风格来看,这款板子的PCB使用的是开源EDA工具KiCAD设计的,毕竟这种商业售卖的板卡,还是要考虑商业软件的授权问题。从原理图来看,高云GW1NSR-4C FPGA芯片的外围电路非常简单,用户可用IO非常多,虽然是带ARM硬核的FPGA SoC,但是和ZYNQ系列不同,ARM端的管脚也并不是固定在某些管脚,而是可以随意的分配,非常灵活。从FPGA最小系统电路来看还是比较简单的,只需要提供内核电压、辅助电压、BANK电压,以及必要的外围配置和复位电路即可,内核电压最大支持1.32v,BANK电压最大支持3.75v,JTAG管脚为ARM和FPGA共用。HDMI电路部分采用的是FPGA直驱的方式,没有采用编码芯片,可以使用官方提供的DVI TX IP核来完成TMDS信号的转换,最高支持1440x2560分辨率的视频输出。FPGA原理图开发板板载了基于BL702芯片的JTAG调试器,只需要一根Type-C的数据线就可以完成FPGA/ARM程序下载和调试,非常方便,遗憾的是并没有集成虚拟串口的功能(高配板子9K才有此功能),调试器的固件应该是由板卡厂商设计,如果安装了高云官方云源软件附带的下载软件无法识别此下载器,需要替换为荔枝糖的下载软件才能正常使用。BL702是由国内半导体厂商南京博流智能科技研发的一款集成蓝牙功能的低功耗MCU产品。BL702下载器电路官方附赠的资料包里,还提供了板子的stp模型和dxf格式的CAD文件,可以根据板子的结构尺寸来设计配套的扩展底板。cad文件预览stp文件预览
BL702数据手册:https://whycan.com/files/members/341/BL702_BL704_BL706_DS_zh_CN_Combo_1.9.pdf
3. GW1NSR-4C芯片资源
TangNano 4K的FPGA芯片采用的是高云半导体小蜜蜂系列的GW1NSR-4C,它是一颗SoC芯片,片上集成了FPGA逻辑和ARM Cortex-M3硬核处理器。注意是硬核处理器,而不是软核,两者有很大的区别,硬核处理器是芯片内部本来就设计有处理器硬件电路,而软核处理器是使用FPGA逻辑资源来搭建的处理器,硬核处理器不占用逻辑资源,从性能和稳定性上来说都要比软核处理器好。关于软核和硬核处理器的介绍,以及如何在FPGA上搭建ARM软核处理器,可以查看我之前写的几篇文章:-
FPGA硬核和软核处理器的区别
-
有哪些内嵌ARM硬核的FPGA?
-
在FPGA上定制一颗ARM处理器
-
4608 LUT4逻辑单元+3456 FF寄存器,55nm嵌入式闪存工艺
-
内置Flash存储,无需外置SPI Flash,瞬时启动
-
IO最大频率150MHz,LVDS最大频率400MHz
-
16个硬件乘法器(18x18),2个锁相环PLL
-
1.2v内核电压,集成HyperRAM存储芯片64M
-
支持常见的电平标准LVCMOS、LVTTL、SSTL、HSTL、LVDS、MIPI、I3C等等
-
多种配置模式:JTAG、Dual Boot,高云特有的配置模式:AutoBoot,SSPI,MSPI,CPU,Serial
-
片上集成OSC,可以通过配置分频系数来产生2.5-125MHz时钟信号,精度5%。
-
最小封装为MG64P,4.2x4.2mm
-
ARM Cortex-M3 32Bit RISC内核,ARM3v7M 架构
-
最高80MHz工作频率,支持Bit-banding操作
-
用户闪存256Kb,硬件除法器、单周期乘法
-
26个中断源,8个优先级
-
2路TIMER,2路UART,1路看门狗
-
预留AHB和APB总线扩展接口,可自定义IP
-
支持uC/OS-III,FreeRTOS等RTOS
-
支持GOWIN MCU Designer和Keil-MDK开发环境
4. 关于高云半导体
介绍完FPGA芯片,我们有必要了解一下这颗芯片的设计者:广东高云半导体科技股份有限公司广东高云半导体科技股份有限公司成立于2014年,是一家专业从事现场可编程逻辑器件(FPGA)研发与设计的国产FPGA高科技公司,致力于向客户提供从芯片、EDA开发软件、IP、开发板到整体系统解决方案的一站式服务。经过多年的积累,高云半导体在FPGA芯片架构、SOC芯片设计、FPGA集成EDA开发环境、FPGA通用解决方案等整个生态链均有核心自主知识,以及国内外发明专利。从官网上可以了解到,高云半导体的芯片主要有以下三大系列,分别是:
目前公司拥有员工200余人,在广州、上海、济南设有研发中心,随着公司业务在国内外市场的快速发展,公司规模一直在持续的扩张中。核心骨干拥有国际著名FPGA公司15年以上实战经验,亲历国内外数代FPGA芯片硬件、EDA软件、IP研发及市场、销售、技术支持等工作,是一支经验丰富、具备持续创新能力的务实团队。
官方网站:www.gowinsemi.com.cn
-
晨曦系列(GW2A)
-
小蜜蜂系列(GW1N)
-
GoBridge系列
-
国产FPGA当自强!聊聊FPGA国产替代需要考虑的因素
5. 开发工具和资料
国产FPGA的发展,更重要的是生态,比如齐全的芯片文档,软件的使用文档,IP核的丰富程度,硬件电路的设计参考,视频教程,开发套件,大学计划等等。高云FGPA的生态环境做得非常出色,资料齐全,而且还是本地化的中文文档,易于阅读,官方还为每个芯片产品设计了评估板,可以让工程师参考硬件设计电路,快速应用到自己的项目中。高云半导体还赞助了全国大学生FPGA设计竞赛,与高校合作建立联合实验室,从大学阶段就培养了一批高云FPGA的开发者。EDA工具也是芯片设计中非常重要的一个部分,特别是FPGA的开发环境,包括工程创建,设计输入,功能仿真,管脚约束,时序约束,时序仿真,综合,布局布线到最终生成可用于下载的比特流文件,这个过程非常复杂。高云半导体自主研发了FPGA开发环境——云源软件,支持Windows和Linux开发平台,包括商业版和教育版,教育版完全免费,而商业版也只需要提供公司信息即可免费获得一年的授权文件,到期后可以再次申请。MCU开发工具可以使用高云官方的GOWIN MCU Designer,或者常用的单片机开发工具Keil-MDK。GOWIN MCU Designer界面基于开源的Eclipse框架,编译器使用的是arm-gcc和riscv-gcc编译器,可完成设计、下载、调试,分为商业版和教育版。高云官方还为小蜜蜂系列FPGA SoC开发了离线下载器,包括软硬件产品,可用于工厂批量烧录固件,最多可同时支持16路。下面是我从官方网站(www.gowinsemi.com.cn)找到的一些关于GW1NSR-4C的文档资料:
-
GW1NSR数据手册、用户手册、应用手册等等
http://www.gowinsemi.com.cn/prod_view.aspx?TypeId=10&FId=t3:10:3&Id=168 -
ARM Cortex-M3硬核使用文档
http://www.gowinsemi.com.cn/prodshow_view.aspx?TypeId=71&Id=186&FId=t31:71:31 -
GW1NSR-LV4CQN48评估板资料
http://www.gowinsemi.com.cn/down.aspx?FId=n14:14:26 -
Gowin云源软件快速入门指南
http://cdn.gowinsemi.com.cn/SUG918.pdf -
Gowin云源软件用户指南
http://cdn.gowinsemi.com.cn/SUG100.pdf -
Gowin在线逻辑分析仪用户指南
http://cdn.gowinsemi.com.cn/SUG114.pdf -
Gowin原语用户指南
http://cdn.gowinsemi.com.cn/SUG283.pdf -
Gowin设计物理约束用户指南
http://cdn.gowinsemi.com.cn/SUG935.pdf -
Gowin设计时序约束用户指南
http://cdn.gowinsemi.com.cn/SUG940.pdf -
FPGA视频教程
http://www.gowinsemi.com.cn/video_complex.aspx?FId=n15:15:26
-
FPGA开发环境—云源软件Windows版本v1.9.8.08
http://cdn.gowinsemi.com.cn/Gowin_V1.9.8.08_win.zip -
FPGA开发环境—云源软件Windows教育版v1.9.8.07
http://cdn.gowinsemi.com.cn/Gowin_V1.9.8.07_Education_win.zip -
MCU开发环境—GOWIN MCU Designer V1.1
http://cdn.gowinsemi.com.cn/GMD_V1.1.zip -
MCU开发环境—GOWIN MCU Designer V1.1.01教育版
http://cdn.gowinsemi.com.cn/GMD_V1.1.01_Education_win.zip
6. 总结
从板子整体角度来看,这是一款国产化程度很高的板子,从主控FPGA,到JTAG芯片,存储芯片、电源芯片等,都是使用的国产半导体公司的产品。板子整体尺寸也比较迷你,属于小而美类型的,可以认为是一款FPGA核心板,当然也预留了排针接口,给用户足够的扩展空间。对于想了解高云小蜜蜂SoC软硬件开发,以及对云源软件、MCU开发环境做个深度评测来说足够了。当然还有一些值得改进的地方:
-
JTAG调试器固件可以增加虚拟串口功能,对于板子本来来说面积不会有改动,只需要添加两根信号线即可
-
FPGA芯片的配置管脚可以设计为拨码开关形式,这样可以选择多种启动模式,用于验证高云特有的几种启动模式,比如在线升级,从外部SPI启动等
-
LED的管脚可以分配到普通GPIO,目前是分配到了MODE管脚,还需要配置MODE管脚为普通IO
-
板载的FPGA外部晶体频率为27M,使用PLL倍频到100M时,会提示输出频率不精确,如果是25或50M就会很方便进行倍频。
-
可能是出于板子面积的限制,电路上没有添加任何的ESD防护芯片,在使用时需要小心人体静电(百元开发板,要啥自行车)
对于高云GW1NSR-4C FPGA芯片,这么多开放的资料和文档是我没想到的,包括本地化的中文文档,对于开发者很友好,易于阅读;开发文档、手册、例程也很丰富;评估板很齐全,几乎涵盖所有的芯片型号;基于Flash的FPGA架构,可以实现瞬时启动,对于启动速度要求高的应用场景这个很重要;EDA软件免费授权,无论是FPGA开发环境还是MCU开发环境,均可免费获得授权;FPGA开发工具的综合速度很快,实测HelloWorld流水灯工程的编译时间在秒级,点一下“啪”就编译完成了;ARM Cortex-M3硬核开发比较容易上手,固件库函数很规范,看着比较熟悉,应该是借鉴了STM32的库函数名称,对于有STM32开发经验的开发者来说用起来会很亲切;FPGA芯片极高的性价比,虽然目前淘宝上还搜不到相关的芯片型号,只能联系官方销售或者授权代理商购买,但是从开发板价格也可以推算出FPGA芯片价格应该很实惠。但还有一些不足之处:
-
云源软件没有仿真功能,目前还只能借助第三方工具,如Modelsim来完成功能仿真(据说已经在研发云端仿真工具)
-
不支持高速串行接口,比如SerDes,从高云官方的招聘计划来看,未来是要在这方面发力的
-
IP核丰富程度还有待提高,部分产品型号可用IP数量比较少
7. 参考资料
-
高云半导体官网
www.gowinsemi.com.cn
-
SiPEED矽速科技Wiki
wiki.sipeed.com
8. 声明
本文中所介绍的开发板为编者自费购买,文案为本人编写,与矽速科技(SiPEED)和高云半导体(GoWIN)无关,文中如果有任何不准确的描述,欢迎在后台留言,当然如果官方能看到,觉得写的还不错,欢迎打赏支持!版权所有,转载请联系我授权!
9. 更多
-
FPGA硬核和软核处理器的区别
-
有哪些内嵌ARM硬核的FPGA?
-
在FPGA上定制一颗ARM处理器
-
ZYNQ开发板深度评测:高性能FPGA和双核ARM的强强联合
-
I²C协议官方标准文档2021最新版本下载