文档详情

物联网与嵌入式系统开发(第2版).ppt

发布:2025-02-02约17.08万字共10页下载文档
文本预览下载声明

CMD16:SET_BLOCKLEN。本指令用来设定Block长度,对象是以后的指令CMD17和CMD18。CMD17:READ_SINGLE_BLOCK。接到本指令后,将从自变量设定的地址传送1个block长度的数据(block长度由指令CMD16设定)。CMD18:READ_MULTIPLE_BLOCK。接到本指令后,将从自变量设定的地址连续传送block长度的数据,直到接到指令CMD12为止(block长度由指令CMD16设定)。CMD23:SET_BLOCK_COUNT。本指令是给紧跟的指令CMD18设定要传送的block数量。CMD24:WRITE_BLOCK。接到本指令后,将写1个block长度的数据到自变量设定的地址(block长度由指令CMD16设定)。CMD25:WRITE_MULTIPLE_BLOCK。接到本指令后,将连续写block长度的数据到自变量设定的地址,直到接到指令CMD12为止(block长度由指令CMD16设定)。CMD58:READ_OCR。接到本指令后,SD卡将传送OCR数据。CMD59:CRC_ON_OFF。本指令是用来设定CRC选项为ON或OFF。在SPI模式下,CRC的初始值设定为OFF。CRC选项[bit=1]表示CRCON;CRC选项[bit=0]表示CRCOFF。CMD命令在每个规范中略有不同,这里不一一介绍。1)CMD命令(续)2)命令回应repond(1)R1模式。对象指令如下:CMD0:GO_IDLE_STATECMD1:SEND_OP_CONDCMD9:SEND_CSDCMD10:SEND_CIDCMD11:VOLTAGE_SWITCHCMD12:STOP_TRANSMISSIONCMD13:SEND_STATUSCMD16:SET_BLOCKLENCMD17:READ_SINGLE_BLOCKCMD18:READ_MULTIPLE_BLOCKCMD19:SEND_TUNING_BLOCKCMD23:SET_BLOCK_COUNTCMD24:WRITE_BLOCKCMD25:WRITE_MULTIPLE_BLOCKCMD27:PROGRAM_CSDCMD30:SEND_WRITE_PROTCMD32:ERASE_WR_BLK_STARTCMD33:ERASE_WR_BLK_ENDCMD42:LOCK_UNLOCKCMD55:APP_CMDCMD56:GEN_CMDCMD59:CRC_ON_OFFACMD6:SET_BUS_WIDTHACMD13:SD_STATUSACMD22:SEND_NUM_WR_BLOCKSACMD23:SET_WR_BLK_ERASE_COUNTACMD42:SET_CLR_CARD_DETECTACMD51:SEND_SCR2)命令回应repond(续)765432100??0??0?inidlestateillegalcommandcommunicationCRCerroraddresserrorparametererror2)命令回应repond(续)(2)R2模式。对象指令指令如下:CMD2:ALL_SEND_CIDCMD9:SEND_CSDCMD10:SEND_CID

15141312111098765432100??0??0??0000000outofrangecommunicationCRCerrorinidlestateillegalcommandaddresserrorparametererrorIIC总线的数据传输如图7-9所示。图7-9IIC总线的数据传输4)重复起始条件在主设备与从设备进行通信时,有时需要切换数据的收发方向。在切换数据的传输方向时,可以不必线产生停止条件,而是直接再一次产生开始条件。IIC总线在处于忙的状态下,在一次直接产生开始条件的情况称为重复起始条件(RepeatedStartCondition)。5)子地址除了从设备地址外,还有子地址,子地址是器件内的地址。子地址长度由整数个字节组成,由具体的器件决定,子地址一般是1~3B。6)IIC总线竞争和仲裁机制总线上可能挂接有多个器件,有时会有两个或多个主设备同时想占用总线的情况,这就是总线竞争。IIC总线具有多主控能力,可以对发生在SDA线上的总线竞争进行仲裁。器仲裁原则为:当多个主设备同时想占用总线时,如果某个主设备发送高电平,而另一个主设备发送低电平,则

显示全部
相似文档