本帖最后由 社会主义好啊 于 2023-12-10 21:22 编辑
# 国产高性能FPGA:Tang Primer 25K开箱测评以及环境搭建
## Tang Primer 25K开箱测评
### Tang Primer 25K核心板以及Dock底板
__正面__
拿到Tang Primer 25K的时候一开始以为只有一个板子,通过[Sipeed官网](https://wiki.sipeed.com/hardware/zh/tang/tang-primer-25k/primer-25k.html)的资料了解到这是两个PCB板,包含Tang Primer 25K核心板以及Tang Primer 25K Dock底板。Tang Primer 25K的正面沉金工艺让整个开发板看起来很好看,再加上掌心大小的体积,让整体都看起来十分精致小巧。但是更小巧的还是在于其17.8mm×22.9mm大小的核心板,大小只有一个拇指大小。
***
__背面__
背面的丝印也很清晰。
***
#### Tang Primer 25K核心板
Tang Primer 25K核心板在17.8mm×22.9mm的面积下集成了高云[W5A-LV25MG121](http://www.gowinsemi.com.cn/)、64Mbits NOR Flash、DC-DC电源和BTB连接器。核心板引出了75个GPIO(这里[官方淘宝店](https://item.taobao.com/item.htm?spm=a21n57.1.0.0.3319523covH8BI&id=746293292946&ns=1&abbucket=15#detail)介绍的是76个,但是根据[Sipeed官网](https://wiki.sipeed.com/hardware/zh/tang/tang-primer-25k/primer-25k.html)以及通过查阅规格书我认为应该是75个)。下面是核心板的一些基本参数:
| 项目 | 参数 |
| :----: | :----: |
| FPGA 芯片 | GW5A-LV25MG121 |
| Flash | 64Mbits NOR Flash |
| 普通IO | 75 |
| MIPI IO | 4lane Data |
***
#### Tang Primer 25K Dock底板
Tang Primer 25K Dock底板在64x40mm大小的面积下板载了USB-JTAG调试器、PMOD接口、40P接口、板载LED、板载按键、USB-A。USB-JTAG调试器也是十分方便初学者进行烧录调试,免去了类似ST-Link等调试器在调试前的接线工作,也防止初学者一开始就因为接线错误导致短路烧毁芯片。下面是Dock底板的一些基本参数:
| 项目 | 参数 | 备注 |
| :----: | :----: | :----: |
| 调试器 | 板载高速调试器,支持JTAG+UART,使用USB-C口烧录 ||
| USB-A | 一个,可作为USB1.1 Host接游戏手柄等HID设备 ||
| PMOD | 3个 ||
| 按键 | 2个 ||
| IO插针 | 一个2x20Pin 2.54插针 | 支持SDRAM模块 |
***
### PMOD模块
__正面__
PMOD模块以及PMOD接口是我让认为Tang Primer 25K确实十分适合初学者。Dock底板上面板载的按键和LED以及40Pin的排针可以让初学者学习一些基本的输入输出以及定时器中断等操作,如果通过排针去连接驱动我们的其他外设,在接线上就可能会导致接线错误而没有效果或者短路导致烧毁PCB。Sipeed的POMD模组有9种,图片上从左至右分别是HDMI输出/输入、2位8段数码管、8位LED、4位按键+4位拨码开关、TF卡POMD模块。这一设计方便了接线操作的同时还让PMOD更加多样化,我们完全可以自行设计自己的PMOD模块然后接在PMOD接口上。
***
__背面__
PMOD模块背面的丝印可以帮助初学者了解如何驱动PMOD模块,Dock底板的PMOD接口上的丝印也可以帮助初学者了解对应的引脚,防止重复查看板卡原理图以及防止接错线。但是这里我感觉采用排针和排母作为PMOD接口其实还是会有概率会错位插入,之前就见过别人插错位导致烧了一块儿TFTLCD屏幕。
若是改成简牛连接器或者XH2.54mm端子接插件连接器那安全性会大大提升(接反或者错位都连接不上去),但是可拓展性会减少很多。
## 开发资料以及环境搭建
### 开发资料
从[Sipeed官方下载站](https://dl.sipeed.com/shareURL/TANG/Primer_25K)上我们可以下载图片的所有内容
官方例程:https://github.com/sipeed/TangPrimer-25K-example
***
### 环境搭建
几乎不需要其它额外的操作直接按照官网上的[安装步骤](https://wiki.sipeed.com/hardware/zh/tang/Tang-Nano-Doc/get_started/install-the-ide.html)就可以了,这里我安装的是教育板,界面嘎嘎简洁。
***
接下来我来教大家使用GOWIN FPGA Design软件下载烧录一个官方例程
1.首先用GOWIN FPGA Design打开一个工程,打开后会看到Design Summary页面的Target Device是空的。我们要双击Design栏的这个小芯片。(或者直接点击“Project”->“Set Device”->第二步)
\
***
2.然后就会出现芯片选择界面,选择我们的GW5A-LV25MG121芯片然后点击“确定”。
***
3.确定后我们就会发现“Design Summary”页面的“Target Device”栏出现了我们的芯片信息。
***
4.然后我们点击“Process栏”->“Place & Route”->右键后点击“RUN”或者直接点击“Run All”运行。
***
5.然后我们双击“FloorPlanner”引脚绑定界面去绑定我们的引脚。点击最底下一栏的“I/O Constraints”就可以进行引脚绑定了。这边可以看到例程里的引脚是已经绑定好了的所以不用绑定了,关闭即可。
***
6.双击“FloorPlanner”下面的“Timing Constraints Editor”去设置我们的时钟。可以看到这边时钟也设置好了,关闭即可。
***
7.插上我们的开发板后,在任务栏我们点击“Programmer”进入程序烧录界面,不用设置什么直接点击“Save”。
***
8.这时候我们就要检查以下芯片选的对不对,如果不对就点击“Scan Device”查找一下,如果是的话就直接点击“Program/Configure”下载程序。等待进度条跑满即可。
**运行结果如下**
***
## 小结
### 本次主要是对Tang Primer 25K的一些外设和设计进行一些测评,还有利用官方给的例程做一个使用GOWIN FPGA Design软件进行开发环境搭建和代码烧录的操作演示。后面将会使用Tang Primer 25K做一些基础的输入输出操作等。***对于上述内容如有错误还望各位能在评论区指出,感谢观看。***