이것저것/Windows CE

SD 관련 자료

우담바라 2009. 11. 10. 15:32

웹서핑중 어떤 분이 자신의 블러그에 SD관련 강좌를 진행 중이시길래...



<강좌 계획>

#1. SD카드에 대한 기본 지식(Backround)
  - SD카드의 종류 (Background)
  - SD카드의 간략적인 Block diagram
  - SD카드 시스템 Bus Topology
#2. SD카드 표준 Registers
  - OCR, CID, RCA, DSR, CSD, SCR
#3. SD카드 Command와 Response
#4. SD카드 CCC(Card Command Class)
#5. SD카드 Power-on sequence

[출처] 짱가의 SD카드 강좌 #1 : SD카드에 대한 기초 지식(Background)|작성자 짱가




SD Memory Card Identification

Adding more info to the SD card Identification process:
1. It is a stack of the drivers:
  ---------------------------------
  |  Clientdriver : SDMemory.dll
  ---------------------------------
  | BusDriver   : SDBus.dll  
  -------------------------------------------------
  | Host Controller Driver (HCD): myhcd.dll <---Card detection IST runs here.
  -------------------------------------------------
  | Host Controller Hardware.                     |          
  -------------------------------------------------

2. When the Card detection Interrupt comes Bus driver is notified by calling
SDHCDIndicateSlotStateChange(pHCContext, 0, DeviceInserted ); from HCD.

3. Then Bus Driver will start the Card Identificaction process for the Card
present in the SD Slot by sending the sequence of commands to the HCD.

4. First command is CMD5
  If the Response of this command is RSP_TIMEOUT that means the card
present in the slot is the Memory card and if the respose is RSP_DONE then it
is IO card.

5. So, Bus Driver sends further commands like CMD0, CMD1, ACMD41, CMD2,
CMD3, CMD7, ACMD51, ACMD42, CMD6 to read the Internal registers present in
the SD card and initialise the card thorough HCD.

6. At this point SD Bus driver loads the ClientDriver that is SDMemory.dll

7. Then this will be informed to the Storage Manager to mount this device.

8. Then FSD reads first sector present on the card thorough this stack and
knows the File system,  FAT32 and sector info also.

9. By successsively reading the volume info from the card it will enumerated
in the File sytem.

10. You can see as "Storage Card" when you open the file explorer.

11. Finally, if you remove the card from the slot, card removal interrupt
comes in the HCD's IST.

12. This need to be informed to the Bus Driver by calling
    SDHCDIndicateSlotStateChange(pHCContext, 0, DeviceEjected);

13. At this point Bus Driver mark's the slotstate as not ready so that no
furhter command will be sent to the HCD.
   And Bus Driver unloads the SDMemory.dll

 

'이것저것 > Windows CE' 카테고리의 다른 글

윈도우CE 디바이스 드라이버에 관한 12가지 이야기  (3) 2009.11.26
SD/MMC Driver  (0) 2009.11.03
[Windows CE6.0] - tip?  (0) 2007.10.16
vmware에 wince6.0(cepc)올리기  (0) 2007.10.11
MMU의 등장  (0) 2007.09.18