EMMC协议学习课程_第1页
EMMC协议学习课程_第2页
EMMC协议学习课程_第3页
EMMC协议学习课程_第4页
EMMC协议学习课程_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、设备状态与工作模式和总线模式的关系第1页/共59页第一页,编辑于星期五:十七点 五十九分。eMMC 主机的功能方框图内部总线RST_n控制逻辑RST_nCLK发送控制逻辑CLKCMD发送接收控制逻辑CMDDAT0状态检查控制逻辑CRC7生成/校验控制逻辑DAT1-7发送接收控制逻辑CRC16生成/校验控制逻辑(16单元)DAT0DAT1-7第2页/共59页第二页,编辑于星期五:十七点 五十九分。第3页/共59页第三页,编辑于星期五:十七点 五十九分。二 eMMC的内部寄存器寄存器寄存器 宽度(字节宽度(字节) 描述描述 操作的命令操作的命令 CID 16 16128128位的设备识别寄存器,包

2、括一个特有的设备的识别号码位的设备识别寄存器,包括一个特有的设备的识别号码 CMD2 RCA 2 21616位的相对地址寄存器,在卡的定义阶段由主机赋值位的相对地址寄存器,在卡的定义阶段由主机赋值, ,用于之后阶用于之后阶段设备的识别,默认的值段设备的识别,默认的值0 x0001 0 x0001 CMD3 DSR 2 21616位的驱动寄存器,可用于为扩展的操作条件提高总线的性能,默位的驱动寄存器,可用于为扩展的操作条件提高总线的性能,默认值为认值为0X4040X404。 CMD4 CSD 16 16设备的专用数据寄存器,包括:数据的格式、错误修正的类型、最设备的专用数据寄存器,包括:数据的格

3、式、错误修正的类型、最大数据访问的时间、数据传输的速度、是否有大数据访问的时间、数据传输的速度、是否有DSR寄存器等寄存器等 CMD9 CMD27 OCR 4 43232位的设备工作条件寄存器,存储电压值、访问模式、状态位等信位的设备工作条件寄存器,存储电压值、访问模式、状态位等信息息 CMD1 EXT_CSD 512 512512512字节的设备的扩展专用数据寄存器(字节的设备的扩展专用数据寄存器(192192字节可以编程),可以字节可以编程),可以设置设备的各种工作配置,可有设置设备的各种工作配置,可有SWITCH命令编程命令编程 CMD6第4页/共59页第四页,编辑于星期五:十七点 五十

4、九分。三 命令和应答 命令: 1 命令的类型 有四种命令的类型: 1)无应答的广播命令(bc) 2)有应答的广播命令(bcr) 3)DAT上无数据传输的点对点命令(ac) 4)DAT上有数据传输的点对点命令(adtc)第5页/共59页第五页,编辑于星期五:十七点 五十九分。2 命令的格式 所有的命令都是固定的长度48位,格式如下表所示 所有命令都是以0开始的,紧接着是传输的方向(主机发出的就为1,设备发出的就为0),接下来的6位是命令的索引,这是一组二进制码(063),设备就是对这六位译码,区分是哪种命令,还有一些命令需要arg值(比如地址),这一段的长度为32位,所有的命令都会被CRC7保护

5、着,所以CRC保护的是之前的40位,最后以1结束。第6页/共59页第六页,编辑于星期五:十七点 五十九分。命令的应答 应答也是由CMD传输的,由左边的位开始传输,应答位的长度根据应答的类型而定。应答是以0开始的,紧接着是传输的方向(设备 = 0 ),接下来的值根据类型不一样也不一样,除了R3以外都会被CRC7保护着,每条命令都是以1结束的。 一共有五种类型的命令应答形式: R1 ,R1b,R2, R3, R4, R5第7页/共59页第七页,编辑于星期五:十七点 五十九分。R1: 该应答的长度为48位,45:40显示的是命令的索引,39: 38是32位的设备状态。 R1b: 和R1的区别只是在D

6、AT0上存在忙信号的传输。第8页/共59页第八页,编辑于星期五:十七点 五十九分。R2:(CID、CSD寄存器) 该应答的长度为136位,CID的内容会作为CMD2和 CMD10的应答发送给主机,CSD的内容会作为CMD9的应 答发送给主机,仅仅只有CID和CSD的127:1被传输,最后 一位被应答的结束位所代替。第9页/共59页第九页,编辑于星期五:十七点 五十九分。 R3:(OCR寄存器) 该应答的长度为48位,OCR寄存器的值会作为CMD1 的应答发送给主机。第10页/共59页第十页,编辑于星期五:十七点 五十九分。 R4:(Fast IO) 该应答位的长度48位,ARG部分包括RCA的

7、值、寄存器 的值、寄存器的值, 如果操作成功,状态位就会被置位。第11页/共59页第十一页,编辑于星期五:十七点 五十九分。R5:(中断请求) 该应答的长度为48位,如果应答是主机自己发送的,那 么RCA的值为0 x0000。第12页/共59页第十二页,编辑于星期五:十七点 五十九分。3 命令和应答的时序: 无论是单倍数据率模式还是双倍数据率模 式,主机的命令和设备的应答都是在时钟的 上升沿采样的。第13页/共59页第十三页,编辑于星期五:十七点 五十九分。设备的识别及设备的操作条件的时序 设备的识别(CMD2)和设备的操作条件(CMD1)工作在 open-drain模式下,设备给主机的应答是

8、在NID个时钟周期后开 始的。如果在经过NID+1个时钟周期仍然没收到应答的话,主机 就需要做超时报告 (NID = 5)第14页/共59页第十四页,编辑于星期五:十七点 五十九分。给RCA赋值的时序 给RCA赋值(CMD3)也是工作在open-drain模式下,从主 机发完命令道设备应答之间最小的延迟时间为NCR个时钟周期。 (NCR = 2-64)第15页/共59页第十五页,编辑于星期五:十七点 五十九分。数据传输模式下命令及应答的时序: 在设备接收到RCA后就会打开数据传输模式,该模式是工作 在push-pull模式下的。在发送完命令之后紧接着有两位的Z(高 阻),这是给总线定义方向留的

9、时间,之后是被应答器件设为P位 ,除了CMD1,2,3以外,所有的应答时序都与这个图有关。 (NCR =2-64)第16页/共59页第十六页,编辑于星期五:十七点 五十九分。R1b的应答: 有些命令,比如说CMD6,在R1应答的时候需要BUSY信号 ,在命令传输完两个时钟周期后,BUSY信号开始,DAT0线被拉 低,DATA1-7上的值无关。 (NST =2,HS200: 2-4)第17页/共59页第十七页,编辑于星期五:十七点 五十九分。最后一条设备的应答-下一条是主机的命令: 主机在接收到设备最后一条应答之后,在经过至少NRC个时 钟周期之后主机就可以开始下一条命令传输,这个时序图与所有

10、的主机命令都有关。 (NRC = 8)第18页/共59页第十八页,编辑于星期五:十七点 五十九分。最后一条主机命令-下一条是主机命令 在主机发送完最后一条命令后,在经过至少NCC个时钟周期 之后主机就可以发送最后一条命令。 (NCC = 8)第19页/共59页第十九页,编辑于星期五:十七点 五十九分。一种 CMD 命令发送控制模型命令索引寄存器6-bit命令 Wire:HIGHLOW32-bit6-bit命令参数寄存器32-bit7-bitHIGHCRC7 生成控制模块启动和停止(计数)控制时钟发送控制第20页/共59页第二十页,编辑于星期五:十七点 五十九分。应答接收模块控制状态寄存器应答(

11、命令)参数寄存器32-bit命令索引寄存器6-bit应答控制状态寄存器(8-bit)发送使能应答格式应答格式:0: 长度 48-bit1: 长度 136-bit延迟模式:0: NCR 最小 2 时钟周期,最大 64 时钟周期1: NID 最小 5 时钟周期,最大 5 时钟周期CRC 状态忙状态接收使能超时接收完成延迟模式第21页/共59页第二十一页,编辑于星期五:十七点 五十九分。命令及应答的状态转换图第22页/共59页第二十二页,编辑于星期五:十七点 五十九分。四 EMMC的工作模式 eMMC有五种工作模式: 1)引导操作模式 2)设备的识别模式 3)中断模式 4)数据传输模式 5)非活动模

12、式第23页/共59页第二十三页,编辑于星期五:十七点 五十九分。引导操作模式:第24页/共59页第二十四页,编辑于星期五:十七点 五十九分。 在上电或软硬件复位后,在CMD1发送之前,如果保持 CMD线为低不少于74个时钟周期,设备就识别出启动了引导 操作模式,内部就会开始准备引导数据。主机就会从 EXT_CSD179字节的5:3选择的引导区来读取引导数据,在 将CMD线拉低1秒以后,设备就通过DAT线开始发送第一个引 导数据给主机,主机必须保持CMD线为低直到读完所有的 BOOT数据(push-pull模式)。第25页/共59页第二十五页,编辑于星期五:十七点 五十九分。设备的识别模式;第2

13、6页/共59页第二十六页,编辑于星期五:十七点 五十九分。 设备的识别过程: 主机首先发送CMD1来获取设备的操作条件,对于不兼容的设 备会进入非活动状态,之后主机发送广播命令CMD2来获取所有设 备的CID号,所有没有定义的设备(处于Ready State的设备)会 同时发送他们的CID号,但是只会有一个设备成功的将CID号完全 的发送给主机(设备可以监测发到总线上的设备号),其他设备会 依然停留在Ready State状态等待下一个识别周期。而被选中的设 备会进入设备的识别状态,之后主机会发送CMD3命令来给这些设 备赋一个相对地址,以用于将来的数据传输,完成赋值后,设备就 进入到Stan

14、d-by状态,同时会将输出驱动由open-drain变为 push-pull。主机会重复这样的过程,直到没有设备应答CMD2为 止(等待应答的时间为NID=5个时钟周期)。第27页/共59页第二十七页,编辑于星期五:十七点 五十九分。中断模式第28页/共59页第二十八页,编辑于星期五:十七点 五十九分。 主机通过CMD40使设备进入Wait-IRQ状态,设备就会 等待内部的中断时间发生,一旦发生,设备就会给主机一个 应答(open-drain),返回Stand-by状态,同时主机也会 等待命令线上的起始位(0),一旦收到起始位,设备也会 放弃中断模式,并进入Stand-by状态;主机也可以自己

15、给自 己发送一个CMD40应答,使设备回到Stand-by状态,发送 的应答RCA=0 x0000,Device bit = 0。第29页/共59页第二十九页,编辑于星期五:十七点 五十九分。数据传输模式第30页/共59页第三十页,编辑于星期五:十七点 五十九分。单倍数据率的数据传输第31页/共59页第三十一页,编辑于星期五:十七点 五十九分。第32页/共59页第三十二页,编辑于星期五:十七点 五十九分。双倍数据率的数据传输第33页/共59页第三十三页,编辑于星期五:十七点 五十九分。第34页/共59页第三十四页,编辑于星期五:十七点 五十九分。读数据的时序: 读数据包括单倍数据率和双倍数据率

16、模式。 单倍数据率模式下,数据被设备打出在时钟的上升沿被 主机采样,每条数据线上有一个CRC。 双倍数据率模式下,数据既可以在上升沿采样也可以在 下降沿采样,而且每条数据线上有两个CRC。在这种模式下 ,数据块的长度应该为512B,也可以配置为4位或8位的总 线宽度,奇数字节和偶数字节会分别在时钟的上升沿和下降 沿被主机采样,每条有效地数据线上都会有两个CRC,分别 对应256个奇数字节和256个偶数字节。注意只有数据块和 两个CRC可以在上升沿和下降沿采样,开始位和结束位只能 在时钟的上升沿采样。第35页/共59页第三十五页,编辑于星期五:十七点 五十九分。单个数据块的读时序: 主机通过CM

17、D7来选中一个设备进行数据的读操作,然后通 过CMD16来设置有效地数据块的长度(CMD16仅应用在单倍数 据率模式下),读操作的基本的总线时序如上图所示,单个块的 读操作是由CMD17开始的,arg部分包括读的开始地址,应答跟 通常一样由CMD线发送。从设备发出的数据比读命令的最后一位 晚NAC个时钟周期,在最后一位数据位后面会跟上CRC校验码供 主机检查传输错误。 (NCR=2-64,NAC=2-10*(TAAC*FOP+100*NSAC) HS200:NAC=8)第36页/共59页第三十六页,编辑于星期五:十七点 五十九分。多数据块的读时序: 多数据块的读停止命令下的时序第37页/共59

18、页第三十七页,编辑于星期五:十七点 五十九分。写数据的时序: 写数据包括单倍数据率模式和双倍数据率模式。 在单倍数据率模式下,数据被主机发出在时钟的上升沿 被设备采样,每条数据线上有一个CRC码。在双倍数据率模 式下,主机发出的数据既可以在时钟的上升沿也可以在时钟 的下降沿被采样,每条有效地数据线上有两个CRC。这种模 式下的数据块的长度为512B,可以选择4位或8位的总线配 置,奇数字节被时钟的上升沿采样,偶数字节被时钟的下降 沿采样,主机将会添加两个CRC码,一个给奇数字节,一个 给偶数字节。注意只有数据块和两个CRC可以在时钟的上升 沿和下降沿采样,起始位和结束位以及CRC的状态位都只能

19、 在时钟的上升沿采样。第38页/共59页第三十八页,编辑于星期五:十七点 五十九分。单个数据块的写: 主机通过CMD7来选中一个设备进行数据的写操作,然后通过CMD16来 设置有效地数据块的长度(CMD16仅应用在单倍数据率模式下),基本的总线 写操作的时序如上图所示,单个块的写操作是由CMD24开始的,arg部分包括 读的开始地址,应答跟通常一样由CMD线发送。从主机发出数据需要比收到设 备的应答的晚NWR个时钟周期,在最后一位数据位后面会跟上CRC校验码供设 备检查传输错误。设备会通过DAT0返回CRC的状态来显示校验的结果,如果传 输错误,CRC的状态值为“101”,如果传输正确,CRC

20、的状态值为“010”, 并开始编程状态。 NCRC定义在HS200中,只有HS200设备支持NCRC,是从数据块的结束位 到CRC状态的起始位经历的时钟数,应该在2到8个时钟周期之间。 当设备编程时,就会将DAT0线拉低以显示正处于忙状态,设备一旦完成编 程DAT0线就会停止被拉低。 (NWR = 2,NCRC = 2-8)第39页/共59页第三十九页,编辑于星期五:十七点 五十九分。多个数据块的写:第40页/共59页第四十页,编辑于星期五:十七点 五十九分。在不同的设备状态接收到停止命令的时序:第41页/共59页第四十一页,编辑于星期五:十七点 五十九分。第42页/共59页第四十二页,编辑于

21、星期五:十七点 五十九分。一种停止写数据的停止命令的发送时序:第43页/共59页第四十三页,编辑于星期五:十七点 五十九分。总线测试过程的时序: 在进入Tran-state状态后,主机就可以开始总线测试了, 在双数据率模式下,总线测试时无效的,主机发CMD19命令 如果没有收到设备应答,主机就应当通过CMD13命令去读取 设备的状态信息,主机会认为是设备不支持这个功能。第44页/共59页第四十四页,编辑于星期五:十七点 五十九分。BOOT操作的时序:第45页/共59页第四十五页,编辑于星期五:十七点 五十九分。第46页/共59页第四十六页,编辑于星期五:十七点 五十九分。DAT 传输控制寄存器

22、数据传输控制寄存器(8-bit)数据传输命令使能停止命令使能引导操作直接使能传输方向引导状态接收使能中断传输命令使能数据块数寄存器7-bit缓存起始块地址寄存器7-bit数据传输状态寄存器(8-bit)CRC状态忙状态超时传输完成总线宽度1总线宽度0第47页/共59页第四十七页,编辑于星期五:十七点 五十九分。CLK 时钟及复位控制寄存器时钟控制寄存器(8-bit)时钟使能时序模式0复位使能时序模式1时序模式 0 时钟分频器(识别模式 fOD)时序模式 1 时钟分频器(非高频模式 fPP)时序模式 2 时钟分频器(高频模式 fPP)时序模式 3 时钟分频器(HS200模式)第48页/共59页第

23、四十八页,编辑于星期五:十七点 五十九分。数据传输部分整体结构图第49页/共59页第四十九页,编辑于星期五:十七点 五十九分。数据传输控制状态图第50页/共59页第五十页,编辑于星期五:十七点 五十九分。Read状态: 该状态为一个数据块的读状态,数据块的长度为512B,多块的读则循环进 入该状态,由Block_num计数,在Wait_read状态下只要有任何一根数据线上检 测到起始位就会进入该状态。 该状态有三种总线宽度模式:1BIT,4BIT,8BIT 8BIT:该状态的时间为:512+16+1个时钟周期,以read_count计数,每个时 钟计一次,小于512时RAM地址随read_co

24、unt加1,等于528时跳出。 4BIT:该状态的时间为:512*2+16+1个时钟周期,以read_count计数 小于 512时每2个时钟计一次,并且RAM地址随read_count加1。等于512后 每个时钟计1次。等于528时跳出。 1BIT:该状态的时间为:512*8+16+1个时钟周期,以read_count计数 小于 512时每8个时钟计一次,并且RAM地址随read_count加1。等于 512后每个时钟计1次。等于528时跳出。 跳出该状态完成后,判断Block_num的值,为0则进入Idle状态,非0则进 入Wait_read状态再次等待起始位,同时将Block_num的值

25、减1.第51页/共59页第五十一页,编辑于星期五:十七点 五十九分。Write状态: Write状态与Read状态的具体操作类似,不同点Write 状态一完成就进入REV_crc状态等待接收CRC状态,在检测 到起始位后再计4个周期CRC即接收完毕,如果为单块或多 块的最后一个块(Block_num = 0),就会进入Prom状态 ,直到DAT0不为0跳回Idle状态;如果为多块且Block_num 不为0,需要立刻检测DAT0,如果为0,则进入Prom状态, 直到DAT0不为0跳到Wait_write状态等待写下一个块,如果 DAT0不为0,则会立刻直接跳到Wait_write状态等待写下一 个块第52页/共59页第五十二页,编辑于星期五:十七点 五十九分。以8bit为例的一种读数据时停止命令的发送时序第53页/共59页第五十三页,编辑于星期五:十七点 五十九分。Rea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论