全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 存储技术 >

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

时间:2023-11-30 18:18

人气:

作者:admin

标签: 存储芯片  NAND  TF卡  SD卡 

导读:文章目录前言1SDNAND概述2代码说明3记录Log前言本文基于ESP32芯片作为主控制器,测试SDNAND记录飞控Log功能。关于MCU的存储方面,以前基本上用内置的E2PROM,或者是外置的NORFlash就可以。随...

文章目录

前言

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记录功能完成。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信