STM32用一线式驱动SD NAND,SDIO的一线式驱动设计
SDIO的一线式和四线式
SDIO(Secure Digital Input/Output)是一种用于在嵌入式系统中连接外部设备的标准接口。在SDIO标准中,一线式和四线式是指SDIO接口的不同工作模式。
一线式(Single-Line Mode):
工作原理: 在一线式模式下,SDIO接口仅使用单个数据线进行通信。这个模式通常用于相对简单的应用,其中数据传输速度要求不是很高。
适用情境: 适用于对数据传输速度要求不高的场景,例如连接一些低速外设。
四线式(Four-Line Mode):
工作原理: 在四线式模式下,SDIO接口使用四根线进行通信,包括一个命令线、一个数据线、一个时钟线和一个电源线。这个模式支持更高的数据传输速度。
适用情境: 适用于对数据传输速度有较高要求的应用,例如连接高速外设,比如摄像头、Wi-Fi模块等。
选择一线式还是四线式取决于具体的应用需求。如果应用对速度要求不高,或者对硬件资源有限,可以选择一线式。如果需要更高的数据传输速度,特别是在连接高速外设的情况下,四线式可能更为合适。
需要注意的是,使用四线式模式可能会对系统的硬件和软件设计提出更高的要求,因为需要支持更复杂的通信协议和更高的时钟频率。
STM32的SDIO一线式驱动SD NAND
有些平台和MCU没有SDIO接口的,STM32大部分型号有SDIO接口,具体可以看芯片手册。
程序代码
SD NAND初始化
/**
* @brief 初始化SD卡
* @param 无
* @retval 返回值:0 初始化正确;其他值,初始化错误
*/uint8_t sd_init(void){
uint8_t SD_Error;
/* 初始化时的时钟不能大于400KHZ */
g_sdcard_handler.Instance = SDIO;
g_sdcard_handler.Init.ClockEdge = SDIO_CLOCK_EDGE_RISING; /* 上升沿 */
g_sdcard_handler.Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE; /* 不使用bypass模式,直接用HCLK进行分频得到SDIO_CK */
g_sdcard_handler.Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE; /* 空闲时不关闭时钟电源 */
g_sdcard_handler.Init.BusWide = SDIO_BUS_WIDE_1B; /* 1位数据线 */
g_sdcard_handler.Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_ENABLE; /* 开启硬件流控 */
g_sdcard_handler.Init.ClockDiv = SDIO_TRANSFER_CLK_DIV; /* SD传输时钟频率最大25MHZ */
SD_Error = HAL_SD_Init(&g_sdcard_handler);
if (SD_Error != HAL_OK)
{
return 1;
}
// SD_Error = HAL_SD_ConfigWideBusOperation(&g_sdcard_handler, SDIO_BUS_WIDE_4B); /* 使能宽总线模式,-O0 优化会有问题 */// if (SD_Error != HAL_OK)// {// return 2;// }
return 0;}
测试SD NAND的写入
/**
* @brief 初始化SD卡
* @param 无
* @retval 返回值:0 初始化正确;其他值,初始化错误
*/uint8_t sd_init(void){
uint8_t SD_Error;
/* 初始化时的时钟不能大于400KHZ */
g_sdcard_handler.Instance = SDIO;
g_sdcard_handler.Init.ClockEdge = SDIO_CLOCK_EDGE_RISING; /* 上升沿 */
g_sdcard_handler.Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE; /* 不使用bypass模式,直接用HCLK进行分频得到SDIO_CK */
g_sdcard_handler.Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE; /* 空闲时不关闭时钟电源 */
g_sdcard_handler.Init.BusWide = SDIO_BUS_WIDE_1B; /* 1位数据线 */
g_sdcard_handler.Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_ENABLE; /* 开启硬件流控 */
g_sdcard_handler.Init.ClockDiv = SDIO_TRANSFER_CLK_DIV; /* SD传输时钟频率最大25MHZ */
SD_Error = HAL_SD_Init(&g_sdcard_handler);
if (SD_Error != HAL_OK)
{
return 1;
}
// SD_Error = HAL_SD_ConfigWideBusOperation(&g_sdcard_handler, SDIO_BUS_WIDE_4B); /* 使能宽总线模式,-O0 优化会有问题 */// if (SD_Error != HAL_OK)// {// return 2;// }
return 0;}
测试SD NAND的读出
/**
* @brief 测试SD卡的读取
* @note 从secaddr地址开始,读取seccnt个扇区的数据
* @param secaddr : 扇区地址
* @param seccnt : 扇区数
* @retval 无
*/void sd_test_read(uint32_t secaddr, uint32_t seccnt){
uint32_t i;
uint8_t *buf;
uint8_t sta = 0;
buf = mymalloc(SRAMIN, seccnt * 512); /* 申请内存,从SDRAM申请内存 */
sta = sd_read_disk(buf, secaddr, seccnt); /* 读取secaddr扇区开始的内容 */
if (sta == 0)
{
lcd_show_string(30, 170, 200, 16, 16, "USART1 Sending Data...", BLUE);
printf("SECTOR %d DATA:\r\n", secaddr);
for (i = 0; i < seccnt * 512; i++)
{
printf("%x ", buf[i]); /* 打印secaddr开始的扇区数据 */
}
printf("\r\nDATA ENDED\r\n");
lcd_show_string(30, 170, 200, 16, 16, "USART1 Send Data Over!", BLUE);
}
else
{
printf("err:%d\r\n", sta);
lcd_show_string(30, 170, 200, 16, 16, "SD read Failure! ", BLUE);
}
myfree(SRAMIN, buf); /* 释放内存 */}
实验现象
使用的芯片是MK-米客方德的工业级芯片MKDV1GIL-AS。
MK米客方德不断钻研技术创新,推动工业进步,致力于为客户带来更优质的产品以及服务体验。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由Vicky转载自MK-米客方德,原文标题为:STM32用一线式驱动SD NAND,SDIO的一线式驱动,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关研发服务和供应服务
相关推荐
MicroSD卡如何转接成SD卡—MK米客方德SD卡套?
SD卡套,也被称作SD卡适配器(SD Adapter),是一种使小型的TF卡(MicroSD卡)能够被当作标准SD卡使用的设备。TF卡是一种体积较小的存储卡,广泛应用于手机、相机等便携设备中。当需要在只支持标准SD卡的设备上使用TF卡时,就需要用到SD卡套。
SD NAND关于3.3V和1.8V之间的转换
SD NAND如何支持1.8V的MCU?SD NAND默认是3.3V的,有些MCU只支持1.8V,为了适配1.8V,SD NAND需要内部用命令把3.3V转换成1.8V。
MK米客方德SD NAND 1.8V IO电压应用分享
本文MK 米客方德为大家分享一下SD NAND的应用场景以及软件调试。 通常情况下,Card(SD NAND)刚上电时其信号电压一般都是处于3.3V的模式。当card进入准备状态后,为了节省功耗,需要考虑是否切换信号电压到1.8V。
详解SPI NAND、SD NAND和eMMC三种存储技术的主要区别
SPI NAND、SD NAND和eMMC是三种不同类型的嵌入式存储技术,它们各自具有独特的特点和应用场景。本文,MK-米客方德详细介绍了这三种存储技术的主要区别。
从存储卡——SD/micro SD的图标了解SD卡
存储卡(SD/micro SD)有不同规范,包括容量、速度等,卡上标识可帮助判断其规格。购买时需关注容量、写入速度及适用场景。SD卡分SD、SDHC、SDXC、SDUC,向下兼容,容量标识实际可用约90~92%。速度等级多样,如CLASS、UHS、视频速度等级,影响数据传输和视频录制性能。UHS标准分I、II、III,提供不同传输速度。A1、A2标识针对手机扩容,表示应用性能等级,A2更快。
千亿级市场的“真空地带”,MK米客方德打出了一片新天地
MK米客方德是一家专注于嵌入式存储的半导体企业,利用自身优势,针对创客群体开发出小型化、差异化的SD NAND、SPI NAND和eMMC。其SD NAND解决储存卡在嵌入式应用中的可靠性问题、加速产品上市时间和降低系统成本,符合SD Association标准协议,具有小尺寸封装和完全兼容的软硬件容量,参照了SPI NAND和eMMC的可靠性要求。
有人物联(usr)以太网系列产品选型指南
目录- 公司简介和主营产品概览 串口服务器 Wi-Fi 串口服务器 以太网模块 工业级以太网交换机 数据采集网关系列
型号- USR-W600,USR-K7,USR-K6,USR-N510,USR-CANET200,USR-TCP232-T2,USR-SDR080,USR-SDR160,USR-SDR041,USR-M511,USR-SDR021,USR-N668,USR-TCP232-ED2,USR-TCP232-E2,USR-N540,USR-N520,USR-N580,USR-W630,USR-W610,USR-TCP232-S2,USR-SDR050,USR-TCP232-306,USR-TCP232-410S,USR-TCP232-304,USR-TCP232-302
AIPI-CAM-D200固件用户指南
描述- 本指南介绍了AiPi-CAM-D200固件的使用和烧录方法。包括串口接线、固件烧录工具下载、固件地址、烧录步骤。使用时,通过USB连接DVP摄像头,连接热点ai_pi_cam,访问192.168.169.1,点击Start Stream查看摄像头图像。模块插入SD卡后支持拍照功能,图片格式为JPG,通过S2按钮拍照,图片保存至SD卡。模块还配备LED灯功能,通过S2按钮控制。
型号- AIPI-CAM-D200
MK-米客方德eMMC储存器、Micro SD卡选型表
eMMC储存器、Micro SD卡选型表参数:其中包含品类SD NAND FLASH、Micro SD Card、SD Card、eMMC,存储容量:128MB~128GB
产品型号
|
品类
|
存储容量
|
工作温度
|
接口类型
|
Flash类型
|
时钟频率(fc)
|
工作电压
|
顺序读/写
|
随机读/写
|
湿敏等级
|
待机电流
|
应用等级
|
等级认证标准
|
MKEV004GCB-SC510
|
eMMC
|
4GB
|
-25℃~+85℃
|
eMMC 5.1
|
MLC
|
400MHz
|
VCC=3.3V
VCCQ=1.8V&3.3V
|
160/55MB/S
|
3000/2000 iops
|
/
|
/
|
商业级
|
ROHS
|
选型表 - MK-米客方德 立即选型
CH334/CH335 数据手册
描述- CH334/CH335是一款符合USB2.0协议规范的4端口USB HUB控制器芯片,具备高速、全速和低速传输能力。它支持STT和MTT两种模式,适应不同应用需求。该芯片具有低成本、工业级设计等特点,适用于计算机、工控机主板、外设和嵌入式系统等领域。
型号- CH334R,CH335,CH334Q,CH334P,CH334F,CH334U,CH335F,CH334S,CH335J,CH334H,CH334,CH334L
4 端口 USB3.0 HUB 控制器芯片 CH634 手册
描述- CH634是一款符合USB3.2 Gen1协议规范的4端口USB高速HUB控制器芯片,单芯片集成4口USB HUB和USB PD功能。芯片支持USB3.0、USB2.0和全速USB,下行端口支持USB3.0、USB2.0、全速和低速传输。CH634W8G内置两组Type-C双通道USB3.0 PHY和双PD PHY,兼容USB-C线缆和连接规范,支持Type-C正反插自动识别和PDHUB功能。芯片采用工业级设计,可应用于计算机、工控机主板、扩展坞、外设和嵌入式系统等场景。
型号- CH634W5M,CH634,CH634W8G,CH634W7G,CH634W6G,CH634W6C,CH634F,CH634W7V,CH634W7R,CH634W7S,CH634M,CH634W6T,CH634W7U
为什么NAND Flash需要进行坏块管理而NOR Flash不需要?
NOR Flash和NAND Flash是两种不同类型的闪存技术,它们在存储单元的连接方式、耐用性、坏块管理等方面存在差异。本文米客方德解析了NAND Flash的坏块管理步骤及原因,并介绍了SD NAND的坏块管理机制。
世强硬创获米客方德授权,代理微型eMMC存储芯片面积仅为传统的43.5%
米客方德的产品包括嵌入式储存(NAND、SPI NAND、eMMC)、储存卡(Micro SD卡、SD卡)、SD NAND、SSD固态硬盘等。
SD NAND的UECC现象和原因
UECC(Uncorrectable Error Correction Code)则是一种错误纠正码,用于检测和纠正存储设备中的数据错误。UECC 的功能对SD NAND是非常重要的,MK-米客方德的SD NAND芯片都是带有UECC功能的。
电子商城
现货市场
服务
可定制UV胶的粘度范围:150~25000cps,粘接材料:金属,塑料PCB,玻璃,陶瓷等;固化方式:UV固化;双固化,产品通过ISO9001:2008及ISO14000等认证。
最小起订量: 1支 提交需求>
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
登录 | 立即注册
提交评论