0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ESP32应用教程— SD NAND(记录飞控LOG)

深圳市雷龙发展有限公司 2023-11-30 18:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

文章目录

前言

1 SD NAND概述

2 代码说明

3 记录Log

前言

本文基于 ESP32 芯片作为主控制器,测试 SD NAND 记录飞控 Log 功能。

关于 MCU 的存储方面,以前基本上用内置的 E2PROM,或者是外置的 NOR Flash 就可以。随着物联网的兴起,MCU 的应用越来越广泛,逐渐的 MCU 会涉及到大容量的存储需求,用来存储音频,图片(GUI)、视频缓存、协议栈等等。传统的 E2PROM 和 NOR Flash 就不够用了。这个时候 MCU 可能就需要用到 NAND Flash。

针对 MCU 需要使用大容量的存储需求,推荐一款简单易用、稳定可靠的 NAND Flash ——SD NAND

1 SD NAND概述

SD NAND 的架构,内部采用使用寿命最长、性能最稳定的 NAND Flash(SLC NAND Flash)晶圆,它的擦写寿命可以达到 5~10 万次。内置了 Flash 控制器和针对 NAND Flash 管理的 Firmware。对外采用通用性最强的 SD 接口(几乎所有 MCU 都带有 SD 接口)。

本文选择的是CSNP32GCR01-AOW芯片。

不用编写驱动程序,自带坏块管理的 NAND Flash(贴片式 TF 卡),尺寸小巧,简单易用,兼容性强,稳定可靠,固件可定制,LGA-8 封装,标准 SDIO 接口,兼容 SPI,兼容拔插式 TF卡/SD卡,可替代普通 TF卡/SD卡,尺寸 6.2x8mm。

内置平均读写算法,通过 1 万次随机掉电测试耐高低温,机贴手贴都非常方便,速度级别 Class10(读取速度 23.5MB/s,写入速度 12.3MB/s)。标准的 SD 2.0 协议使得用户可以直接移植标准驱动代码,省去了驱动代码编程环节。支持 TF 卡启动的 SOC 都可以用 SD NAND,提供 STM32 参考例程及原厂技术支持,容量:4GB,比 TF 卡稳定,比 eMMC 便宜。

2 代码说明

1.宏定义使能SD卡功能

#define HAL_ESP32_SDCARD

2.挂载SD卡

bool sdcard_retry(void)

{

if(!card)

return mount_sdcard();

return true;

}


bool mount_sdcard()

{

printf("............Try mount.\n");

sdmmc_host_t host = SDMMC_HOST_DEFAULT();

host.max_freq_khz = SDMMC_FREQ_HIGHSPEED;

sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();

slot_config.flags = SDMMC_SLOT_FLAG_INTERNAL_PULLUP;

esp_vfs_fat_sdmmc_mount_config_t mount_config = {

.format_if_mount_failed = false,

.max_files = 5,

.allocation_unit_size = 4 * 1024

};

esp_err_t ret = esp_vfs_fat_sdmmc_mount("/SDCARD", &host, &slot_config, &mount_config, &card);

if (ret == ESP_OK) {

mkdir("/SDCARD/APM", 0777);

printf("sdcard is mounted\n");

update_fw();

return true;

} else {

printf("sdcard is not mounted.\n");

return false;

}

}


3.卸载SD卡

void sdcard_stop(void)

{

unmount_sdcard();

}


void unmount_sdcard()

{

if (card != nullptr) {

esp_vfs_fat_sdmmc_unmount();

}

}

3 记录Log

1.LOG目录建立

可以看到飞控已经在SD NAND中成功建立LOG目录。

2.LOG分析

飞机通电,翻滚机身,记录飞机的姿态角。

下载日志,加载到 Mission Planner 软件。选中 ATT 字段中的 Roll 和 Pitch。可以看到曲线跟随飞机姿态变化。

至此,使用SD NAND替代SD卡,测试飞控LOG记录功能完成。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NAND
    +关注

    关注

    16

    文章

    1772

    浏览量

    141386
  • SD卡
    +关注

    关注

    2

    文章

    593

    浏览量

    69796
  • 存储芯片
    +关注

    关注

    11

    文章

    1076

    浏览量

    44905
  • TF卡
    +关注

    关注

    2

    文章

    93

    浏览量

    13048
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NAND科普:MK米客方德 SD NAND 和 SPI NAND的区别和应用

    SD NAND和SPI NAND都有NAND FLASH 和 FLASH Controller。 【注意】FLASH Controller就像人的“大脑”,而
    的头像 发表于 05-19 15:47 495次阅读
    <b class='flag-5'>NAND</b>科普:MK米客方德 <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b> 和 SPI <b class='flag-5'>NAND</b>的区别和应用

    乐鑫科技新品ESP32-H4亮点速递!

    近期,乐鑫科技新品发布节奏持续加快。作为乐鑫科技一级代理商,启明云端为您带来最新芯片产品ESP32-H4的详细解读。ESP32-H4隶属于乐鑫科技ESP32-H系列,在低功耗物联网应用领域展现出显著
    的头像 发表于 04-16 18:05 651次阅读
    乐鑫科技新品<b class='flag-5'>ESP32</b>-H4亮点速递!

    ESP32/ESP8266开发板单向多对一ESP-NOW无线通信

    本实验通过ESP-NOW无线通信协议实现多个ESP32/ESP 8266开发板向ESP32开发板发送数据。例如可以应用于从多个远程传感器上收集数据。
    的头像 发表于 03-30 10:14 296次阅读
    <b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266开发板单向多对一<b class='flag-5'>ESP</b>-NOW无线通信

    ESP32/ESP8266开发板单向一对多ESP-NOW无线通信

    通过ESP-NOW无线通信协议实现ESP32开发板向多个ESP32/ESP 8266开发板发送数据。
    的头像 发表于 03-13 09:23 371次阅读
    <b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266开发板单向一对多<b class='flag-5'>ESP</b>-NOW无线通信

    从NOR Flash 到 NAND Flash 和SD NAND,从底层结构到应用差异

    nor flash,nor nand,sd nand,spi nor,nand flash
    的头像 发表于 03-05 18:24 556次阅读
    从NOR Flash 到 <b class='flag-5'>NAND</b> Flash 和<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>,从底层结构到应用差异

    从NOR Flash 到 NAND Flash 和SD NAND,从底层结构到应用差异

      MCU + RTOS 设备(替代 NOR + SD 卡组合)   数据记录器(log recorder)   车规电子、智能仪表   AI模块、Linux/Android嵌入式平台    当系统
    发表于 03-05 18:23

    ESP32 驱动瀚海微SD NAND 完整方案 + FAT/FAT32 驱动核心区别

    ESP32 驱动 SD NAND 的核心是基于SDIO 接口(SD NAND 主流通信方式,兼容 SPI 但速率更高),借助乐鑫官方
    的头像 发表于 02-02 11:38 1008次阅读
    <b class='flag-5'>ESP32</b> 驱动瀚海微<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b> 完整方案 + FAT/FAT32 驱动核心区别

    ESP32蓝牙驱动MAX98357对音频音乐播放

    本文介绍了MAX98357音频模块的基本特性,并利用ESP32的蓝牙功能程序驱动此模块,最后用手机蓝牙连接ESP32播放手机音乐
    的头像 发表于 12-19 19:55 3477次阅读
    <b class='flag-5'>ESP32</b>蓝牙驱动MAX98357对音频音乐播放

    从NOR Flash到NAND Flash和SD NAND,从底层结构到应用差异

      MCU + RTOS 设备(替代 NOR + SD 卡组合)   数据记录器(log recorder)   车规电子、智能仪表   AI模块、Linux/Android嵌入式平台    当系统
    发表于 12-08 17:54

    ESP32­WROOM­32 技术规格书

    电子发烧友网站提供《ESP32­WROOM­32 技术规格书.pdf》资料免费下载
    发表于 11-11 17:27 0次下载

    一文秒懂XTX SD NAND

    :原理、性能与应用 随着消费电子、工业控制、汽车电子和安防监控等领域对高密度、低成本存储需求的不断攀升,SD NAND闪存因其体积小、集成度高、易于部署的特点,成为SD卡(SD、SDH
    的头像 发表于 10-30 08:38 1784次阅读
    一文秒懂XTX <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>

    解锁存储密码:SD NAND、TF卡、SD卡的应用全景

    在数据洪流的时代,存储介质就如同数字世界的基石,支撑着各类设备的正常运转。SD NAND、TF卡和SD卡,虽同属NAND Flash存储介质家族,却因各自独特的“个性”,在不同领域绽放
    的头像 发表于 10-29 14:24 1139次阅读

    乐鑫ESP32-C6和ESP32-C61究竟该如何选择?一文读懂本质区别

    乐鑫科技推出的ESP32-C6和ESP32-C61均支持Wi-Fi6,但定位不同。ESP32-C6是多协议枢纽,集成Wi-Fi6、蓝牙5、Zigbee和Thread,适合智能家居网关和Matter
    的头像 发表于 10-28 14:17 2975次阅读
    乐鑫<b class='flag-5'>ESP32</b>-C6和<b class='flag-5'>ESP32</b>-C61究竟该如何选择?一文读懂本质区别

    ESP32开发板元件资料

    ESP32开发板元件
    发表于 07-21 14:47 17次下载

    T-Box智能升级:NXP S32K146携手SD NAND(嵌入式SD卡)的创新应用

    SD NAND 存储在记录车辆运行数据的同时,也默默收集着用户的驾驶习惯与偏好信息。例如,通过长期记录驾驶者的座椅调节位置、空调温度设定、音乐播放喜好、常用导航目的地等数据,S32K1
    的头像 发表于 06-09 14:43 1844次阅读
    T-Box智能升级:NXP S32K146携手<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>(嵌入式<b class='flag-5'>SD</b>卡)的创新应用