“這個世界上本沒有節(jié)日,諧音梗多了,就有了節(jié)日?!薄斞?/p>
從2014年起,中國的互聯(lián)網(wǎng)圈把10月24日定為程序員節(jié),到今年2021年已經(jīng)是
第1000個程序員節(jié)了。祝各位開發(fā)者節(jié)日快樂!
程序員節(jié)雖然搞嵌入式開發(fā)的也能算半個碼農(nóng),但是,啥時候能有真正屬于咱電子人的節(jié)日?可能有些讀者朋友注意到了,我好久沒有更新原創(chuàng)文章了!因為最近一直忙著
換工作、租房子、搬家等一些瑣事,現(xiàn)在入職新公司有1個月的時間了,還在熟悉公司業(yè)務。其實這些都是借口,就是懶!哈哈!很長時間沒發(fā)過板卡評測的文章了,今天我們來評測沁恒的一款
RISC-V開發(fā)板。提到沁恒這個名字,可能有些朋友感到陌生,但是有一款芯片你肯定知道,那就是CH340——一款USB-TTL串口的轉換芯片。記得我大學期間,第一次接觸的單片機是51系列,如STC89C51,它的下載方式是通過串口下載,所使用的的模塊就是基于CH340,后來接觸到STM32,也可以通過它進行串口下載,或者通過串口輸出調試信息。而CH340的廠家,就是
WCH沁恒微電子!
沁恒微電子今天我們要評測的是沁恒新出的RISC-V開發(fā)板——
CH32V103R8T6-EVT-R1評估板。它長這樣↓↓↓
沁恒RISC-V開發(fā)板是不是很熟悉,其實也可以稱之為
CH32V103R_NUCLEO。
. 關于RISC-V
CH32V103是一款
RISC-V內核芯片,在進行評測之前我們有必要了解一下RISC-V架構。記得第一次認識RISC-V,是2019年4月參加在北航舉辦的RISC-V技術沙龍,也是我第一次參加線下的技術交流活動,第一次了解這個和ARM、x86完全不同的另一種全新的架構:
RISC-V,當時國產(chǎn)的RISC-V內核芯片還寥寥無幾,短短兩年時間,很多國產(chǎn)RISC-V內核芯片量產(chǎn):兆易GD32V、沁恒CH32V、樂鑫ESP32-C3、全志D1、阿里平頭哥等等。關于RISC-V更多的介紹,可以查看之前發(fā)的幾篇關于RISC-V的文章:
- RISC-V當真是中國處理器產(chǎn)業(yè)的最后一次機會?
- 兆易半導體RISC-V內核MCU上線,MCU架構真要三分天下?
- 《手把手教你設計CPU——RISC-V處理器》讀書筆記
- 阿里平頭哥首次交貨——玄鐵910是個啥?是芯片嗎?
- NXP恩智浦VEGA織女星開發(fā)板免費申請!
其實RISC-V從2019年開始,才算是真正進入主流市場,政策的支持、半導體公司的崛起,很多公司都想在RISC-V新賽道有一番作為,據(jù)不完全統(tǒng)計,中國目前有300家以上的公司在參與RISC-V相關軟硬件開發(fā)。
. 板載硬件資源
熟悉了RISC-V架構,我們來看看板子都有哪些資源吧!
- 主控:RISC-V內核MCU—CH32V103R8T6,LQFP64M封裝
- 調試器:板載WCH-Link調試器,集成CDC串口功能,基于沁恒8051內核MCU CH549G實現(xiàn),Type C接口,預留WCH-Link調試跳線,可以自由選擇是否使用板載調試器
- 按鍵:兩路輕觸按鍵,一個復位,一個用戶可編程
- LED:6路,3路用于調試器指示狀態(tài),2路用戶LED,1路電源指示
- 開關:核心板電源開關,當需要重啟時,不需要插拔USB口
- GPIO:預留Arduino UNO接口,可以直接連接Arduino外設模塊,GPIO通過2.54mm間距排針引出,包括BOOT選擇。
- USB:1路USB2.0通過Type C和USB母座引出,可以用于來連接U盤、鍵鼠等USB設備。
板載資源. CH32V103R8T6資源
CH32V103是沁恒RISC-V內核MCU系列中的
32位通用MCU產(chǎn)品,采用自研
RISC-V3A處理器,最高80MHz主頻。芯片內部框圖
CH32V103芯片框圖- RISC-V內核32位通用MCU,基于RISC-V3A處理器,最高80MHz系統(tǒng)主頻。
- 20KB SRAM、64KB Flash、51個用戶GPIO
- 2.7-5.5v寬供電范圍,-40~85℃工業(yè)級溫度范圍
- 16路ADC/觸摸按鍵通道
- 7個定時器:3個通用、1個高級、2個看門狗、1個系統(tǒng)時鐘
- 2路SPI、2路I2C、3路USART,1路USB 2.0,支持主機/設備模式
根據(jù)不同的存儲、RAM、外設資源,目前主要有4個型號
CH32V103系列. 板卡細節(jié)
主控芯片,CH32V103R8T6
主控芯片CH32V103板載WCH-Link調試器,而且集成了CDC串口功能,基于CH549G方案,目前常用的數(shù)據(jù)線通常是TypeC接口,所以這款板卡也采用的TypeC接口。
調試器芯片CH549EPSON 晶振,8M和32.768k。
板載晶振撥動電源開關,只用于核心板電源控制,調試器電源不會被斷開。
撥動開關USB 2.0接口,芯片只有1路USB2.0,板卡提供了Type C和USB母座兩種接口形式,可以做一些USB相關的應用,比如外接U盤、鼠標或鍵盤等。
USB_2.0接口USB連接器為富士康品牌
富士康USB座兩路按鍵,1個復位,1個用戶可編程。
兩路按鍵. 配套軟硬件文檔
對于MCU開發(fā),除了開發(fā)環(huán)境外,比較重要的有4個文檔:
數(shù)據(jù)手冊、參考手冊、固件庫、使用例程。除了以上文檔之外,沁恒還提供有
評估板說明書、原理圖、芯片SCH/PCB封裝等。目前,半導體廠商的集成開發(fā)環(huán)境主要可分為2類。
這類平臺,廠家只需要提供器件支持包就可以使用,功能簡潔,集成代碼編輯、下載、調試功能,可以方便在不同芯片平臺間切換,但是代碼編輯功能實在有限,而且需要License授權費。如Keil MDK、IAR等。
通常是廠家基于Eclipse平臺深度定制,功能強大、界面美觀、操作簡單,配合ARM交叉編譯工具鏈,可以完成程序的下載、調試等功能,而且還集成了串口終端。這類開發(fā)環(huán)境通常無授權費用,對于用戶非常友好。如CH32V103開發(fā)環(huán)境MounRiver Studio,GD32V開發(fā)環(huán)境Nuclei Studio IDE,STM32 Cube IDE/True Studio,瑞薩e2 studio,NXP的MCUXpresso IDE,Microsemi的SoftConsole等,這些都是基于開源的Eclipse框架開發(fā)。其他還有RT-Thread Studio,卡姆派樂集成開發(fā)環(huán)境等等。CH32V103使用
MounRiver Studio(簡稱MRS)開發(fā),基于Eclipse深度定制開發(fā),支持Keil工程一鍵導入、RISC-V/ARM跨內核遷移,除了支持沁恒ARM和RISC-V內核MCU開發(fā)外,還支持GD32VF103開發(fā)。
MRS開發(fā)環(huán)境提供的例程涵蓋了所有的外設資源:
例程. CH32V103工程創(chuàng)建
使用MRS創(chuàng)建示例工程非常簡單,全程無需寫一行代碼,無論是裸機工程還是RTOS工程,軟件會自動添加所需要的驅動庫和示例代碼,而且已經(jīng)實現(xiàn)了延時函數(shù)和UART printf支持。在使用MRS新建RTOS工程時,支持創(chuàng)建基于3種常見RTOS的工程模板,分別是
FreeRTOS、RT-Thread和Harmony LiteOS-M,當創(chuàng)建完成之后,你就獲得了一個基于RTOS的工程模板,無需任何修改,直接編譯下載,就可以運行,非常方便。
支持RTOS工程創(chuàng)建從驅動庫函數(shù)來看,大部分函數(shù)名和STM32一樣,對于STM32的用戶遷移到CH32V103平臺非常方便,整體代碼不需要做太多的修改。部分外設驅動庫函數(shù):
void?GPIO_DeInit(GPIO_TypeDef*?GPIOx);
void?GPIO_AFIODeInit(void);
void?GPIO_Init(GPIO_TypeDef*?GPIOx,?GPIO_InitTypeDef*?GPIO_InitStruct);
void?GPIO_StructInit(GPIO_InitTypeDef*?GPIO_InitStruct);
uint8_t?GPIO_ReadInputDataBit(GPIO_TypeDef*?GPIOx,?uint16_t?GPIO_Pin);
uint16_t?GPIO_ReadInputData(GPIO_TypeDef*?GPIOx);
uint8_t?GPIO_ReadOutputDataBit(GPIO_TypeDef*?GPIOx,?uint16_t?GPIO_Pin);
uint16_t?GPIO_ReadOutputData(GPIO_TypeDef*?GPIOx);
void?GPIO_SetBits(GPIO_TypeDef*?GPIOx,?uint16_t?GPIO_Pin);
void?GPIO_ResetBits(GPIO_TypeDef*?GPIOx,?uint16_t?GPIO_Pin);
void?GPIO_WriteBit(GPIO_TypeDef*?GPIOx,?uint16_t?GPIO_Pin,?BitAction?BitVal);
void?GPIO_Write(GPIO_TypeDef*?GPIOx,?uint16_t?PortVal);
. 沁恒RISC-V產(chǎn)品線
可能有些開發(fā)者以為沁恒只有USB、以太網(wǎng)、PCI等這些專用的接口轉換芯片,其實沁恒還有很多通用MCU產(chǎn)品,包括
E8051內核、ARM Cortex-M0/M3內核,RISC-V內核的MCU產(chǎn)品等等。
沁恒通用MCU產(chǎn)品其中RISC-V內核產(chǎn)品是近兩年才推出,主要有3個系列:低功耗藍牙、32位通用和超高速接口。
- 集成低功耗藍牙MCU:CH573/583系列,BLE 5.1,最低睡眠電流0.2uA,USB 2.0等
- 32位通用MCU:CH32V10x/20x/30x,最高144MHz主頻,ADC/DAC/SPI/I2C/UART外設,USB2.0等
- 超高速接口MCU:CH569/5,千兆以太網(wǎng)、3.8G高速接口口,USB3.0 OTG
RISC-V產(chǎn)品. 資料下載
CH32V103配套的軟硬件資料還是非常齊全的,主要包括
中文數(shù)據(jù)手冊、參考手冊、評估板原理圖和說明書、外設使用例程、開發(fā)環(huán)境等等。
資料包MRS集成開發(fā)環(huán)境V151安裝包:
http://file.mounriver.com/upgrade/MounRiver_Studio_Setup_V151.zipMRS集成開發(fā)環(huán)境V151補丁包:
http://file.mounriver.com/upgrade/MounRiver_Update_V151.zip以上資料包可以到官方網(wǎng)站下載:
http://www.wch.cn/products/CH32V103.html或者關注公眾號,后臺回復:
211023,獲取資料打包下載鏈接。
. 總結
很明顯,無論是硬件配置還是開發(fā)方式,CH32V103對標的是STM32F103,對于想更換MCU平臺的用戶可以非??焖俚耐瓿蛇w移。對于早期使用沁恒ARM內核的用戶,遷移到RISC-V內核也非常方便,因為兩者除了內核不同,資源配置,外設操作這些應用層面的幾乎一致。最近兩年,受益于國家的投入與政策的支持,疊加全球“芯片荒”,中國半導體產(chǎn)業(yè)進入發(fā)展“黃金期”,國產(chǎn)
RISC-V芯片也如雨后春筍般涌現(xiàn)。國產(chǎn)芯片的發(fā)展,強大的生態(tài)是關鍵,文檔手冊、
開發(fā)板、固件庫,交流社區(qū),技術支持,創(chuàng)意競賽,大學計劃等等。我想經(jīng)歷過美國技術卡脖子、芯片缺芯之后,更多的用戶會選擇國產(chǎn)芯片來替代進口芯片,這對國產(chǎn)芯片是很有利的,但也不能盲目樂觀,由于芯片研發(fā)技術門檻高、資金大、周期長,爆雷事件也偶有傳出。未來一段時間,腳踏實地才能保證確保我國集成電路產(chǎn)業(yè)良性發(fā)展。
. 更多
- FPGA固件如何進行在線升級?
- 基于STM32的FPGA下載器USB Blaster
- 開源、低成本的Xilinx FPGA下載器
- 手把手教你制作Jlink-OB調試器
- 手把手教你用Qt寫一個串口助手控制LED
- 嵌入式軟硬件都開源的項目