Subversion Repositories ngs

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//RU">
  2. <html>
  3.         <head>
  4.                 <title>╨рсюЄрхь ё MMC</title>
  5.                 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Windows-1251">
  6.                 <LINK href="style.css"type=text/css rel=stylesheet>
  7.                 <SCRIPT LANGUAGE="JavaScript" SRC="menu.js" TYPE="text/javascript"></SCRIPT>
  8.         </head>
  9. <body>
  10. <!-- onLog counter begin -->
  11. <script language="javascript"><!--
  12. var ref; ref = escape(document.referrer);
  13. var doc; doc = escape(window.location.href);
  14. document.write('<a href=http://www.onlog.ru><img src="http://www.onlog.ru/counter.php?id=1289&ref='+ref+'&doc='+doc+'" width=1 height=1 border=0 alt=""></a>')
  15. // --></script>
  16. <!-- onLog counter end -->
  17. <table border="0" cellspacing="20" cellpadding="0" width="100%">
  18. <tr>
  19.         <td rowspan="2" valign="top">
  20.                 <script language="JavaScript" type="text/javascript">display_menu(5,2);</script>
  21.                 <noscript>╠хэ■ эр JavaScript</noscript>
  22.         </td>
  23.         <th>
  24.                 <A NAME="beg"><h1 align="center">─╕°хтю ш ёхЁфшЄю!</h1></A>
  25.         </th>
  26. </tr>
  27. <tr>
  28.         <td valign="top">
  29.         <h2>└ч√ ЁрсюЄ√ ё MMC</h2>
  30.         <div align="justify">
  31.         &nbsp;&nbsp;&nbsp;&nbsp;MMC ърЁЄ√ шьх■Є фюёЄрЄюўэю яЁюёЄюх єяЁртыхэшх. ╧рь Є№ ЁрчсшЄр эр ёхъЄюЁр яю 512 срщЄ. ╩рЁЄ√ ЇюЁьрЄшЁє■Єё  Єръ цх, ъръ юс√ўэ√х тшэўхёЄхЁ√ яюф DOS: ё 1 Ёрчфхыюь, Їрщыютр  ёшёЄхьр - FAT16. ╫Єхэшх тючьюцэю ъръ юЄфхы№э√ьш срщЄрьш, Єръ ш сыюърьш.<br>&nbsp;&nbsp;&nbsp;&nbsp;═ряЁ цхэшх яшЄрэш  ърЁЄ√ фюыцэю с√Є№ т яЁхфхырї +2.7т...+3.6┬, ёъюЁюёЄ№ юсьхэр фю 20 ьсшЄ/ё. ╧Ёш яЁюёЄюх сюыхх 5ьё ърЁЄюўър яхЁхтюфшЄё  т sleep Ёхцшь ё ьры√ь ¤эхЁуюяюЄЁхсыхэшхь, ш т√їюфшЄ шч эхую ртЄюьрЄшўхёъш яЁш тючюсэютыхэшш юсьхэр.<h4 align="center">╚эЄхЁЇхщё ърЁЄ√</h4>&nbsp;&nbsp;&nbsp;&nbsp;MMC ърЁЄ√ ьюуєЄ ЁрсюЄрЄ№ т фтєї Ёхцшьрї юсьхэр - <I>MultiMediaCard protocol</I> ш <I>SPI protocol</I>.╧хЁт√щ сюыхх ёъюЁюёЄэющ, р т яюы№чє тЄюЁюую уютюЁшЄ Єю, ўЄю ьэюую ъюэЄЁюыыхЁют шьх■Є тёЄЁюхээ√щ SPI шэЄхЁЇхщё. ═шцх яЁштхфхэр Ёрчтюфър MMC шьхээю фы  ЁрсюЄ√ т Ёхцшьх SPI:<br><br><table class="p" align="center"><tr><td class="p" rowspan="8"><IMG src="pic/mmc_flash.png" alt="Ёрчтюфър MMC"></td><th>PIN</th><th>╚ь </th><th>╘єэъЎш </th></tr><tr><td class="p">1</td><td class="p">xCS</td><td class="p">┬√сюЁ ъЁшёЄрыыр</td></tr><tr><td class="p">2</td><td class="p">DI</td><td class="p">┬їюфэ√х фрээ√х</td></tr><tr><td class="p">3</td><td class="p">VSS</td><td class="p">╟хьы </td></tr><tr><td class="p">4</td><td class="p">VDD</td><td class="p">╧шЄрэшх +3.3т</td></tr><tr><td class="p">5</td><td class="p">SCLK</td><td class="p">╤шэїЁюэшчрЎш </td></tr><tr><td class="p">6</td><td class="p">VSS2</td><td class="p">╟хьы </td></tr>    <tr><td class="p">7</td><td class="p">DO</td><td class="p">┬√їюфэ√х фрээ√х</td></tr></table><br>&nbsp;&nbsp;&nbsp;&nbsp;Cшуэры т√сюЁъш шьххЄ "0" ръЄштэ√щ єЁютхэ№. SPI яюЁЄ т єяЁрты ■∙хь ъюэЄЁюыыхЁх (фрыхх ╠╩) фюыцхэ с√Є№ эрёЄЁюхэ Єръ, ўЄюс√ ръЄштэ√ь с√ы яхЁхфэшщ ЇЁюэЄ SCLK:<br>  <div align="center"><IMG src="pic/spi_wave.png" alt="SPI юсьхэ"></div><br>&nbsp;&nbsp;&nbsp;&nbsp;╤Ёрчє цх эряюьэ■ ю Єюь, ўЄю ЇръЄшўхёъш яхЁхфрўр срщЄр шч ъюэЄЁюыыхЁр (DO) юёє∙хёЄты хЄё  ярЁрыыхы№эю ё яЁш╕ьюь яю фЁєующ ышэшш (DI). ╫Єюс√ эрўрЄ№ яЁш╕ь/яхЁхфрўє ўхЁхч SPI т PICх (т Master mode), т сєЇЇхЁ яЁш╕ьюяхЁхфрЄўшър SSPBUF эєцэю ўЄю-Єю чряшёрЄ№, р яюёых юъюэўрэш  яхЁхё√ыъш шч SSPBUF ёўшЄрЄ№ яЁшэ Єюх. ┬ яЁюёЄхщ°хь ёыєўрх юсьхэ ё ърЁЄющ шьххЄ тшф "ъюьрэфр - юЄтхЄ":<br><div align="center"><IMG src="pic/spi_exch1.png" alt="ъюьрэфр-юЄтхЄ"><br><font size="-1"><b class="rd">╬сючэрўхэш :</b>1 ъыхЄър - 8 сшЄ; X - яЁюшчтюы№эю, Z - ЄЁхЄ№х ёюёЄю эшх, H - 0xFF, L - 0x00; ╥Ё = 1&#247;8 срщЄ, ╥юЄт = 1&#247;many срщЄ.<br>┬эшьрэшх! ╨шёєэъш яю ёэ ■Є яЁшэЎшя юсьхэр, яю¤Єюьє ьрё°Єрс√ эх ёюсы■фхэ√!</font></div><br>&nbsp;&nbsp;&nbsp;&nbsp;╬сьхэ эрўшэрхЄё  ё Єюую, ўЄю ╠╩ т√ёЄрты хЄ ёшуэры 0 эр xCS. ╤эрўрыр яюё√ырхь 6 срщЄ ъюьрэф√ - яюёыхфютрЄхы№эю яш°хь т т√°хєърчрээ√щ SSPBUF эєцэ√х срщЄ√, эх чрс√тр  яхЁхф чряшё№■ юўхЁхфэюую фюцшфрЄ№ё  юъюэўрэш  яхЁхфрўш яЁхф√фє∙хую (сшЄ SSPSTAT,BF). ─рыхх эєцэю фюцфрЄ№ё  юЄтхЄр ърЁЄ√: яш°хь т SPI срщЄ 0xFF ш яю юъюэўрэшш ърцфющ яхЁхфрўш (ъюэЄЁюышЁєхь SSPSTAT,BF) ўшЄрхь яЁшэ Єюх т SSPBUF. ╧хЁт√щ срщЄ, юЄышўэ√щ юЄ 0xFF, сєфхЄ яхЁт√ь срщЄюь юЄтхЄр ърЁЄюўъш (р фы  ЁрёёьрЄЁштрхь√ї эшцх ъюьрэф юЄтхЄ тёхуфр ёюёЄюшЄ шч 1 срщЄр).<br>&nbsp;&nbsp;&nbsp;&nbsp;─рээ√х, хёыш ЄЁхсєхЄё , яхЁхфр■Єё  яюёых юЄтхЄр сыюъюь чрфрээющ Ёрэхх фышэ√:<br><div align="center"><IMG src="pic/spi_exch2.png" alt="ъюьрэфр-юЄтхЄ-фрээ√х"></div><br>═рўрыю сыюър фрээ√ї "ыютшЄё " Єръ-цх: хую яхЁт√щ срщЄ юЄышўхэ юЄ 0xff (ёь. эшцх).╧юёых юъюэўрэш  юсьхэр эєцэю яюфрЄ№ 1 эр xCS.<br><br><h4 align="center">╩юьрэф√ ш юЄтхЄ√</h4>&nbsp;&nbsp;&nbsp;&nbsp; ╩юьрэфр шьххЄ фышэє 6 срщЄ, яхЁхфрўр тёхуфр эрўшэрхЄё  ёю ёЄрЁ°хую сшЄр. ╧ръхЄ ъюьрэф√ шьххЄ
  32.         ёыхфє■∙шщ ЇюЁьрЄ:
  33.         <table class="p" align="center">
  34.                 <tr><th>╧ючшЎш  сшЄр</th><td class="p">47</td><td class="p">46</td><td class="p">[45:40]</td><td class="p">[39:8]</td><td class="p">[7:1]</td><td class="p">0</td></tr>
  35.                 <tr><th>─ышэр</th><td class="p">1</td><td class="p">1</td><td class="p">6</td><td class="p">32</td><td class="p">7</td><td class="p">1</td></tr>
  36.                 <tr><th>╟эрўхэшх</th><td class="p">'0'</td><td class="p">'1'</td><td class="p">x</td><td class="p">x</td><td class="p">x</td><td class="p">'1'</td></tr>
  37.                 <tr><th>╬яшёрэшх</th><td class="p">ёЄрЁЄ сшЄ</td><td class="p">-</td><td class="p">╣ ъюьрэф√</td><td class="p">рЁуєьхэЄ</td><td class="p">CRC7</td><td class="p">ёЄюя сшЄ</td></tr>
  38.         </table>
  39.         <br>
  40.         &nbsp;&nbsp;&nbsp;&nbsp;╧Ёш ЁрсюЄх MMC т Ёхцшьх SPI фюёЄєяэю юъюыю 15 ъюьрэф, яючтюы ■∙шї тю-яхЁт√ї яюыєўшЄ№ яюыэє■ шэЇюЁьрЎш■
  41.         ю Єшях ш Єхъє∙хь ёюёЄю эшш ърЁЄ√, тю-тЄюЁ√ї яЁюшчтюфшЄ№ чряшё№ ш ўЄхэшх фрээ√ї. ╨рёёьюЄЁшь тёхую ыш°№ 4 ъюьрэф√, ё яюью∙№■
  42.         ъюЄюЁ√ї ьюцэю ыш°№ ўшЄрЄ№ фрээ√х ё MMC сыюърьш ЁрчьхЁюь 1&#247;512 срщЄ (ьэх фы  яыххЁр тяюыэх їтрЄрхЄ):
  43.         <table class="p" align="center">
  44.         <tr><th>═юьхЁ<br>ъюьрф√</th><th>└ЁуєьхэЄ</th><th>╬яшёрэшх</th></tr>
  45.         <tr><td class="p">CMD0</td><td class="p">эхЄ</td><td class="p">go_idle_state<br>╤сЁюё</td></tr>
  46.         <tr><td class="p">CMD1</td><td class="p">эхЄ</td><td class="p">send_op_cond<br>╚эшЎшрышчрЎш </td></tr>
  47.         <tr><td class="p">CMD16</td><td class="p">[31:0] фышэр сыюър</td><td class="p">set_blocklen<br>єёЄрэютшЄ№ ЁрчьхЁ сыюър</td></tr>
  48.         <tr><td class="p">CMD17</td><td class="p">[31:0] рфЁхё сыюър</td><td class="p">read_single_block<br>яЁюўшЄрЄ№ сыюъ ЁрчьхЁюь, єърчрээ√ь set_block_len</td></tr>
  49.         </table>
  50.         ╬сЁрЄшЄх тэшьрэшх: тёх ўшёыр, рЁуєьхэЄ√ ш Є.я. яхЁхфр■Єё  эрўшэр  ёю ёЄрЁ°хую сшЄр, р рфЁхё сыюър - рфЁхё яхЁтюую срщЄр сыюър.<br><br>
  51.         &nbsp;&nbsp;&nbsp;&nbsp;╬ЄтхЄ эр ы■сє■ шч т√°хяЁштхф╕ээ√ї ъюьрэф ёюёЄюшЄ шч юфэюую срщЄр, ёЄрЁ°шщ срщЄ тёхуфр Ёртхэ 0.
  52.         ─Ёєушх сшЄ√ - Їыруш ю°шсюъ:<br>
  53.         <div align="center"><IMG src="pic/resp1.png" alt="╬ЄтхЄ"></div><br>
  54.         <ol>
  55.         <li>┬ ёя ∙хь Ёхцшьх - ърЁЄр эрїюфшЄё  т ёя ∙хь Ёхцшьх ш т√яюыэ хЄё  яЁюЎхёё шэшЎшрышчрЎшш;
  56.         <li>Erase reset - ёЄшЁрэшх эх т√яюыэхэю, Є.ъ юяхЁрЎш  яЁхЁтрэр фю шёяюыэхэш ;
  57.         <li>═хфюяєёЄшьр  ъюьрэфр - юсэрЁєцхэ эхфюяєёЄшь√щ эюьхЁ ъюьрэф√;
  58.         <li>╬°шсър CRC - яюёыхфэ   яЁшэ Єр  ъюьрэфр эх яЁю°ыр яЁютхЁъє CRC;
  59.         <li>Erase_seq_error - ю°шсър т ъюьрэфх ёЄшЁрэш ;
  60.         <li>╬°шсър рфЁхёр - сыюъ яхЁхёхърхЄ уЁрэшЎє Їшчшўхёъюую ёхъЄюЁр;
  61.         <li>╬°шсър ярЁрьхЄЁр - рЁуєьхэЄ ъюьрэф√ тэх фюяєёЄшь√ї яЁхфхыют фы  фрээющ ърЁЄ√.</ol>
  62.         ╬°шсъш ╣2,4,5 эрь тёЄЁхўрЄ№ё  эх фюыцэ√. ─ы  юяхЁрЎшш ўЄхэш  CMD17 ёўшЄ√трхь√щ сыюъ фюыцхэ с√Є№
  63.         т яЁхфхырї юфэюую Їшчшўхёъюую ёхъЄюЁр: хую ЁрчьхЁ эх фюыцхэ яЁхт√°рЄ№ 512 срщЄ, р эрўрыю ш ъюэхЎ ЁрёяюырурЄ№ё  т юфэюь
  64.         ш Єюь цх ёхъЄюЁх. ┼ёыш ¤Єю эх т√яюыэхэю, Єю яю тшЄё  ю°шсър ╣6<br>
  65.         &nbsp;&nbsp;&nbsp;&nbsp;┴ыюъ фрээ√ї шьххЄ фышэє юЄ 4 фю N+3 срщЄ, уфх N - ўшёыю, єърчрээюх т рЁуєьхэЄх CMD16. ╧хЁт√щ срщЄ яЁш яхЁхфрўх юЄ MMC ъ ╠╩ Ёртхэ 0xFE, фрыхх ёыхфє■Є N срщЄ чряЁр°штрхьющ шэЇюЁьрЎшш, р т ъюэЎх - 2 срщЄр CRC (шї ёюфхЁцшьюх ьюцэю шуэюЁшЁютрЄ№, эю яЁюўхёЄ№ эєцэю юс чрЄхы№эю!). ┼ёыш цх яЁш ўЄхэшш яЁюшчю°╕ы ёсющ ш ърЁЄр эх ьюцхЄ яЁхфюёЄртшЄ№ фрээ√х, Єю тьхёЄю єърчрээюую сыюър яхЁхфр╕Єё  1 срщЄ ё Їыруюь ю°шсъш:<div align="center"><img src="pic/resp2.png" alt="╬°шсър фрээ√ї"></div><br>
  66. <ol>
  67.         <li>═хшчтхёЄэр  ю°шсър - ёсющ яю эхшчтхёЄэющ яЁшўшэх;
  68.         <li>╬°шсър ╤╤ - ёсющ тэєЄЁхээхую ъюэЄЁюыыхЁр;
  69.         <li>╤сющ ┼╤╤ - рыуюЁшЄь ┼╤╤ эх ёьюу тюёёЄрэютшЄ№ фрээ√х;
  70.         <li>┬√їюф чр уЁрэшЎє - рЁуєьхэЄ ъюьрэф√ тэх фюяєёЄшь√ї яЁхфхыют;
  71.         <li>╩рЁЄр сыюъшЁютрэр - фюёЄєя эх ЁрчЁх°╕э, Є.ъ ърЁЄр чр∙ш∙хэр ярЁюыхь.
  72. </ol>
  73. <h4 align="center">╚эшЎшрышчрЎш  ърЁЄ√</h4>
  74. &nbsp;&nbsp;&nbsp;&nbsp;╧хЁхф ЁрсюЄющ ърЁЄє эхюсїюфшью яЁртшы№эю яЁюшэшЎшрышчшЁютрЄ№. ╤яєёЄ  эхёъюы№ъю ьё яюёых яюфрўш яшЄрэш  яю SPI эєцэю юЄяЁртшЄ№ 0xFF 74 Ёрчр ш яюфюцфрЄ№ х∙╕ 1ьё. ┬ё╕ ¤Єю тЁхь  эр xCS фюыцэр с√Є№ ыюу. "1". ╥хяхЁ№ ърЁЄр уюЄютр ъ яЁш╕ьє ъюьрэф. ╧юёых тъы■ўхэш  ърЁЄр эрїюфшЄё  т Ёхцшьх MultimediaCard protocol. ─ы  яхЁхтюфр х╕ т Ёхцшь SPI эрфю юЄяЁртшЄ№ ъюьрэфє ╤сЁюё (CMD0) (эх чрс√трщЄх яЁю xCS). ┬ Ёхцшьх SPI яЁютхЁър CRC юЄъы■ўхэр яю єьюыўрэш■, яю¤Єюьє ёюфхЁцшьюх яюы  CRC7 шуэюЁшЁєхЄё . ╬фэръю фы  CMD0 яюых CRC7 эєцэю єърчрЄ№ яЁртшы№эю. ╧юёъюы№ъє ъюьрэфр эх шьххЄ ьхэ ■∙шїё  т яЁюЎхёёх ЁрсюЄ√ рЁуєьхэЄют, Єю ш ёяхЎшры№эю т√ўшёы Є№ ¤Єю яюых эх юс чрЄхы№эю: яЁртшы№эр  CMD0 шьххЄ тшф: 0x40, 0x0, 0x0, 0x0, 0x0, 0x95. ─рыхх ърЁЄє эхюсїюфшью яЁюшэшЎшрышчшЁютрЄ№. ─ы  ¤Єюую яюё√ырхь ъюьрэфє CMD1 фю Єхї яюЁ, яюър т юЄтхЄх ърЁЄ√ сшЄ0 (т ёя ∙хь Ёхцшьх) эх ёьхэшЄё  ё 1 эр 0. ▌Єю сєфхЄ ючэрўрЄ№, ўЄю ърЁЄр уюЄютр ъ ЁрсюЄх. ╥хяхЁ№ ьюцэю яюё√ырЄ№ яЁюўшх ъюьрэф√ (є эрё ¤Єю CMD16 ш CMD17).<br>
  75.         <h4 align="center">╘рщыютр  cшёЄхьр</h4>
  76. &nbsp;&nbsp;&nbsp;&nbsp;╤рьюх шэЄхЁхёэюх - ¤Єю ЁрсюЄр ё Їрщыютющ ёшёЄхьющ. ═х сєфє ёшы№эю ЁрёяЁюёЄЁрэ Є№ё , Є.ъ. т шэхЄх шЄръ эртрыюь шэЇюЁьрЎшш ю Єюь, ўЄю Єръюх FAT16 ш ё ўхь х╕ хф Є. ╩ЁрЄхэ№ъю Ёрёёърцє ю Єюь, ъръ шёяюы№чютрЄ№ ёюфхЁцшьюх эхъюЄюЁ√ї ёхъЄюЁют т ётюшї ышўэ√ї Ўхы ї ;) <br>
  77. ╤ЄЁєъЄєЁр фшёър:
  78. <table class="p" align="center"><tr><td class="p">MasterBootRecord</td></tr><tr><td class="p">ЁхчхЁтшЁютрэю</td></tr><tr><td class="p">PartitionBootRecord</td></tr><tr><td class="p">FAT1</td></tr><tr><td class="p">FAT2</td></tr><tr><td class="p">╩юЁэхтющ ърЄрыюу</td></tr><tr><td class="p">ъырёЄхЁ 002</td></tr><tr><td class="p">ъырёЄхЁ 003</td></tr><tr><td class="p">***</td></tr></table><br>
  79. &nbsp;&nbsp;&nbsp;&nbsp;MBR эрїюфшЄё  т эєыхтюь ёхъЄюЁх фшёър, яючшЎшш юёЄры№э√ї ўрёЄхщ сєфхь т√ўшёы Є№. ╤ЄюшЄ юЄьхЄшЄ№, ўЄю хёыш ърЁЄюўър с√ыр яхЁхЇюЁьрЄшЁютрэр Windows, ёЄЁєъЄєЁр фшёър ьюуыр шчьхэшЄ№ё : Windows ёЄшЁрхЄ MBR, ш т эєыхтюь ёхъЄюЁх ёЁрчє эрўшэрхЄё  PBR. ╫Єюс√ ЁрчышўшЄ№ ёюфхЁцшьюх эєыхтюую ёхъЄюЁр эєцэю ёўшЄрЄ№ хую яхЁт√х эхёъ. срщЄ. ┼ёыш срщЄ√ эєыхт√х - ¤Єю MBR, шэрўх - PBR.<br>
  80. ═єыхтющ ёхъЄюЁ, юэ цх Master Boot Record фшёър, т√уы фшЄ яЁшьхЁэю Єръ:
  81.         <table class="p" align="center">
  82.                 <tr><th>╧ючшЎш  срщЄр</th><th>─ышэр(срщЄ)</th><th>╬яшёрэшх</th><th>╤юфхЁцшьюх</th></tr>
  83.                 <tr><td class="p">0ї0</td><td class="p">446</td><td class="p">-</td><td class="p">0x0</td></tr>
  84.                 <tr><td class="p">0x1BE</td><td class="p">16</td><td class="p">юяшёрэшх Ёрчфхыр</td><td class="p">ёь.эшцх</td></tr>
  85.                 <tr><td class="p">0x1CE</td><td class="p">16</td><td class="p">юяшёрэшх Ёрчфхыр</td><td class="p">ёь.эшцх</td></tr>
  86.                 <tr><td class="p">0x1DE</td><td class="p">16</td><td class="p">юяшёрэшх Ёрчфхыр</td><td class="p">ёь.эшцх</td></tr>
  87.                 <tr><td class="p">0x1EE</td><td class="p">16</td><td class="p">юяшёрэшх Ёрчфхыр</td><td class="p">ёь.эшцх</td></tr>
  88.                 <tr><td class="p">0x1FE</td><td class="p">2</td><td class="p">яюфяшё№</td><td class="p">0x55,0xAA</td></tr>
  89.         </table><br>
  90. ═рь эєцэю юяшёрэшх яхЁтюую Ёрчфхыр (Єю, ўЄю яю ёьх∙хэш■ 0x1BE).╫Єю Єрь хёЄ№:   
  91.         <table class="p" align="center">
  92.                 <tr><th>╧ючшЎш  срщЄр</th><th>─ышэр(срщЄ)</th><th>╬яшёрэшх</th><th>╤юфхЁцшьюх</th></tr>
  93.                 <tr><td class="p">0x4</td><td class="p">1</td><td class="p">Єшя Їрщыютющ ёшёЄхь√</td><td class="p">6=DOS 16-сшЄ ╘└╥<br>(тючь. фЁ. трЁшрэЄ√)<br></td></tr>
  94.                 <tr><td class="p">0x8</td><td class="p">4</td><td class="p">яючшЎш  1 ёхъЄюЁр Ёрчфхыр</td><td class="p">эюьхЁ ёхъЄюЁр</td></tr>
  95.                 <tr><td class="p">0x╤</td><td class="p">2</td><td class="p">ўшёыю ёхъЄюЁют т Ёрчфхых</td><td class="p">юЄ 1 фю ьръё. ўшёыр<br>ёхъЄюЁют фшёър</td></td></tr>
  96.         </table>
  97.         <br>▌Єю, ъюэхўэю, эх тё╕, эю ¤Єюую тяюыэх їтрЄшЄ. ╩ръ яЁшьхЁ яЁштюцє Єю, ўЄю эряшёрэю т ьюхщ ърЁЄюўъх:<br>
  98.         <b class="aq"><font size="-1"><pre>Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
  99.  
  100. 000001B0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 01   ................
  101. 000001C0   01 00 06 07 E0 D3 20 00  00 00 E0 D3 03 00 00 00   ....р╙ ...р╙....
  102. </pre></font></b>╟фхё№ яючшЎш  PBR -  ёхъЄюЁ эюьхЁ 0x00000020, р ўшёыю ёхъЄюЁют 0x0003D3E0 (тёх фышээ√х ўшёыр чряшёрэ√ ё ьырф°хую срщЄр), Offset - ёьх∙хэшх срщЄр юЄ эрўрыр фшёър. ═х ёЄюшЄ чрс√трЄ№, ўЄю Їшчшўхёъшщ рфЁхё PBR Ёртхэ pbr_adr = 0x00000020 * 0x200 =0x00004000 (0x200 - ўшёыю срщЄ эр ёхъЄюЁ).
  103. ╚ф╕ь т Partition Boot Record Ёрчфхыр:  
  104.   <table class="p" align="center">
  105.                 <tr><th>╧ючшЎш  срщЄр</th><th>─ышэр(срщЄ)</th><th>╬яшёрэшх</th><th>╤юфхЁцшьюх</th></tr>
  106.                 <tr><td class="p">0їD</td><td class="p">1</td><td class="p">ёхъЄюЁют эр ъырёЄхЁ, Sectors_per_Cluster</td><td class="p">XX(1...64)</td></tr>
  107.                 <tr><td class="p">0xE</td><td class="p">2</td><td class="p">ўшёыю ЁхчхЁтшЁютрээ√ї яюф PBR ёхъЄюЁют, Rezerv</td><td class="p">X</td></tr>
  108.                 <tr><td class="p">0x10</td><td class="p">1</td><td class="p">ўшёыю ЄрсышЎ F└╥, Number_of_Fat</td><td class="p">2</td></tr>
  109.                 <tr><td class="p">0x11</td><td class="p">2</td><td class="p">ўшёыю чряшёхщ т ъюЁэхтюь ърЄрыюух, Root_dir_entry</td><td class="p">512</td></tr>
  110.                 <tr><td class="p">0x16</td><td class="p">2</td><td class="p">ёхъЄюЁют эр F└╥, Sectors_per_FAT</td><td class="p">XXX</td></tr>
  111.                 <tr><td class="p">0x20</td><td class="p">4</td><td class="p">тёхую ёхъЄюЁют</td><td class="p">XXX</td></tr>
  112.         </table>
  113.         ╬я Є№-цх чфхё№ т яюью∙№ ью  ърЁЄюўър:
  114.         <b class="aq"><font size="-1"><pre>Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
  115.  
  116. 00004000   EB 00 90 20 20 20 20 20  20 20 20 00 02 04 01 00   ы.Р        .....
  117. 00004010   02 00 02 00 00 F8 F5 00  20 00 08 00 20 00 00 00   .....°ї. ... ...
  118. 00004020   E0 D3 03 00 80 00 29 A9  3D 30 FC 4E 4F 20 4E 41   р╙..А.)й=0№NO NA
  119. </pre></font></b>
  120. &nbsp;&nbsp;&nbsp;&nbsp;╠√ тшфшь 0x04 ёхъЄюЁр эр ъырёЄхЁ, 0x00F5 ёхъЄюЁют эр ърцфє■ FAT, яюф PBR юЄтхф╕э 1 ёхъЄюЁ, 512 чряшёхщ т ъюЁэхтюь ърЄрыюух. ▌Єшї ўхЄ√Ё╕ї ўшёхы їтрЄшЄ, ўЄюс√ т√ўшёышЄ№ 3 трцэ√ї ёьх∙хэш :<br>
  121. <ul>
  122.         <li>Fat_base = pbr_adr+0x200*Rezerv;  (0x4200)
  123.         <li>Root_base = Fat_base + Number_of_Fat * (Sectors_per_FAT * 0x200);  (0x41600)
  124.         <li>Cluster_base = Root_base + Root_dir_entry * root_entry_size - 2 * (Sectors_per_Cluster * 0x200); (0x44600)
  125. </ul>
  126. &nbsp;&nbsp;&nbsp;&nbsp;Fat_base - рфЁхё эєыхтюую срщЄр FAT, Root_base - рфЁхё эєыхтюую срщЄр ъюЁэхтюую ърЄрыюур, Cluster_base - рфЁхё эєыхтюую (эх 002!!!) ъырёЄхЁр (эєыхтюую ъырёЄхЁр эхЄ, эю Єръ єфюсэхх, ёь. эшцх). ┬ ёъюсърї - ўшёыр фы  ьюхщ MMC, root_entry_size - ЁрчьхЁ чряшёш т ъюЁэхтюь ърЄрыюух, Ёртхэ 32 срщЄр.<br>
  127.  
  128. &nbsp;&nbsp;&nbsp;&nbsp;┬ёх ёьх∙хэш  хёЄ№, юёЄрыюё№ ёютёхь эхьэюую. ╨рчсхЁ╕ьё  ё FAT. ┬ю яхЁт√ї тё╕ яЁюёЄЁрэёЄтю фшёър (яюёых Root Dir) яюфхыхэю эр Є.э. ъырёЄхЁ√ яю "Sectors_per_Cluster" ёхъЄюЁют т ърцфюь. ┬ю тЄюЁ√ї 2 ъюяшш FAT шфхэЄшўэ√, яю¤Єюьє сєфхь ЁрсюЄрЄ№ ё яхЁтющ. └ FAT ёюёЄюшЄ шч яюёыхфютрЄхы№эюёЄш 2-ї срщЄэ√ї ёыют (╠╦└─╪╚╔ срщЄ тяхЁхфш). N-юх ёыютю ёююЄтхЄёЄтєхЄ N-юьє ъырёЄхЁє (N>1), ш ьюцхЄ ёюфхЁцрЄ№ ёыхфє■∙є■ шэЇюЁьрЎш■:
  129. <table class="p" align="center"><tr><th>╫шёыю</th><th>╟эрўхэшх</th></tr><tr><td class="p">0002-FFEF</td><td class="p">эюьхЁ ёыхфє■∙хую ъырёЄхЁр т Ўхяюўъх</td></tr><tr><td class="p">FFF7</td><td class="p">¤Єю фхЇхъЄэ√щ ъырёЄхЁ</td></tr><tr><td class="p">FFF8-FFFF</td><td class="p">¤Єю яюёыхфэшщ ъырёЄхЁ Ўхяюўъш</td></tr><tr><td class="p">0000,0001,FFF0-FFF6</td><td class="p">ЁхчхЁтшЁютрэю (ш эрь эх шэЄхЁхёэю)</td></tr></table><br>
  130. ╚ёїюф  шч Ёрчсшхэш  фшёър эр ъырёЄхЁ√ Їрщы, сєф№ юэ сюы№°х ЁрчьхЁр юфэюую ъырёЄхЁр, хёЄхёЄтхээю ёюфхЁцшЄ шї эхёъюы№ъю °Єєъ. ╧юёыхфютрЄхы№эюёЄ№ эюьхЁют ъырёЄхЁют, т ъюЄюЁ√ї чряшёрэ Їрщы, юсЁрчєхЄ Ўхяюўъє ъырёЄхЁют. ╓хяюўър ёЄЁюшЄё  Єръ: эюьхЁ яхЁтюую ўшЄрхЄё  шч чряшёш т ърЄрыюух; т ёююЄтхЄёЄтє■∙хь ёыютх FAT яЁш ¤Єюь єърчрэ ёыхфє■∙шщ ъырёЄхЁ. ┬ ёыютх фы  ёыхфє■∙хую - эюьхЁ ЄЁхЄ№хую ш Є.ф. яюър эх фюёЄшурхЄё  ъюэхЎ Ўхяюўъш.
  131. <br>&nbsp;&nbsp;&nbsp;&nbsp; ╠рыхэ№ъшщ юЁурэшчрЎшюээ√щ ьюьхэЄ: яхЁт√х 4 срщЄр FAT  - юс чрЄхы№эр  яюфяшё№, ючэрўрхЄ, ўЄю ¤Єю эрўрыю FAT. ╧ю¤Єюьє ═хЄ эєыхтюую ш яхЁтюую ёыютр, ═хЄ эєыхтюую ш яхЁтюую ъырёЄхЁют, ёЁрчє чр RootDir ёшфшЄ ъырёЄхЁ эюьхЁ 0002.
  132. <br>
  133. ╚ ёэютр юЄ ЄхюЁшш ъ яЁръЄшъх - яЁшфєьрээюх ьэющ фы  яЁшьхЁр эрўрыю FAT:
  134. <b class="aq"><font size="-1"><pre>Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
  135. 00004200   F8 FF FF FF 03 00 05 00  06 00 04 00 07 00 FF FF   °   ..........  
  136. </pre></font></b>
  137. &nbsp;&nbsp;&nbsp;&nbsp; ╧хЁт√х 4 срщЄр  - яюфяшё№. ─юяєёЄшь, Їрщы эрўшэрхЄё  ёю 2 ъырёЄхЁр, Num = 2. ╥юуфр рфЁхё ¤Єюую ъырёЄхЁр adr = Cluster_base + Num * Sectors_per_cluster * 0x200. ╩ырёЄхЁ ь√ яЁюўшЄрыш, р фры№°х ўшЄрхь ёыютю т FAT фы  ¤Єюую ъырёЄхЁр, 2 срщЄр эрўшэр  ё рфЁхёр adr = Fat_base + Num * 2 (0x4204). ┬ эр°хь ёыєўрх ¤Єю 0003 - эюьхЁ ёыхфє■∙хую ъырёЄхЁр (ёь. ЄрсышЎє). ╨рё°шЇЁю√тр  Єръшь юсЁрчюь ёюфхЁцшьюх Fat яюыєўшь Ўхяюўъє:<br>
  138. 0002 - яхЁт√щ,0003,0005,0004,0006,0007 - яюёыхфэшщ.<br> ┼ёыш ЁрчюсЁрЄ№ё  - фюёЄрЄюўэю яЁюёЄю.<br><br>
  139.  
  140. &nbsp;&nbsp;&nbsp;&nbsp; ═ръюэхЎ чруы эхь т ъюЁэхтющ ърЄрыюу - Єрь ъЁюьх шьхэш Їрщыр, фрЄ√, тЁхьхэш, рЄЁшсєЄют, єърчрэ яхЁт√щ ъырёЄхЁ Їрщыр ш хую ЁрчьхЁ т срщЄрї. ╩рцфр  чряшё№ т ъюЁэхтюь ърЄрыюух ёюёЄюшЄ шч 32 срщЄ. ═рь эєцэю яЁюўшЄрЄ№ срщЄ√ ёю ёьх∙хэшхь 0x00,0x02,0x1A-0x1B,0x1C-0x1F. ┼ёыш эєыхтющ срщЄ эх Ёртхэ 0xE5, тЄюЁющ эх Ёртхэ 0x00 шыш 0x04, Єю 0x1B:0x1A - яхЁт√щ ъырёЄхЁ Їрщыр, р 0x1F:0x1E:0x1D:0x1C - хую ЁрчьхЁ т срщЄрї. ╧юър яыххЁ схч ¤ъЁрэр, шь  Їрщыр яюыєўрЄ№ эх юс чрЄхы№эю... <br><br>
  141.          
  142.  
  143.         <a name="sd_ps"><b class="aq">P.S.:</b></a> ╩ръ т√ ёэшыюё№, SD ърЁЄ√ яюыэюёЄ№■ ёютьхёЄшь√ ё ърЁЄюўърьш MMC, т Є.ў. т Ёхцшьх SPI. "╦ш°эшх" т√тюф√ т ¤Єюь Ёхцшьх эх шёяюы№чє■Єё :
  144.         <br><br><table class="p" align="center"><tr><td class="p" rowspan="10"><IMG src="pic/sd_flash.png" alt="Ёрчтюфър SD"></td><th>PIN</th><th>╚ь </th><th>╘єэъЎш </th></tr><tr><td class="p">1</td><td class="p">xCS</td><td class="p">┬√сюЁ ъЁшёЄрыыр</td></tr><tr><td class="p">2</td><td class="p">DI</td><td class="p">┬їюфэ√х фрээ√х</td></tr><tr><td class="p">3</td><td class="p">VSS</td><td class="p">╟хьы </td></tr><tr><td class="p">4</td><td class="p">VDD</td><td class="p">╧шЄрэшх +3.3т</td></tr><tr><td class="p">5</td><td class="p">SCLK</td><td class="p">╤шэїЁюэшчрЎш </td></tr><tr><td class="p">6</td><td class="p">VSS2</td><td class="p">╟хьы </td></tr><tr><td class="p">7</td><td class="p">DO</td><td class="p">┬√їюфэ√х фрээ√х</td></tr><tr><td class="p">8</td><td class="p">RSV</td><td class="p">╨хчхЁт</td></tr><tr><td class="p">9</td><td class="p">RSV</td><td class="p">╨хчхЁт</td></tr></table><br>
  145. &nbsp;&nbsp;&nbsp;&nbsp;┼фшэёЄтхээю ўЄю ёЄюшЄ ёфхырЄ№ - яюёЄртшЄ№ яюфЄ уштр■∙шх ёюяЁюЄштыхэш  эр т√т. 8 ш 9 (т Ё-эх эхёъ. фх Єъют ъ╬ь).
  146. <br><br>
  147. &nbsp;&nbsp;&nbsp;&nbsp;╬ёэютэр  ўрёЄ№ ёюёЄртыхэр яю ьрЄхЁшрырь <a href="http://www.sandisk.com/pdf/oem/ProdManualMMCv5.2.pdf"target="_blank">"MultiMedia Card product manual v5.2"</a>, ё ёрщЄр <a href="http://www.sandisk.com">SanDisk</a>. ╥хь, ъЄю чрїюўхЄ яюяюфЁюсэхх ЁрчюсЁрЄ№ фрээ√щ тюяЁюё, Ёхъюьхэфє■ юсЁрЄшЄ№ё  ъ ючэрўхээюьє фюъєьхэЄє. Datasheet эр SD тч Є ё Єюую-цх ёрщЄр :<a href="http://www.sandisk.com/pdf/oem/ProdManualSDCardv1.9.pdf"target="_blank">"SanDisk SD card product manual v1.9"</a>.
  148.         <br>╬ чрьхўхээ√ї юўхя Єърї ш эхЄюўэюёЄ ї яЁю°є яшёрЄ№ ьэх.
  149.  
  150.         <br><div align="right"><i>&#169; ╩рЄшўхт └. 2004-2005у</i></div>
  151.         <hr><div align="center"><A HREF="#beg">┬ эрўрыю </a>|<A HREF="javascript:history.back(-1)"> ═рчрф</a></div>
  152.         </div>
  153.         </td></tr>
  154. </table>
  155.  
  156. </body></html>
  157. <div align="center">
  158. <br><br><br>
  159. <table cellpadding=0 cellspacing=0 border=0>
  160. <tr valign="top">
  161.         <td>
  162.                 <div align="center">
  163.                 <table width="468" height="60" cellspacing="0" cellpadding="0" style="border: 1 solid #A3A5A8;">
  164.  
  165.                 <tr><td align="center">
  166.  
  167.                         <a href="http://www.nm.ru/users/reg.dhtml" target="_blank" style="display:block; margin:0px"><img src="http://newmail.ru/hosting/hosting_newmail.gif" width="468" height="60" border="0"></a>
  168.  
  169.                 </td></tr>
  170.  
  171.                 <FORM NAME="regform" ACTION="http://www.nm.ru/users/reg.dhtml" target="_blank" METHOD="GET" >
  172.                 <tr><td align="center" valign="middle" width="468" height="40" style="background: url(http://newmail.ru/hosting/hosting_newmail_down.gif) repeat-x;">    
  173.                                
  174.                 <input type="hidden" name="rid" value="hosting">
  175.                                 <input type="text" name="login" id="login" value="" maxlength="20" size="21" style="border: 1px solid #A3A5A8; background-color: #FFFFFF; font-size: 12px; width: 150px; height:17px; margin-bottom:2px">
  176.                         <select name="domain" style="border: 1px solid #A3A5A8; background-color: #FFFFFF; font-size: 12px; height:16px;" >
  177.                                         <option value="newmail.ru" >newmail.ru</option>
  178.                                         <option value="hotmail.ru" >hotmail.ru</option>
  179.                                         <option value="nm.ru" >nm.ru</option>
  180.                                         <option value="nightmail.ru" >nightmail.ru</option>
  181.                                 </select>
  182.                                 <input type="submit" value="&raquo;&raquo;&raquo;" style="border:white 1px solid; background: url(http://newmail.ru/hosting/hosting_newmail_button.gif) ; font:bold 14px arial; color:white; height:21px; width:120px; cursor:pointer">
  183.                    
  184.  
  185.                 </td></tr>
  186.                  </form>
  187.  
  188.  
  189.                 </table>
  190.                 </div>
  191.  
  192.                 <script language="javascript"><!--skip ();
  193.                 u="count.rbc.ru/p429.gif";d=document;nv=navigator;na=nv.appName;p=0;j="N";
  194.                 n=(na.substring(0,2)=="Mi")?0:1;y="";
  195.                 y+="<img src='http://"+u+"?r="+d.referrer+"&width="+screen.width+"&height="+screen.height+"&hash="+d.location.hash.substr(1)+"&rf="+parent.document.referrer+"&rn="+Math.random();
  196.                 y+="' border=0 width=1 height=1 alt='count'>";
  197.                 d.write(y);if(!n) { d.write("<"+"!--"); }//--></script><noscript>
  198.                 <img src="http://count.rbc.ru/p429.gif" alt='count' border=0 width=1 height=1 >
  199.                 </noscript><script language="javascript1.2"><!--skip ();
  200.                 if(!n) { d.write("--"+">"); }//--></script>
  201.                 <a href="http://www.seall.ru/kino/"><img src="http://newmail.ru/forms/images/sp88_2.gif" width="88" height="2" border="0"></a>
  202.                 <!--BEGIN Back -->
  203.                 <script language="JavaScript">
  204.                 <!--
  205.                 var random = Math.floor(Math.random() * 1000000000);
  206.                 document.write('<scr' + 'ipt language="JavaScript" src="http://engine.adland.ru/code?pid=34&gid=40&oin=0&rid=' + random
  207.                 +'"></scr' + 'ipt>');
  208.                 // -->
  209.                 </script>
  210.                 <!--END Back -->
  211.         </td>
  212.         <td width="15px">&nbsp;</td>
  213.         <td>
  214.                 <!--BEGIN Media2 Podval 400x90 (400x90)-->
  215.                 <script language="JavaScript">
  216.                 <!--
  217.                 var random = Math.floor(Math.random() * 1000000000), cdate = new Date();
  218.                 document.write('<iframe src="http://engine.adland.ru/code?pid=69&gid=55&oin=0&rto=0&srb=&rid=' + random + '&dom=' + cdate.getDate() + '&dow=' + cdate.getDay() + '&hod=' + cdate.getHours() + '" frameborder="0" vspace="0" hspace="0" width="400" height="90" marginwidth="0" marginheight="0" scrolling="no">');
  219.                 document.write('<a href="http://engine.adland.ru/default_reference?pid=69&gid=55" target="_top"><img src="http://engine.adland.ru/default_image?pid=69&gid=55" border="0"></a>');
  220.                 document.write('</iframe>');
  221.                 // -->
  222.                 </script>
  223.                 <noscript>
  224.                 <iframe src="http://engine.adland.ru/code?pid=69&gid=55&oin=0&rto=0" frameborder="0" vspace="0" hspace="0" width="400" height="90" marginwidth="0" marginheight="0" scrolling="no"><a href="http://engine.adland.ru/default_reference?pid=69&gid=55" target="_top"><img src="http://engine.adland.ru/default_image?pid=69&gid=55" border="0"></a></iframe>
  225.                 </noscript>
  226.                 <!--END Media2 -->
  227.         </td>
  228. </tr>
  229. </table>
  230. </div>
  231. <script language="javascript">
  232. var t_rn = Math.random();
  233. var t_ref = encodeURIComponent(document.referrer);
  234. var t_pg = encodeURIComponent(window.location.href);
  235. var t_req = 'r='+t_ref+'&pg='+t_pg+'&'+t_rn;
  236. document.write("<img src=\"http://t.pusk.ru/?"+t_req+"\" border=\"0\" width=\"1\" height=\"1\">");
  237. </script>
  238.