当前位置:文档之家› SD协议

SD协议

一、SD规范介绍

二、物理层规范

三、SD Memory Card

四、SDIO Card

五、驱动编写

一、SD2.0规范介绍

1、版本

SD spec1.0 低速度、低容量25M 2G

SD spec1.1 高速度、低容量50M 2G

SD spec2.0 高速度、高容量50M 32G

2、SD规范包括

(1) 物理层规范

(2) 文件系统规范

(3) SD卡安全规范

(4) SD卡音频应用规范+其他相关应用规范

(5) SD MC扩展规范移动设备

(6) SDIO卡规范

现在针对SD Memory 和SDIO两种类型的设备,所以下面内容只涉及子协议(1)、(6)。

3、符合SD2.0规范的设备

SD卡MiniSD、MicroSD 1.0/1.1

SDIO卡wifi 、GPS

SDHC 2.0 最少支持class2

SDXC

Combo Card

传输速度类型分为

class0 旧的卡,

class2 大于2MB/S

class4 大于4MB/S

class6 大于6MB/S

二、物理层规范

2、总线传输模式

SPI 串行传输、低速度

SD 最多支持四线传输

兼容MMC

3 SD总线

3.1 总线分为host device

(1) comand 命令host to device 都是48位

A、广播命令

B、点对点命令

(2) response 响应device to host

根据内容不同分为R1、R3、R4、R7(48位)和R2(136位)

初始化阶段,host给SD卡分配地址

数据传输是有单块传输命令和多块传输命令,然后通过发送一个终止命令停止传输单块还是多块传输,通过host去配置

命令先传msb 在lsb

3.2 格式

(1) 命令格式

(2) 响应格式

(3) 数据格式

有两种

(1) usual data bus 字节为单位发送

(2) wide data bus 以块单位发送

usual data :先发送高位,在发送低位一字节一字节发送

wide data bus :整个数据块发送

三、SD Memory Card

1、初始化,发送命令读写卡中的寄存器

发送命令完成读写、擦除等操作

CID 卡标识寄存器产品序列生产日期

CSD 卡特性寄存器

SCR 卡配置寄存器支持协议支持总线宽度OCR 操作寄存器电压值上电状态

DSR 驱动层寄存器

RCA 卡地址

SD_MMC 内部寄存器(中文).jpg

3、SD Memory Card的命令

物理层完全命令(英文).doc

4、SD Memory Card的响应

物理层完全响应(英文).doc

四、SDIO Card

1 SDIO概述

SDIO卡在SD内存卡基础上发展起来,SDIO接口兼容之前的SD内存卡,可连接SDIO 设备,根据SDIO协议的SPEC,支持设备包括蓝牙,GPS卡,网卡,电视卡等。

SDIO协议是SD协议的一个子协议,很多地方保留SD卡协议,在这基础上增加了CMD52和CMD53命令。SDIO与SD的一个重要区别是,增加了低速标准。

2 SDIO设备分类

低速卡:调制解调器、条形码扫描仪,GPS接收器等clock 0~400KHZ

高速卡:网卡clock 0~25MHZ 数据speed 10MB/s

组合卡:电视卡(组合卡指SDIO+存储器)

组合卡中SDIO最高CLOCK为25MHZ,SD最高高于25M 强制4bits SD模式

3 SDIO寄存器(与SD Memory不同点1)

(1) SD物理层协议定义了7个寄存器

OCR SDIO有通过CMD5来访问,

CID 单SDIO无

CSD 单SDIO无

RCA 一张卡一个共享的

DSR 单SDIO无

SCR 单SDIO无

(2)

SDIO卡的设备驱动80%的任务就是操作SDIO卡上的有关寄存器。SDIO卡最多允许有7个功能(function),这个同其功能号是对应的(0~7),每个功能都对应一个128K字节大小的寄存器,这个见下面的图。功能号之所以取值范围是1~7,而没有包含0,是因为功能0并不代表真正的功能,而代表CIA寄存器,即Common I/O Area,这个纪录着SDIO卡的一些基本信息和特性,并且可以改写这些寄存器。其中地址0x1000~0x17fff是SDIO卡的CIS区域,就是基本信息区域,Common Information Structure。初始化的时候读取并配对SDIO 设备。

4 SDIO卡初始化(与SD Memory不同点2)

组合卡能通过RCA=0000接收CMD15命令,如描述,单SD存储卡接收CMD15需要RCA 是个非0值。CMD15应该在CMD3后出现,还有ACMD41也能接收RCA=0X0000

2、SDIO与SD Memory的命令响应对比SDIO命令.doc

(1)初始化中加入的命令响应

IO_SEND_OP_COND 命令(CMD5)

表格3-4展示的是IO_SEND_OP_COND(CMD5)命令的格式。它的功能类似于SD内存卡中的ACMD41。它用于探测IO卡的电压范围。在SD模式或者SPI模式下响应都是R4。SD模式的R4响应在表格3-5中,SPI模式的R4响应在表格3-6中。

IO_SEND_OP_COND命令包含以下部分:

S(开始位)总是0

D(方向位) 1 从host到卡

命令索引:通过值000101B来

填充位0

IO OCR 运转条件寄存器所支持的VDD的最小和最大值OCR查看表3-1。4.10.1有附加信息

CRC7 7位CRC 效验数据

E 结束位总是1

SDIO版本 2.00卡应支持的操作电压范围在 2.7~3.6V,并且对于基本连接不需要支持2.0~2.7V。主控器,对于基本连接,也不需要支持2.0~2.7V。

IO_SEND_OP_COND 响应(R4)

收到CMD5后,SDIO唯一的响应R4。R4的格式在SD模式和SPI模式如下:

R4响应包含以下数据:

S(开始位)0

D(方向位)0 从DEVICE到HOST

保留

C 在如果初始化之后卡准备好运转了,就置1

填充位

IO OCR 运转条件寄存器所支持的VDD的最小和最大值OCR查看表3-1。4.10.1有

附加信息

存在MEMORY 1 卡中也存在MEMORY; 0 卡中只存在IO

IO功能的数目显示卡支持IO功能的数目。范围在0~7。注不包含功能0.IO功能不断执行从功能0开始

修正的R1 SPI R1响应字节在SD物理层规范IO修改中做以下定义:

在空闲状态

不合法命令

命令CRC错误

功能数错误

参数错误

(2)SD Memory支持的,SDIO不支持的命令

有一些命令如擦除命令在SDIO卡中没有使用因为在SDIO 中不支持。另外,有几个SD卡的命令不同于在卡中sdio部分使用的命令。表4-1中列出了SD内存命令和对等的SDIO命令。更完全的支持和不支持的命令列表,请看表A_14和表A1-15

(3)修改的R6响应

一般的储存卡CMD3的R6响应如表4-2.卡的状态位(23-8)在CMD3发送到单一I/O卡是

将被改变。在这种情况下,16bits的响应应当是单SDIO的值,如表4-3

请看SD物理层规范中7.3.4节关于类型和清除条件的解析

(4)新的I/O 读写命令

IO_RW_DIRECT 命令(CMD52)

IO_RW_DIRECT是访问单个寄存器中最简单的指令,访问范围是128k任何I/O功能寄存器空间之内,包括一般I/O区域(CIA).这个命令读写1字节只使用1对命令响应。一般使用在初始化寄存器和检测I/功能状态值。这个命令是访问单个1/O寄存器最快的手段,当然他也只需要一对命令/响应。

RAW 在写之后读位如果这位设置为1并且读写位设置为1,在写之后命令将会读出寄存器的值。作用是在写了一个寄存器的同时读出同一个地址的状态,如果这位清除掉,R5响应返回的值将包含写之后从该地址寄存器读回来的值。

读写数据读数据时,填0

IO_RW_DIRECT响应(R5)

R5响应有两种格式,分别对应SD模式和SPI模式。

R5:CMD52响应(SD 模式)

如果是读命令,被读的数据将返回8位值。另外,15bits状态信息也将被返回

响应标志8位标志指出SDIO卡的状态。表5-1说明它们各位的作用

读写数据对于写操作并且RAW=1 ,它的值是写之后从相同地址都回的数据

RAW=0 值跟写的数据一样

读操作值是从地址返回的值

IO_RW_EXTENDED命令(CMD53)

一个命令读写多个寄存器,命令包含在class9中。

block 模式置1,将会整块寄存器读写,块/字节的数目在count中设置。功能1~7的块的大小在FBR(表6-3、6-4),功能0的块大小通过写CCCR中的FN0设置。检查是否支持块读写是通过CCCR(6-2)中的MBIO bit

The block size used when Block Mode = 1 and the maximum byte count per command used when Block Mode = 0 can be read from the CIS in the tuple

TPLFE_MAX_BLK_SIZE (see 16.7.4) on a per-function basis.

op code 0 读写固定在同一地址

1 读写的地址自动增加

Byte/Block Count

Ns2.34上leach协议的完美移植

Ns2.34上leach协议的完美移植 经过几天的不断实验,以及网上各位前辈的帮助,终于成功将leach协议完美移植到ns2.34上,下面是我的安装笔记。 Step1 在ns-2.34的目录下新建一个leach文件夹,将leach.tar.gz放入这个文件夹 Step2 在终端中进入这个目录下,键入tar zxf leach.tar.gz Step3 ①将leach/mit整个目录复制到ns-allinone-2.34/ns-2.34中 ②将leach/mac目录下的https://www.doczj.com/doc/c09916245.html,, mac-sensor.h, https://www.doczj.com/doc/c09916245.html,, mac-sensor-timers.h四个文件复制到ns-allinone-2.34/ns-2.34/mac中 ③将leach/tcl/mobility目录下的四个文件复制到ns-allinone-2.34/ns-2.34/tcl/mobility中 ④将ns-allinone-2.34/ns-2.34/tcl/ex目录下的wireless.tcl重命名为wireless_1.tcl,再将leach/tcl/ex目录下的wireless.tcl复制到ns-allinone-2.34/ns-2.34/tcl/ex中⑤将leach目录下的test,leach_test,package_up三个文件复制到ns-allinone-2.34/ ns-2.34中 Step3 修改文件 ①需要修改的文件有: ns-allinone-2.34/ns-2.34/apps/https://www.doczj.com/doc/c09916245.html,,app.h ns-allinone-2.34/ns-2.34/trace/https://www.doczj.com/doc/c09916245.html,,cmu-trace.h ns-allinone-2.34/ns-2.34/common/https://www.doczj.com/doc/c09916245.html,,https://www.doczj.com/doc/c09916245.html,,packet.h ns-allinone-2.34/ns-2.34/mac/https://www.doczj.com/doc/c09916245.html,,ll.h,https://www.doczj.com/doc/c09916245.html,,https://www.doczj.com/doc/c09916245.html,,phy.h,wireless-phy.c c,wireless-phy.h ②修改方法: 对于leach目录下相应的文件(即刚才未复制的文件),将代码中以“#ifdef MIT_uAMPS”开始,并以“#endif”结束的部分复制到以上文件对应的位置 这个过此要小心核对修改,否则前功尽弃 ③特殊情况 <1> ns-allinone-2.34/ns-2.34/common/packet.h中大约185行,根据其他变量的格式将代码更改为 #ifdef MIT_uAMPS static const packet_t PT_RCA = 61; #endif 并将最后一个枚举值改为62 这个过程可以随情况改变,还要注意的是packet.h文件并不是只改这一部分,前面的修改依然要。 <2> ns-allinone-2.34/ns-2.34/mac/wireless-phy.h,给类WirelessPhy添加public变量,大约105行 #ifdef MIT_uAMPS MobileNode * node_;

SanDisk SD Card产品手册之四SD卡协议描述续二

上周看了卡的识别模式后,现在看看卡的数据传输模式,这是最重要的模式,勿庸置疑。 因为一些卡可能有时钟限制,fpp必须保持在fod,直到CSD寄存器被host读取。host发出SEND_CSD(CMD9)来得到一些卡的专用数据,比如block length等等。 CMD7可以将卡置在传输模式。只有一个卡可以在一个时间内在这个状态。如果一个之前的卡在这个状态,那么与host的连接将会释放,并且回到stand-by 模式,当CMD7被发出保留相关卡地址0x0000,所有的卡传输都回到stand-by 状态。这个可以用来识别新插入卡,并且不会重置以及注册的卡。以及有RCA 的卡,不需要对识别命令相应。 *取消选择发生在一个特定的卡在重试CMD7的时候,发现RCA不匹配。在另外一个卡和CMD线通用的时候,会自动发生。因此,在SD卡系统中,系统需要负责做二选其一的事情。 -初始化后,通过公用CMD线工作,在这个情况下,取消选择会自动发生 -有意识去取消选择,如果CMD线是分开的 所有的数据通信在数据传输模式都是点对点的。所有的命令都会有个在CMD线上的相应。 下面我们看下卡里的命令。 1 停止命令CMD12,能够忽略所有的读命令在任何时候,数据传输会中止,并且卡会返回到传输状态,读命令能够阻止块读CMD17,多块读CMD18,发送写保护CMD30,发送SCR ACMD51,和general命令在读模式中CMD56。 2 停止命令CMD12,能够中止所有的数据写命令在任何时候。写命令必须在取消选择CMD7之前停止。写命令被块写CMD24、CMD25,写CSD(CMD27),锁和解锁(CMD42),和在写模式的通用命令(CMD56)阻止。 3 当数据传输完成的时候,sd卡会在数据写状态。之后如果写成功了,那么就去编程状态,如果失败了,就去传输状态。 4 如果block写操作被停止,并且block长度的crc是有效的,数据会被写入。

LEACH协议的算法结构及最新研究进展

LEACH协议的算法结构及最新研究进展 1 LEACH协议算法结构 LEACH这个协议的解释是:低功耗自适应集簇分层型协议。通过名字,我们就能想到这个协议的大概作用了。那么在这之中,我们先来研究一下它的算法。 该算法基本思想是:以循环的方式随机选择蔟首节点,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低网络能源消耗、提高网络整体生存时间的目的。仿真表明,与一般的平面多跳路由协议和静态分层算法相比,LEACH协议可以将网络生命周期延长15%。LEACH在运行过程中不断的循环执行蔟的重构过程,每个蔟重构过程可以用回合的概念来描述。每个回合可以分成两个阶段:蔟的建立阶段和传输数据的稳定阶段。为了节省资源开销,稳定阶段的持续时间要大于建立阶段的持续时间。蔟的建立过程可分成4个阶段:蔟首节点的选择、蔟首节点的广播、蔟首节点的建立和调度机制的生成。 蔟首节点的选择依据网络中所需要的蔟首节点总数和迄今为止每个节点已成为蔟首节点的次数来决定。具体的选择办法是:每个传感器节点随机选择0-1之间的一个值。如果选定的值小于某一个阀值,那么这个节点成为蔟首节点。 选定蔟首节点后,通过广播告知整个网络。网络中的其他节点根据接收信息的信号强度决定从属的蔟,并通知相应的蔟首节点,完成蔟的建立。最后,蔟首节点采用TDMA方式为蔟中每个节点分配向其传递数据的时间点。 稳定阶段中,传感器节点将采集的数据传送到蔟首节点。蔟首节点对蔟中所有节点所采集的数据进行信息融合后再传送给汇聚节点,这是一种叫少通信业务量的合理工作模型。稳定阶段持续一段时间后,网络重新进入蔟的建立阶段,进行下一回合的蔟重构,不断循环,每个蔟采用不同的CDMA代码进行通信来减少其他蔟内节点的干扰。 LEACH协议主要分为两个阶段:即簇建立阶段(setup phase)和稳定运行阶段(ready phase)。簇建立阶段和稳定运行阶段所持续的时间总和为一轮(round)。为减少协议开销,稳定运行阶段的持续时间要长于簇建立阶段。 在簇建立阶段,传感器节点随机生成一个0,1之间的随机数,并且与阈值T(n)做比较,如果小于该阈值,则该节点就会当选为簇头。在稳定阶段,传感器节点将采集的数据传送到簇首节点。簇首节点对采集的数据进行数据融合后再将信息传送给汇聚中心,汇聚中心将数据传送给监控中心来进行数据的处理。稳定阶段持续一段时间后,网络重新进行簇的建立阶段,进行下一轮的簇重建,不断循环。 2 LEACH协议的特点 1 为了减少传送到汇聚节点的信息数量,蔟首节点负责融合来自蔟内不同源节点所产生的数据,并将融合后的数据发送到汇聚点。 2 LEACH采用基于TDMA/CDMA的MAC层机制来减少蔟内和蔟间的冲突。 3 由于数据采集是集中的和周期性的,因此该协议非常适合于要求连续监控的应用系统。 4 对于终端使用者来说,由于它并不需要立即得到所有的数据,因此协议不需要周期性的传输数据,这样可以达到限制传感器节点能量消耗的目的。 5 在给定的时间间隔后,协议重新选举蔟首节点,以保证无线传感器网络获取同意的能量分布。

sd卡协议(中文)

数据包的封装与命令协议相关 1 sd 卡指令数据包 sd 卡的指令被封装成48位的数据包,每次传送这48位的数据包。数据包的内容包括起始位、结束位、传输位、命令索引、传输参数和7位CRC 校验码。其具体格式分布如下图 Bit 位置 47 46 [45:40] [39:08] [07:01] 00 Bit 宽度 1 1 6 32 7 1 值 “0” “1” x x x “1” 说明 Start bit Transmission bit Command index Argument CRC7 End bit 其中的命令索引位是[45:40],里面可以封装各种命令,具体的命令表将在下面给出。不同的命令会对应不同的回应(respond),回应有三种(R1,R2,R3)格式,在命令表中的选项会给出。 2 sd 卡命令索引表 CMD 简略语 指令说明 SPI 模式 自变量 回应 0 GO_IDLE_STATE 这是使card 初始化到Idle 状态的指令.CS 信号设在Low 的状态时,接到本指令后,card 将转换到SPI 模式. None R1 1 SEND_OP_COND 接到本指令后,card 将做R3回应(含有OCR 数据).根据OCR 值,可以得知card 能工作电压范 围.OCR 数据最高值位的1bit 是用来确认card 内部处理是否结束(Ready/Busy 轮询). None R1 2 ALL_SEND_CID 接到本指令后, 处于Ready 状态的card 将传送CID 数据.在MMC 模式下,数据被送到CMD 信

号,在CID数据的 每1bit传送 后,CMD信号状 态将与该card内 部状态相比较,如 果不一致,將中止 数据传送,card返 回到Ready状态. 如果相一致,该 card 将认为已被 选中,然后转换到 Identification 状 态. 3 SET_RELATIVE_ADDR 本指令会为已转 换到Identification 状态的card分配 一个相对card地 址(RCA).当RCA 分配后,card将转 换到Stand-by 状 态,对以后的 CMD2和CMD3 不回应. 4 NOP 这是用来设定 DSR(DriveState 寄存器)的指令, 但是本car不支持 DSR. 7 SELECT/DESELECT_CARD本指令是用来选 择一张card,让它 在Stand-by状态 和Transfer状态之 间转换的指令.如 果给card设定已 分配到的RCA地 址,card将从 Stand-by状态转 换到Transfer状 态,并将回应以后 的读取指令及其 他指令.如果给 card设定RCA以 外的地址,card将 转换到Stand-by

WSN中LEACH协议源码分析报告

WSN中LEACH协议源码分析 分析(一) 首先对wireless.tcl进行分析,先对默认的脚本选项进行初始化: set opt(chan)Channel/\VirelessChannel set opt(prop) Propagatioii/TwoRayGround set opt(netif)PhyAVirelessPhy set opt(mac) Mac/802_l 1 set opt(ifq) Qucuc/DropTail/PriQueue set opt(ll) LL set opt(ant) Antenna/OmniAntenna set opt(x) 0 。# X dimension of the topography set opt(y) 0。# Y dimension of the topography set opt(cp),H, set opt(sc) N../mobility/scene/scen-670x670-50-600-20-2u。# scenario file set opt(ifqlen)50o # max packet in if set opt(nn) 51。# number of nodes set opt(secd) 0.0 set opt(stop) 10.0 o # simulation time set opt(tr) out.tr。# trace file set opt(rp) dsdv 。 # routing protocol script set opt(lm) M on H。# log movement 在这个wireless.tcl中设置了一些全局变呈:: # #Initialize Global Variables # set ns_ [new Simulator] set chan [new $opt(chan)] set prop [new $opt(prop)] set topo [newTopography] set tracefd [open Sopt(tr) w] Stopo Ioad_flatgrid $opt(x) $opt(y) Sprop topography Stopo 这些初始化将在后而的使用中用到,该文件最重要的是创建leach 17点:创建方法如下: } elseif { [string compare Sopt(rp) M leach,,]==0} { for {set i 0} {$i < $opt(nn) } {incr i} { leach-create-mobile-node $i } 如果路由协议是leach协议,则在Uamps.tcl中调用leach-create-mobile-node方法创建leach节点。将在第二小节讲如何创建leach节点。 for {set i 0} {$i < $opt(nn) } {incr i} { $ns_ at $opt(stop).000000001 M Snode_($i) reset”。〃完成后,重宜右点的应用

SD卡协议-中文

一概述 1. SD总线模式下 CLK:时钟信号 CMD:双向命令和响应信号 DAT0-3:双向数据信号 VDD,VSS:电源和地信号 SD模式下允许有一个主机, 多个从机(即多个卡), 主机可以给从机分别地址. 主机发 命令有些命令是发送给指定的从机,有些命令可以以广播形式发送. SD模式下可以选择总线宽度, 即选用几根DAT信号线, 可以在主机初始化后设置. 2. SD总线协议 SD模式下的命令和数据流都有一个开始位和结束位. >命令: 是在CMD上传输的用于启动一个操作的比特流. 由主机发往从机, 可以是点对点也可以是广播的. >响应: 是在CMD上传输的用于之前命令回答的比特流. 由从机发往主机. >数据: 是在DAT上传输的比特流, 双向传输. 无响应模式无数据模式 多块读操作模式 多块写操作模式

命令格式 响应格式 数据格式 SD卡上电后会自动初始化,通过给卡发送CMD0也可以复位卡.

二.SD卡命令描述. 1.广播命令: 给所有卡都发送, 某些命令需要响应. 2.点对点命令 给指定地址的卡发送, 需要响应. SD卡系统有两种工作模式: 1.卡识别模式. 主机上电复位后即处于此模式,它会在总线上等待卡. 卡复位后也处于此模式, 直到SEND_RCA(CMD3)命令到来. 2.数据传输模式. 卡收到SEND_RCA(CMD3)命令后即进入此模式. 主机识别到卡后也进入此模式. 卡状态和工作模式对照表 1.卡识别模式. 此模式下主机复位总线所有的卡, 验证工作电压, 询问卡的地址. 这个模式下所有数据的传输都是只通过CMD线来完成. 1)卡的复位. 当卡上电或收到GO_IDLE_STATE (CMD0)命令后, 卡即进入Idle State状态. 此时卡将其RCA设为0, 相关寄存器设为传输稳定的最优模式. 2)工作电压验证 每个卡的最高和最低工作电压存储在OCR. 只有当电压比配时, CID和CSD的数据才能正常传输给主机. SD_SEND_OP_COND (ACMD41)命令用来判断卡的工作电压是否符合, 如果不符合的话, 卡应该放弃总线操作, 进入Inactive State状态. 在发送SD_SEND_OP_COND (ACMD41)命令前记得要首先发送APP_CMD (CMD55).

无线传感器网络LEACH协议研究

无线传感器网络LEACH协议的研究 摘要:无线传感器网络因其在军事、经济、民生等方面广阔的应用前景成为21世纪的前沿热点研究领域[1]。在传感器节点能量有限的情况下,提高路由效率,延长网络寿命成为无线传感器网络需考虑的问题。由于采取分簇,数据融合的思想,LEACH协议有着较高的路由效率,但在实际应用,尤其是大规模网络中,仍存在负载不均衡等问题。本文主要分析了LEACH协议的基本思想及优缺点,随后针对大规模的网络环境对其分簇算法进行改进。前人提出一种有效的方法计算最优簇首个数,本文推算出适合本文中网络环境的公式并加以应用。本文用NS2进行仿真,仿真后的结果表明,改进后的分簇算法更为有效,延长了网络寿命,增大了网络传送数据量。 关键词:无线传感器网络;路由协议;LEACH;分簇思想 Research on Routing Protocol of LEACH in WSN Shen Y uanyi Dept. of Information and Telecommunication,NUPT ABSTRACT:Nowadays, wireless sensor network has become a hot spot of 21st century because of its wide application on military, economy and human life. On the condition that the energy of a sensor node is limited, how to improve the routing efficiency and expand the network’s lifespan has been an important issue to consider. LEACH maintains quite high routing efficiency for its idea of clustering and data gathering. But in practical, it still has problems such as load unbalance especially in large scale network. The article mainly analyses the basic idea of LEACH, the benefits and drawbacks of it and later introduce an improvement on clustering algorithm according to large scale network. Key words:WSN;routing protocol; LEACH; clustering 1LEACH协议介绍与分析 1.1 LEACH算法思想 算法基本思想[2]是:以循环的方式随机选择簇头节点,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低网络能源消耗、提高网络整体生存时间的目的。LEACH在运行过程中不断的循环执行簇的重构过程,每个簇重构过程可以用回合的概念来描述[3]。每个回合可以分成两个阶段:簇的建立阶段和传输数据的稳定阶段。 1.2 LEACH算法的分析 LEACH协议的优点[4]有: (1)LEACH 通过减少参与路由计算的节点数目,减少了路由表尺寸。(2)LEACH协议是一种分簇路由协议,降低了非簇首节点的任务复杂度,不必对通信路由进行维护。(3)协议不需要周期性的传输数据。(4)在给定的时间间隔后,协议重新选举簇首节点,以保证无线传感器网络获取同意的能量分布。 由于LEACH算法是建立在一些假设上,所以在实际应用中LEACH协议存在一些问题:(1)在LEACH协议中,簇头的选举是随机产生的,这样的随机性可能会导致簇头

sd卡协议分析

sd Mmc 目录 第一章 SD卡系统概念 3 §1.1 SD卡概述 3 §1.2 SD卡的系统特征 3 §1.3 SD卡的系统概念 4 §1.4 SD卡的总线传输 6 §1.5 SD卡的引脚 10 §1.6 SD卡主要寄存器介绍 12 §1.7 SD卡子系统结构 14 第二章 SD卡初始化及状态转换 16 §2.1SD卡状态及初始化过程 16 §2.2SD卡数据传输过程 18 1.SD卡基础 1.SD卡概述 SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制,同时三个公司联合成立了SD协会,并制定SD卡相关的协议标准。SD卡协议主要包括物理层协议、SD卡控制器设计手册、SDIO卡手册三部分。 其中SDIO指的是安全数字输入输出卡(Secure Digital Input and Output Card),是在SD标准上定义了一种外设接口,通过SD的I/O接脚来连接外围设备,并且通过SD上的 I/O数据接位与这些外围设备进行数据传输。相关的一些设备为:GPS、

相机、Wi-Fi、调频广播、条形码读卡器、蓝牙等。SDIO本质上是一种接口,通过该接口可以连接一些其他功能的设备而非仅仅是存储设备。 1.2 SD卡的系统特征(SD物理层协议v 2.0) ?针对移动和固定应用; ?存储容量: 标准容量SD存储卡:最高2G 高容量SD存储卡:2G以上(在该规范版本中,最高32G) ?电压范围: 高电压SD存储卡—操作电压范围:2.7~3.6V 双电压SD存储卡—操作电压范围:低电压范围(T.B.D)和 2.7~ 3.6V ?分为只读卡和读/写卡; ?默认模式:时钟频率可在0~25MHz间变化,高达12.5MB/s 的接口速度(使用4条并行数据线) ; ?高速模式:时钟频率可在0~50MHz间变化,高达25MB/s 的接口速度(使用4条并行数据线) ; ?支持高速,电子商务和将来功能的转换功能命令; ?存储域错误纠正; ?读操作期间移去卡,内容不损坏; ?内容保护机制—符合SDMI标准的最高安全性; ?卡的密码保护(CMD42 - LOCK_UNLOCK);

LEACH协议簇头

《单片机原理与接口技术》期中论文 论文题目 LEACH协议簇头 选择算法的改进 姓名 学号 学院电气工程学院 专业班级 2008级通信工程

目录 引言................................. 错误!未定义书签。 1 LEACH协议 .......................... 错误!未定义书签。 LEACH 协议介绍.................... 错误!未定义书签。 LEACH 协议的能量损耗模型.......... 错误!未定义书签。 LEACH 的不足在于:................ 错误!未定义书签。 LEACH 协议的优化.................. 错误!未定义书签。 基本思想....................... 错误!未定义书签。 改进细节........................ 错误!未定义书签。 2 簇头选择算法的改进LEACH-H ........... 错误!未定义书签。 簇头初选........................... 错误!未定义书签。 簇头调整过程....................... 错误!未定义书签。 3仿真结果 ............................ 错误!未定义书签。 4仿真分析 ............................ 错误!未定义书签。 5结束语 .............................. 错误!未定义书签。参考文献 ............................. 错误!未定义书签。

tf卡通信协议

竭诚为您提供优质文档/双击可除 tf卡通信协议 篇一:sd卡和tF卡简介 sd卡和tF卡简介 tF卡 全名:transFlash,原名microsdcard。 由摩托罗拉与sandisk共同研发,在20xx年推出。是一种超小型卡(11*15*1mm),约为sd卡的1/4,可以算目前最小的储存卡了。tF卡可经sd卡转换器后,当sd卡使用。利用适配器可以在使用sd作为存储介质的设备上使用。transFlash主要是为照相手机拍摄大幅图像以及能够下载 较大的视频片段而开发研制的。transFlash卡可以用来储存个人数据,例如数字照片、mp3、游戏及用于手机的应用和个人数据等,还内设置版权保护管理系统,让下载的音乐、影像及游戏受保护;未来推出的新型transFlash还备有加密功能,保护个人数据、财政纪录及健康医疗文件。体积小巧的transFlash让制造商无须顾虑电话体积即可采用此设计,而另一项弹性运用是可以让供货商在交货前随时按客户不同需求做替换,这个优点是嵌入式闪存所没有的。

tF卡引脚定义: tF卡(sd模式): 1-data2,2-data3,3-cmd,4-vdd,5-clk,6-vss,7-data0,8-d ata1tF卡(spi模式): 1-rsv,2-cs,3-di,4-vdd,5-sclk,6-vss,7-do,8-rsv sd卡(securedigitalmemorycard) 安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(外语缩写pda)和多媒体播放器等。sd卡是一种基于半导体闪存工艺的存储卡,1999年由日本松下主导概念,参与者东芝和美国sandisk公司进行实质研发而完成。2000年这几家公司发起成立了sd协会(securedigitalassociation简称sda),阵容强大,吸引了大量厂商参加。其中包括ibm,microsoft,motorola,nec、samsung等。在这些领导厂商的推动下,sd卡已成为目前消费数码设备中应用最广泛的一种存储卡。sd卡具有大容量、高性能、安全等多种特点的多功能存储卡,它比mmc卡多了一个进行数据著作权保护的暗号认证功能(sdmi规格),读写速度比mmc卡要快4倍,达2m/秒。 尺寸32mmx24mmx2.1mm sd卡的技术是基于multimediacard(mmc)格式上发展而来,大小和mmc卡差不多,尺寸为32mmx24mmx2.1mm。长

STM32学习笔记之SD卡V2.0协议初始化

STM32学习笔记 ----SD卡V2.0协议初始化

现在使用的4G的SD卡,小于或等于2G的卡是属于标准SD卡,而大于2G的卡小于32G的卡是大容量SD卡,也就是SDHC卡。对于SDHC卡的初始化和操作要使用V2.0协议。看了几天的SD卡v2.0协议,现在总结一下啊。 首先是一个流程图,这个图在官方资料上有:

第一步操作:复位 SD卡上电后先发送(>74个时钟),因为SD卡有个供电电压上升过程需要大约64个时钟,之后的10个时钟是用来与SD卡同步(参考《例说STM32》)。参考代码: for(count=0;count<15;count++) SPI_WriteReadByte(0xff);//产生74个以上的脉冲 SD卡默认是SD模式,现在用STM32去操作,切换为SPI模式后更好操作。所以

在片选为低时发送CMD0,此时卡进入IDLE状态,因为CMD0回应的命令是R1,根据上面R1的回应格式可以看出我们自需要检查最低位就知道是否处于IDLE 状态。参考代码: do { tmp=SD_WriteCommand(CMD0,0,0X95);//发送SD count++; }while((tmp!=0x01)&&(count

Ubuntu安装ns-2.35及leach协议安装

Ubuntu 13.10下安装ns-2.35及leach协议安装 powered by Hong Sheng , Jiangsu university ,Zhenjiang 583301743@https://www.doczj.com/doc/c09916245.html, Tue Nov 25 , 2013 之所以选择基于linux的操作系统ubuntu来安装ns2,是因为我个人特别讨厌Microsoft 开发的基于windows的cygwin软件,此软件安装的时候不仅有各种错误,UI也不够友好。而,有关ubuntu的安装,大家可以自行baidu或google之。下面只讲解ns-2.35和leach协议的安装过程。 1. Ubuntu 13.10下ns- 2.35安装 step 1:下载ns2.35,https://www.doczj.com/doc/c09916245.html,/s/1h8rj0#dir/path=%2FNS解压,放在home/xx下,xx是你的用户名 step 2:更新源包,终端输入:sudo apt-get update step 3:安装依赖包 sudo apt-get install tcl8.5-dev tk8.5-dev sudo apt-get install build-essential autoconf automake sudo apt-get install perl xgraph libxt-dev libx11-dev libxmu-dev step 4:修改ns-allinone-2.35中ls.h文件的代码 将void eraseAll() { erase(baseMap::begin(), baseMap::end()); } 改为: void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); } step 5:sudo ls /usr/bin/gcc* //查看系统已经安装的gcc版本。Ubuntu 13.10默认安装了gcc-4.8 //和gcc-4.8版本的,如果是其他版本的linux操作系统且没有安装 //高于4.0版本的gcc/g++。则需要手动安装gcc/g++-4.8 sudo apt-get install gcc-4.8 g++-4.8 // 对于Ubuntu 13.10,此项是非必须的 sudo export CC=gcc-4.8 sudo export CXX=g++-4.8 //CC和CXX是全局变量,用来指定make将会用哪个版本的gcc/g++编译器生成 //makefile文件。如果没有这一步,保证你会makefile失败!!!因为,在ns-2.35文件夹//下的makefile.in 中要求配置全局变量。 echo $CC echo $CXX //查看全局变量导入成功了没有,如果成功,则执行 sudo ./install //开始进行安装,大概等5分钟左右。 ....... 出现以下的内容,每个人的/home/xx/不同,我的用户名是nan,所以,显示了以下信息。 Ns-allinone package has been installed successfully. Here are the installation places: tcl8.5.10: /home/nan/ns-allinone-2.35/{bin,include,lib} tk8.5.10: /home/nan/ns-allinone-2.35/{bin,include,lib} otcl: /home/nan/ns-allinone-2.35/otcl-1.14 tclcl: /home/nan/ns-allinone-2.35/tclcl-1.20 ns: /home/nan/ns-allinone-2.35/ns-2.35/ns nam:/home/nan/ns-allinone-2.35/nam-1.15/nam xgraph: /home/nan/ns-allinone-2.35/xgraph-12.2 gt-itm: /home/nan/ns-allinone-2.35/itm, edriver, sgb2alt, sgb2ns, sgb2comns, sgb2hierns

SD卡协议中文精编

S D卡协议中文精编 Document number:WTT-LKK-GBB-08921-EIGG-22986

一概述1. SD总线模式下 CLK:时钟信号 CMD:双向命令和响应信号 DAT0-3:双向数据信号 VDD,VSS:电源和地信号 SD模式下允许有一个主机, 多个从机(即多个卡), 主机可以给从机分别地址. 主机发 命令有些命令是发送给指定的从机,有些命令可以以广播形式发送. SD模式下可以选择总线宽度, 即选用几根DAT信号线, 可以在主机初始化后设置. 2. SD总线协议 SD模式下的命令和数据流都有一个开始位和结束位. >命令: 是在CMD上传输的用于启动一个操作的比特流. 由主机发往从机, 可以是点对点也可以是广播的. >响应: 是在CMD上传输的用于之前命令回答的比特流. 由从机发往主机. >数据: 是在DAT上传输的比特流, 双向传输.

无响应模式无数据模式 多块读操作模式 多块写操作模式

命令格式 响应格式 数据格式 SD卡上电后会自动初始化,通过给卡发送CMD0也可以复位卡. 二.SD卡命令描述.

1.广播命令: 给所有卡都发送, 某些命令需要响应. 2.点对点命令 给指定地址的卡发送, 需要响应. SD卡系统有两种工作模式: 1.卡识别模式. 主机上电复位后即处于此模式,它会在总线上等待卡. 卡复位后也处于此模式, 直到SEND_RCA(CMD3)命令到来. 2.数据传输模式. 卡收到SEND_RCA(CMD3)命令后即进入此模式. 主机识别到卡后也进入此模式. 卡状态和工作模式对照表 1.卡识别模式. 此模式下主机复位总线所有的卡, 验证工作电压, 询问卡的地址. 这个模式下所有数据的传输都是只通过CMD线来

LEACH协议的MATLAIB仿真代码

Matlab Code for LEACH NodeNums = 100; % the num of node AreaR = 100 ; % the area of simulate NodeTranR=10; % the transit Radius Elec=50 * 10^(-9); % Eamp=100*10^(-12); Bx=50; % The Postion of Baseation By=175; MaxInteral =700; % the leach simulate time Pch=0.05; % the desired percentage of cluster heads InitEn=0.5; % the init energy of all node Tr=30; TDMA=100; Kbit=2000; % the bits of a node transmiting a packet every time BandWitch = 1*10.^(6); % Channel Bandwitch TOS_LOCAL_ADDRESS = 0; for i=1:(MaxInteral) AliveNode(i)=NodeNums; AmountData(i)=0; end sym alldata; alldata=0; LAECH = zeros(1,MaxInteral); LAENO = zeros(1,MaxInteral); for i=1:1:NodeNums EnNode(i)=InitEn; % the init energy of all node StateNode(i)=1; % the State of all node 1: alive 0:dead ClusterHeads(i)=0; % the Set of Cluster Head ,1: cluster head 0 :node Rounds=0; % the round end Threshold=0; % the threshold of node becoming a cluster-head Node.x=AreaR*rand(1,NodeNums); % the position of node Node.y=AreaR*rand(1,NodeNums); Node.c=zeros(1,NodeNums); Node.d=zeros(1,NodeNums); Node.l=zeros(1,NodeNums); Node.csize=zeros(1,NodeNums); Node.initclEn=zeros(1,NodeNums); % for i=1:NodeNums % Node.c(i)=0; % the Cluster head of node

SD协议

一、SD规范介绍 二、物理层规范 三、SD Memory Card 四、SDIO Card 五、驱动编写 一、SD2.0规范介绍 1、版本 SD spec1.0 低速度、低容量25M 2G SD spec1.1 高速度、低容量50M 2G SD spec2.0 高速度、高容量50M 32G 2、SD规范包括 (1) 物理层规范 (2) 文件系统规范 (3) SD卡安全规范 (4) SD卡音频应用规范+其他相关应用规范 (5) SD MC扩展规范移动设备 (6) SDIO卡规范 现在针对SD Memory 和SDIO两种类型的设备,所以下面内容只涉及子协议(1)、(6)。 3、符合SD2.0规范的设备 SD卡MiniSD、MicroSD 1.0/1.1 SDIO卡wifi 、GPS SDHC 2.0 最少支持class2 SDXC Combo Card 传输速度类型分为 class0 旧的卡, class2 大于2MB/S class4 大于4MB/S class6 大于6MB/S

二、物理层规范 2、总线传输模式 SPI 串行传输、低速度 SD 最多支持四线传输 兼容MMC 3 SD总线 3.1 总线分为host device (1) comand 命令host to device 都是48位 A、广播命令 B、点对点命令 (2) response 响应device to host 根据内容不同分为R1、R3、R4、R7(48位)和R2(136位)

初始化阶段,host给SD卡分配地址 数据传输是有单块传输命令和多块传输命令,然后通过发送一个终止命令停止传输单块还是多块传输,通过host去配置 命令先传msb 在lsb 3.2 格式 (1) 命令格式 (2) 响应格式 (3) 数据格式 有两种 (1) usual data bus 字节为单位发送 (2) wide data bus 以块单位发送 usual data :先发送高位,在发送低位一字节一字节发送

SEP协议

1 SEP:A Stable Election Protocol for clustered heterogeneous wireless sensor networks G EORGIOS S MARAGDAKIS I BRAHIM M ATTA A ZER B ESTAVROS Computer Science Department Boston University gsmaragd,matta,best@https://www.doczj.com/doc/c09916245.html, Abstract—We study the impact of heterogeneity of nodes, in terms of their energy,in wireless sensor networks that are hierarchically clustered.In these networks some of the nodes become cluster heads,aggregate the data of their cluster members and transmit it to the sink.We assume that a percentage of the population of sensor nodes is equipped with additional energy resources—this is a source of heterogeneity which may result from the initial setting or as the operation of the network evolves. We also assume that the sensors are randomly(uniformly) distributed and are not mobile,the coordinates of the sink and the dimensions of the sensor?eld are known.We show that the behavior of such sensor networks becomes very unstable once the?rst node dies,especially in the presence of node heterogeneity.Classical clustering protocols assume that all the nodes are equipped with the same amount of energy and as a result,they can not take full advantage of the presence of node heterogeneity.We propose SEP,a heterogeneous-aware protocol to prolong the time interval before the death of the?rst node(we refer to as stability period),which is crucial for many applications where the feedback from the sensor network must be reliable. SEP is based on weighted election probabilities of each node to become cluster head according to the remaining energy in each node.We show by simulation that SEP always prolongs the stability period compared to(and that the average throughput is greater than)the one obtained using current clustering protocols. We conclude by studying the sensitivity of our SEP protocol to heterogeneity parameters capturing energy imbalance in the network.We found that SEP yields longer stability region for higher values of extra energy brought by more powerful nodes. I.I NTRODUCTION Motivation:Wireless Sensor Networks are networks of tiny, battery powered sensor nodes with limited on-board process-ing,storage and radio capabilities[1].Nodes sense and send their reports toward a processing center which is called“sink.”The design of protocols and applications for such networks has to be energy aware in order to prolong the lifetime of the network,because the replacement of the embedded batteries is a very dif?cult process once these nodes have been deployed.Classical approaches like Direct Transmission and Minimum Transmission Energy[2]do not guarantee well balanced distribution of the energy load among nodes of the sensor https://www.doczj.com/doc/c09916245.html,ing Direct Transmission(DT),sensor nodes transmit directly to the sink,as a result nodes that are far away from the sink would die?rst[3].On the other hand, using Minimum Transmission Energy(MTE),data is routed This work was supported in part by NSF grants ITR ANI-0205294,EIA-0202067,ANI-0095988,and ANI-9986397.over minimum-cost routes,where cost re?ects the transmission power expended.Under MTE,nodes that are near the sink act as relays with higher probability than nodes that are far from the sink.Thus nodes near the sink tend to die fast.Under both DT and MTE,a part of the?eld will not be monitored for a signi?cant part of the lifetime of the network,and as a result the sensing process of the?eld will be biased.A solution proposed in[4],called LEACH,guarantees that the energy load is well distributed by dynamically created clusters,using cluster heads dynamically elected according to a priori optimal probability.Cluster heads aggregate reports from their cluster members before forwarding them to the sink.By rotating the cluster-head role uniformly among all nodes,each node tends to expend the same energy over time. Most of the analytical results for LEACH-type schemes are obtained assuming that the nodes of the sensor network are equipped with the same amount of energy—this is the case of homogeneous sensor networks.In this paper we study the impact of heterogeneity in terms of node energy.We assume that a percentage of the node population is equipped with more energy than the rest of the nodes in the same network—this is the case of heterogeneous sensor networks.We are motivated by the fact that there are a lot of applications that would highly bene?t from understanding the impact of such heterogeneity.One of these applications could be the re-energization of sensor networks.As the lifetime of sensor networks is limited there is a need to re-energize the sensor network by adding more nodes.These nodes will be equipped with more energy than the nodes that are already in use,which creates heterogeneity in terms of node energy.Note that due to practical/cost constraints it is not always possible to satisfy the constraints for optimal distribution between different types of nodes as proposed in[5]. There are also applications where the spatial density of sen-sors is a constraint.Assuming that with the current technology the cost of a sensor is tens of times greater than the cost of embedded batteries,it will be valuable to examine whether the lifetime of the network could be increased by simply distribut-ing extra energy to some existing nodes without introducing new nodes.1 1We also study the case of uniformly distributing such extra energy over all nodes.In practice,however,it maybe dif?cult to achieve such uniform distribution because extra energy could be expressed only in terms of discrete battery units.Even if this is possible,we show in this paper that such fair distribution of extra energy is not always bene?cial.

相关主题
文本预览
相关文档 最新文档