国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

基于SDIO協議的WiFi模塊實現指南

電子發燒友開源社區 ? 來源:未知 ? 2022-12-20 09:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

WiFi模塊可以封裝成多種不同的接口,如SDIO、PCIe。SDIO接口的WiFi也是最常見的一種。SDIO接口最先被應用在存儲卡上,后來其命令模式衍生到攝像頭、WiFi等設備上。SDIO接口協議作是一種應用廣泛的接口協議,其功能被集成在linux 的driver/mmc目錄下,其中core目錄封裝了sdio的協議框架,定義接口。host目錄則為具體的產品設備用到的接口函數的實現。現具體的分析SDIO總線通信原理:SDIO總線 和 USB總線 類似,SDIO也有兩端。當中一端是HOST端,還有一端是device端。通信時HOST端驅動時鐘線發送命令,Device端需要解析命令并給出應答,從而實現互相通信。通信總線:
CLK信號:HOST給DEVICE的 時鐘信號,每個時鐘周期傳輸一個命令或數據位 。

CMD信號:命令在 CMD 線上串行傳輸,是
雙向半雙工的(命令從主機到從卡,而命令的響應是從卡發送到主機)。

DAT0-DAT3 信號:四條用于快速傳送數據的數據線,由CLK同步的信號。
20abd65a-8002-11ed-8abf-dac502259ad0.png ?1、設備驅動的注冊與匹配
[Drivers/net/wireless/libertas/if_sdio.c]
/* sdio function device driver*/


struct sdio_driver {
char *name;  //設備名
const struct sdio_device_id *id_table; //設備驅動ID
int (*probe)(struct sdio_func *, const struct sdio_device_id *);//匹配函數
void (*remove)(struct sdio_func *);
struct device_driver drv;
};
數據的接收,通過中斷的方式來解決 網絡設備接收數據的主要方法是由中斷引發設備的中斷處理函數,中斷處理函數推斷中斷的類型,假設為接收中斷。則讀取接收到的數據。分配sk_buff數據結構和數據緩沖區。并將接收的數據拷貝到數據緩存區。并調用netif_rx()函數將sk_buff傳遞給上層協議。 搜索if_sdio_interrupt,可知道它是在if_sdio.c文件里if_sdio_probe()函數中sdio_claim_irq(func, if_sdio_interrupt) ,func->irq_handler = if_sdio_interrupt。當s3cmci_irq中斷處理函數的S3C2410_SDIIMSK_sdioIRQ 中斷被觸發時將調用if_sdio_interrupt()函數,進行接收數據。
static void if_sdio_interrupt(struct sdio_func *func)
數據發送維護了網絡傳輸的數據,是比較重要的調試接口,可以由此獲得全部的輸出數據信息。
//IP層通過dev_queue_xmit()將數據交給網絡設備協議接口層,網絡接口層通過netdevice中的注冊函數的數據發送函數int dev_queue_xmit(struct sk_buff *skb)
移除函數當sdio卡拔除時。驅動會調用該函數。完畢對應操作。 拔除后,首先是管腳電平發生變化,從而觸發管腳中斷,程序由此得到消息,執行了釋放函數 如釋放占有的資源。禁止func功能函數。釋放host。
if_sdio_remove(struct sdio_func *func)
---->lbs_stop_card(card->priv);
lbs_remove_card(card->priv);
     ---->kthread_stop(priv->main_thread);  //終止內核線程


lbs_free_adapter(priv);
lbs_cfg_free(priv);
free_netdev(dev);


flush_workqueue(card->workqueue);  //刷新工作隊列
destroy_workqueue(card->workqueue);
sdio_claim_host(func);
sdio_release_irq(func);
sdio_disable_func(func);
sdio_release_host(func);
本文介紹了基于SDIO接口協議的WiFi模塊,簡單闡述了SDIO總線通信原理,列舉了設備驅動的注冊、匹配中使用到的重點接口函數的作用,包含數據接收,發送,以及資源的釋放。讓用戶在一些設備上使用SDIO接口協議開發時,更清晰方便的了解其工作原理和重點接口函數的使用,幫助用戶提升開發效率。 更多熱點文章閱讀
  • 粵港澳大灣區國際人工智能機器人高峰會2022重磅來襲!
  • 搜電充電:創新“服務卡片”,讓即時充電更便捷
  • ArkUI框架,更懂程序員的UI信息語法
  • 全球首個港口全面數字孿生技術底座“津鴻”系統發布
  • 一個在線閱讀OpenHarmony全量代碼的網站

提示:本文由電子發燒友社區發布,轉載請注明以上來源。如需社區合作及入群交流,請添加微信EEFans0806,或者發郵箱liuyong@huaqiu.com。


原文標題:基于SDIO協議的WiFi模塊實現指南

文章出處:【微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。


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

    關注

    33

    文章

    591

    瀏覽量

    34131
  • 開源社區
    +關注

    關注

    1

    文章

    95

    瀏覽量

    798

原文標題:基于SDIO協議的WiFi模塊實現指南

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    WiFi藍牙模塊WiFi 7技術趨勢及應用場景解析

    在智能汽車、工業物聯和高密度無線網絡需求快速增長的背景下, WiFi藍牙模塊 已從“連接配件”升級為系統性能的關鍵部件。新一代WiFi 7(IEEE 802.11be)以更高吞吐、更低時延和更強
    的頭像 發表于 02-03 14:52 ?181次閱讀
    <b class='flag-5'>WiFi</b>藍牙<b class='flag-5'>模塊</b>與<b class='flag-5'>WiFi</b> 7技術趨勢及應用場景解析

    WIFI6 SOC模塊介紹解析

    更高集成度的 WiFi SOC 模塊 方向發展。 WiFi SOC 模塊通過在單一模塊內集成處理器、無線通信單元以及網絡
    的頭像 發表于 01-29 16:49 ?233次閱讀
    <b class='flag-5'>WIFI</b>6 SOC<b class='flag-5'>模塊</b>介紹解析

    WiFi 6無線模塊選型指南和應用功能特點

    。在此背景下, WiFi 6 基于IEEE 802.11ax標準的WiFi6已逐漸嶄露頭角,并迅速成為下一代嵌入式無線模塊的核心技術。本文將以EBYTE的WiFi 6
    的頭像 發表于 01-21 13:55 ?230次閱讀

    WiFi Mesh網絡技術架構介紹

    網絡,提升質量 顯著的保障和可靠性。本文追溯 網狀WiFi網絡的技術演進,例如: 通過分析變更實現在嵌入式模塊中 關鍵架構解決方案、協議進展及解決方案
    的頭像 發表于 01-21 13:32 ?150次閱讀

    什么是WiFi遠程控制模塊?技術特點和應用場景有哪些?

    便捷和高效。無論是通過手機APP、電腦終端,還是智能語音助手,WiFi遠程控制模塊都能夠幫助用戶實現實時、遠程操作,提升生活質量與工作效率。 什么是WiFi遠程控制
    的頭像 發表于 11-29 14:10 ?461次閱讀
    什么是<b class='flag-5'>WiFi</b>遠程控制<b class='flag-5'>模塊</b>?技術特點和應用場景有哪些?

    SD NAND 接口協議解析:SPI 與 SDIO 模式區別及適配方法

    SD NAND 之所以能被 STM32、GD32 等 MCU 控制,核心是通過 “接口協議” 建立溝通規則 —— 就像兩個人交流需要共同語言,SPI 和 SDIO 就是 SD NAND 與 MCU
    的頭像 發表于 10-31 14:46 ?1230次閱讀
    SD NAND 接口<b class='flag-5'>協議</b>解析:SPI 與 <b class='flag-5'>SDIO</b> 模式區別及適配方法

    LoRa模塊WiFi對比:哪個是最佳選擇?

    您的項目是否需要比WiFi所能提供的更廣的覆蓋范圍?對于許多物聯網設備而言,WiFi往往力不從心。本指南將幫助您做出選擇。我們將并排審視這兩種技術,幫助您為您的需求找到最佳的LoRa模塊
    的頭像 發表于 10-31 12:03 ?2743次閱讀
    LoRa<b class='flag-5'>模塊</b>與<b class='flag-5'>WiFi</b>對比:哪個是最佳選擇?

    智能音箱藍牙與WiFi模塊的ESD防護方案

    在智能音箱的日常使用中,高度依賴無線連接功能,其中WiFi與藍牙模塊是其實現遠程操控、語音交互及多設備聯動的基礎。而這類高頻通信模塊對靜電放電(ESD)極為敏感,ESD可能直接導致無線
    的頭像 發表于 09-24 14:55 ?4981次閱讀
    智能音箱藍牙與<b class='flag-5'>WiFi</b><b class='flag-5'>模塊</b>的ESD防護方案

    SDIO SD卡電路設計速成攻略:核心步驟+調試技巧 !

    針對時間緊迫的開發者,本攻略直擊SDIO外接SD卡電路設計的核心步驟,并補充實用調試技巧,幫助你在最短時間完成從理論到可用的電路實現。 今天一起來聊聊 SDIO外接SD卡: SDIO
    的頭像 發表于 08-15 14:32 ?704次閱讀
    <b class='flag-5'>SDIO</b> SD卡電路設計速成攻略:核心步驟+調試技巧 !

    AIC8800DL雙頻WiFi6模塊,sdio接口解鎖極速未來

    在萬物互聯的時代,網絡速度與穩定性已成為智能生活的核心需求。無論是智能家居、遠程辦公,還是4K影音、在線游戲,傳統無線技術已難以滿足高速、低延遲的應用場景。而WiFi6模塊的誕生,正是為了打破瓶頸
    的頭像 發表于 07-28 15:18 ?911次閱讀
    AIC8800DL雙頻<b class='flag-5'>WiFi</b>6<b class='flag-5'>模塊</b>,<b class='flag-5'>sdio</b>接口解鎖極速未來

    請問下WHD driver支持CYW55573 SDIO接口的WIFI嗎?

    請問WHD driver支持CYW55573 SDIO接口的WIFI嗎?
    發表于 07-08 07:32

    從驅動到應用:RT-Thread環境下的SDIO開發指南

    目錄硬件介紹搭建開發環境配置SDIO驅動掛載文件系統文件讀寫測試演示視頻源碼工程總結本文主要講述RT-Thread環境下的SDIO開發指南,基于MCXN947開發板。1硬件介紹本次測評的是SD
    的頭像 發表于 06-28 09:02 ?2806次閱讀
    從驅動到應用:RT-Thread環境下的<b class='flag-5'>SDIO</b>開發<b class='flag-5'>指南</b>

    涂鴉各WiFi模塊原理圖加PCB封裝

    涂鴉各WiFi模塊原理圖加PCB封裝
    發表于 06-04 16:36 ?102次下載

    基于RV1126開發板的WiFi+藍牙硬件電路設計

    核心板的WiFi模塊采用的是正基的AP6212,集2.4GHz WiFi和藍牙4.2于一體。WiFi和藍牙信號都是通過天線接口J8進行射頻信號的收發。
    的頭像 發表于 04-16 18:00 ?961次閱讀
    基于RV1126開發板的<b class='flag-5'>WiFi</b>+藍牙硬件電路設計

    WiFi模塊選購必看:2025年全球十大品牌推薦及WiFi方案選型指南

    隨著物聯網(IoT)、智能家居、工業自動化等領域的快速發展,WiFi模塊作為無線通信的核心組件,其市場需求持續增長。根據最新市場研究,2024年全球WiFi模塊市場規模約為589.4億
    的頭像 發表于 03-28 15:09 ?3537次閱讀
    <b class='flag-5'>WiFi</b><b class='flag-5'>模塊</b>選購必看:2025年全球十大品牌推薦及<b class='flag-5'>WiFi</b>方案選型<b class='flag-5'>指南</b>