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

    文章

    1681

    浏览量

    136148
  • SD卡
    +关注

    关注

    2

    文章

    565

    浏览量

    63898
  • 存储芯片
    +关注

    关注

    11

    文章

    897

    浏览量

    43140
  • TF卡
    +关注

    关注

    2

    文章

    80

    浏览量

    12147
收藏 人收藏

    评论

    相关推荐

    SD NAND 概述

    SD NAND是一种小型、可表面贴装的存储解决方案,适用于各种嵌入式系统和便携式设备。SD NAND技术是近年来在存储领域内的一项创新,它结合了传统
    的头像 发表于 12-06 11:21 169次阅读

    SD NAND技术简介

    SD NAND是一种基于NAND Flash技术的嵌入式存储解决方案,具备SD卡协议兼容性。它结合了NAND存储的高密度特性和
    的头像 发表于 12-05 15:32 151次阅读
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>技术简介

    ESP32应用教程—SD NAND如何记录LOG#SDNAND #硬件 #存储芯片

    存储芯片
    深圳市雷龙发展有限公司
    发布于 :2024年10月09日 16:51:51

    乐鑫ESP32S3与SD NAND的协同应用|MK-米客方德

    ESP32 S3是乐鑫科技推出的一款集成2.4 GHz Wi-Fi和Bluetooth 5 (LE)的MCU芯片,具备远距离通信模式,搭载Xtensa® 32位LX7双核处理器,主频可达240 MHz,并内置512 KB SRAM (TCM)。
    的头像 发表于 08-20 09:00 1174次阅读
    乐鑫<b class='flag-5'>ESP32</b>S3与<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>的协同应用|MK-米客方德

    esp32esp8266代码共用吗

    本文将介绍ESP32ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32ESP
    的头像 发表于 08-19 18:23 1137次阅读

    esp8266和esp32区别是什么

    以下是关于ESP8266和ESP32的主要区别: 处理器和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理器,属于Xtensa架构。 ESP32 :使
    的头像 发表于 08-19 18:16 5354次阅读

    esp32用什么软件编程

    ESP32是一款由乐鑫(Espressif)推出的低功耗、高性能的Wi-Fi和蓝牙双模微控制器,广泛应用于物联网、智能家居、智能穿戴等领域。要对ESP32进行编程,需要选择合适的编程软件和开发环境
    的头像 发表于 08-19 17:24 3480次阅读

    ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U 有什么区别?ESP32-WROOM-32 后缀字母代表的意思是?

    相信很多人心里都有这样的疑问,今天就教大家怎么区分它们。 32D和32U是同一个芯片ESP32-D0WD的模组,主要区别的天线模式,分别是板载和IPEX外接天线。 32E是用的升级版的芯片
    的头像 发表于 07-17 10:09 9555次阅读
    <b class='flag-5'>ESP32</b>-WROOM-32E、<b class='flag-5'>ESP32</b>-WROOM-32D、<b class='flag-5'>ESP32</b>-WROOM-32U  有什么区别?<b class='flag-5'>ESP32</b>-WROOM-32 后缀字母代表的意思是?

    如何使用ESP32C3驱动SPI NAND flash

    TF卡稳定,比eMMC便宜。 控板上ESP32C3的SDIO接口暂时用不了,只能先用SPI接口驱动。 []() 评估板做了个micro SD卡的接口,方便直接插到带卡槽的开发板上进行调试
    发表于 07-08 17:55

    ESP32能取代STM32吗?哪个更好?

    不能!首先二者不存在哪个更好的问题,因为这两个芯片使用场景各不相同,在嵌入式系统领域,ESP32和STM32都是常见的单片机系列,它们各自具有一定的优势和适用场景。本文主要探讨ESP32是否能够取代
    的头像 发表于 07-06 08:04 1.1w次阅读
    <b class='flag-5'>ESP32</b>能取代STM32吗?哪个更好?

    ESP32C3编译出现multiple definition of `g_log_level\'的原因?

    如题,一个原是ESP32的物联网例程,在改为ESP32C3后,编译出现multiple definition of `g_log_level\'不良。 [2/3] Linking CXX
    发表于 06-19 08:28

    SD NAND和SPI NAND的区别

    SD NAND和SPI NAND各有优缺点,适用于不同的应用场景。SD NAND提供更高的读写速度和大容量存储,适合需要高性能和大容量存储的
    的头像 发表于 06-04 14:26 2031次阅读

    esp32外置flash的大小

    ESP32是一款功能强大的微控制器,广泛应用于物联网和嵌入式设备领域。虽然ESP32内置了一定的闪存空间,但有时候我们可能需要更大的储存空间来存储更多的数据或者程序。因此,一些厂商推出了外置
    的头像 发表于 01-09 11:24 4110次阅读

    ESP32SD NAND的协同应用

    SDNAND在乐鑫ESP32上的作用SDNAND是贴片式TF卡,可以用于存储数据,比如视频图片或者代码乐鑫ESP32一颗具有双核处理器的嵌入式系统芯片,有丰富的外设接口,包括Wi-Fi、蓝牙
    的头像 发表于 01-08 13:56 594次阅读
    <b class='flag-5'>ESP32</b>与<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>的协同应用

    什么是SD NAND存储芯片? SD NAND与TF卡的区别

    什么是SD NAND?它俗称贴片式T卡,贴片式TF卡,贴片式SD卡,贴片式内存卡,贴片式闪存卡,贴片式卡...等等。虽然SD NAND 和T
    的头像 发表于 01-06 14:35 1779次阅读
    什么是<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>存储芯片? <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>与TF卡的区别