8:操作模式3-interrupt mode
1. 前言
eMMC总线操作包含:
- boot mode,
- device identification mode
- interrupt mode
- data transfer mode
本文主要描述interrupt mode.
interrupt mode有效的保证了从host到device的同步传输。这种模式减少了polling导致的系统负载和系统功耗,从而可以保证host对device请求的服务做出及时的响应。无论对于host还是device,interrupt mode都是可选的。
2. interrupt mode
图 eMMC状态转换-interrupt mode
1. host在向device发送CMD40(GO_IRQ_STATE)之前,必须保证device在stand-by mode。在等待device给出中断回应的时候,host必须保证clock信号有效,可以根据响应时间来调节clock rate;
2. host使用CMD40(GO_IRQ_STATE)让device进入wait-IRQ state,一旦device进入wait-IRQ state,它会等待device内部的IRQ事件到来,一旦IRQ内部事件到来,device会通过回应发送给host(响应是以open-drain模式发送),并回到stand-by state
3. 在等待内部中断事件的时候,device也在等待command line上的start bit,在没有中断事件时,一旦检测到command line上的start bit,device将终止中断模式并转换到stand-by state
4. 在CMD40回应期间,无论是否拥有总线的控制权,设备会切换到stand-by模式。
5. 在host收到中断回应之后,host回到标准的数据传输阶段。
6. 若是host想在中断回应收到之前终止中断模式,可以选择自己造一个CMD40回应(Device bit =0)且使用保留的RCA地址0x0000; 这会使device从Wait-IRQ-State进入到stand-by状态。现在host可以恢复到标准数据传输阶段了。
3.参考文档
[1]http://www.jedec.org/sites/default/files/docs/JESD84-B51.pdf