國產(chǎn)FPGA開發(fā)板上手體驗:不足百元,集成ARM硬核處理器!
-
TangNano 4K開發(fā)板
-
黑色USB Type-C數(shù)據(jù)線,長度約50cm,材質(zhì)比較柔軟
-
2.54mm間距22P排針2根
-
OV2640攝像頭模組和配套的FPC母座
-
磨砂材質(zhì)的收納盒,剛好可以放下以上所有配件
-
1.開發(fā)板硬件資源
-
2.開發(fā)板硬件電路
-
3.GW1NSR-4C芯片資源
-
4.關(guān)于高云半導(dǎo)體
-
5.開發(fā)工具和資料
-
6.總結(jié)
-
7.參考資料
1. 開發(fā)板硬件資源
Tang Nano 4K FPGA開發(fā)板整體尺寸非常小巧,只有22.86x60mm大小,放在手里顯得很精致,PCBA元器件布局緊湊,所有的元器件都集中放置在一面,另一面只有絲印。阻容元件大多采用尺寸更小的0402封裝,PCB應(yīng)該在4層以上,PCB采用的是啞光色油墨、沉金工藝,整體看起來有點高端。開發(fā)板正面開發(fā)板背面開發(fā)板兩側(cè)預(yù)留有標(biāo)準(zhǔn)2.54mm間距的排針接口,焊接上排針,可以作為核心板插在設(shè)計的底板上,或者直接插在面包板上通過杜邦線連接外設(shè)硬件模塊。下面來看一下開發(fā)板板載的硬件資源:-
FPGA主控核心,采用的是國產(chǎn)FPGA芯片——廣東高云半導(dǎo)體的小蜜蜂系列SoC GW1NSR-LV4C,QFN-48封裝,片上集成了FPGA和ARM Cortex-M3硬核。
-
板載FPGA調(diào)試器,基于南京博流智能的BL702芯片方案,只需要一根USB線就可以完成下載、調(diào)試,支持使用FPGA邏輯分析儀,或者調(diào)試ARM核,遺憾的是開發(fā)板廠商在低配開發(fā)板上去掉了虛擬串口功能,如果需要使用串口調(diào)試,還需要通過排針外接一個串口模塊。
-
SPI Flash芯片,采用的是上海普冉半導(dǎo)體的P25Q32,32MBit容量,可以用來存儲用戶數(shù)據(jù),GW1NSR內(nèi)部有存儲空間可以存儲FPGA和ARM固件程序,也支持從外部SPI啟動,當(dāng)設(shè)置為MSPI啟動方式時,可以實現(xiàn)從外部SPI Flash加載FPGA程序,TangNano 4K開發(fā)板的啟動模式固定為從內(nèi)部啟動,所以這顆Flash芯片用戶可以隨意進行讀取。
-
攝像頭接口,標(biāo)準(zhǔn)24P 0.5mm 間距FPC座子,可用來連接OV2640攝像頭模組。
-
標(biāo)準(zhǔn)HDMI接口,可以直接連接HDMI接口的顯示器,配合攝像頭可以做一些圖像處理的應(yīng)用,受限于邏輯規(guī)模,也不能做太復(fù)雜的處理。
-
1路用戶LED,2路用戶按鍵,可以1個作為復(fù)位,1個作為普通按鍵來使用。
-
標(biāo)準(zhǔn)2.54mm間距 2x22排針擴展接口,預(yù)留出了38個用戶GPIO,可以用來連接豐富的外部電子模塊。
-
板載27MHz有源晶體,說實話在FPGA板子上這個頻率的晶體很少見,大多都是25/50/100/200MHz。
-
電源芯片方案采用的是西安拓爾微電子的TMI7003C,5v轉(zhuǎn)3.3/2.5/1.8v,其他還有微盟電子(南京)的ME6211,上海南麟電子的LN6206P15/30
-
TypeC接口,可以連接PC進行FPGA/ARM程序下載、調(diào)試等,非常方便。
2. 開發(fā)板硬件電路
從官方提供的原理圖風(fēng)格來看,這款板子的PCB使用的是開源EDA工具KiCAD設(shè)計的,畢竟這種商業(yè)售賣的板卡,還是要考慮商業(yè)軟件的授權(quán)問題。從原理圖來看,高云GW1NSR-4C FPGA芯片的外圍電路非常簡單,用戶可用IO非常多,雖然是帶ARM硬核的FPGA SoC,但是和ZYNQ系列不同,ARM端的管腳也并不是固定在某些管腳,而是可以隨意的分配,非常靈活。從FPGA最小系統(tǒng)電路來看還是比較簡單的,只需要提供內(nèi)核電壓、輔助電壓、BANK電壓,以及必要的外圍配置和復(fù)位電路即可,內(nèi)核電壓最大支持1.32v,BANK電壓最大支持3.75v,JTAG管腳為ARM和FPGA共用。HDMI電路部分采用的是FPGA直驅(qū)的方式,沒有采用編碼芯片,可以使用官方提供的DVI TX IP核來完成TMDS信號的轉(zhuǎn)換,最高支持1440x2560分辨率的視頻輸出。FPGA原理圖開發(fā)板板載了基于BL702芯片的JTAG調(diào)試器,只需要一根Type-C的數(shù)據(jù)線就可以完成FPGA/ARM程序下載和調(diào)試,非常方便,遺憾的是并沒有集成虛擬串口的功能(高配板子9K才有此功能),調(diào)試器的固件應(yīng)該是由板卡廠商設(shè)計,如果安裝了高云官方云源軟件附帶的下載軟件無法識別此下載器,需要替換為荔枝糖的下載軟件才能正常使用。BL702是由國內(nèi)半導(dǎo)體廠商南京博流智能科技研發(fā)的一款集成藍牙功能的低功耗MCU產(chǎn)品。BL702下載器電路官方附贈的資料包里,還提供了板子的stp模型和dxf格式的CAD文件,可以根據(jù)板子的結(jié)構(gòu)尺寸來設(shè)計配套的擴展底板。cad文件預(yù)覽stp文件預(yù)覽
BL702數(shù)據(jù)手冊:https://whycan.com/files/members/341/BL702_BL704_BL706_DS_zh_CN_Combo_1.9.pdf
3. GW1NSR-4C芯片資源
TangNano 4K的FPGA芯片采用的是高云半導(dǎo)體小蜜蜂系列的GW1NSR-4C,它是一顆SoC芯片,片上集成了FPGA邏輯和ARM Cortex-M3硬核處理器。注意是硬核處理器,而不是軟核,兩者有很大的區(qū)別,硬核處理器是芯片內(nèi)部本來就設(shè)計有處理器硬件電路,而軟核處理器是使用FPGA邏輯資源來搭建的處理器,硬核處理器不占用邏輯資源,從性能和穩(wěn)定性上來說都要比軟核處理器好。關(guān)于軟核和硬核處理器的介紹,以及如何在FPGA上搭建ARM軟核處理器,可以查看我之前寫的幾篇文章:-
FPGA硬核和軟核處理器的區(qū)別
-
有哪些內(nèi)嵌ARM硬核的FPGA?
-
在FPGA上定制一顆ARM處理器
-
4608 LUT4邏輯單元+3456 FF寄存器,55nm嵌入式閃存工藝
-
內(nèi)置Flash存儲,無需外置SPI Flash,瞬時啟動
-
IO最大頻率150MHz,LVDS最大頻率400MHz
-
16個硬件乘法器(18x18),2個鎖相環(huán)PLL
-
1.2v內(nèi)核電壓,集成HyperRAM存儲芯片64M
-
支持常見的電平標(biāo)準(zhǔn)LVCMOS、LVTTL、SSTL、HSTL、LVDS、MIPI、I3C等等
-
多種配置模式:JTAG、Dual Boot,高云特有的配置模式:AutoBoot,SSPI,MSPI,CPU,Serial
-
片上集成OSC,可以通過配置分頻系數(shù)來產(chǎn)生2.5-125MHz時鐘信號,精度5%。
-
最小封裝為MG64P,4.2x4.2mm
-
ARM Cortex-M3 32Bit RISC內(nèi)核,ARM3v7M 架構(gòu)
-
最高80MHz工作頻率,支持Bit-banding操作
-
用戶閃存256Kb,硬件除法器、單周期乘法
-
26個中斷源,8個優(yōu)先級
-
2路TIMER,2路UART,1路看門狗
-
預(yù)留AHB和APB總線擴展接口,可自定義IP
-
支持uC/OS-III,F(xiàn)reeRTOS等RTOS
-
支持GOWIN MCU Designer和Keil-MDK開發(fā)環(huán)境
4. 關(guān)于高云半導(dǎo)體
介紹完FPGA芯片,我們有必要了解一下這顆芯片的設(shè)計者:廣東高云半導(dǎo)體科技股份有限公司廣東高云半導(dǎo)體科技股份有限公司成立于2014年,是一家專業(yè)從事現(xiàn)場可編程邏輯器件(FPGA)研發(fā)與設(shè)計的國產(chǎn)FPGA高科技公司,致力于向客戶提供從芯片、EDA開發(fā)軟件、IP、開發(fā)板到整體系統(tǒng)解決方案的一站式服務(wù)。經(jīng)過多年的積累,高云半導(dǎo)體在FPGA芯片架構(gòu)、SOC芯片設(shè)計、FPGA集成EDA開發(fā)環(huán)境、FPGA通用解決方案等整個生態(tài)鏈均有核心自主知識,以及國內(nèi)外發(fā)明專利。從官網(wǎng)上可以了解到,高云半導(dǎo)體的芯片主要有以下三大系列,分別是:
目前公司擁有員工200余人,在廣州、上海、濟南設(shè)有研發(fā)中心,隨著公司業(yè)務(wù)在國內(nèi)外市場的快速發(fā)展,公司規(guī)模一直在持續(xù)的擴張中。核心骨干擁有國際著名FPGA公司15年以上實戰(zhàn)經(jīng)驗,親歷國內(nèi)外數(shù)代FPGA芯片硬件、EDA軟件、IP研發(fā)及市場、銷售、技術(shù)支持等工作,是一支經(jīng)驗豐富、具備持續(xù)創(chuàng)新能力的務(wù)實團隊。
官方網(wǎng)站:www.gowinsemi.com.cn
-
晨曦系列(GW2A)
-
小蜜蜂系列(GW1N)
-
GoBridge系列
-
國產(chǎn)FPGA當(dāng)自強!聊聊FPGA國產(chǎn)替代需要考慮的因素
5. 開發(fā)工具和資料
國產(chǎn)FPGA的發(fā)展,更重要的是生態(tài),比如齊全的芯片文檔,軟件的使用文檔,IP核的豐富程度,硬件電路的設(shè)計參考,視頻教程,開發(fā)套件,大學(xué)計劃等等。高云FGPA的生態(tài)環(huán)境做得非常出色,資料齊全,而且還是本地化的中文文檔,易于閱讀,官方還為每個芯片產(chǎn)品設(shè)計了評估板,可以讓工程師參考硬件設(shè)計電路,快速應(yīng)用到自己的項目中。高云半導(dǎo)體還贊助了全國大學(xué)生FPGA設(shè)計競賽,與高校合作建立聯(lián)合實驗室,從大學(xué)階段就培養(yǎng)了一批高云FPGA的開發(fā)者。EDA工具也是芯片設(shè)計中非常重要的一個部分,特別是FPGA的開發(fā)環(huán)境,包括工程創(chuàng)建,設(shè)計輸入,功能仿真,管腳約束,時序約束,時序仿真,綜合,布局布線到最終生成可用于下載的比特流文件,這個過程非常復(fù)雜。高云半導(dǎo)體自主研發(fā)了FPGA開發(fā)環(huán)境——云源軟件,支持Windows和Linux開發(fā)平臺,包括商業(yè)版和教育版,教育版完全免費,而商業(yè)版也只需要提供公司信息即可免費獲得一年的授權(quán)文件,到期后可以再次申請。MCU開發(fā)工具可以使用高云官方的GOWIN MCU Designer,或者常用的單片機開發(fā)工具Keil-MDK。GOWIN MCU Designer界面基于開源的Eclipse框架,編譯器使用的是arm-gcc和riscv-gcc編譯器,可完成設(shè)計、下載、調(diào)試,分為商業(yè)版和教育版。高云官方還為小蜜蜂系列FPGA SoC開發(fā)了離線下載器,包括軟硬件產(chǎn)品,可用于工廠批量燒錄固件,最多可同時支持16路。下面是我從官方網(wǎng)站(www.gowinsemi.com.cn)找到的一些關(guān)于GW1NSR-4C的文檔資料:
-
GW1NSR數(shù)據(jù)手冊、用戶手冊、應(yīng)用手冊等等
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設(shè)計物理約束用戶指南
http://cdn.gowinsemi.com.cn/SUG935.pdf -
Gowin設(shè)計時序約束用戶指南
http://cdn.gowinsemi.com.cn/SUG940.pdf -
FPGA視頻教程
http://www.gowinsemi.com.cn/video_complex.aspx?FId=n15:15:26
-
FPGA開發(fā)環(huán)境—云源軟件Windows版本v1.9.8.08
http://cdn.gowinsemi.com.cn/Gowin_V1.9.8.08_win.zip -
FPGA開發(fā)環(huán)境—云源軟件Windows教育版v1.9.8.07
http://cdn.gowinsemi.com.cn/Gowin_V1.9.8.07_Education_win.zip -
MCU開發(fā)環(huán)境—GOWIN MCU Designer V1.1
http://cdn.gowinsemi.com.cn/GMD_V1.1.zip -
MCU開發(fā)環(huán)境—GOWIN MCU Designer V1.1.01教育版
http://cdn.gowinsemi.com.cn/GMD_V1.1.01_Education_win.zip
6. 總結(jié)
從板子整體角度來看,這是一款國產(chǎn)化程度很高的板子,從主控FPGA,到JTAG芯片,存儲芯片、電源芯片等,都是使用的國產(chǎn)半導(dǎo)體公司的產(chǎn)品。板子整體尺寸也比較迷你,屬于小而美類型的,可以認(rèn)為是一款FPGA核心板,當(dāng)然也預(yù)留了排針接口,給用戶足夠的擴展空間。對于想了解高云小蜜蜂SoC軟硬件開發(fā),以及對云源軟件、MCU開發(fā)環(huán)境做個深度評測來說足夠了。當(dāng)然還有一些值得改進的地方:
-
JTAG調(diào)試器固件可以增加虛擬串口功能,對于板子本來來說面積不會有改動,只需要添加兩根信號線即可
-
FPGA芯片的配置管腳可以設(shè)計為撥碼開關(guān)形式,這樣可以選擇多種啟動模式,用于驗證高云特有的幾種啟動模式,比如在線升級,從外部SPI啟動等
-
LED的管腳可以分配到普通GPIO,目前是分配到了MODE管腳,還需要配置MODE管腳為普通IO
-
板載的FPGA外部晶體頻率為27M,使用PLL倍頻到100M時,會提示輸出頻率不精確,如果是25或50M就會很方便進行倍頻。
-
可能是出于板子面積的限制,電路上沒有添加任何的ESD防護芯片,在使用時需要小心人體靜電(百元開發(fā)板,要啥自行車)
對于高云GW1NSR-4C FPGA芯片,這么多開放的資料和文檔是我沒想到的,包括本地化的中文文檔,對于開發(fā)者很友好,易于閱讀;開發(fā)文檔、手冊、例程也很豐富;評估板很齊全,幾乎涵蓋所有的芯片型號;基于Flash的FPGA架構(gòu),可以實現(xiàn)瞬時啟動,對于啟動速度要求高的應(yīng)用場景這個很重要;EDA軟件免費授權(quán),無論是FPGA開發(fā)環(huán)境還是MCU開發(fā)環(huán)境,均可免費獲得授權(quán);FPGA開發(fā)工具的綜合速度很快,實測HelloWorld流水燈工程的編譯時間在秒級,點一下“啪”就編譯完成了;ARM Cortex-M3硬核開發(fā)比較容易上手,固件庫函數(shù)很規(guī)范,看著比較熟悉,應(yīng)該是借鑒了STM32的庫函數(shù)名稱,對于有STM32開發(fā)經(jīng)驗的開發(fā)者來說用起來會很親切;FPGA芯片極高的性價比,雖然目前淘寶上還搜不到相關(guān)的芯片型號,只能聯(lián)系官方銷售或者授權(quán)代理商購買,但是從開發(fā)板價格也可以推算出FPGA芯片價格應(yīng)該很實惠。但還有一些不足之處:
-
云源軟件沒有仿真功能,目前還只能借助第三方工具,如Modelsim來完成功能仿真(據(jù)說已經(jīng)在研發(fā)云端仿真工具)
-
不支持高速串行接口,比如SerDes,從高云官方的招聘計劃來看,未來是要在這方面發(fā)力的
-
IP核豐富程度還有待提高,部分產(chǎn)品型號可用IP數(shù)量比較少
7. 參考資料
-
高云半導(dǎo)體官網(wǎng)
www.gowinsemi.com.cn
-
SiPEED矽速科技Wiki
wiki.sipeed.com
8. 聲明
本文中所介紹的開發(fā)板為編者自費購買,文案為本人編寫,與矽速科技(SiPEED)和高云半導(dǎo)體(GoWIN)無關(guān),文中如果有任何不準(zhǔn)確的描述,歡迎在后臺留言,當(dāng)然如果官方能看到,覺得寫的還不錯,歡迎打賞支持!版權(quán)所有,轉(zhuǎn)載請聯(lián)系我授權(quán)!
9. 更多
-
FPGA硬核和軟核處理器的區(qū)別
-
有哪些內(nèi)嵌ARM硬核的FPGA?
-
在FPGA上定制一顆ARM處理器
-
ZYNQ開發(fā)板深度評測:高性能FPGA和雙核ARM的強強聯(lián)合
-
I2C協(xié)議官方標(biāo)準(zhǔn)文檔2021最新版本下載