很长时间没发过板卡评测的文章了,今天我们来评测沁恒的一款RISC-V开发板。

提到沁恒这个名字,可能有些朋友感到陌生,但是有一款芯片你肯定知道,那就是CH340——一款USB-TTL串口的转换芯片。

记得我大学期间,第一次接触的单片机是51系列,如STC89C51,它的下载方式是通过串口下载,所使用的的模块就是基于CH340,后来接触到STM32,也可以通过它进行串口下载,或者通过串口输出调试信息。而CH340的厂家,就是WCH沁恒微电子

沁恒微电子

今天我们要评测的是沁恒新出的RISC-V开发板——CH32V103R8T6-EVT-R1评估板

它长这样↓↓↓

沁恒RISC-V开发板

是不是很熟悉,其实也可以称之为CH32V103R_NUCLEO

. 关于RISC-V

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设备。

板载资源

. CH32V103R8T6资源

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接口。

调试器芯片CH549

EPSON 晶振,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开发环境

提供的例程涵盖了所有的外设资源:

例程

. CH32V103工程创建

使用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);

. 沁恒RISC-V产品线

可能有些开发者以为沁恒只有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

RISC-V产品

. 资料下载

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还能运行?

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

沁恒RISC-V开发板CH32V103-EVT评测~相关推荐

  1. 沁恒微CH32V307开发板试用-RT-Thread+UART+LWIP+LED

    CH32V307V-R0 是 南京沁恒微电子(WCH) 推出的一款基于 RISC-V 内核的开发板,最高主频为 120Mhz,该开发板芯片为 CH32V307-R0. 芯片资料:32位互联型RISC- ...

  2. 【沁恒WCH CH32V307V-R1开发板输出DAC实验】

    [沁恒WCH CH32V307V-R1开发板输出DAC实验] 1. 前言 2. 软件配置 2.1 安装MounRiver Studio 3. DAC项目测试 3.1 打开DAC工程 3.2 编译项目 ...

  3. 【沁恒WCH CH32V307V-R1开发板两路ADC读取实验】

    [沁恒WCH CH32V307V-R1开发板两路ADC读取实验] 1. 前言 2. 软件配置 2.1 安装MounRiver Studio 3. ADC项目测试 3.1 打开ADC工程 3.2 编译项 ...

  4. 【沁恒WCH CH32V307V-R1开发板读取板载温度实验】

    [沁恒WCH CH32V307V-R1开发板读取板载温度实验] 1. 前言 2. 软件配置 2.1 安装MounRiver Studio 3. ADC项目测试 3.1 打开ADC工程 3.2 编译项目 ...

  5. 沁恒CH32V103C8T6(一): 核心板焊接和Windows开发环境配置

    目录 沁恒CH32V103C8T6(一): 核心板焊接和Windows开发环境配置 沁恒CH32V103C8T6(二): Linux RISC-V编译和烧录环境配置 CH32V103C8T6 CH32 ...

  6. 平头哥 BeagleV-Ahead TH1520 RISC-V 高性能开发板开箱硬件评测

    BeagleV-Ahead开箱硬件讲解 BeagleV-Ahead开箱介绍 非常感谢 中国杭州平头哥半导体优先公司 和 Beagle社区给予我们 全球首款高性能 TH1520 RISC-V SBC开发 ...

  7. 东芝半导体最新ARM开发板——TT_M3HQ开箱评测

    前言 最近从面包板社区申请到一块东芝最新ARM Cortex-M3内核的开发板--TT_M3HQ,其实开发板收到好几天了,这几天一直在构思怎么来写这第一篇评测文章,看大家在社区也都发了第一篇评测,我也 ...

  8. 迅为RK3568开发板Buildroot系统功能评测

    1 系统启动 Buildroot 系统启动后,串口如下图所示: 如果连接了屏幕,是可以看到系统桌面的,桌面显示如下图所示,默认已经支持 wayland 桌面环境及一些 QT 应用. 2 多路视频播放测 ...

  9. CH32V103R-R1开发板试用笔记

    文章目录 前言 一.初识CH32V103R-R1开发板 二.使用步骤 1.认识开发板 2.软件安装 3.点灯 4.调试 总结 前言    从朋友那里得知RTT大赛的消息,有幸申请到了一片沁恒微电子的C ...

  10. 沁恒CH32V307使用记录:GPIO与EXTI

    文章目录 目的 GPIO(通用输入输出接口) 基础说明 初始化 输出 输入与电平读取 锁定机制 EXTI(外部中断) 基础说明 使用演示 总结 目的 GPIO是单片机最基础的功能,EXTI最常用的场景 ...

最新文章

  1. 链表问题5——反转部分单向链表
  2. 夜宵虽好,可不要贪“杯”哦
  3. 《那些年啊,那些事——一个程序员的奋斗史》——38
  4. git 冲突覆盖_git pull冲突解决之强制覆盖
  5. log4j的相关jar包总结
  6. 华为发布企业服务云化转型战略 未来5年投资5亿美金建设服务能力(2017年09月06日)
  7. 微服务架构的分布式事务解决方案(Dubbo分布式事务处理)
  8. java aes javascript_Java已有AES加解密,现需要前端Javascript加密调接口,返回的数据需要解密,目前互通不了,找不到原因...
  9. 学习总结 for循环语句的应用
  10. NYOJ-97兄弟郊游问题
  11. Day_05 显示字符串
  12. 编译原理完整学习笔记(六):语义分析和中间代码生成
  13. Linux驱动之异步OR同步,阻塞OR非阻塞概念介绍
  14. python的装饰器和find函数的使用
  15. Gantt - attachEvent所有事件(归类、索引)
  16. 交换机基本原理与配置(包含ensp交换机配置命令)
  17. 为什么手机充电这么慢?别用错数据线
  18. 如何找到算法的时间复杂度
  19. 谷歌pay 手续费_您可以使用Google Pay进行的所有操作
  20. 1.3 OC与OD门(硬件基础系列)

热门文章

  1. js动态添加svg节点
  2. 西普实验吧CTF-IPv4
  3. 播放视频颜色不正常,红色变成绿色或者很模糊
  4. mac查看端口占用程序
  5. JSON Schema 详解
  6. Linux v4l2 二 驱动和 usb 摄像头
  7. C#找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)”
  8. Css计算--calc()方法
  9. /bin/bash:找不到文件或目录
  10. 计算指定日期加天数后的日期