单片机/MCUwilliam hill官网
直播中

松山归人

11年用户 4194经验值
擅长:可编程逻辑,RF/无线
私信 关注
[文章]

【项目实战】基于RISC-V单片机的鸿蒙系统开发板项目日记连载【RISC-V鸿蒙开发板单片机简介】

`作者:张角老师(张飞实战电子高级工程师)
RISC-V鸿蒙开发板单片机简介
我们使用的单片机是深圳睿思芯科公司出品的Pygmy-E系列的单片机,它是面向IOT超低功耗32SOC,内含睿思独立设计的ORV32 RISC-V内核,实现了RV32IMC标准指令扩展。主要用于IOT终端设备的感知、控制、连接等领域,如智能家居、智能控制、智慧工业、智慧园区等。
这款单片机主频可以高达100Mhz。在存储方面,一级缓存8KB,二级缓冲256KB,存储容量还是比较大的。同时它支持丰富的外设接口,比如GPIOUARTSPIIIC等,可以实现复杂的通信及控制功能。
在低功耗方面,Pygmy-E拥有极低的功耗表现,通过对CPU极致的低功耗微架构设计和对SoC系统层级进行深度优化设计,动态功耗远优于同等计算性能的ARM芯片,并且实现的uW级别的SOC待机功耗。
        整个处理器的框架图,是如下这个样子,供大家参考。
图片2.jpg

我们后面会分几个模块来介绍这款单片机,比如GPIO接口、I2C接口、SPI接口以及中断系统等等。这篇文章里面,主要介绍系统时钟以及GPIO接口的一个关键点,介绍这个的时候,我会尽可能的和ARM架构的单片机进行比较,在对比中把这款单片机架掌握得更加深刻。
1. 时钟
整个系统主频和外设的频率(Systick定时器,UARTI2CSPI等)是可以自己设置的,不过从目前我这边拿到的资料来看,在时钟树这块,它的架构不像ARM内核那样可以通过对RCC寄存器的配置来统一对时钟进行管理。
不过这并不影响单片机的使用,只是在配置时钟这块需要对各个外设寄存器有更加深入的了解,因为外设时钟信号的配置更多是在这里进行的。
我们这里外部使用的是20Mhz的有源晶振,实际系统中的主频也就配置成了20Mhz
图片3.jpg
1. GPIO
这款芯片的外设使用的是新思科技的模块,对GPIO口复用的配置主要是通过各个接口的SELDIR两个寄存器来实现的。SELDIR寄存器的值都为0的时候,使用的是复用模块的功能;SELDIR寄存器中的值均为1的时候,单片机使用的是GPIO口模块的功能。但是每个接口模块,只能有一个复用功能,这个地方不同于我们经常使用的STM32单片机。在STM32单片机中,大部分接口都会支持好几个功能模块的复用。
图片4.jpg
从上图中,大家可以看出来每一个端口目前只有一个复用功能,我们在实际进行端口配置的时候,灵活度相对来说要小不少。

大家可以看一下GPIO模块的通用框图。
图片5.jpg

从这个通用框图,可以看出来,GPIO输入和输出值的改变,是通过D触发器完成的。用硬件原理上来说,如果GPIO接口的模块没有时钟信号,那么这个模块就不能够工作。我们可以直接通过控制时钟模块就可以控制响应接口是不是处于工作,这样就可以达到控制整个芯片功耗的目的。但是我们在一般的ARM单片机提供的参考手册中看不到这样的框图,这个框图中对D触发器的解释相应地来说,会更加清晰。

上期回顾:
` 图片1.jpg

更多回帖

发帖
×
20
完善资料,
赚取积分