ﮐﻪ ﺑﺎ ﻧﺎم32 FATﻗﺎﺑﻠﯿﺖ آدرس دﻫﯽ 32ﺑﯿﺘﯽ ﮐﻼﺳﺘﺮﻫﺎ را دارا ﺑﻮد. اﯾﻦ ﻧﻤﻮﻧﻪ ﮐﻪ ﺗﺎ ﭼﻨﺪي ﭘﯿﺶ درﮐﺎﻣﭙﯿﻮﺗﺮﻫﺎي ﺷﺨﺼﯽ ﺣﺮف اول را در ﻣﻮرد ﻣﺪﯾﺮﯾﺖ ﻫﺎرددﯾﺴﮏﻫﺎ ﻣﯽزد ﺗﺎ ﻇﺮﻓﯿﺖ 32ﮔﯿﮕﺎﺑﺎﯾﺖ ﺣﺎﻓﻈﻪرا ﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽﮐﺮد و از ﺳﺮﻋﺖ ﺑﺎﻻﯾﯽﻧﺴﺒﺖ ﺑﻪ ﻫﻤﻪ ﻧﻤﻮﻧﻪﻫﺎي ﻗﺒﻠﯽ ﺑﺮﺧﻮردار ﺑﻮد. اﻣﺎ ﺑﺎ ﻧﻤﻮﻧﻪ آﺧﺮ ﺑﺎﻧﺎم NTFSﻓﻌﻼ ﺗﻤﺎم ﺣﺮفﻫﺎ و ﺣﺪﯾﺚﻫﺎ ﺗﻤﺎم ﺷﺪ، اﯾﻦ اﺳﺘﺎﻧﺪارد ﮐﻪ ﺑﺎ ﻧﻤﻮﻧﻪﻫﺎي ﻗﺒﻞ ﻓﺮق داﺷﺘﻪ وﻇﺮﻓﯿﺖ 2 ﺗﺮاﺑﺎﯾﺖ را در ﺣﺎﻓﻈﻪ ﭘﺸﺘﯿﺒﺎﻧﯽﻣﯽﮐﻨﺪ و ﺑﺴﯿﺎر ﺟﻤﻊ و ﺟﻮرﺗﺮ از ﻫﻤﻪ ﻃﺮاﺣﯽ ﺷﺪ و از رﯾﺨﺖ و ﭘﺎش ﻓﻀﺎي ﺣﺎﻓﻈﻪ ﺑﺴﯿﺎر ﺟﻠﻮﮔﯿﺮي ﺷﺪه و از ﻟﺤﺎظ ﺳﺮﻋﺖ و ﻣﯿﺰان ﻣﺤﺎﺳﺒﺎت ﻣﻮرد ﻧﯿﺎز ﺑﺴﯿﺎر ﺑﻬﯿﻨﻪ ﺳﺎزي ﺷﺪ.
در اداﻣﻪ ﺑﻪ ﺑﺤﺚ در ﻣﻮرد ﺑﻌﻀﯽ از ﻣﻔﺎﻫﯿﻢ ﻣﻮﺟﻮد در اﯾﻦ اﺳﺘﺎﻧﺪارد و ﮐﻠﻤﺎت ﮐﻠﯿﺪي آن ﻣﯽﭘﺮدازﯾﻢ و ﺑﺎ ﺗﻮﺿﯿﺢ ﻻزم ﺗﻔﺎوتﻫﺎي ﻣﻮﺟﻮد ﺑﯿﻦ ﻧﻤﻮﻧﻪﻫﺎي ﻣﺨﺘﻠﻒ را ﺷﺮح ﻣﯽدﻫﯿﻢ.
ﻣﻔﺎﻫﯿﻢ ﮐﻠﯿﺪي:
:SECTOR.1
ﻓﻀﺎي ﻣﻤﻮري ﮐﺎرتﻫﺎ ﯾﺎ ﻫﺎرد دﯾﺴﮏﻫﺎ ﺑﻪ ﺗﻌﺪادي ﺳﮑﺘﻮر ﺗﻘﺴﯿﻢﻣﯽﺷﻮﻧﺪ ﮐﻪ ﺑﺮاي ﻣﻤﻮري ﮐﺎرتﻫﺎي SD و MMCﺳﮑﺘﻮر ﺷﺎﻣﻞ 215 ﺑﺎﯾﺖ ﻣﯽﺑﺎﺷﺪ و ﻣﻤﻮري ﮐﺎرت در ﻫﻨﮕﺎم ﻧﻮﺷﺘﻦ و ﺧﻮاﻧﺪن ﺑﻄﻮر ﻣﺴﺘﻘﯿﻢ ﺑﺎ ﺑﺎﯾﺖﻫﺎ ﺳﺮ و ﮐﺎر ﻧﺪارد ﺑﻠﮑﻪ ﺑﺎ ﺳﮑﺘﻮرﻫﺎ ﮐﺎر ﻣﯽﮐﻨﺪ و ﺑﻪ اﯾﻦ ﺗﺮﺗﯿﺐ ﺑﺮاي اﯾﻨﮑﻪ ﺑﺘﻮان ﺑﺸﮑﻞ ﻣﻌﻤﻮل ﺑﺎ ﻣﻤﻮري ﮐﺎر ﮐﺮد ﺑﻬﺘﺮ اﺳﺖ ﮐﻪ ﻣﯿﮑﺮوﮐﻨﺘﺮﻟﺮي اﺳﺘﻔﺎده ﮐﺮد ﮐﻪ از 215 ﺑﺎﯾﺖ ﺑﯿﺸﺘﺮ داﺷﺘﻪ ﺑﺎﺷﺪSRAM
2.CLUSTER :
.از دﯾﺪﺳﺨﺖ اﻓﺰاري ﮐﻼﺳﺘﺮ وﺟﻮد ﺧﺎرﺟﯽ ﻧﺪارد و ﻓﻘﻂ در اﺳﺘﺎﻧﺪارد FAT ﻓﺎﯾﻞ ﺳﯿﺴﺘﻢ ﺑﺠﺎي اﯾﻨﮑﻪ ﺑﺎ ﺳﮑﺘﻮرﻫﺎ ﮐﺎر ﮐﻨﺪ ﮐﻪ ﺗﻌﺪاد زﯾﺎدي ﻣﯽﺑﺎﺷﻨﺪ ﺑﺎ ﮐﻼﺳﺘﺮ ﮐﺎر ﻣﯽﮐﻨﺪ، و ﮐﻼﺳﺘﺮ ﺑﻪ ﻣﺠﻤﻮﻋﻪاي از ﺳﮑﺘﻮرﻫﺎ اﻃﻼق ﻣﯽﺷﻮد ﮐﻪ ﺑﺮاي ﻫﺮ ﻧﻮع FATاﻋﻢ از21 FAT32 ، FAT16 ، FATو NTFSﻣﺘﻔﺎوت و واﺑﺴﺘﻪﺑﻪ ﻇﺮﻓﯿﺖ ﺣﺎﻓﻈﻪ ﻣﯽﺑﺎﺷﺪ. در ﺟﺪول زﯾﺮ اﯾﻦﻣﻄﻠﺐ ﺑﻪ روﺷﻨﯽ ﻣﺸﺨﺺ ﺷﺪه
:
تصوير ۱ |
از آﻧﺠﺎﯾﯽ ﮐﻪ ﻫﺮ ﺳﮑﺘﻮر در اﯾﻦ ﻧﻮع ﻣﻤﻮري 215 ﺑﺎﯾﺖ اﺳﺖ ﭘﺲ ﺑﻪ ﻃﻮر ﻣﺜﺎل ﺑﺮاي ﻇﺮﻓﯿﺖ921 ﻣﮕﺎﺑﺎﯾﺖ ﺗﺎ 652 ﻣﮕﺎﺑﺎﯾﺖ در . ﮐﻪ ﮐﻼﺳﺘﺮ ﺳﺎﯾﺰ 2 ﮐﯿﻠﻮﺑﺎﯾﺖ ذﮐﺮ ﺷﺪه ﯾﻌﻨﯽ4 ﺳﮑﺘﻮر. fat 32
3.(MBR :MBR (MASTER BOOT RECORD
ﯾﮏ ﮐﺪ اﺟﺮاﯾﯽ ﮐﻮﭼﮑﯽ اﺳﺖ ﮐﻪ در ﺑﺨﺸﯽ از ﺣﺎﻓﻈﻪ ﻗﺮار ﻣﯽﮔﯿﺮد ﺗﺎ ﺳﯿﺴﺘﻢ از آن ﺑﻪ اﺻﻄﻼح BOOTﺷﻮد. در ﺷﮑﻞ زﯾﺮ ﻧﺤﻮه ﺑﻮت ﺷﺪن ﯾﮏ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ را ﻣﻼﺣﻈﻪ ﻣﯽﮐﻨﯿﺪ:
تصوير 8-2
4.اﺟﺰاي FAT در ﺟﺪول زﯾﺮ اﯾﻦ اﺟﺰا ﻣﺸﺨﺺ اﺳﺖ:
ﻣﻔﺎﻫﯿﻢ ﮐﻠﯿﺪي:
:SECTOR.1
ﻓﻀﺎي ﻣﻤﻮري ﮐﺎرتﻫﺎ ﯾﺎ ﻫﺎرد دﯾﺴﮏﻫﺎ ﺑﻪ ﺗﻌﺪادي ﺳﮑﺘﻮر ﺗﻘﺴﯿﻢﻣﯽﺷﻮﻧﺪ ﮐﻪ ﺑﺮاي ﻣﻤﻮري ﮐﺎرتﻫﺎي SDو MMCﺳﮑﺘﻮر ﺷﺎﻣﻞ 215 ﺑﺎﯾﺖ ﻣﯽﺑﺎﺷﺪ و ﻣﻤﻮري ﮐﺎرت در ﻫﻨﮕﺎم ﻧﻮﺷﺘﻦ و ﺧﻮاﻧﺪن ﺑﻄﻮر ﻣﺴﺘﻘﯿﻢ ﺑﺎ ﺑﺎﯾﺖﻫﺎ ﺳﺮ و ﮐﺎر ﻧﺪارد ﺑﻠﮑﻪ ﺑﺎ ﺳﮑﺘﻮرﻫﺎ ﮐﺎر ﻣﯽﮐﻨﺪ و ﺑﻪ اﯾﻦ ﺗﺮﺗﯿﺐ ﺑﺮاي اﯾﻨﮑﻪ ﺑﺘﻮان ﺑﺸﮑﻞ ﻣﻌﻤﻮل ﺑﺎ ﻣﻤﻮري ﮐﺎر ﮐﺮد ﺑﻬﺘﺮ اﺳﺖ ﮐﻪ ﻣﯿﮑﺮوﮐﻨﺘﺮﻟﺮي اﺳﺘﻔﺎده ﮐﺮد ﮐﻪ از 215 ﺑﺎﯾﺖ ﺑﯿ ﺸﺘﺮ داﺷﺘﻪ ﺑﺎﺷﺪSRAM
2.CLUSTER :
.از دﯾﺪﺳﺨﺖ اﻓﺰاري ﮐﻼﺳﺘﺮ وﺟﻮد ﺧﺎرﺟﯽ ﻧﺪارد و ﻓﻘﻂ در اﺳﺘﺎﻧﺪارد FAT ﻓﺎﯾﻞ ﺳﯿﺴﺘﻢ ﺑﺠﺎي اﯾﻨﮑﻪ ﺑﺎ ﺳﮑﺘﻮرﻫﺎ ﮐﺎر ﮐﻨﺪ ﮐﻪ ﺗﻌﺪاد زﯾﺎدي ﻣﯽﺑﺎﺷﻨﺪ ﺑﺎ ﮐﻼﺳﺘﺮ ﮐﺎر ﻣﯽﮐﻨﺪ، و ﮐﻼﺳﺘﺮ ﺑﻪ ﻣﺠﻤﻮﻋﻪاي از ﺳﮑﺘﻮرﻫﺎ اﻃﻼق ﻣﯽﺷﻮد ﮐﻪ ﺑﺮاي ﻫﺮ ﻧﻮع FATاﻋﻢ از21 FAT32 ، FAT16 ، FATو NTFSﻣﺘﻔﺎوت و واﺑﺴﺘﻪﺑﻪ ﻇﺮﻓﯿﺖ ﺣﺎﻓﻈﻪ ﻣﯽﺑﺎﺷﺪ. در ﺟﺪول زﯾﺮ اﯾﻦﻣﻄﻠﺐ ﺑﻪ روﺷﻨﯽ ﻣﺸﺨﺺ ﺷﺪه:
از آﻧﺠﺎﯾﯽ ﮐﻪ ﻫﺮ ﺳﮑﺘﻮر در اﯾﻦ ﻧﻮع ﻣﻤﻮري 215 ﺑﺎﯾﺖ اﺳﺖ ﭘﺲ ﺑﻪ ﻃﻮر ﻣﺜﺎل ﺑﺮاي ﻇﺮﻓﯿﺖ921 ﻣﮕﺎﺑﺎﯾﺖ ﺗﺎ 652 ﻣﮕﺎﺑﺎﯾﺖ در . ﮐﻪ ﮐﻼﺳﺘﺮ ﺳﺎﯾﺰ 2 ﮐﯿﻠﻮﺑﺎﯾﺖ ذﮐﺮ ﺷﺪه ﯾﻌﻨﯽ4 ﺳﮑﺘﻮر. fat 32
3.(MBR :MBR (MASTER BOOT RECORD
ﯾﮏ ﮐﺪ اﺟﺮاﯾﯽ ﮐﻮﭼﮑﯽ اﺳﺖ ﮐﻪ در ﺑﺨﺸﯽ از ﺣﺎﻓﻈﻪ ﻗﺮار ﻣﯽﮔﯿﺮد ﺗﺎ ﺳﯿﺴﺘﻢ از آن ﺑﻪ اﺻﻄﻼح BOOTﺷﻮد. در ﺷﮑﻞ زﯾﺮ ﻧﺤﻮه ﺑﻮت ﺷﺪن ﯾﮏ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ را ﻣﻼﺣﻈﻪ ﻣﯽﮐﻨﯿﺪ:
ROOT DIRECTORY.5 :
ﺑﻪ ﺷﺎﺧﻪ اﺻﻠﯽ ﻣﻤﻮري ﮐﺎرتROOT DIRECTORY ﻣﯽﮔﻮﯾﻨﺪ ﮐﻪ در آن آدرس ﻓﺎﯾﻞﻫﺎ و ﻓﻮﻟﺪرﻫﺎي ﻣﻮﺟﻮد و ﻧﺎم و ﻣﺸﺨﺼﺎﺗﺸﺎن ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ.
در اداﻣﻪ ﺑﺮاي روﺷﻦ ﺷﺪن ﻣﻮﺿﻮع ، ﻫﺮ FAT را ﺑﻪ ﺻﻮرت ﺟﺪاﮔﺎﻧﻪ ﺑﺮرﺳﯽ ﻣﯽﮐﻨﯿﻢ
FAT32 :
ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﮔﻔﺘﻪ ﺷﺪ در ﻣﻤﻮري ﮐﺎرتﻫﺎ ﺳﮑﺘﻮر ﺑﻮت ﻣﻌﻤﻮﻻ در ﺳﮑﺘﻮر ﺻﻔﺮ ﻗﺮار دارد.
اﯾﻦ ﺳﮑﺘﻮر ﺷﺎﻣﻞ اﻃﻼﻋﺎت اﺻﻠﯽ ﻓﻀﺎي ﺣﺎﻓﻈﻪ اﺳﺖ. در ﺷﮑﻞ زﯾﺮ اﻃﻼﻋﺎت ﻣﻮﺟﻮد در اﯾﻦ ﺳﮑﺘﻮر را ﮐﻪ ﺑﺮاي ﺣﺎﻓﻈﻪ ﺧﺎﺻﯽ ﻧﻮﺷﺘﻪ ﺷﺪه ﻣﺸﺎﻫﺪه ﻣﯽﮐﻨﯿﺪ:
توضيحات: از ﺑﺎﯾﺖ ﺻﻔﺮ ﺗﺎ ﺑﺎﯾﺖ دﻫﻢ اﯾﻦ ﻓﻀﺎ اﻃﻼﻋﺎﺗﯽ از ﺷﺮﮐﺖ ﻣﻮرد ﻧﻈﺮ وﺟﻮد دارد ﮐﻪ در اﯾﻨﺠﺎ MSDOS5.0 را ﻣﻼﺣﻈﻪ ﻣﯽﮐﻨﯿﺪ.
Reserved sector :
اﯾﻦ داده دوﺑﺎﯾﺘﯽ ﻧﺸﺎن دﻫﻨﺪه آدرس ﺷﺮوع fat ﻣﯽﺑﺎﺷﺪ در واﻗﻊ اﯾﻦ آدرس ﻣﺤﻞﺷﺮوع ﺟﺪول ﺗﺨﺼﯿﺺ ﺣﺎﻓﻈﻪ ﯾﺎ memory allocation tableﻣﯽﺑﺎﺷﺪ ﮐﻪ ﻣﻬﻤﺘﺮﯾﻦ ﺑﺨﺶ ﻓﻀﺎي ﺣﺎﻓﻈﻪ ﺑﻮده و در اداﻣﻪ ﺗﻮﺿﯿﺢ داده ﺧﻮاﻫﺪ ﺷﺪ.
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨﮑﻪ ﺑﯿﺸﺘﺮ ﻣﻮاﻗﻊ آدرس ﺳﮑﺘﻮر اﺻﻠﯽ ﺻﻔﺮ اﺳﺖ ﺑﻄﻮر ﻣﻌﻤﻮل آدرس ﺷﺮوع fatﻧﯿﺰ ﻫﻤﯿﺸﻪ 36 ﻣﯽﺑﺎﺷﺪ. اﻟﺒﺘﻪ اﯾﻦ آدرس در ﻣﻮاردي ﮐﻪ ﺷﺮﮐﺖ راهاﻧﺪاز ﻧﯿﺎز ﺑﻪ ﻗﺮار دادن اﻃﻼﻋﺎﺗﯽ دور از دﺳﺘﺮس ﮐﺎرﺑﺮان ﺧﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﻓﺮق ﺧﻮاﻫﺪ ﮐﺮد اﻣﺎ اﮔﺮ ﻣﻤﻮري ﺑﺮاي ﮐﺎر ﺑﺎ وﯾﻨﺪوز ﻃﺮاﺣﯽ ﺷﺪه ﺑﺎﺷﺪ اﯾﻦ آدرس ﻫﻤﯿﺸﻪ 36 اﺳﺖ.
Number of FAT :
اﯾﻦ داده ﯾﮏ ﺑﺎﯾﺘﯽ ﺑﻮده و ﺗﻌﺪاد fat های ﻣﻮﺟﻮد در ﻣﻤﻮري را ﻧﺸﺎن ﻣﯽ دﻫﺪ و ﺑﻪ ﻃﻮر ﻣﻌﻤﻮل ﺣﺎوي ﻋﺪد 2 ﺑﻮده ﮐﻪ ﻧﺸﺎﻧﮕﺮ دو fat در مموری است که همانطور که قبلا گفته شدfat دوم برای بازیابی اطلاعات است که به دلایل نامعلومی از آن استفاده نمی شود.
روش ﮐﺎر ﺑﻪ ﺻﻮرﺗﯽ اﺳﺖ ﮐﻪ ﻓﺎﯾﻞﻫﺎ و ﻓﻮﻟﺪرﻫﺎ ﻫﻢ fatاول هم در fat دوم ﺗﺨﺼﯿﺺ و آدرس دﻫﯽ ﻣﯽﺷﻮﻧﺪ اﻣﺎ در ﻫﻨﮕﺎم ﭘﺎك ﮐﺮدن ﯾﺎ ﻓﺮﻣﺖ ﺳﺮﯾﻊﯾﺎ quick formatﻓﻘﻂ fatاول ﭘﺎك ﺷﺪه و fatدوم ﺗﺎ زﻣﺎﻧﯿﮑﻪ ﻓﺎﯾﻞ ﯾﺎ ﻓﻮﻟﺪر ﺟﺪﯾﺪي اﯾﺠﺎد ﻧﺸﻮد اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ دادهﻫﺎي ﻗﺒﻠﯽ را دارد ﭘﺲ ﻣﯽﺗﻮان ﺑﺎ رﺟﻮع ﺑﻪ
fat دوم اﻃﻼﻋﺎت از دﺳﺖ رﻓﺘﻪ را ﺑﺎزﮔﺮداﻧﺪ اﻣﺎ ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﮔﻔﺘﻪ ﺷﺪ اﯾﻦ روش اﺳﺘﻔﺎده ﻧﻤﯽﺷﻮد و در ﻫﻨﮕﺎم ﭘﺎك ﮐﺮدن ﯾﺎ ﻓﺮﻣﺖ ﺳﺮﯾﻊ ﻫﺮ دو fatﭘﺎك ﻣﯽﺷﻮﻧﺪ.
:Root cluster number
از آﻧﺠﺎﯾﯽ ﮐﻪﺷﺎﺧﻪ اﺻﻠﯽ ﻣﻤﮑﻦ اﺳﺖ ﻓﺎﯾﻞ و ﻓﻮﻟﺪرﻫﺎي زﯾﺎدي را در ﺧﻮد ﺟﺎي دﻫﺪ ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ اﯾﻦ ﺷﺎﺧﻪ ﺷﺎﻣﻞ ﭼﻨﺪ ﮐﻼﺳﺘﺮ اﺳﺖ ﮐﻪ در اﯾﻦ داده اﯾﻦ ﺗﻌﺪاد ﻣﺸﺨﺺ ﻣﯽﺷﻮد.
ﻃﻮل اﯾﻦ داده ﭼﻬﺎر ﺑﺎﯾﺖ اﺳﺖ و ﺑﻪ ﻗﻮل ﻣﺎﯾﮑﺮوﺳﺎﻓﺖ ﺑﻄﻮر ﻣﻌﻤﻮل ﺷﺎﻣﻞ ﻋﺪد 2 اﺳﺖ ﯾﻌﻨﯽ ﺷﺎﺧﻪ اﺻﻠﯽ دو ﮐﻼﺳﺘﺮ اﺳﺖ.
SD[1]/MMC[2]
اﯾﻦ ﻧﻮع ﺣﺎﻓﻈﻪﻫﺎ ﮐﻪ از ﻧﻮع FLASH ﻣﯽﺑﺎﺷﻨﺪ و ﺑﻪ ﺻﻮرت ﻣﺮﺳﻮم در دﺳﺘﮕﺎهﻫﺎي ﻗﺎﺑﻞ ﺣﻤﻠﯽ ﻣﺎﻧﻨﺪ MP3 PLAYERﻫﺎ ،COOL DISK ﻫﺎ و ﻣﻮﺑﺎﯾﻞﻫﺎ اﺳﺘﻔﺎده ﻣﯽﺷﻮﻧﺪ.
از ﺧﺼﻮﺻﯿﺎت ﺑﺎرز آن ﻣﯽﺗﻮان ﺑﻪ ﺳﺮﻋﺖ ﺑﺎﻻ و ﺣﺠﻢ ﺑﺴﯿﺎر ﺑﺎﻻي آن اﺷﺎره ﮐﺮد. اﯾﻦ ﺣﺠﻢ ﺑﺎﻻ ﮐﻪ از ﭼﻨﺪﯾﻦﻣﮕﺎﺑﺎﯾﺖ ﺗﺎ ﭼﻨﺪﯾﻦ ﮔﯿﮕﺎﺑﺎﯾﺖ ﻣﯽﺑﺎﺷﺪ ﺑﻪ ﻫﻤﺎن ﻗﺪر ﮐﻪ ﺑﺮاي ﺗﻮﻟﯿﺪ ﮐﻨﻨﺪﮔﺎن اﯾﻦ دﺳﺘﮕﺎهﻫﺎ وﺳﻮﺳﻪ اﻧﮕﯿﺰ اﺳﺖ ﮐﻪﺑﺮاي ﻣﻬﻨﺪﺳﺎن اﻟﮑﺘﺮوﻧﯿﮏ. ﺷﺎﯾﺪ دﻟﯿﻞﻋﻤﺪه اﯾﻦ ﺗﻮﺟﻪ از ﻃﺮف ﻣﻬﻨﺪﺳﺎن اﻟﮑﺘﺮوﻧﯿﮏ ﻓﻀﺎي زﯾﺎدي ﺑﺎﺷﺪ ﮐﻪ در ﻫﯿﭻ ﻣﺪار ﻣﯿﮑﺮوﮐﻨﺘﺮﻟﺮي ﺑﻪ آندﺳﺘﺮﺳﯽ ﻧﺪارﻧﺪ.
اﻟﺒﺘﻪ ﻗﻄﻌﺎت ﻣﺨﺘﻠﻔﯽ ﺑﺮاي رﻓﻊ اﯾﻦ ﻧﯿﺎز ﻣﺎﻧﻨﺪ ﺧﺎﻧواده AT45DBXXXاز ﺷﺮﮐﺖ اﺗﻤﻞ ﺗﻮﻟﯿﺪﺷﺪ ﮐﻪ ﻧﻮﻋﯽ FLASH ﺑﻮده وﻟﯽ از ﻟﺤﺎظ ﻇﺮﻓﯿﺖ ﻫﺮﮔﺰ ﺑﻪ ﮔﺮد SDﯾﺎ MMCﻧﺨﻮاﻫﻨﺪ رﺳﯿﺪ. وﯾﮋﮔﯽ ﺑﺎرز دﯾﮕﺮ اﯾﻦ ﺣﺎﻓﻈﻪ ﻗﺎﺑﻠﯿﺖ ﭘﺸﺘﯿﺒﺎﻧﯽ از اﺳﺘﺎﻧﺪاردﻫﺎي FATاﺳﺖ ﮐﻪ ﺑﺎ اﯾﻦ وﯾﮋﮔﯽاﻣﮑﺎن دﺳﺘﺮﺳﯽ ﺑﻪ دادهﻫﺎ در ﮐﺎﻣﭙﯿﻮﺗﺮ ﺑﻮﺟﻮد ﻣﯽآﯾﺪ.
ﺑﺮرﺳﯽ مموري ﮐﺎرت از دﯾﺪ ﺳﺨﺖ افزاري :
SD و MMCﺗﻨﻬﺎ از ﻧﻈﺮ ﺳﺮﻋﺖ و ﺣﺠﻢ ﺑﺎﻓﺮ ﺑﺎ ﻫﻢ ﺗﻔﺎوت دارﻧﺪ وﻟﯽ از ﻧﻈﺮ ﻧﻮع ﻓﻀﺎ و آدرس دﻫﯽﻫﺎ و... ﺑﺎ ﻫﻢ ﻓﺮﻗﯽ ﻧﺪارﻧﺪ. ﭘﺮوﺗﮑﻞ ارﺗﺒﺎﻃﯽ ﻣﻤﻮري ﺑﻪ دو ﺷﮑﻞ IDE MODEﯾﺎ ارﺗﺒﺎط ﻣﻮازي ﭼﻬﺎرﺑﯿﺘﯽ و ﻧﻮع SPI MODE ﯾﺎ ارﺗﺒﺎط ﺳﺮﯾﺎل ﺳﻨﮑﺮون ﻣﯽﺑﺎﺷﺪ ﮐﻪ ﻣﺘﺎﺳﻔﺎﻧﻪ ﻣﻄﺎﻟﺐ زﯾﺎدي درﺑﺎره ﻧﻮع اول ﻣﻮﺟﻮد ﻧﯿﺴﺖ اﻣﺎ ﻧﻮع دوم ارﺗﺒﺎط ﻣﺮﺳﻮﻣﯽ در ﻣﯿﮑﺮوﮐﻨﺘﺮﻟﺮﻫﺎﺳﺖ.
اﯾﻦ ﭘﺮوﺗﮑﻞ ارﺗﺒﺎﻃﯽ ﺑﻪ ﻃﻮر ﻣﻌﻤﻮل داراي ﺳﻪ ﺧﻂ اﺻﻠﯽ ارﺗﺒﺎﻃﯽ ﻣﯽﺑﺎﺷﺪ ﮐﻪ ﯾﮑﯽ از اﯾﻦ ﺳﻪ ﺧﻂ وﻇﯿﻔﻪ ارﺳﺎل داده، دﯾﮕﺮي درﯾﺎﻓﺖ داده و ﺧﻂ ﺳﻮم ﺣﺎﻣﻞ ﮐﻼك ﻣﯽﺑﺎﺷﺪ.
در اﯾﻦارﺗﺒﺎط ﻃﺮﻓﯿﻦ در دو ﺣﺎﻟﺖ ﻗﺮار ﻣﯽﮔﯿﺮﻧﺪ ﯾﮑﯽ MASTERﮐﻪ ﺗﻮﻟﯿﺪ ﮐﻨﻨﺪه ﭘﺎﻟﺲ و ﺣﺎﻟﺖ دوم
SLAVEﮐﻪ ﻫﯿﭽﮕﻮﻧﻪ اﻋﻤﺎﻟﯽ روي ﮐﻼك اﻧﺠﺎم ﻧﻤﯽدﻫﺪ و ﻓﻘﻂ درﯾﺎﻓﺖ ﮐﻨﻨﺪه آن اﺳﺖ.
در اﯾﻦ ارﺗﺒﺎط ﯾﮏ ﺧﻂ ﻧﯿﺰ ﺣﺎﻣﻞ ﺳﯿﮕﻨﺎل SSﯾﺎ SLAVE SELECTﻣﯽﺑﺎﺷﺪ ﮐﻪ ﺑﺎ ﻓﻌﺎل ﺷﺪن آن ﺳﯿﺴﺘﻢ درﯾﺎﻓﺖ ﮐﻨﻨﺪه اﯾﻦ ﺳﯿﮕﻨﺎل ﺑﻪ ﻣﺪ SLAVEﻣﯽرود اﻣﺎ اﯾﻦ ﺧﻂ ﺑﻪ ﺻﻮرت OPTIONALﯾﺎ اﺧﺘﯿﺎري
اﺳﺖ و در اﮐﺜﺮ ﻣﻮارد ﻧﯿﺎزي ﺑﻪ آن ﻧﯿﺴﺖ. در ارﺗﺒﺎط ﺑﺎ ﻣﻤﻮري ﮐﺎرتﻫﺎ اﯾﻦ ﺧﻂ ﺑﻪ ﻧﻮﻋﯽ ﺑﻌﻨﻮان CSﯾﺎ
CHIP SELECT ﺑﻪ ﮐﺎر ﻣﯽرود.
در ﺷﮑﻞ زﯾﺮ ﯾﮏ ﻧﻤﻮدار ﺳﯿﮕﻨﺎﻟﯽ اﯾﻦ ارﺗﺒﺎط را ﻣﺸﺎﻫﺪه ﻣﯽﮐﻨﯿﺪ:
ﻧﮑﺘﻪ ﻣﻬﻢ دﯾﮕﺮ اﯾﻨﮑﻪ در اﯾﻦ ارﺗﺒﺎط ﻣﯽﺗﻮان اﻧﺘﺨﺎب ﮐﺮد ﮐﻪ اﺑﺘﺪا MSBارﺳﺎل ﺷﻮد ﯾﺎ LSBﮐﻪ در ﺑﺤﺚﻣﻤﻮري ﮐﺎرت MSBاﺑﺘﺪا ارﺳﺎل ﻣﯽﺷﻮد.
شکل زیر ساختار درونی MMC را نشان میدهدکه از بلوکهایی جداگانه تشکیل شده است.همه این بلوکها به وسیله یک اسیلاتور داخلی کلاک می خورند.چون MMC دارای اوسیلاتور داخلی با فرکانس مشخص میباشد بنا براین برای انتقال داده توسط خطوط ( CMD دستور) و ( DAT داده) باید فرکانس اسیلاتور داخلی با فرکانس خط( CLK کلاک) که توسط( Host کنترلر) بوجود میاید سنکرون (همزمان) شود.این کار توسط واحد Interface driver انجام میشود.
MMc ها به وسیله سه پین )خط داده ( CMD,DAT.CLK کنترل میشوند که هر یک از این خطوط داده کار خاصی را در طول انتقال داده انجام میدهند.
همچنین MMCها دارای چهار رجیستر داخلی هستند که از این رجیستر ها برای شناسایی و یک سری از خصوصیات MMC استفاده میشود.این رجیستر ها عبارنتد از:
OCR یا(Operation Condition Register) :
این رجیستر رنج ولتاژهایی را که توسط کارت پشتیبانی میشود نشان میدهد.
CID یا (Card Identification) :
این رجیستر , رجیستر شناسایی کارت میباشد.
CSD یا (Card specific):
این رجیستر , رجیستر تعیین داده میباشد.
RCA یا (Rela Card Address) :
رجیستر تخصیص آدرس برای انتقال داده ها بین Host و mmc میباشد.
MMC برای انتقال داده از دو پروتکل پشتبانی می کند یا به عبارت دیگر به دو روش mode می توان داده ها را بین MMC و Host تبادل کرد که عبارتند از:
1. Multimedia Mode یا MMC Mode
2. Serial Peripheral Interface یا SPI Mode
در این مد برای انتقال داده از کمترین خط داده استفاده شده است که عبارتند از :
CLK :با هر دوره تناوب از سیگنال ورودی به این پین یک بیت داده بر روی خط DAT یا CMD جا به جا میشود.فرکانس این خط میتواند از صفر تا ماکزیمم فرکانس ممکنهباشد و این فرکانس میتواند در حین انتقال داده تغيیر کند
CMD : این خط یک خط داده دو طرفه است که برای فعال کردن MMC و دستور انتقال داده و پاسخ مورد استفاده قرار میگیرد.این خط به دو روش عمل میکند.
Open Drain Mode : برای فعال کردن MMC
Push Pull Mode : برای انتقال سریع داده دستور همیشه توسطHost يا مستر ارسال مي شود اما پاسخ توسط MMC فرستاده میشود.
DAT : این خط یک خط داده دو طرفه است و برای انتقال داده که باید بروی حافظه ذخیره یا از حافظه خوانده شودمورد استفاده قرار میگیرد.
ﻓﺮﮐﺎﻧﺲ ﮐﺎري ﺣﺎﻓﻈﻪ در ﻣﺪ SPIﺗﺎ 50 ﻣﮕﺎﻫﺮﺗﺰ ﺑﻮده و در اﯾﻦ ﭘﺮوژه ﮐﻪ ﺑﺎ ﻣﯿﮑﺮوﮐﻨﺘﺮﻟﺮ AVRاﻧﺠﺎم ﺷﺪه ﻓﺮﮐﺎﻧﺲ ﮐﺎري ﺣﺪاﮐﺜﺮ 16 ﻣﮕﺎﻫﺮﺗﺰ ﻣﯽﺑﺎﺷﺪ.
ﻧﮑﺘﻪ: ﺑﺮاي ارﺳﺎل ﻫﺮ داده ﯾﺎ دﺳﺘﻮر ﺑﻪ ﻣﻤﻮري ﺑﺎﯾﺪ اﺑﺘﺪا CSﻓﻌﺎل ﺷﻮد ﺑﺠﺰ ﻣﻮاردي ﮐﻪ ذﮐﺮ ﺧﻮاﻫﺪ ﺷﺪ.
ﻧﮑﺘﻪ: اﯾﻦ ﻧﻮع ﺣﺎﻓﻈﻪ ﺷﺎﻣﻞ ﭼﻨﺪﯾﻦ ﺳﮑﺘﻮر اﺳﺖ ﮐﻪ ﻫﻤﻪ ﺳﮑﺘﻮرﻫﺎ در ﻫﻤﻪ اﻧﻮاع ﻣﻤﻮري ﮐﺎرت512 ﺑﺎﯾﺖ اﺳﺖ.
1. رﯾﺴﺖ:
ﺑﺮاي راه اﻧﺪازي ﺣﺎﻓﻈﻪ اﺑﺘﺪا ﺑﺎﯾﺪ از ﻧﻈﺮ ﺳﺨﺖاﻓﺰاري رﯾﺴﺖ ﺷﻮد. ﺑﺮاي اﯾﻨﮑﺎر ﻣﺨﺎﻟﻒ ﻫﻤﻪ دﺳﺘﻮرﻫﺎ ﺑﺎﯾﺪ CSﻏﯿﺮ ﻓﻌﺎل ﺷﻮد ﺳﭙﺲ ده ﺑﺎر ﻋﺪد 0XFFاز ﻃﺮﯾﻖ SPIﺑﻪ ﻣﻤﻮري ارﺳﺎل ﺷﻮد. ﺑﻼﻓﺎﺻﻠﻪ ﻋﺪد 0X40 ﮐﻪ دﺳﺘﻮر RESETﻣﯽﺑﺎﺷﺪ ارﺳﺎل و ﭼﻬﺎر ﺑﺎر ﻋﺪد 0X00 ارﺳﺎل ﺷﻮد. در اداﻣﻪ ﻋﺪد 0X95 ارﺳﺎل ﺷﻮد و ﺗﺎ زﻣﺎﻧﯿﮑﻪ ﻋﺪد 0X01 از ﻃﺮف ﻣﻤﻮري درﯾﺎﻓﺖ ﻧﺸﺪ ﺑﻪ ﻣﻤﻮري ﻋﺪد 0XFFارﺳﺎل ﺷﻮد.
2.مقدار دهي اوليه :INITIALIZATION MEMORY
ﺑﺮاي INITﮐﺮدن ﻣﻤﻮري اﺑﺘﺪا CSرا ﻓﻌﺎل ﮐﺮده و ﻋﺪد 0X41 را ارﺳﺎل ﻣﯽﮐﻨﯿﻢ و ﺑﻼﻓﺎﺻﻠﻪ ﭼﻬﺎر ﺑﺎر ﺻﻔﺮ را ارﺳﺎل ﮐﺮده و ﺗﺎ زﻣﺎﻧﯿﮑﻪ از ﻃﺮف ﻣﻤﻮري ﻋﺪد 0X00 درﯾﺎﻓﺖ ﻧﺸﺪ ﺑﻪ ﻣﻤﻮري ﻋﺪد 0XFFرا ارﺳﺎل ﻣﯽﮐﻨﯿﻢ.
3. ﺧﻮاﻧﺪن ﯾﮏ ﺳﮑﺘﻮر از ﻣﻤﻮري:
ﺑﻌﺪ از ﻓﻌﺎل ﺷﺪن CSو ﻋﺪد 0X15 را ﺑﻪ آن ارﺳﺎل ﻣﯽﮐﻨﯿﻢ و ﺑﻪ ﺻﻮرت BIG INDIANدو ﺑﺮاﺑﺮ آدرس ﻣﻮرد ﻧﻈﺮ را ﺑﻪ ﻣﻤﻮري ارﺳﺎل ﮐﺮده و ﯾﮏ ﺑﺎر ﻋﺪد 0X00 را ارﺳﺎل ﮐﺮده و ﺗﺎ زﻣﺎﻧﯿﮑﻪ ﻋﺪد 0XFEرا درﯾﺎﻓﺖ ﻧﮑﺮدﯾﻢ ﺑﻪ ﻣﻤﻮري ﻋﺪد 0XFFرا ارﺳﺎل ﻣﯽﮐﻨﯿﻢ. در اﯾﻦ ﻟﺤﻈﻪ ﻣﻤﻮري آﻣﺎده ارﺳﺎل دادهﻫﺎي ﻣﻮﺟﻮد در ﺳﮑﺘﻮر ﻣﻮرد ﻧﻈﺮ ﺑﻮده و ﺑﺎ ﻫﺮ ﺑﺎر ارﺳﺎل 0XFFﯾﮑﯽ از 512 ﺑﺎﯾﺖ را ارﺳﺎل ﻣﯽﮐﻨﺪ.
4. ﻧﻮﺷﺘﻦ در ﯾﮏ ﺳﮑﺘﻮر:
ﺑﺮاي ﻧﻮﺷﺘﻦ در ﯾﮏ ﺳﮑﺘﻮر اﺑﺘﺪا ﻋﺪد0X58 ارﺳﺎل ﺷﺪه ﺳﭙﺲ دو ﺑﺮاﺑﺮ آدرس ﺳﮑﺘﻮر ﻣﻮرد ﻧﻈﺮ ارﺳﺎل و ﺳﻪ ﺑﺎر 0XFF و يك بار 0XFE ارسال شده در اين لحظه مي توان 512 بايت داده را ارسال كرد بعد از اين داده ها دو بار 0XFF ارسال مي شود و مي توان CS را غير فعال كرد. البته در اين پروژه تنها خواندن اطلاعات نياز است.