SDIO(安全数字输入输出)/协议

article/2025/10/24 3:03:49

 目录

一、SDIO:安全数字输入输出 

目录

定义

功能

二、SDIO协议

介绍

信号

协议

一般协议

写协议

读协议

命令

命令格式

命令应答

数据

三、一文搞懂SDIO

四、SDIO简介

 五、SD卡引脚定义和图连接

 六、SDIO协议简介

七、MMC、SD、TF、SDIO、SDMMC简介 


一、SDIO:安全数字输入输出 

SDIO_百度百科

SDIO(Secure Digital Input and Output)中文名称:安全数字输入输出,定义了一种外设接口。

中文名 安全数字输入输出

外文名 Secure Digital Input and Output Card

目录

  1. 1 定义
  2. 2 功能

定义

SDIO在SD标准上定义了一种外设接口。SDIO主要有两类应用——可移动和不可移动。可移动设备作为Palm和Windows Mobile的扩展设备,用来增加蓝牙、照相机、GPS和802.11b功能。不可移动设备遵循相同的电气标准,但不要求符合物理标准。某些手机内包含通过SDIO连接CPU的802.11芯片。此举将“珍贵”的I/ O管脚资源用于更重要的功能。

蓝牙、照相机、GPS和802.11b设备有专为它们定义的应用规范。这些应用规范与为PCI和USB设备定义的类规范很相像。它们允许任何宿主设备与任意外设“通话”,只要它们都支持应用规范。

SDIO(Secure Digital Input and Output),即安全数字输入输出接口。它是在SD卡接口的基础上发展而来,它可以兼容之前的SD卡,并可以连接SDIO接口设备,比如:蓝牙、WIFI、GPS等

SDIO

SDIO和SD卡规范间的一个重要区别是增加了低速标准。SDIO卡只需要SPI和1位SD传输模式。低速卡的目标应用是以最小的硬件开支支持低速I/ O能力。低速卡支持类似调制解调器、条码扫描仪和GPS接受器等应用。对“组合”卡(存储器+ SDIO)而言,全速和4位操作对卡内存储器和SDIO部分都是强制要求的。

功能

转换设备的能力:

SD标准有很大的弹性:

比方说,SD插槽不仅能插入内存卡,SDIO卡还是一种界面。即由使用标准SD卡插槽来扩展设备的功能,让设备拥有新的功能。

新功能列举如下:GPS相机、Wi-Fi调频广播、以太网、条形码读卡器、蓝牙等。

拥有与SD memory card同样的终端、形状的卡槽,利用于扩张卡的规格,把对应SDIO卡槽(插口)统称为SDIO卡,扩张卡则被称为SDIO卡。

是为了在个人电脑和PDA等中添加功能而使用SD卡的规格,由于可以使用比PC卡形状还小的卡和插槽,相比于笔记本电脑,更多采用于小巧的PDA中。主要销售的产品有,面向PDA的PHS通讯卡和蓝牙通讯卡,无线网卡,小型数码相机等。

为了使用SDIO,必须要有对应的插槽,数码相机等memory card的专用缝儿插槽不对应SDIO卡。SDIO插槽中能够插入SD memory card来读写。

词条图册

更多图册 

 

二、SDIO协议

SDIO协议 - 知乎

介绍

SDIO是安全数字输入输出接口(Secure Digital Input and Output)的缩写,是从SD内存卡接口的基础上演化出来的一种外设接口。SDIO接口兼容以前的SD内存卡,并且可以连接支持SDIO接口的设备。SDIO的应用比较广泛,目前,有许多手机都支持SDIO功能,并且很多SDIO外设也被开发出来,使得手机外接外设更加容易。常见的SDIO外设有WLAN、GPS、CAMERA、蓝牙等。SDIO总线有两端,其中一端是主机端(HOST),另一端是设备端(DEVICE)。所有的通信都是由HOST端发出命令开始的,在DEVICE端只要能解析HOST的命令,就可以同HOST进行通信了。SDIO的HOST可以连接多个DEVICE。sdio通常工作在25mhz或50mhz的时钟下。

SDIO总线拓扑

信号

SDIO信号有三种模式,“单线模式”、“4线模式”、“SPI模式”。

CLK:HOST给DEVICE的时钟信号。

VDD:电源信号。

VSS:Ground信号。

DAT0-DAT3:4条数据线

CMD:用于HOST发送命令和DEVICE回复响应。

三种模式的信号定义

协议

SDIO协议,其中包括“无数据传输的一般命令”,“有数据传输的写命令”,“有数据传输的读命令”。协议包含三个要素:命令Command应答Response数据Data

Command:由HOST发送,DEVICE接收,在CMD信号线上传输。以一个起始位为开始,中止位为结束,命令的长度为48位。

Response:由DEVICE发送,HOST接收,在CMD信号线上传输。应答根据不同命令分为4种,长度有48位或136位。

Data:数据是双向的传送的。可以设置为1线模式,也可以设置为4线模式。数据是通过DAT0-DAT3信号线传输的。

一般协议

一般协议传输无应答(no response)命令和无数据(no data)命令。无应答命令只需要传输CMD,不需要应答,命令即携带了所有信息。无数据命令需要在CMD传输之后,返回相应的应答,但无数据传输。应答格式有多种。

写协议

写数据的传输是分块进行的。数据块后面总是跟着CRC位。定义了单块和多块操作。多块操作模式更适合更快的写入操作。当CMD线路上出现停止命令时,多块传输终止。主机可以将数据传输配置为使用单条或多条数据线,此文档只会讨论4位数据线模式。图4-3表明了多块写操作的协议图。单块写操作与多块写操作类似。

读协议

读数据的传输与写数据时类似,参看上面写协议。图4-2表明了多块读操作的协议图。单块读操作与多块读操作类似。

命令

命令分为四种类型:

广播命令(bc):通过SD总线发送到总线上所有从设备,并且不需要应答的命令。

需要应答的广播命令(bcr):通过SD总线发送到总线上所有从设备,并且需要所有的从设备分别应答的命令。

指向地址的命令(ac):没有数据传输的,到某一个指定从设备的命令。

指向地址的数据传输命令(adtc):对指定的从设备进行数据传输的命令。

命令格式

SD命令是一个6字节组成的命令包,其中BYTE1是命令号。命令号bit7表示起始位,bit6表示主机发出的命令。Bit5~bit0表示具体的命令号。BYTE2~BYTE5表示命令内容。BYTE6为7bit的CRC校验以及1bit的结束位。如下。

一种命令格式

一些命令

一部分命令

*R1b:All data blocks are responded to with a data response token followed by a busy signal. The data transferred must not cross a physical block boundary.

*RCA:Relative card address:相对卡地址,卡的本地系统地址,初始化时由主机配置。

命令应答

以R1应答为例。R1:Bit45~bit40表示它所响应的命令的索引。从设备的状态用32位编码。请注意,当涉及到向从设备的数据传输时,在传输每个数据块后,数据线上可能会出现一个忙信号。数据块传输后,主机将检查是否繁忙。

R1应答格式

R1b与R1相同,在数据线上传输可选的繁忙信号。根据命令接收前的状态,从设备在接收到这些命令后可能会变得繁忙。主机将在响应时检查是否繁忙。

其中[39:8] card status被定义如下。

card status

数据

此文只讨论4位总线情况,数据一次传输4位(见图4-6)。开始和结束位,以及循环冗余校验位,为每一条数据线路传输。对每个数据行单独计算和检查循环冗余校验比特。CRC校验状态响应和忙指示将由从设备发送到仅在DAT0上的主设备。

数据结构

面向块的数据传输的有效载荷由CRC校验保护。生成多项式是标准的CCITT多项式。

请注意,CRC校验是计算出来的,并附加到块末尾的每个dat行。在宽总线操作的情况下(DAT0-DAT3),单独为每条DAT信号线计算一个16bit的CRC校验。

FPGA 实现

实现的是FPGA作为Device,与SOC通信,实现SOC通过SDIO将数据写入FPGA的DDR中,再从FPGA的DDR中取走数据。这样做的目的是FPGA片上实现编码操作,SDIO接口负责传输原始码流和编码码流。

SDIO IP分为cmd模块和data模块。

cmd模块,根据sdio命令格式设置状态机,正确收取命令,然后通过应答格式将应答回传给主机。sdio有标准的命令,如cmd0~cmd54这些标准命令,需要从机做出相应的执行和应答。命令可以自定义命令,sdio是个标准协议集,所以有wifi-sdio,有card-sdio,这些不同的sdio协议有共同的标准部分,也有自定义的部分。我们实现的sdio也有自定义的部分,可以自定义一些命令,用来使SOC对FPGA侧进行控制。

data模块,通过接收的cmd命令做出读或写的操作,通过data0~data4传输数据,根据crc16校验数据。

三、一文搞懂SDIO

一文搞懂SDIO_曼巴精神传承人的博客-CSDN博客

 

四、SDIO简介

SDIO简介_江波ZK的博客-CSDN博客

 

 五、SD卡引脚定义和图连接

详谈SD卡/微型SD卡的引脚定义与连接(精美多图) - 知乎

 

 六、SDIO协议简介

SDIO协议简介 

 

七、MMC、SD、TF、SDIO、SDMMC简介 

MMC、SD、TF、SDIO、SDMMC简介_撒哈拉的初学者的博客-CSDN博客 


http://chatgpt.dhexx.cn/article/DbV6Ntyl.shtml

相关文章

SDIO协议

SDIO协议 1 概述 SDIO,全称:Secure Digital Input and Output ,即安全数字输入输出接口。2 特点 ①与多媒体卡系统规格书版本4.2全兼容。支持三种不同的数据总线模式:1位(默认)、4位和8位。②与较早的多媒体卡系统规格版本全兼容…

硬件接口之SDIO

SDIO接口是在SD内存卡接口的基础上发展起来的接口,SDIO接口兼容以前的SD内存卡,并且可以连接SDIO接口的设备。 参考 SDIO1.0标准定义了两种类型的SDIO卡: 全速的SDIO卡,传输率可以超过100Mbps;   低速的SDIO卡&#…

一文搞懂SDIO

SDIO总线简介 SDIO(Secure Digital Input and Output),即安全数字输入输出接口。它是在SD卡接口的基础上发展而来,它可以兼容之前的SD卡,并可以连接SDIO接口设备,比如:蓝牙、WIFI、GPS等。 什么是SDIO卡 SDIO卡&…

visual svn for visual studio 2019

https://marketplace.visualstudio.com/items?itemNameVisualSVNLimited.VisualSVN-VS2019 参考 https://www.cnblogs.com/Music/p/visualsvn-for-visual-studio-2019.html

visualSVN server的安装和使用

一、安装visualSVN server 服务器端 下载地址:https://www.visualsvn.com/server/download/ 1.在官网中下载visualSVN server服务器端 2.安装下载的visualSVN server,选择默认选项即可 二、安装号visualSVN server后,创建一个代码创库&am…

《SVN系列教程-第三章-VisualSVN的使用》

教程说明 本系列教程目录大纲:《SVN系列教程-目录大纲》 《SVN系列教程-第三章-VisualSVN的使用》 1.1 VisualSVN简介 VisualSVN是Subversion的一款图形化界面工具,提供了图形化方式来辅助我们管理仓库、用户、组信息,另外VisualSVN还帮我…

安装VisualSVN server

链接: 官网链接: https://www.visualsvn.com/ 下载页链接: https://www.visualsvn.com/server/download/ 下载文件链接:https://www.visualsvn.com/files/VisualSVN-Server-3.2.3-x64.msi安装步骤: 这一步是让选择安装…

VS2019安装 VisualSVN Server 插件

选择VisualSVN for Visual Studio 2019 进行安装,网址:https://www.visualsvn.com/visualsvn/download/

VisualSVN的下载与安装

1.在浏览器地址栏中搜索:https://www.visualsvn.com/server/download/,选择对应版本的下载包进行下载 2.安装VisualSVN 点击运行 3.点击Next 4.点击接受,然后点击Next . 5.点击Next 6.点击Next Location是指VisualSVN Server的安装目录&am…

vs2010插件之VisualSVN

一、说说svn 说到svn,大体上说的有两种,服务端:Subversion和VisualSVN-Server,客户端:TortoiseSVN和VisualSVN,现在在开发项目的时候用的代码管理工具也无非那么几种,比如:tfs和svn…

Vs插件 VisualSvn破解

发现问题 之前的项目是使用git,最近有个别项目使用SVN来管理代码,于是使用Vs 的 svn插件,用了一个月,今天突然发现修改代码后居然识别不了,就连我昨天改动的几个页面也识别不出来,开始有点慌,后…

VisualSVN Server的配置和使用方法(项目部署到svn上)

1.为什么要用VisualSVN Server,而不用Subversion? 回答: 因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来…

VS中SVN的简介、安装和使用(安装+汉化+使用)

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。 一.安装SVN 1.下载:Downloads…

VisualSVN Server的配置和使用方法

VisualSVN Server搭建SVN服务器 使用原始的SVN和Apache相配合来实现源代码的SVN管理,虽然专业且功能强大,但对于一般个人用户来说未免太过复杂。而使用VisualSVN Server来实现主要的SVN功能则简单得多。 简单的直接看前面,详细的看后面部分。…

用VisualSVN做项目版本控制

一、SVN服务端 1、VisualSVN Server下载: http://download.csdn.net/detail/jiminull/4448874 或 http://www.visualsvn.com/server/download/ VisualSVN Server是免费的 2、VisualSVN Server安装: 下载完VisualSVN Server后,只要双击V…

VisualSVN-Server服务器的搭建

【我这里是用的阿里云服务器】 第一步:先下载VisualSVN-Server-3.6.1-x64,然后拷贝到服务器上: 第二步: 第三步: 第四步: 第五步:点击standard edition进入设置安装路径和仓库路径备…

VisualSVN Server版本推荐

一,关于VisualSVN和VisualSVN Server 这两个是不同类型的软件。 1,VisualSVN VisualSVN for Visual Studio是集成在VS上的SVN客户端插件,功能和tortoiseSVN类似。 2,VisualSVN Server 这个是服务器端的软件,用于管…

VisualSVN的使用

1、安装VisualSVN-VS2017-6.0.3.vsix插件 VisualSVN 是一个Visual Studio插件,可以与Visual Studio无缝集成Subversion和TortoiseSVN。VisualSVN 实际上消除 了在Subversion中的项目源代码文件的管理。使用VisualSVN作为您的 静默合作伙伴进行 程序设计&#xff0…

使用VisualSVN建立SVN服务器

以前使用官方Subversion搭建SVN版本控制环境,感觉很繁琐,需要手动该文件,很麻烦,今天在网上看到了VisualSVN搭建版本控制环境的方法,写出来和大家分享一下。欢迎提出问题O(∩_∩)O~ 1、下载安装文件(服务器…

VisualSVN的安装

首先,我们来了解一下VisualSVN是什么?做什么的? VisualSVN是一个计算机系统函数。 SVN的功能可以简单概括为三点:数据备份、版本管理、团队合作。 故:只要利用计算机产出大量的重要电子文档(如学术论文、…