【富芮坤FR3068E-C】开发板套件介绍、环境搭建、工程测试
公司简介:上海富芮坤微电子有限公司成立于2014年,是一家致力于射频集成电路芯片的设计、研发及产品销售的高新技术企业。
![FREQCHIP.png FREQCHIP.png](data/attachment/forum/202412/11/175636zl1mzoondm4hmk13.png)
现有产品线:双模蓝牙音频SoC芯片和超低功耗(BLE)蓝牙 SoC芯片。双模蓝牙音频SOC芯片主要应用于无线TWS蓝牙耳机、车载蓝牙以及智能穿戴手表等。超低功耗(BLE)蓝牙 SoC芯片主要应用于智能穿戴、智能家居、运动器材、医疗健康、智能电表等。
本文主要分为两部分:硬件介绍和软件介绍。
为之后的深入探索做好铺垫。
1 硬件介绍
富芮坤 FR306x-C 系列芯片是低功耗,高安全性的高性能无线 MCU,内置了蓝牙 BR/EDR/BLE 的收发器和控制器,以及 CAN FD 总线控制器,非常适合应用在工业和汽车电子等广泛领域。
硬件介绍包括开发板介绍、主控 MCU 介绍、上电测试等。
1.1 开箱
Top view
Bottom view
Screen view
Screen bottom
主控 MCU
调试器 Debuger
1.2 上电测试
按键 | 功能 |
K1 | List |
K2 | Enter |
K3 | Act |
K1 列表,K2 确认,K3 切换
首页 UI 界面
蓝牙上网测试
视频展示
https://www.bilibili.com/video/BV1AJq2YTEhB/
1.3 主控 MCU
- FR3068E-C 芯片架构属于双核架构,包括一颗独立的蓝牙核做蓝牙通讯,以及另外一颗主核MCU,双核之间通过串口做 HCI 通讯,蓝牙核一般不对外开放
- 内置 128KB CRAM+512KB SRAM,2MB flash (根据芯片型号有不同大小配置)
- 需外挂 24 MHz 晶体时钟,系统主频最高可倍频至 156 MHz
- 工作温度:工业级 -40~105 ℃
- 有 57 个可编程 IO(不同型号/封装会有所不同)
- 支持 2 路 CAN 总线,支持 CAN FD
- 支持丰富的外设总线如 SPI / UART / USB等
- 支持双模蓝牙 BLE + BT / EDR
蓝牙
FR306x-C 符合蓝牙 V5.3 标准,支持 BR 1Mbps GFSK, EDR 2Mbps π/4-DQPSK, 3Mbps 8DPSK; BLE1M/2Mbps GFSK, 125K/500K 多种模式,支持单独打开和关闭不同的模式,支持蓝牙多主多从多连接。
硬件资源
![module_board.jpg module_board.jpg](https://static.assets-stash.eet-china.com/forum/202412/11/173391159832153180638rqc0293zve9hgg9h.jpg)
- 2x PDM 数字音频接口
- 2x 32位宽的I2S 接口
- 3x I2C
- 6x UART 带流控
- 2x SPI 主接口,支持 QSPI,OSPI
- 2x SPI 从接口,一路是单线的,一路支持四线
- USB 2.0 OTG
- 最多支持 2 x 16 channel PWM,支持输入捕获,可以做PWM DAC输出
- 最多支持 9 通道12bit SAR-ADC,支持普通模式、队列模式;
- 最多支持 57 个可配置 GPIO
- CAN FD 控制器
- 符合 CAN 总线协议 V 2.0 part A, B ,符合 ISO 11898-1
- Display显示接口 8080/6080/RGB/SPI
- 6x 32bit timer
- 2x DMA
- SDIO3.0
- 硬件加密单元 AES-128, AES-192, AES-256
- 支持 Floating point unit (FPU)
- 真随机数发生器 TRNG
- 像素编码转换器 YUV2RGB
1.4 开发板
开发板系统框图
原理图
2 软件介绍
该部分包括开发环境搭建、工程编译和烧录测试两部分。
2.1 开发环境搭建
从官方 SDK 文件着手开发,软件包括
(1)下载和安装 Keil MDK IDE 软件;
(2)下载和安装 Python ,用于编译后增加头文件以执行烧录;
(3)官方 Gitee 仓库。
SDK结构
FR3068E-C SDK 是基于 Freertos 的系统框架,配合丰富的中断响应来实现整个代码的运行;
SDK文件结构包含了 MCU 外设驱动,应用层的例程代码,都是以源码的形式提供;
蓝牙 host 部分以库的形式提供,同时提供了 specification 手册、公共组件、第三方软件、工具文件;
内置了多种功能模块,如 FlashDB 存储模块、crc32 算法、fatfs 文件系统等等。
components
- btdm 包含蓝牙 host 库等文件
- modules 文件包含公共组件、第三方软件(CoreMark、FreeRTOS....)
- drivers 驱动文件包含板级驱动、不同平台编译文件、内核文件、System 驱动、启动文件、IC 驱动(SPI、UART、GPIO......)
- tools 作为完整的工具包含 Flash 烧录插件、JLink 烧录设备信息配置文件、离散加载文件、Flash 固件信息字段批处理文件 post_process.bat 等
examples
- application 例程代码(btdm、ble_simple_central、ble_simple_periphreal.....)
- peripheral_demo 是基于 IC驱动编写的外设例程,以上这些都是以源码的形式提供的
- common是应用通用代码,如ble服务、host HCI串口通讯驱动、flashdb、OTA相关代码等
代码编译环境支持 Keil,需要安装 Pyhton 环境
Keil 工程目录
- app:应用交互代码
- common/btdm:host/controller 驱动代码
- common/flashdb:flashdb 模块应用接口代码
- ota:ota 相关代码
- driver/device:系统相关的驱动代码,包括中断向量表之类的;
- driver/peripheral:外设驱动代码
- module/btdm:蓝牙库
- module/common:通用模块
- module/crc:crc 代码
- module/flashdb:flashdb 模块源代码
- module/freertos:freertos 系统代码
- module/heap:堆内存管理代码
2.2 编译烧录
编译最终会生成 project.bin 和 project_burn.bin,需要导入后者进行烧录,
后者在前者基础上,通过 Python 脚本加上了头信息;
芯片型号选择 FR30XX 进行烧录
系统睡眠唤醒
- SDK 中提供 system_prevent_sleep_set 和 system_prevent_sleep_clear 来开启和关闭睡眠功能、system_prevent_sleep_get 来获取睡眠状态。需要注意 system_prevent_sleep_set 调用之后并不会立即进入睡眠状态,而是使能是否可以睡眠的监测功能;
- 设置唤醒 IO,有两种方式:
- 一种是 PMU gpio 唤醒,和之前平台一样,但是只有特定的 pmu gpio才可以设置:pmu_port_wakeup_func_set/pmu_port_wakeup_func_clear,中断响应 pmu_irq;
- 另一种是普通gpio配置唤醒。
3 工程测试
打开例程 SDK 文件夹,进入外设演示 peripheral_demo 文件目录,在 Keil 中打开 MDK-ARM 环境的 gpio 工程。
加载和编译
Device 选择 ARMCM33_DSP_FP 软件包
链接文件配置
编译工程,生成 Project_burn.bin 文件。
烧录
打开串口烧录软件 FreqChip_Download ,从工程目录下找到并加载 Project_burn.bin 文件
连接开发板供电数据线和调试数据线,配置并打开串口,按下板载 RST 键,开始自动烧录
烧录成功
效果展示
这里使用出厂工程 lvgl_demo 进行测试
至此,本开发板的测试环节结束,测试过程中遇到一些问题和困难,感谢富芮坤官方技术人员的大力支持。
本文涉及到的测试环节为基本烧录测试,细节部分可在官网找到对应的用户手册,如 FLASH 空间分配的控制等,后续将进行深入探讨,敬请期待。
如有问题,请邮件(lijinlei0907@163.com)联系。