wifiSDIOdriver.doc

上传人:scccc 文档编号:12534138 上传时间:2021-12-04 格式:DOC 页数:25 大小:384KB
返回 下载 相关 举报
wifiSDIOdriver.doc_第1页
第1页 / 共25页
wifiSDIOdriver.doc_第2页
第2页 / 共25页
wifiSDIOdriver.doc_第3页
第3页 / 共25页
wifiSDIOdriver.doc_第4页
第4页 / 共25页
wifiSDIOdriver.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《wifiSDIOdriver.doc》由会员分享,可在线阅读,更多相关《wifiSDIOdriver.doc(25页珍藏版)》请在三一文库上搜索。

1、SDIO Wifi Card08-11-14肖祥云 Wifi卡的常用接口有:- CF 接 口-USB 接口-SDIO 接口-SPI 接 口-PCMCIA 接 口很多时候,同一个wifi卡同时支持多种接口, 譬如marvell的8686的wifi卡,既支持spi接 口,也支持sdio接口SD卡与SDIO卡的异同1. SD卡使用的是SD卡协议,而SDIO卡使用的 是SDIO协议;协议不一样,初始化/读写方式 都不一样2. ARK1600控制器既支持SD卡也支持SDIO卡, 在驱动上完全可以做到同一个卡槽既支持SD 卡也支持SDIO卡,甚至combo卡,因此在驱动 上有个判断过程,判断插进来的是SD

2、卡还是 SDIO 卡两者的引脚定义不一样,尽管引脚个数都一样 SDIO协议-相对于SD协议,SDIO协议特有的命令有:cmd5,cmd52,cmd53- cmd5命令相当于SD卡协议中的acmd41,用于匹 配SDIO卡的电压-对于SDIO卡中的单个寄存器的读写一般都使用 cmd52命令,而对于多字节薮据前读写贝“用 cmd53命令。- cmd53分字节和块传输模式对于字节传输模式相当于SD协议的单块读写 (cmd17, cmd24)对于块传输模式相当于SD协议的块读写(cmd18, cmd25) Cmd53-对于字节传输模式,它可以是1512之间的任 意长度的传输,而不是固定长度-对于块传输

3、模式,首先它的块长度可以人为设 定,但不能殖过规定的最大块长度-相对于SD卡中的块传输模式,在最后一个块传 输末尾,是不需要发送块停止命令的(cmd12)每个SDIO卡都由 1 7个function (optional) 和一个memoryfunction (mandatory) 组 成什么是fun ctio n-所谓function,就是一个I/O设备,它实质就是 一些寄存器的集合SDIO卡Mfunction的组织分布CIA (Function 0)OXOOOOOO-OXOOOOFF0x000100-0x0001 FFOx000200-Ox0002FFOX000300-OX0003FFOx0

4、00700-Qx0007FF0xO008O0-DxO0OFFF0x001000-QX017FFF0X000000-0X01 FFFF0x018000-0x01 FFFF CIA就是functionO,也就是memory function, 它每个SDIO卡所必须具有的,它里面包含 了如下一些重要信息:-SDIO协议的版本号,BUS MOD,块大小等。这些信息有些是只读的,有些是可读可写的 Functionl7是可选的,根据具体的应用的 不同,所包含的function数目也不一样,譬 如我门使用的marvell的8686芯片,它就只 有fun ctio nO 和 functiordPINSDIO

5、 4-BIT MODESDIO 1-BIT MODE1CD/DAT3Data line 3N/CNot used2CMDCommand lineCMDCommand line3VSS1GroundVSS1Ground4VDDSupply voltageVDDSupply voltage5CLKClockCLKClock6VSS2GroundVSS2Ground7DAT0Data line 0DATAData line8DAT1Data linel or INTIineIRQInterruption9DAT2Data Iine2 or read waitRWRead wait1. SDIO mo

6、de同样也有1 bit和4bit总线模式2. SD与SDIO卡的引脚的一个最大的区别是: SDIO有个中断引脚DAT1 ,在4bit模式下, DAT1既做数据线,又做中断线,因此是 分时复用的,在总线发送命令期间, DAT用作中断线。PINSD MODE1NameTypeDescription2CD/DATA3l/O/PPCard detect/dataIine33CMDPpCommand/response4Vss1SGround5VDDsSupply voltage6Vss2sGround7DATOl/O/PPData lineO8DAT1l/O/PPData linel9DAT2l/O/P

7、PData Iine2HOSTFigure 2: SD Memory Card system bus Topology当HOST同时连接多个卡时:-时钟,电源,地线可以为每个卡公共-但每个卡都有自己单独的数据和命令总线,避 免干扰-在卡的初始化过程中,命令是单独发到每个卡 的,允许驱动来检测每个卡槽的卡是否存在, 并且分配相应的逻辑地址给每个卡槽。-HOST与每个卡槽的卡的数据传输都是单独进 行的,因为每个卡槽都有自己的数据总线-在卡的初始化完成后,命令可以同时发送到每 个卡槽,因为此时命令中已经包含了卡的逻辑 地址(在卡的分别初始化时分配的) SD卡与SDIO卡的检测判别-上电,发送CMD5

8、命令,如果有响应,并且响 应中的MP位为0,说明对应卡槽中的卡为SDIO 卡,进而开始SDIO卡的初始化流程-如果发送CMD5命令没有响应,则说明对应卡 槽的卡为SD或MMC卡,进而开始SD/MMC卡 的初始化流程-如果发送CMD5命令,有响应,且响应中的MP 位为1,说明这个卡不但是SDIO卡,同时也时 SD卡,也就是所谓的combo卡,则进行combo 卡的初始化流程目前linux下,已支持的wifi卡有如下厂家的 卡:一 Marvell 8385 and Marvell 8686一 Intersil公司 Prism54 chips series-Intel IWL4965 and IWL

9、3945一 Atheros corporation 5xxx chipset-Broadcom(博通)43xx-Ralink(雷凌)RT2x00 Linux F已经支持了市面上的大多数wifi卡的 驱动每种wifi卡都是需要固件(firmware)才能 驱动的,并且同一种卡工作在不同接口时对 应的firmware是不一样的需要注意的是:很多firmware都是要花钱的固件通过其驱动下载到无线卡中,才能驱动 起来CoreLogicVDDSHISCLKSOISCSnSCOS8W8385 ScCREF CLOCKS37VSD1XRF TransceiverJLSingle or Dual TR_SW

10、_CTLHost2- or 2-wireWLAM-ET Coexistence ” Signaling Interace3rd PartyBluetoothModule盯 TX RXWLANSubsystem一 ConiigurationBalu H TiR Swtching nSingle or DualBG2.11 + BluetoothAnter na SupportVFigure 1: Standard Host Driver and WLAN Firmware ArchitectureApplicationsTCPUDPIPWLAN Drr/erHALFigure 1: Standa

11、rd Host Driver and WLAN Firmware ArchitectureWLAN Drr/erHALFigure 1: Standard Host Driver and WLAN Firmware ArchitectureEthernet DriveHardv/are Interface DrrverData Service(Tx/Rx Buffer Management802.11 E xtensionsHardware Interface DrrverCommon Driver I门怕rfaceHardware Interface802.11 MAC ManagementWLAN Drr/erHAL上图是wifi驱动的通用的软件架构分为两部分,上面为主机端驱动,下面是我 彳门之前厉说的firmware其中固件部分的主要工作是:因为天线接受 和发送回来的都是802.11帧的帧,而主机接 受和传送岀来的数据都必须是802.3的帧, 所以必须由firmware来负责802.3的帧和 802.11帧之间的转换,当天线收到数据,并被firmware处理好后会 放在一个buffer里,并产生一个中断,主机 无j攵到申咏后就去读这个buffer oThanks your attention!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1