原本想着自己做一下硬件且往产品化方向发展,并熟悉一下瑞萨MCU的硬件。但由于瑞萨这款单片机相对较简单且功能单一,看了其数据手册《r01uh0481cj0120_r7f0c806_9.pdf》后就懒得去做了。就利用官方的开发板外加现有的三轴重力加速MMA7455L模块为硬件基础。
首先了解一下瑞萨R7F0C809单片机有哪些外设将会在设计中使用到,R7F0C809有20只引脚,主要外设有:
串行接口
● CSI: 1个通道
● UART: 1个通道
定时器
● 8/16位定时器: 4个通道
● 12位间隔定时器: 1个通道
● 看门狗定时器: 1个通道(能以专用低速内部振荡器时钟运行)
● 实时输出功能: 8个通道(只限R7F0C806、R7F0C807)
A/D转换器
● 8/10位分辨率A/D转换器(VDD=2.4~5.5V)
● 模拟输入:8个通道
输入/ 输出端口
● I/O端口:18个(N沟道漏极开路输出[VDD耐压]:8个、P沟道漏极开路输出[VDD耐压]:6个)
● 大电流引脚(只限R7F0C808、R7F0C809)
● 能进行N沟道漏极开路、内部上拉的切换
● 内置键中断功能
● 内置时钟输出/蜂鸣器输出控制电路
引脚定义如下:
复用功能引脚可通过下表进行功能分配以及引脚映射(参考《r01uh0481cj0120_r7f0c806_9.pdf》第68页):
R7F0C809资源情况,在设计中会使用到R7F0C809的外设有CSI以及数码管,CSI作为通信口读取MMA7455L三轴重力加速传感器的置,数码管作为记步显示。每当判定人走了一步,数码管的数字即加一,当数值记到最大时重0开始重新计数。到时需要将POIR4置1,分别将P06、P07、P10按上表映射到P01、P137、P00引脚上,将CSI引脚映射到这三只引脚上。其余引脚几乎用于数码管控制显示。
MMA7455L三轴重力加速传感器介绍:
MMA7455L是一款三轴重力加速传感器,它能检测物体的运动和方向,根据物体的运动和方向来改变输出信号的电压值,各轴在不运动或者失重的状态下,其暑促为1.65V。如果沿着某个方向运动,或者受到重力作用,输出电压就会根据设定的灵敏度相应的改变。然后通过I2C或者SPI的方式读取代表物体运动的数值。灵敏度为64LSB/g@2g/8g 10位模式;8位模式的可选灵敏度(±2g、±4g、±8g)
其原理如下:
设计中主要使用到其SPI模式与瑞萨MCU进行数据交互。
智能计步器的大体硬件框架如上所述,接下来会就其软件功能与各位分享。