很长时间没发过板卡评测的文章了,今天我们来评测沁恒的一款RISC-V开发板。
提到沁恒这个名字,可能有些朋友感到陌生,但是有一款芯片你肯定知道,那就是CH340——一款USB-TTL串口的转换芯片。
记得我大学期间,第一次接触的单片机是51系列,如STC89C51,它的下载方式是通过串口下载,所使用的的模块就是基于CH340,后来接触到STM32,也可以通过它进行串口下载,或者通过串口输出调试信息。而CH340的厂家,就是WCH沁恒微电子!
沁恒微电子今天我们要评测的是沁恒新出的RISC-V开发板——CH32V103R8T6-EVT-R1评估板。
它长这样↓↓↓
沁恒RISC-V开发板是不是很熟悉,其实也可以称之为CH32V103R_NUCLEO。
CH32V103是一款RISC-V内核芯片,在进行评测之前我们有必要了解一下RISC-V架构。
记得第一次认识RISC-V,是2019年4月参加由嵌入式系统联谊会举办的RISC-V技术沙龙,也是我第一次参加线下的技术交流活动,第一次了解这个和ARM、x86完全不同的另一种全新的架构:RISC-V,当时国产的RISC-V内核芯片还寥寥无几,短短两年时间,很多国产RISC-V内核芯片量产:兆易GD32V、沁恒CH32V、乐鑫ESP32-C3、全志D1、阿里平头哥等等。
关于RISC-V更多的介绍,可以查看之前发的几篇关于RISC-V的文章:
RISC-V当真是中国处理器产业的最后一次机会?
兆易半导体RISC-V内核MCU上线,MCU架构真要三分天下?
《手把手教你设计CPU——RISC-V处理器》读书笔记
阿里平头哥首次交货——玄铁910是个啥?是芯片吗?
NXP恩智浦VEGA织女星开发板免费申请!
其实RISC-V从2019年开始,才算是真正进入主流市场,政策的支持、半导体公司的崛起,很多公司都想在RISC-V新赛道有一番作为,据不完全统计,中国目前有300家以上的公司在参与RISC-V相关软硬件开发。
熟悉了RISC-V架构,我们来看看板子都有哪些资源吧!
主控:RISC-V内核MCU—CH32V103R8T6,LQFP64M封装
调试器:板载WCH-Link调试器,集成CDC串口功能,基于沁恒8051内核MCU CH549G实现,Type C接口,预留WCH-Link调试跳线,可以自由选择是否使用板载调试器
按键:两路轻触按键,一个复位,一个用户可编程
LED:6路,3路用于调试器指示状态,2路用户LED,1路电源指示
开关:核心板电源开关,当需要重启时,不需要插拔USB口
GPIO:预留Arduino UNO接口,可以直接连接Arduino外设模块,GPIO通过2.54mm间距排针引出,包括BOOT选择。
USB:1路USB2.0通过Type C和USB母座引出,可以用于来连接U盘、键鼠等USB设备。
CH32V103是沁恒RISC-V内核MCU系列中的32位通用MCU产品,采用自研RISC-V3A处理器,最高80MHz主频。
芯片内部框图
CH32V103芯片框图RISC-V内核32位通用MCU,基于RISC-V3A处理器,最高80MHz系统主频。
20KB SRAM、64KB Flash、51个用户GPIO
2.7-5.5v宽供电范围,-40~85℃工业级温度范围
16路ADC/触摸按键通道
7个定时器:3个通用、1个高级、2个看门狗、1个系统时钟
2路SPI、2路I2C、3路USART,1路USB 2.0,支持主机/设备模式
根据不同的存储、RAM、外设资源,目前主要有4个型号
CH32V103系列主控芯片,CH32V103R8T6
主控芯片CH32V103板载WCH-Link调试器,而且集成了CDC串口功能,基于CH549G方案,目前常用的数据线通常是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开发,除了开发环境外,比较重要的有4个文档:数据手册、参考手册、固件库、使用例程。
除了以上文档之外,沁恒还提供有评估板说明书、原理图、芯片SCH/PCB封装等。
目前,半导体厂商的集成开发环境主要可分为2类。
通用平台
这类平台,厂家只需要提供器件支持包就可以使用,功能简洁,集成代码编辑、下载、调试功能,可以方便在不同芯片平台间切换,但是代码编辑功能实在有限,而且需要License授权费。如Keil MDK、IAR等。
定制平台
通常是厂家基于Eclipse平台深度定制,功能强大、界面美观、操作简单,配合ARM交叉编译工具链,可以完成程序的下载、调试等功能,而且还集成了串口终端。这类开发环境通常无授权费用,对于用户非常友好。如CH32V103开发环境MounRiver Studio,GD32V开发环境Nuclei Studio IDE,STM32 Cube IDE/True Studio,瑞萨e2 studio,NXP的MCUXpresso IDE,Microsemi的SoftConsole等,这些都是基于开源的Eclipse框架开发。其他还有RT-Thread Studio,卡姆派乐集成开发环境等等。
CH32V103使用MounRiver Studio(简称MRS)开发,基于Eclipse深度定制开发,支持Keil工程一键导入、RISC-V/ARM跨内核迁移,除了支持沁恒ARM和RISC-V内核MCU开发外,还支持GD32VF103开发。
MRS开发环境提供的例程涵盖了所有的外设资源:
例程使用MRS创建示例工程非常简单,全程无需写一行代码,无论是裸机工程还是RTOS工程,软件会自动添加所需要的驱动库和示例代码,而且已经实现了延时函数和UART printf支持。
在使用MRS新建RTOS工程时,支持创建基于3种常见RTOS的工程模板,分别是FreeRTOS、RT-Thread和Harmony LiteOS-M,当创建完成之后,你就获得了一个基于RTOS的工程模板,无需任何修改,直接编译下载,就可以运行,非常方便。
支持RTOS工程创建从驱动库函数来看,大部分函数名和STM32一样,对于STM32的用户迁移到CH32V103平台非常方便,整体代码不需要做太多的修改。
部分外设驱动库函数:
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);
可能有些开发者以为沁恒只有USB、以太网、PCI等这些专用的接口转换芯片,其实沁恒还有很多通用MCU产品,包括E8051内核、ARM Cortex-M0/M3内核,RISC-V内核的MCU产品等等。
沁恒通用MCU产品其中RISC-V内核产品是近两年才推出,主要有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,千兆以太网、3.8G高速接口口,USB3.0+OTG
CH32V103配套的软硬件资料还是非常齐全的,主要包括中文数据手册、参考手册、评估板原理图和说明书、外设使用例程、开发环境等等。
资料包MRS集成开发环境V151安装包:
http://file.mounriver.com/upgrade/MounRiver_Studio_Setup_V151.zip
MRS集成开发环境V151补丁包:
http://file.mounriver.com/upgrade/MounRiver_Update_V151.zip
以上资料包可以到官方网站下载:
http://www.wch.cn/products/CH32V103.html
1.该如何学习嵌入式?看大佬的职业规划!
2.台积电突然变脸:将向美国交出商业机密数据
3.如何用Keil验证8位和32位单片机变量占用空间大小?
4.杨福宇专栏|细读特斯拉安阳案48页数据文档,了解故障的存在~
5.别让你的项目,毁在单片机选型上!
6.时钟失效之后,STM32还能运行?
免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。