在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32用一線式驅動SD NAND,SDIO的一線式驅動

mkfounder ? 來源:mkfounder ? 作者:mkfounder ? 2023-12-19 14:14 ? 次閱讀

SDIO的一線式和四線式

SDIO(Secure Digital Input/Output)是一種用于在嵌入式系統中連接外部設備的標準接口。在SDIO標準中,一線式和四線式是指SDIO接口的不同工作模式。

一線式(Single-Line Mode):

工作原理: 在一線式模式下,SDIO接口僅使用單個數據線進行通信。這個模式通常用于相對簡單的應用,其中數據傳輸速度要求不是很高。

適用情境: 適用于對數據傳輸速度要求不高的場景,例如連接一些低速外設。

四線式(Four-Line Mode):

工作原理: 在四線式模式下,SDIO接口使用四根線進行通信,包括一個命令線、一個數據線、一個時鐘線和一個電源線。這個模式支持更高的數據傳輸速度。

適用情境: 適用于對數據傳輸速度有較高要求的應用,例如連接高速外設,比如攝像頭、Wi-Fi模塊等。

選擇一線式還是四線式取決于具體的應用需求。如果應用對速度要求不高,或者對硬件資源有限,可以選擇一線式。如果需要更高的數據傳輸速度,特別是在連接高速外設的情況下,四線式可能更為合適。

需要注意的是,使用四線式模式可能會對系統的硬件和軟件設計提出更高的要求,因為需要支持更復雜的通信協議和更高的時鐘頻率。

STM32的SDIO一線式驅動[SD NAND]([SD NAND | MK-米客方德])

有些平臺和MCU沒有SDIO接口的,STM32大部分型號有SDIO接口,具體可以看芯片手冊,

程序代碼

SD NAND初始化

/**
 * @brief初始化SD
 * @param
 * @retval返回值:0 初始化正確;其他值,初始化錯誤
 */uint8_tsd_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)
{
return1;
}
//SD_Error = HAL_SD_ConfigWideBusOperation(&g_sdcard_handler, SDIO_BUS_WIDE_4B);/* 使能寬總線模式,-O0 優化會有問題 *///if (SD_Error != HAL_OK)//{//return 2;//}


return0;}

測試SD NAND的寫入

/**
 * @brief初始化SD
 * @param
 * @retval返回值:0 初始化正確;其他值,初始化錯誤
 */uint8_tsd_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)
{
return1;
}
//SD_Error = HAL_SD_ConfigWideBusOperation(&g_sdcard_handler, SDIO_BUS_WIDE_4B);/* 使能寬總線模式,-O0 優化會有問題 *///if (SD_Error != HAL_OK)//{//return 2;//}


return0;}

測試SD NAND的讀出

/**
 * @brief測試SD卡的讀取
 *@notesecaddr地址開始,讀取seccnt個扇區的數據
 * @paramsecaddr : 扇區地址
 * @paramseccnt: 扇區數
 * @retval
 */voidsd_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:rn", secaddr);

for(i =0; i < seccnt *512; i++)
{
printf("%x ", buf[i]);/* 打印secaddr開始的扇區數據 */
}

printf("rnDATA ENDEDrn");
lcd_show_string(30,170,200,16,16,"USART1 Send Data Over!", BLUE);
}
else
{
printf("err:%drn", sta);
lcd_show_string(30,170,200,16,16,"SD read Failure!      ", BLUE);
}

myfree(SRAMIN, buf);/* 釋放內存 */}

實驗現象

image.png

image.png

使用的芯片是MK-米客方德的工業級芯片MKDV1GIL-AS,

image.png

需要工程的可以聯系MK-米客方德。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    459

    文章

    52252

    瀏覽量

    436872
  • 嵌入式
    +關注

    關注

    5142

    文章

    19561

    瀏覽量

    315377
  • NAND
    +關注

    關注

    16

    文章

    1719

    瀏覽量

    137857
  • 驅動
    +關注

    關注

    12

    文章

    1906

    瀏覽量

    86579
  • STM32
    +關注

    關注

    2290

    文章

    11018

    瀏覽量

    362667
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    USB一線通監控副屏設計方案

    在2024年全國大學生嵌入芯片與系統設計競賽中,各大高校學子紛紛展現出卓越的創新能力和扎實的技術功底。今天,特別為大家分享獲獎作品——USB一線通監控副屏,它以其獨特的設計和實用的功能贏得廣泛好評與認可。
    的頭像 發表于 11-28 09:45 ?1349次閱讀
    USB<b class='flag-5'>一線</b>通監控副屏設計方案

    今日話題:一線城市 or 二城市?

    `社會學家鄭也夫說人生不外乎在追求三種狀態:舒服、刺激、牛B。其實也是道城市選擇題:皆因年輕的我們,愛冒險勝過愛安逸,愛牛B勝過愛舒服,自愿進入人生愿境最誘人、生存邏輯又最殘酷的一線城市。這是
    發表于 03-09 10:10

    JQ8400一線串口我應該怎么接線啊?兩串口該怎么接線?

    JQ8400一線串口我應該怎么接線啊?兩串口該怎么接線?淘寶買的那測試程序不響,不知道是不是接線出問題還是怎樣,求教!!
    發表于 01-03 21:14

    一線城市程序員薪資數據概述

    一線城市程序員薪資數據出爐,你屬于哪檔?
    發表于 06-26 16:05

    lcd2004一線屏仿真

    )圖5四,編輯main.c 代碼如Proteus8.9 VSM Studio GCC編譯器仿真STM32F407ZGT6系列015_lcd2004一線屏(如下圖6所示)圖6五,Main.c 代碼:/* Main.c file generated by New Projec
    發表于 12-13 07:20

    SD NANDSDIOSTM32上的應用詳解(上篇)

    的命令訪問(STM32主機通過驅動SDIO外設通過CMD命令向從機SD卡發送命令),SDIO
    發表于 11-15 15:17

    rt-thread SDIO驅動框架分析(SD卡flash驅動\SD Nand flash驅動

    (點擊跳轉))在 rt_hw_sdio_init 函數中,驅動程序主要初始化以下幾個結構體:stm32外設HAL庫配置結構體 SD_HandleTypeDef hsd
    發表于 04-04 16:26

    基于TINI的一線制網絡互連技術

    概述 TINI的基本概念和工作原理,分析 TINI的軟件環境;簡述基于一線制技術的溫度型iButton DS1920和小型氣象儀,給出利用 TINI實現一線制網絡與 Internet連接的應用實例。
    發表于 04-13 10:15 ?20次下載

    一線總線器件實現移動數據收集

    一線總線是DALLSA公司推出的總線標準.文中介紹了一線總線信息紐扣器件iBUT-TON設計手持移動數據收集器的設計方法,給出了該設計的硬件構成和軟件框圖,最后給出了將該數據收
    發表于 04-22 13:57 ?15次下載

    溫度傳感器和一線總線協議

    數字一線溫度傳感器的出現為數字傳感器的發展奠定了基礎。介紹了一線總線溫度傳感器的工作原理及其采用的協議規范,討論了其同單片機和有關電路同其的接口電路,給出了試
    發表于 06-24 10:17 ?10次下載

    基于一線傳感器嵌入軟件系統設計的實現

    闡述了無操作系統的嵌入軟件系統設計的不同結構類型,并結合使用一線溫度傳感器的測溫系統,給出了嵌入軟件系統設計主要使用的兩種方案。同時,對DS18B20 使用C 語言
    發表于 08-29 10:55 ?33次下載

    DS18B20 一線總線數字傳感器

    DS18B20、DS1822 “一線總線”數字化溫度傳感器是DALLAS最新單線數字溫度傳感器, 同DS1820樣,DS18B20也支持“一線總線”接口,測量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內,精
    發表于 01-16 15:15 ?134次下載

    一線Linux嵌入開發工程師的對話

    知識,從你一線開發經驗來說,給我們些建議: 陳工回答: 對于嵌入Linux入門,如果有定基礎,可以從驅動開始;如果沒有基礎,我個人建議
    的頭像 發表于 03-14 07:43 ?4942次閱讀

    rt-thread SDIO驅動框架分析(貼片SD卡flash驅動\SD Nand flash驅動

    文章目錄rt-threadSDIO驅動框架分析之SD驅動1.前言2.SDIO通用驅動框架介紹3.文件架構分析4.
    的頭像 發表于 04-04 17:41 ?1315次閱讀
    rt-thread <b class='flag-5'>SDIO</b><b class='flag-5'>驅動</b>框架分析(貼片<b class='flag-5'>SD</b>卡flash<b class='flag-5'>驅動</b>\<b class='flag-5'>SD</b> <b class='flag-5'>Nand</b> flash<b class='flag-5'>驅動</b>)

    芯知識 | 語音芯片支持一線串口和兩串口的作用與應用優勢

    隨著科技的不斷進步,語音芯片作為現代電子產品中的核心組件,其功能和性能也在不斷提升。其中,語音芯片支持一線串口和兩串口的功能,在實際應用中具有重要的作用和優勢。首先,讓我們了解一線串口和兩
    的頭像 發表于 12-20 08:39 ?1010次閱讀
    芯知識 | 語音芯片支持<b class='flag-5'>一線</b>串口和兩<b class='flag-5'>線</b>串口的作用與應用優勢
    主站蜘蛛池模板: 久久夜色精品国产噜噜小说 | 极品美女写真菠萝蜜视频 | 午夜影院啊啊啊 | 国产在线精品观看 | 午夜影视体验区 | 黄视频日本 | 亚洲人色大成年网站在线观看 | 深夜在线视频免费网址 | 亚洲一二三区视频 | 伊人色综合久久天天爱 | 免免费看片 | 一级特黄特黄xxx视频 | 亚洲免费成人在线 | 久久久黄色大片 | 日韩毛片一级 | 天天干天天操天天摸 | 影音先锋午夜资源网站 | 午夜免费啪 | 久久青草免费91观看 | 神马午夜影院 | 理论片午午伦夜理片影院99 | 国产精品一级香蕉一区 | 午夜国产精品视频 | 成人五级毛片免费播放 | 一级不卡毛片免费 | 久久精品久噜噜噜久久 | 中国理论片| 热久久久久久 | 永久免费mv网站入口 | 福利片免费一区二区三区 | 国产成人啪精品午夜在线观看 | 国产成人影院在线观看 | 国产精品永久免费 | 色综合天天综合给合国产 | 手机在线观看视频你懂的 | 朱元璋传奇1998王耿豪版 | 国产三级精品最新在线 | 亚洲天堂999| 成 人色 网 站999 | 操碰视频在线 | 久久成人国产精品免费 |