ВсС ΠΎ Ρ‚ΡŽΠ½ΠΈΠ½Π³Π΅ Π°Π²Ρ‚ΠΎ

Распиновка Secure Digital (SD) card. ВосстановлСниС Π΄Π°Π½Π½Ρ‹Ρ… с ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹Ρ… SD ΠΈ MicroSD ΠΊΠ°Ρ€Ρ‚ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ sd ΠΊΠ°Ρ€Ρ‚Ρ‹ spi

  • AndReas Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚:

    Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ Memory Stick своими Ρ€ΡƒΠΊΠ°ΠΌΠΈ Π½Π΅ составляСт особого Ρ‚Ρ€ΡƒΠ΄Π° ΠΏΡ€ΠΈ Π·Π½Π°Π½ΠΈΠΈ назначСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹ памяти. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π·ΠΎΠ²ΡƒΡ‚ распиновкой ΠΊΠ°Ρ€Ρ‚Ρ‹ памяти ΠΈΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, микросхСмы, Ρ‡ΠΈΠΏΠ° ΠΈ Ρ‚.ΠΏ. Π’ΠΎΠΎΠ±Ρ‰Π΅ тСхнология проста. ВырСзаСтся ΠΌΠ°ΠΊΠ΅Ρ‚ ΠΊΠ°Ρ€Ρ‚Ρ‹ памяти MMC (MultiMedia Card) ΠΈΠ· тСкстолита. На ΠΌΠ°ΠΊΠ΅Ρ‚Π΅ Π²Ρ‹Ρ€Π΅Π·Π°ΡŽΡ‚ΡΡ 7 Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ (MMC ΠΈΠΌΠ΅Π΅Ρ‚ 7 Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²). Π—Π°Ρ‚Π΅ΠΌ, Π² соотвСтствии с ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½Π° рисункС Π½ΠΈΠΆΠ΅ распиновкой, Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ ΠΏΡ€ΠΈΠΏΠ°ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌ ΠΊΠ°Ρ€Ρ‚Ρ‹ памяти SD (ΠΈΠΌΠ΅Π΅Ρ‚ 9 Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 2 Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ), microSD (ΠΈΠΌΠ΅Π΅Ρ‚ 8 Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ 2, Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ°Ρ€Ρ‚Ρ‹ памяти microSD Π½Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° Vcc) ΠΈΠ»ΠΈ microM2 (распиновка microM2 Π² смСТной Ρ‚Π΅ΠΌΠ΅ АдаптСр Memory Stick Micro M2). Π’ΠΎΡ‚ ΠΈ всё. АдаптСр Memory Stick Π³ΠΎΡ‚ΠΎΠ².

    P.S. Π£ нас Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΊΠ°Ρ€Ρ‚Ρ‹ памяти MMC Π½Π° 1 ΠΈ 2 Π“Π±. Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ, соотвСтствСнно, 285 ΠΈ 360 Ρ€ΡƒΠ±. Доставка Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Ρ†Π΅Π½Ρƒ.

    Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ дСшСво ΠΊΡƒΠΏΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΡ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΊΠ°Ρ€Ρ‚ памяти:
    - Memory Stick ΠΈ Memory Stick M2;
    - Secure Digital (SD);
    - Mini SD;
    - Micro SD (TF);
    - Compact Flash;
    - XD;
    - USB Flash Drives Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… исполнСний ΠΈ Смкости.
    НапримСр, Ρ‚Π°ΠΊΠΈΠ΅:

  • slava Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚:

    Π΄Π° кстати я Π½Π΅ΠΎΡ‡Π΅Π½ΡŒ сСлСн Π² Π΅Ρ‚ΠΈΡ… написях. Π½Π΅ΠΌΠΎΠ³Π±ΠΈ Ρ‚Ρ‹ Π½Π° Ρ‚ΠΎΠΌ рСсункС провисти Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ ΠΎΡ‚ MicroCD Π”ΠΎ MMC Π±ΡƒΠ΄Ρƒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»Π΅Π½.

  • AndReas Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚:

    Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ miсroSD to MMC:

  • slava Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚:
  • НСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ Π² ΠΌΠ°Π΅ 2011 создатСлСм ΠΊΡƒΠ»ΡŒΡ‚ΠΎΠ²ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹ Β«EliteΒ» Дэвидом Π‘Ρ€Π΅Π±Π΅Π½ΠΎΠΌ Π±Ρ‹Π» прСдставлСн ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ ΠΎΠ΄Π½ΠΎΠΏΠ»Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Raspberry Pi. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ стал ΠΏΠ΅Ρ€Π΅Π»ΠΎΠΌΠ½Ρ‹ΠΌ Π² ΠΌΠΎΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ. ИдСя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ с Ρ„Π»Π΅Ρˆ-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ Π»Π΅ΠΆΠ°Π»Π° Π½Π° повСрхности, Π½ΠΎ большой Ρ€Π°Π·ΠΌΠ°Ρ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° лишь с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Raspberry Pi Foundation.

    Π£ΠΆΠ΅ 25 июля 2011 Π² производство отдаСтся Π°Π»ΡŒΡ„Π° вСрсия ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. К соТалСнию, Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° измСнился ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ позиционируСтся ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ с ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ. НСсмотря Π½Π° это ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π·Π° Π½ΠΈΠΌ слСдили ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ людСй. Π­Ρ„Ρ„Π΅ΠΊΡ‚Ρƒ Ρ‚ΠΎΠ»ΠΏΡ‹ повиновался ΠΈ я, Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ провСряя ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ страницу ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠΠ°Ρ‡Π°Π»ΠΎΡΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΌΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Β«Ρ‡ΡƒΠ΄Π°Β», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ 29 фСвраля 2012 Π³ΠΎΠ΄Π° – старт ΠΏΡ€ΠΎΠ΄Π°ΠΆ.

    ΠšΡƒΠΏΠΈΡ‚ΡŒ Raspberry Pi ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ Farnell Π»ΠΈΠ±ΠΎ Ρƒ RS Components . Как оказалось, 29 фСвраля ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ лишь ΠΏΡ€Π΅Π΄Π·Π°ΠΊΠ°Π·. Π’ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ этих ΠΏΠ»Π°Ρ‚ Π½Π΅ Π±Ρ‹Π»ΠΎ Π½ΠΈ Ρƒ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠ½Ρ‚ΠΎΡ€. ΠŸΠ΅Ρ€Π²Π°Ρ партия устройств составляла всСго 10000 экзСмпляров, поэтому, учитывая Π°ΠΆΠΈΠΎΡ‚Π°ΠΆ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π· Π±Ρ‹Π»ΠΎ ΠΎΡ‡Π΅Π½ΡŒ тяТСло. Однако, ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π² всС трудности, Π² 14:06 Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ дня ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π±Ρ‹Π» ΠΊΡƒΠΏΠ»Π΅Π½ Π·Π° 46.73 Ρ„ΡƒΠ½Ρ‚ΠΎΠ² стСрлингов Ρƒ Farnell’а.

    Π’Π°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ выполняли Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΎΠΈΡ… Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½Ρ‹Ρ… Π·Π°ΠΊΠ°Π·ΠΎΠ². МСня ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΎΠ³ΠΎΡ€Ρ‡ΠΈΠ» Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Ρ‡Ρ‚ΠΎ Farnell, взяв Π·Π° доставку 20 Ρ„ΡƒΠ½Ρ‚ΠΎΠ², ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» посылку 29 мая 2012 Π³ΠΎΠ΄Π° (спустя 2 мСсяца) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΠΎΡ‡Ρ‚ΠΎΠΉ Π±Π΅Π· Π½ΠΎΠΌΠ΅Ρ€Π° для отслСТивания. На ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅, симбиоз ΠšΠΎΡ€ΠΎΠ»Π΅Π²ΡΠΊΠΎΠΉ ΠΈ Российской ΠΏΠΎΡ‡Ρ‚Ρ‹ доставил посылку Π² цСлости ΠΈ сохранности ΡƒΠΆΠ΅ 22 июня. Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° самая ТСланная посылка Π·Π° послСдниС нСсколько мСсяцСв, поэтому, Π½Π΅ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠ°Π² напряТСния, ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΎΡ‚ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒΡΡ с Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ.

    Π Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Raspberry Pi для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ запуска Π½Π΅Ρ‚ смысла. Π‘ΠΎ ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ Π½Π° эту Ρ‚Π΅ΠΌΡƒ я ΠΎΠΏΠΎΠ·Π΄Π°Π» Π½Π° ΠΏΠ°Ρ€Ρƒ Π»Π΅Ρ‚, ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ строк ΠΎΠ± этом написано Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… рСсурсах, Π° Π½Π° Youtube Π²Ρ‹Π»ΠΎΠΆΠ΅Π½ΠΎ достаточноС количСство Π²ΠΈΠ΄Π΅ΠΎΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ². Π― ΠΆΠ΅ Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ сущСствСнном для мСня нСдостаткС Π² конструкции – Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ располоТСнии Ρ€Π°Π·ΡŠΠ΅ΠΌΠ° для SD ΠΊΠ°Ρ€Ρ‚Ρ‹. Когда ΠΊΠ°Ρ€Ρ‚Π° вставлСна, ΠΎΠ½Π° сильно Π²Ρ‹ΠΏΠΈΡ€Π°Π΅Ρ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΏΠ»Π°Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Ρ‚ΠΈΡ‚ Π²ΠΈΠ΄ самодСльного корпуса.

    Π•ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: ΠΏΠΎΠ΄ΠΏΠ°ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ SD->microSD ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΡŠΠ΅ΠΌΡƒ, установлСнному Π½Π° Raspberry Pi (ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π° Π₯Π°Π±Ρ€Π΅), ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ Low-profile MicroSD->SD. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для мСня просто нСдопустим – Π½Ρƒ Π½Π΅ поднимаСтся Ρ€ΡƒΠΊΠ° ΠΏΠ°ΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρƒ, Ρ‚.ΠΊ. боюсь ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ²Π°Ρ€Π½Ρ‹ΠΉ Π²ΠΈΠ΄ своСй Малинки. Π‘Ρ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ являСтся всС ΠΆΠ΅ использованиС Low-profile ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°.

    Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ приобрСсти Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ². Π’Ρ‹Π±ΠΎΡ€ Π΅ΡΡ‚ΡŒ, Π½ΠΎ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ Π±Π΅Π·Π΄Π΅Π»ΡƒΡˆΠΊΠΈ просто Π·Π°ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½Π°Ρ. Π‘Π°ΠΌΡ‹Π΅ Π΄Π΅ΡˆΠ΅Π²Ρ‹Π΅ экзСмпляры стоят 10 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ², ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ²Π΅Π½Π½ΠΎ выглядят самодСлками. ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°, Π±Ρ‹Π»ΠΎ принято послС посСщСния сайта DIYGadget , ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ просто ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΈΡ… Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ .

    Π“ΠΎΡ‚ΠΎΠ²Ρ‹? ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΡ‚ слов ΠΊ Π΄Π΅Π»Ρƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ, ΠΈΠ·ΡƒΡ‡ΠΈΠΌ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π½Π° SD ΠΈ microSD ΠΊΠ°Ρ€Ρ‚Ρ‹. ВсС, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для изготовлСния я попытался ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1, 2.

    Π’Π°Π±Π»ΠΈΡ†Π° 2: Π¦ΠΎΠΊΠΎΠ»Π΅Π²ΠΊΠ° ΠΊΠ°Ρ€Ρ‚ памяти SD

    Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π½Π° ΠΊΠ°Ρ€Ρ‚Π°Ρ… памяти, ΠΈ, объСдинив Vss1, Vss2, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ схСму ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°.

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ Π½Π°ΠΌ потрСбуСтся:
    1) Π”Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒ для microSD (CF TFC-WPCE-08 MICROSD CARD) – 52.22 Ρ€ΡƒΠ±.
    2) ΠšΡƒΡΠΎΠΊ двустороннСго Ρ„ΠΎΠ»ΡŒΠ³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ стСклотСкстолита ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒΡŽ порядка 4 см 2 (2% ΠΎΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π‘Π’Π•ΠšΠ›ΠžΠ’Π•ΠšΠ‘Π’ΠžΠ›Π˜Π’ Π€ΠžΠ›Π¬Π“Π˜Π .1.5ММ 2-Π₯ БВОРОН) – 3 Ρ€ΡƒΠ±.
    3) ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ для ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ° (Ρ…Π»ΠΎΡ€Π½ΠΎΠ΅ ΠΆΠ΅Π»Π΅Π·ΠΎ, ΠΎΠ»ΠΎΠ²ΠΎ, Ρ„Π»ΡŽΡ) – 10 Ρ€ΡƒΠ±.

    Π’ΠΎΠ³Π΄Π° ΡΠ΅Π±Π΅ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° составит 65 Ρ€ΡƒΠ±Π»Π΅ΠΉ 22 ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство свободного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π΅ΡˆΠ΅Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒ ΠΊΠ°Ρ€Ρ‚Ρ‹ microSD Π½Π° CF TFC-WPCER-08 MICROSD CARD . К соТалСнию, этой ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π΅ оказалось Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π° складС Π—ΠΠž Β«ΠŸΡ€ΠΎΠΌΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠ°Β», поэтому я ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π» Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. ΠžΠ±Ρ€Π°Ρ‰Π°ΡŽ Π’Π°ΡˆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π’Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ дСрТатСля, Ρ‚ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠΈΠΌ шаблоном для Π›Π£Π’ (Π»Π°Π·Π΅Ρ€Π½ΠΎ-ΡƒΡ‚ΡŽΠΆΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ) Ρƒ Вас ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ.

    Для проСктирования ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ я использовал Autocad, Ρ‚.ΠΊ. ΠΌΠΎΠΉ Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ SprintLayout Π½Π΅ смог ΠΏΠΎΡ€Π°Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ шаблона. Для Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходник Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ DWG , Π° Ссли Ρ‚Π°ΠΊΠΎΠΉ нСобходимости Π½Π΅Ρ‚, Ρ‚ΠΎ – Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PDF (Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ нанСсСниСм шаблона ΠΈΠ· PDF ΡΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹).

    ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ шаблон пСрСнСсСн Π½Π° ΠΏΠ»Π°Ρ‚Ρƒ, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΎΡΠ²Π΅Ρ€Π»ΠΈΡ‚ΡŒ отвСрстия Π΄ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ 0,5 ΠΌΠΌ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° с ΠΎΠ΄Π½ΠΎΠ³ΠΎ слоя Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

    ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ со слоя Π½Π° слой я ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠΆΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠ½ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»ΡƒΠ΄ΠΈΠ² Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°. Π’ Ρ‚Π΅Ρ… мСстах, Π³Π΄Π΅ отвСрстия находятся ΠΏΠΎΠ΄ Π΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»Π΅ΠΌ microSD, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π΄Ρ„ΠΈΠ»Π΅ΠΌ ΡΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΏΠ»ΠΈ ΠΎΠ»ΠΎΠ²Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ установился Π±Π΅Π· пСрСкоса. Π’ послСднюю ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ ΠΌΠΎΠ½Ρ‚Π°ΠΆ дСрТатСля. Если Π² процСссС изготовлСния ΠΏΠ»Π°Ρ‚Ρ‹ использовались Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π»ΡŽΡΡ‹, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΠΊΠ°Ρ‚ΡŒ Π΅Ρ‘ Π² Π’Π°Ρˆ Raspberry Pi ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΌΠΎΠΉΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρƒ.

    Π”Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ самим ΠΈΠ»ΠΈ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ – Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π’Π°ΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±ΠΎΡ€ Π±Ρ‹Π» Π±ΠΎΠ»Π΅Π΅ осознанным, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для Вас я ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π» нСсколько ссылок для ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ:
    1) Raspberry Pi Premium Low-profile MicroSD (TF) to SD Card Adapter. Protect Board.
    2) Raspberry Pi Low-profile MicroSD to SD Card Adapter, SD card won"t get damaged!!
    3) MicroSD to "short" SD / RS-MMC adapter. For Everdrive carts, Raspberry Pi, etc.
    4) Low-profile MicroSD to SD Card Adapter for Raspberry Pi.
    5) SD card adapter for Raspberry pi REV2 +free shipping.

    Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ хочСтся ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ вСсь ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ лишь для ознакомлСния. ИспользованиС Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² коммСрчСских цСлях строго Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ. ΠŸΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΌΠΎΠ΅Π³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ с соблюдСниСм ссылок Π½Π° пСрвоисточник. Π–Π΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ словом, Π½ΠΎ ΠΈ Π΄Π΅Π»ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ – ΠΏΡ€ΠΎΡˆΡƒ ΠΊΠΎ ΠΌΠ½Π΅ Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ .

    Для ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ сборки устройства Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹:
    1. Π˜ΡΡ…ΠΎΠ΄Π½ΠΈΠΊ ΠΏΠ»Π°Ρ‚Ρ‹ для Π›Π£Π’ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ DWG
    2. ΠŸΠ»Π°Ρ‚Π° для Π›Π£Π’ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PDF

    Π£Π΄Π°Ρ‡ΠΈ Π² Π’Π°ΡˆΠΈΡ… начинаниях!!!

    SD cards are based on the older Multi Media Card (MMC) format, but most are physically slightly thicker than MMC cards. They also boast higher data transfer rates. DRM features are available but are little-used. SD cards generally measure 32 mm Γ— 24 mm Γ— 2.1 mm, but can be as thin as 1.4 mm, just like MMC cards.

    There are different speed grades available. They are referred to with the same nx notation as CD-ROMs; a multiple of 150 kB/s. Devices with SD slots can use the thinner MMC cards, but the standard SD cards will not fit into the thinner MMC slots. MiniSD and MicroSD cards can be used directly in SD slots with an adapter. There are readers which allow SD cards to be accessed via many connectivity ports such as USB, FireWire.

    Pin SD Mode SPI Mode
    Name Type Description Name Type Description
    1 CD/DAT3 I/O/PP Card detection / Connector data line 3 CS I Chip selection in low status
    2 CMD PP Command/Response line DI I Data input
    3 Vss1 S GND VSS S GND
    4 Vdd S Power supply VDD S Power supply
    5 CLK I Clock SCLK I Clock
    6 Vss2 S GND VSS2 S GND
    7 DAT0 I/O/PP Connector data line 0 DO O/PP Data output
    8 DAT1 I/O/PP Connector data line 1 RSV
    9 DAT2 I/O/PP Connector data line 2 RSV

    SD cards interface is compatible with standard MMC card operations. All SD memory and SDIO cards are required to support the older SPI/MMC mode which supports the slightly slower four-wire serial interface (clock, serial in, serial out, chip select) that is compatible with SPI ports on many microcontrollers. Many digital cameras, digital audio players, and other portable devices probably use MMC mode exclusively. MMC mode does not provide access to the proprietary encryption features of SD cards, and the free SD documentation does not describe these features. As the SD encryption exists primarily for media producers, it is not of much use to consumers who typically use SD cards to hold unprotected data.

    There are three transfer modes supported by SD: SPI mode (separate serial in and serial out), one-bit SD mode (separate command and data channels and a proprietary transfer format), and four-bit SD mode (uses extra pins plus some reassigned pins) to support four bit wide parallel transfers. Low speed cards support 0 to 400 kbit/s data rate and SPI and one-bit SD transfer modes. High speed cards support 0 to 100 Mbit/s data rate in four-bit mode and 0?25 Mbit/s in SPI and one-bit SD modes.

    SD cards security features includes:

    • Copyright protection mechanism with the SDMI standard (Secure Digital Music Initiative)
    • Integrated CPRM file protection and encryption system (CPRM is a Content Protection for Recordable Media)

    ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ дня! БСгодня ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹ памяти SD ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ STM32.

    Казалось Π±Ρ‹, памяти ΠΏΠΎΠ»Π½ΠΎ Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² STM32F10x, Π·Π°Ρ‡Π΅ΠΌ Ρ‚Π°ΠΌ Π΅Ρ‰Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ, Π½ΠΎ это Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΌΠ°Π½Ρ‡ΠΈΠ²ΠΎ) Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°Π΄ΠΎ Π½Π°ΠΌ Π½Π° дисплСй вывСсти ΠΏΠ°Ρ€Ρƒ-Ρ‚Ρ€ΠΎΠΉΠΊΡƒ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ – Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ 320*240 – Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 76800 пиксСлСй, ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соотвСтствуСт Ρ†Π΅Π»Ρ‹Ρ… 2 Π±Π°ΠΉΡ‚Π°. Π’ΠΎΡ‚ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΠΊΠΎΠ»ΠΎ 150 ΠΊΠ‘ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ. А это Π½Π΅ΠΌΠ°Π»ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€ΠΊΠ°ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΈ Π½Π΅ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π΄Π²Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ удастся Π·Π°ΠΏΠΈΡ…Π°Ρ‚ΡŒ Π² Π΅Π³ΠΎ Flash ΠΏΠ°ΠΌΡΡ‚ΡŒ. Или Π½Π°Π΄ΠΎ Π½Π°ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π΄Π°Π½Π½Ρ‹Π΅ с ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ. Π”Π° Π΅Ρ‰Π΅ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эти Π΄Π°Π½Π½Ρ‹Π΅ Π±Ρ‹Π»ΠΈ доступны ΠΈ послС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания. Π’ΠΎΡ‚ Ρ‚ΡƒΡ‚ Ρ‚ΠΎ Π½Π°ΠΌ ΠΈ пригодится внСшняя ΠΏΠ°ΠΌΡΡ‚ΡŒ. И ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ SD ΠΊΠ°Ρ€Ρ‚Π° памяти ΠΈΠ»ΠΈ MMC. К слову Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚Ρ‹ Π½Π°Π΄ ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ micro SD .

    Для Π½Π°Ρ‡Π°Π»Π° ΠΏΠ°Ρ€Π° слов ΠΎ самой ΠΊΠ°Ρ€Ρ‚Π΅ памяти, Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΎ Π΅Π΅ распиновкС. Выглядит всС это Π΄Π΅Π»ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

    Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΡ‚ Ρƒ нас? Ну сразу Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Ρƒ Π½Π΅Π΅ Ρ†Π΅Π»Ρ‹Ρ… восСмь ΡˆΡ‚ΡƒΠΊ. НазначСниС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ (слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ):


    Колонка SPI Mode Π½Π°ΠΌ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ взаимодСйствуСт с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ интСрфСйса SPI. НО! ΠœΡ‹ ΠΏΠΎΠΉΠ΄Π΅ΠΌ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ πŸ˜‰ ВсС Π΄Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ STM32 ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π° своСм Π±ΠΎΡ€Ρ‚Ρƒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ с ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ памяти, ΠΈ называСтся ΠΎΠ½ SDIO.

    Π’ΠΎΠΎΠ±Ρ‰Π΅ взаимодСйствиС с ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ памяти Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. НСкоторыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Ρ‚. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ. Π’Π°ΠΊ Π²ΠΎΡ‚ встроСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ SDIO Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ процСсс ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, Π΄Π° ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ процСсс Ρ€Π°Π±ΠΎΡ‚Ρ‹ с внСшними ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ памяти. НапримСр, Π²ΠΎΡ‚ рСгистр SDIO_CMD – Ρ‚ΡƒΠ΄Π° ΠΌΡ‹ просто напросто записываСм ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Π΅. Или Π²ΠΎΡ‚ статусный рСгистр SDIO_STA – Ρ‚Π°ΠΌ Ρ†Π΅Π»Ρ‹Ρ… 24 Ρ„Π»Π°Π³Π° Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡ΠΈΡ…, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ для большого количСства событий.

    ΠšΡΡ‚Π°Ρ‚ΠΈ STM Ρ€Π°Π΄ΡƒΠ΅Ρ‚ Π΅Ρ‰Π΅ ΠΈ Π΄ΠΎΠ±Ρ€ΠΎΡ‚Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° всС это Π΄Π΅Π»ΠΎ. Π’ΠΎΡ‚, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΊΠ°Ρ€Ρ‚Ρ‹ памяти SD (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ всС описано для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠ°Ρ€Ρ‚):

    Ну, собствСнно, ΠΏΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ практичСскому ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‡ΠΈΠΊΡƒ. ΠŸΠΎΠΊΠΎΠ²Ρ‹Ρ€ΡΠ΅ΠΌ-ΠΊΠ° Standard Peripheral Library.

    Π’ Ρ„Π°ΠΉΠ»Π΅ stm32f10x_sdio.h ΠΏΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ структуры для всСвозмоТной настройки – Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ для Π²Ρ‹Π±ΠΎΡ€Π° источника Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сигнала, частоты ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° SDIO, настройки количСства ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π±Π°ΠΉΡ‚. Π’Π°ΠΌ всС Ρ‚Π°ΠΊ Ρ‰Π΅Π΄Ρ€ΠΎ ΠΎΡ‚ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ хочСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ это ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ)) ΠŸΡ€ΠΎΡΡ‚ΠΎ смотритС:

    typedef struct { uint32_t SDIO_ClockEdge; /* Specifies the clock transition on which the bit capture is made. This parameter can be a value of @ref SDIO_Clock_Edge */ uint32_t SDIO_ClockBypass; /* Specifies whether the SDIO Clock divider bypass is enabled or disabled. This parameter can be a value of @ref SDIO_Clock_Bypass */ uint32_t SDIO_ClockPowerSave; /* Specifies whether SDIO Clock output is enabled or disabled when the bus is idle. This parameter can be a value of @ref SDIO_Clock_Power_Save */ uint32_t SDIO_BusWide; /* Specifies the SDIO bus width. This parameter can be a value of @ref SDIO_Bus_Wide */ uint32_t SDIO_HardwareFlowControl; /* Specifies whether the SDIO hardware flow control is enabled or disabled. This parameter can be a value of @ref SDIO_Hardware_Flow_Control */ uint8_t SDIO_ClockDiv; /* Specifies the clock frequency of the SDIO controller. This parameter can be a value between 0x00 and 0xFF. */ } SDIO_InitTypeDef; typedef struct { uint32_t SDIO_Argument; /* Specifies the SDIO command argument which is sent to a card as part of a command message. If a command contains an argument, it must be loaded into this register before writing the command to the command register */ uint32_t SDIO_CmdIndex; /* Specifies the SDIO command index. It must be lower than 0x40. */ uint32_t SDIO_Response; /* Specifies the SDIO response type. This parameter can be a value of @ref SDIO_Response_Type */ uint32_t SDIO_Wait; /* Specifies whether SDIO wait-for-interrupt request is enabled or disabled. This parameter can be a value of @ref SDIO_Wait_Interrupt_State */ uint32_t SDIO_CPSM; /* Specifies whether SDIO Command path state machine (CPSM) is enabled or disabled. This parameter can be a value of @ref SDIO_CPSM_State */ } SDIO_CmdInitTypeDef; typedef struct { uint32_t SDIO_DataTimeOut; /* Specifies the data timeout period in card bus clock periods. */ uint32_t SDIO_DataLength; /* Specifies the number of data bytes to be transferred. */ uint32_t SDIO_DataBlockSize; /* Specifies the data block size for block transfer. This parameter can be a value of @ref SDIO_Data_Block_Size */ uint32_t SDIO_TransferDir; /* Specifies the data transfer direction, whether the transfer is a read or write. This parameter can be a value of @ref SDIO_Transfer_Direction */ uint32_t SDIO_TransferMode; /* Specifies whether data transfer is in stream or block mode. This parameter can be a value of @ref SDIO_Transfer_Type */ uint32_t SDIO_DPSM; /* Specifies whether SDIO Data path state machine (DPSM) is enabled or disabled. This parameter can be a value of @ref SDIO_DPSM_State */ } SDIO_DataInitTypeDef;

    ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ΠΊΠ°ΠΊ Π² SPL Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠ°Ρ€Ρ‚Π΅ памяти. Для этих Ρ†Π΅Π»Π΅ΠΉ ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ структура SDIO_CmdInitTypeDef. Π’ ΠΏΠΎΠ»Π΅ SDIO_CmdIndex Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π² ΠΏΠΎΠ»Π΅ SDIO_Argument – Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‚Π°ΠΊΠΆΠ΅ заполняСм ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ поля. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΊΠ°ΠΊ Ρ‚ΠΎ эти Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°ΠΏΠΈΡ…Π°Ρ‚ΡŒ Π² ΠΊΠ°Ρ€Ρ‚Ρƒ micro SD πŸ˜‰ А для этого Π½Π°ΠΌ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

    SDIO_SendCommand (SDIO_CmdInitTypeDef *SDIO_CmdInitStruct)

    Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅ΠΉ ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚Π°ΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π½Π°ΠΌΠΈ структуру. Для записи Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΡΡ‚ΡŒ функция – SDIO_WriteData(uint32_t Data) . ПослС Π²Ρ‹Π·ΠΎΠ²Π° этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Π΅ окаТутся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΌ для этого рСгистрС – SDIO_FIFO.

    Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Π²ΠΎΡ‚ осущСствляСтся Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ SDIO Π² STM32F10x)

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ. Π― снова Π±ΡƒΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠ»Π°Ρ‚ΠΎΠΉ Mini STM32, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄ΠΎΠ±Ρ€Ρ‹Π΅ ΠΊΠΈΡ‚Π°ΠΉΡ†Ρ‹ ΠΎΠ·Π°Π΄Π°Ρ‡ΠΈΠ»ΠΈΡΡŒ установкой Π½Π° Π½Π΅Π΅ слота для ΠΊΠ°Ρ€Ρ‚Ρ‹ памяти micro SD. Π’ΠΎΡ‚ схСма ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π·ΡŠΠ΅ΠΌΠ° для ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ:

    Для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ для Keil’а – стащим ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ – это Ρ„Π°ΠΉΠ»Ρ‹ sdcard.c ΠΈ sdcard.h. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, цСпляСм Ρ‚ΡƒΠ΄Π° эти Ρ„Π°ΠΉΠ»Ρ‹, Π° ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, СстСствСнно, Ρ„Π°ΠΉΠ»Ρ‹ CMSIS ΠΈ SPL. Π’ΠΎΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всС ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ – остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main())

    Π’ Ρ„Π°ΠΉΠ»Π΅ sdcard.c Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ всСвозмоТныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ памяти, Π½Π°ΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ остаСтся ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ πŸ˜‰ ПишСм ΠΊΠΎΠ΄! Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° запишСм Π½Π° micro SD 512 Π±Π°ΠΉΡ‚ тСстовых Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΡ… ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ:

    // ЦСпляСм Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ #include "stm32f10x.h" #include "sdcard.h" /*******************************************************************/ // ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ пСрСмСнная для хранСния Π΄Π°Π½Π½Ρ‹Ρ… // ΠΎ нашСй ΠΊΠ°Ρ€Ρ‚Π΅ uint8_t writeBuffer[ 512 ] ; uint8_t readBuffer[ 512 ] ; SD_CardInfo SDCardInfo; /*******************************************************************/ int main() { // ВСстовыС Π΄Π°Π½Π½Ρ‹Π΅ для записи for (uint16_t i = 0 ; i < 512 ; i++ ) { writeBuffer[ i] = i % 256 ; readBuffer[ i] = 0 ; } // Π˜Π½ΠΈΡ†ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠ°Ρ€Ρ‚Ρ‹ SD_Init() ; // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ°Ρ€Ρ‚Π΅ SD_GetCardInfo(& SDCardInfo) ; // Π’Ρ‹Π±ΠΎΡ€ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ настройка Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ SD_SelectDeselect((uint32_t ) (SDCardInfo.RCA << 16 ) ) ; SD_SetDeviceMode(SD_POLLING_MODE) ; // И Π²ΠΎΡ‚ Π½Π°ΠΊΠΎΠ½Π΅Ρ† Ρ‚ΠΎ запись ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ SD_WriteBlock(0x00 , writeBuffer, 512 ) ; SD_ReadBlock(0x00 , readBuffer, 512 ) ; while (1 ) { } } /*******************************************************************/

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ SD ΠΊΠ°Ρ€Ρ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ запись Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΏΠΎ 512 Π±Π°ΠΉΡ‚.

    Если ΠΌΡ‹ запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΠ΄ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ считанныС Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ записанным =) Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ экспСримСнт ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π²ΡˆΠΈΠΌΡΡ. На этом Π½Π° сСгодня Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅ΠΌ, Π΄ΠΎ скорых встрСч!

    ОбновлСно18.12.15. ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚. БСгодня ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° сбора Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ сохранСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ нСпосрСдствСнно Π½Π° ΠΊΠ°Ρ€Ρ‚Ρƒ SD . Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±Ρ‹Π»Π° Π½Π°Π»Π°ΠΆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π² дальнСйшСм часов Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ(ΡΡ‚Π°Ρ‚ΡŒΡ β„–29 ), ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π·Π°Π½ΠΎΡΠΈΡ‚ΡŒ Π½Π° ΠΊΠ°Ρ€Ρ‚Ρƒ памяти, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² ΡΠ²ΠΎΠ΅ΠΎΠ±Ρ€Π°Π·Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. А Ρ‚Π°ΠΊΠΆΠ΅ Π² дальнСйшСм пСрСнСсСм эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° ПК (ΡΡ‚Π°Ρ‚ΡŒΡ β„–42), Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ MySQL (ΡΡ‚Π°Ρ‚ΡŒΡ β„–48), Ρ‡Π΅Ρ€Π΅Π· нСбольшоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Java (ΡΡ‚Π°Ρ‚ΡŒΡ β„–44). Но спСрва разбСрСмся Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ SD – ΠΊΠ°Ρ€Ρ‚Π° ΠΈ ΠΊΠ°ΠΊ с Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. НачнСм с ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ³ΠΎ ΠΎΠ±Π·ΠΎΡ€Π° истории. ΠŸΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠΌ Flash-памяти являСтся ΠΎΠ΄Π½Π° ΠΈΠ· энСргонСзависимых Π²ΠΈΠ΄ΠΎΠ² памяти , Ρ‚ΠΈΠΏΠ° , которая Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»Π° сСбя ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…. Flash-ΠΏΠ°ΠΌΡΡ‚ΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π² Ρ…ΠΎΠ΄Π΅ потрСбности увСличСния Смкости ΠΈ измСнСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ стирания (Π² случаС с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ EPROM). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² 1984 Π³ΠΎΠ΄Ρƒ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Toshiba Π€ΡƒΠ΄Π·ΠΈΠΎ ΠœΠ°ΡΡƒΠΎΠΊΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ стирания, Ρ‡Ρ‚ΠΎ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Ρ€Π΅ΡˆΠΈΠ» нСдостатки ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠ² Flash-памяти. Π₯очСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π»Π΅Π΅ данная ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π°Ρ‡Π°Π»Π° дСлится ΠΏΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ устройству соСдинСния ячССк Π² массив ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ чтСния-записи – это NOR- ΠΈ NAND-тСхнология. А Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎ количСству Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² Π² элСмСнтарной ячСйкС. Π­Ρ‚ΠΎ SLC-устройства (single-levelcell), Ρ‚.Π΅. ΠΎΠ΄Π½ΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ячСйки Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° уровня заряда Π½Π° ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΌ Π·Π°Ρ‚Π²ΠΎΡ€Π΅. И MLC- устройства (multi–levelcell) β€” ΠΌΠ½ΠΎΠ³ΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ячСйки Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ большС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ заряда. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ² дСшСвлС ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‘ΠΌΠΊΠΈΠΉ, Ρ‡Π΅ΠΌ SLC-ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ с большим Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ доступа ΠΈ мСньшим ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством пСрСзаписСй (ΠΎΠΊΠΎΠ»ΠΎ 10 тыс. ΠΈ 100 тыс. β€” SLC).

    Π’ΠΎΠΎΠ±Ρ‰Π΅ устройства Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ NOR β€” это двумСрная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ быстрый доступ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки памяти, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ячСйки считаСтся большой, поэтому данная тСхнология ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ микропроцСссоров ΠΈ для хранСния Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, сюда ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈ спСциализированныС микросхСмы Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²
    (POST ΠΈ BIOS), процСссоров ЦОБ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ.Π’ΠΈΠΏΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΡ‘ΠΌΡ‹ - ΠΎΡ‚ 1 ΠΊΠ±Π°ΠΉΡ‚Π° Π΄ΠΎ 1 ΠœΠ±Π°ΠΉΡ‚Π°.
    Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΈΠΏ устройства β€” NAND-тСхнология β€” Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ°Π»ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ячСйки, Π½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ доступ сразу ΠΊ большой Π³Ρ€ΡƒΠΏΠΏΠ΅ ячССк. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов памяти. Π’ΠΎΡ‚ с этой ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΌΡ‹ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.
    Но ΠΏΠ΅Ρ€Π΅Π΄ этим хочСтся ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ± нСдостаткС. Как ΠΈ Ρƒ всСго Π΅ΡΡ‚ΡŒ свой срок использования, Ρ‚Π°ΠΊ ΠΈ Ρƒ памяти Π΅ΡΡ‚ΡŒ рСсурс износа. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π² Π³ΠΎΠ½ΠΊΠ΅ Π·Π° Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ ΠΈ лидСрством Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅, всСгда ΡƒΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΊΠ°ΠΊ качСство, Ρ‚.ΠΊ. ΠΎΠ½ Π½Π΅ совмСстим с высокой Ρ†Π΅Π½ΠΎΠΉ. Π’Π°ΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ износу хочСтся ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ срок хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ использовании MLC-устройств составляСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 5 Π»Π΅Ρ‚, Ρ‡Ρ‚ΠΎ связанно с Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΡ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ заряда. Если Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ NAND c SLC-устройства, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ качСствСнными, ΠΈ соотвСтствСнно Π΄ΠΎΡ€ΠΎΠ³ΠΈΠΌΠΈ. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ срок хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ зависит ΠΎΡ‚ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, Π³Π°ΠΌΠΌΠ°-Ρ€Π°Π΄ΠΈΠ°Ρ†ΠΈΠΈ ΠΈ частиц высокой энСргии.
    Π’Ρ‹ΡˆΠ΅ Π±Ρ‹Π»ΠΎ сказано, Ρ‡Ρ‚ΠΎ нСдостаток ΠΊΠ°Ρ€Ρ‚Ρ‹ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Ρ†ΠΈΠΊΠ»ΠΎΠ² пСрСзаписСй. Когда ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму для управлСния Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ систСмы Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½ΠΎ мСсто, СстСствСнно Ρ€Π°ΡΡ…ΠΎΠ΄ΡƒΡŽ рСсурс Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ области Π² ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° Π΅Π΅ ΠΈΠ· строя ΠΈ соотвСтствСнно ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ. Для этого Ρ‚ΠΈΠΏΠ° памяти ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ NAND-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ износ. Однако для ΡƒΠ΄Π΅ΡˆΠ΅Π²Π»Π΅Π½ΠΈΡ устройств ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π° Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ NAND-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. ПослС этого открытия, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ занялись Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ своих стандартов ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚.

    Π”Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ нСпосрСдствСнно ΠΊ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ ΠΊΠ°Ρ€Ρ‚Ρ‹.
    Secure Digital Memory Card (SD) - Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠ°Ρ€Ρ‚ памяти, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для использования Π² основном Π² ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… устройствах. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, которая описываСт Π΄Π°Π½Π½Ρ‹ΠΉ стандарт ΠΈ называСтся SD Specifications ver3.01.
    ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‚Π°ΠΊ это Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этой ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅. Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°Ρ€Ρ‚Ρƒ. Для экспСримСнтов я взял microSD Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ 2Π“Π±, стандарт Смкости SDSC. Π¨ΠΈΠ½Π° ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ SD ΠΈ SPI. Π₯очСтся ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ данная ΠΊΠ°Ρ€Ρ‚Π° это своСго Ρ€ΠΎΠ΄Π° модификация ΠΊΠ°Ρ€Ρ‚Ρ‹ MMC, Π³Π΄Π΅ (Π² ΠΊΠ°Ρ€Ρ‚Π΅ SD) основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ систСмС бСзопасности. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ SPI Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, Π½Ρƒ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ ΠΎΠ½ΠΈ одностороннС совмСстимы. Π’.Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π² слот SD ΠΊΠ°Ρ€Ρ‚Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ MMC, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

    На рисункС Π½ΠΈΠΆΠ΅ прСдставлСна схСма ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ°Ρ€Ρ‚Ρ‹ SD ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ SPI .
    Π”Π°Π½Π½Ρ‹ΠΉ интСрфСйс позволяСт ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° высокой скорости, задСйствовав ΠΏΡ€ΠΈ этом минимальноС количСство Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ оснащСны ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ SPI. Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π°Ρ‡Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ нас интСрСсуСт- Π²Ρ‹Π±ΠΎΡ€ Ρ€Π΅ΠΆΠΈΠΌΠ°. РазбСрСмся Π² тонкостях Π½Π° рис. Π½ΠΈΠΆΠ΅ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° 6.4.1.1 прСдставлСна Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° напряТСния питания ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ посылки ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π—Π΄Π΅ΡΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎ Π²ΠΈΠ΄Π½ΠΎ Ρ‡Ρ‚ΠΎ послС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΆΠ΄Π°Ρ‚ΡŒ нСсколько миллисСкунд (1мс + ΠΎΡ‚ 0.1 Π΄ΠΎ 35 мс(нарастаниС)) Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ этого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° CS, MOSI Π»ΠΈΠ½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄Π°Π½Π° 1. Π”Π°Π»Π΅Π΅ происходит Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ максимум 1 мс, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ Π½Π° Π²Ρ…ΠΎΠ΄ CLK 74 ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² (Ρ‚Π°ΠΊΡ‚ΠΎΠ²), послС Ρ‡Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ΄Ρ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° CMD0. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π³Π»Π°Π²Π΅ 7 Π³Π΄Π΅ Ρ‡Π΅Ρ‚ΠΊΠΎ описана ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий.

    Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° напряТСния питания

    SPI ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» выбираСтся послС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания ΠΈ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сброса CMD0. Π‘Π°ΠΌΠ° ΠΏΠΎ сСбС ΠΊΠ°Ρ€Ρ‚Π° SD Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ SD. Π’Ρ…ΠΎΠ΄ Π² Ρ€Π΅ΠΆΠΈΠΌ осущСствляСтся Ссли сигнал SC ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ CMD0 Π±ΡƒΠ΄Π΅Ρ‚ 0. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌ SPI ΠΊΠ°Ρ€Ρ‚Π° ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ R1 (рисунок Π½ΠΈΠΆΠ΅). Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π° прСдставляСт собой Π±Π°ΠΉΡ‚ (зависит ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ см. Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ 7.3 Π² спСцификации) с Ρ„Π»Π°Π³Π°ΠΌΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ состояниС ΠΊΠ°Ρ€Ρ‚Ρ‹. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ для нас это Π±ΡƒΠ΄Π΅Ρ‚ 1 (Π² случаС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ CMD0) ΠΈ 0 Π²ΠΎ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях.
    1-ΠΉ Π±ΠΈΡ‚ – Ρ€Π΅ΠΆΠΈΠΌ оТидания
    2-ΠΉ – ошибка стирания
    3- ΠΉ – нСизвСстная ΠΊΠΎΠΌΠ°Π½Π΄Π°
    4-ΠΉ – ошибка ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
    5-ΠΉ – ошибка Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ стирания
    6-ΠΉ β€“ΠΎΡˆΠΈΠ±ΠΊΠ° адрСса
    7-ΠΉ – ошибка Π°Ρ€Π³ΡƒΠ΅Π½Ρ‚Π°

    Π’ процСссС сброса, ΠΊΠ°Ρ€Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ 0Γ—01, Ρ‡Ρ‚ΠΎ соотвСтствуСт ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π±ΠΈΡ‚Ρƒ.

    Π’ спСцификации Π΅ΡΡ‚ΡŒ чСткая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для SPI. Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° CMD8 для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ состояния ΠΊΠ°Ρ€Ρ‚Ρ‹, Π³Π΄Π΅ происходит довольно Π½Π΅ простой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π”Π°Π»Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° CMD58 для опрСдСлСния Ρ‚ΠΈΠΏΠ° ΠΊΠ°Ρ€Ρ‚Ρ‹ SDSD ΠΈΠ»ΠΈ SDHC ΠΈ SDXC. А Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° CMD41 для запуска ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Π½Π΅ простой процСсс ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ, Π½ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ Ρ‡Ρ‚ΠΎ для простой записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ процСсс. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ 7.2.7. говорится, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ оТидания СдинствСнно допустимыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ CMD41, CMD8, CMD58, CMD59 , Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΊΠ°Ρ€Ρ‚ (толстых 2.1ΠΌΠΌ) памяти SD CMD1, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ CMD41. Π’ стандартС эта ΠΊΠΎΠΌΠ°Π½Π΄Π° считаСтся Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½ΠΎΠΉ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для различия ΠΊΠ°Ρ€Ρ‚ 1,4ΠΌΠΌ ΠΈ 2,1ΠΌΠΌ.
    ПойдСм Π±ΠΎΠ»Π΅Π΅ простым ΠΏΡƒΡ‚Π΅ΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ CMD1. ВсС Π²Ρ‹ΡˆΠ΅ описанноС ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ Π² ΠΊΠΎΠ΄Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ этим рассмотрим Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. КаТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… состоят ΠΈΠ· восьми Π±ΠΈΡ‚Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ сигналу CLK. Π’.Π΅. каТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° выравниваСтся ΠΏΠΎ Π³Ρ€Π°Π½ΠΈΡ†Π΅ 8 Ρ‚Π°ΠΊΡ‚ΠΎΠ². БообщСния SPI состоят ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Вся связь контролируСтся ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ. ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π»ΠΈΠ½Ρƒ 6 Π±Π°ΠΉΡ‚. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° начинаСтся с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°.

    На рисункС Π½ΠΈΠΆΠ΅ прСдставлСн Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.


    Π‘Ρ‚Π°Ρ€Ρ‚ Π±ΠΈΡ‚ – с 0 начинаСтся любая ΠΊΠΎΠΌΠ°Π½Π΄Π°. ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ Π±ΠΈΡ‚ – Ρ‚ΠΎΠΆΠ΅ всСгда Ρ€Π°Π²Π½Π° 1.
    ИндСкс – нСпосрСдствСнно пСрСдаваСмая ΠΊΠΎΠΌΠ°Π½Π΄Π°.
    АргумСнт- для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ спСцификации.
    CRC – ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° избыточности ΠΊΠΎΠ΄Π°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ SPI ΠΎΠ½Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ CMD0, которая посылаСтся Π΄ΠΎ Π²Ρ…ΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CRC 0Γ—95.
    Π‘Ρ‚ΠΎΠΏ Π±ΠΈΡ‚ - ΠΊΠΎΠ½Π΅Ρ† ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.
    Π§Ρ‚ΠΎ ΠΆ приступим ΠΊ написанию ΠΊΠΎΠ΄Π°.
    НачнСм с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… 2-Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌ Π±Π°ΠΉΡ‚Π°.
    1. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π±Π°ΠΉΡ‚Π° ΠΊΠ°Ρ€Ρ‚Π΅.
    void trans_byte_sd (unsigned char data)// ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ массив Π±ΠΈΡ‚ΠΎΠ²
    {
    for (unsigned char i=0;i<8;i++) //ΠŸΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ Π±Π°ΠΉΡ‚
    {
    if ((data&0Γ—80)==0Γ—00) //Если ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±ΠΈΡ‚ = 0
    PORTB&=~_BV (PB3); //Π’Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ MOSI (DI) -0
    else
    PORTB|=_BV (PB3); //1
    data=data<<1; // сдвиг влСво
    PORTB|=_BV (PB5); //Π˜ΠΌΠΏΡƒΠ»ΡŒΡ ΠΈΠ»ΠΈ строб
    asm (Β«nopΒ»); //ΠŸΠ°ΡƒΠ·Π° Π² 1 Ρ‚Π°ΠΊΡ‚
    PORTB&=~_BV (PB5);
    }
    }
    2. ΠŸΡ€ΠΈΠ΅ΠΌ Π±Π°ΠΉΡ‚Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ.
    unsigned char receive_byte_sd (void) // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚
    {
    unsigned char data = 0; // ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ массив
    for (unsigned char i=0; i<8; i++)
    {
    PORTB|=_BV (PB5); //Π€Ρ€ΠΎΠ½Ρ‚ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°
    data=data<<1; // Π‘Π΄Π²ΠΈΠ³Π°Π΅ΠΌ Π²Π»Π΅Π²ΠΎ
    if ((PINB&_BV (PB4))!=0Γ—00) // Если состояниС ΠΏΠΈΠ½Π° 1
    data=data|0Γ—01;
    PORTB&=~_BV (PB5); //0
    asm (Β«nopΒ»);
    }
    return data; // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚
    }

    Из Π²Ρ‹ΡˆΠ΅ описанных, основных, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π°Ρ‡Π½Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ дальнСйший ΠΊΠΎΠ΄. Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π—Π΄Π΅ΡΡŒ хочСтся ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ внимания, Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ всС 5-Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²: нСпосрСдствСнно саму ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ 4-Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° адрСс ячССк памяти самой ΠΊΠ°Ρ€Ρ‚Ρ‹. Π§Ρ‚ΠΎ касаСтся 6-Π³ΠΎ Π±Π°ΠΉΡ‚Π°, Ρ‚ΠΎ CRC ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌ SPI ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ постоянно Ρ€Π°Π²Π½ΠΎ 0Γ—95, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для CMD0, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ CMD58. Для экспСримСнтов я ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

    3.ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.
    unsigned char comand_sd (char CMD, char arg) /*ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ адрСс ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ обращаСмся ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚*/
    {
    long int i=0; // пСрСмСнная для счСтчика
    unsigned char r1; // ΠΎΡ‚Π²Π΅Ρ‚ ΠΊΠ°Ρ€Ρ‚Ρ‹
    trans_byte_sd (CMD); // ΠΊΠΎΠΌΠ°Π½Π΄Π°
    trans_byte_sd (0Γ—00);
    trans_byte_sd (0Γ—00);
    trans_byte_sd (arg); // ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° адрСса
    trans_byte_sd (0Γ—00);
    trans_byte_sd (0Γ—95); // ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° CRC
    /* ПослС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΆΠ΄Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° R1.КаТдой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ соотвСтствуСт свой ΠΎΡ‚Π²Π΅Ρ‚*/
    /* Π¦ΠΈΠΊΠ» для оТидания получСния ΠΎΡ‚Π²Π΅Ρ‚Π° Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя*/
    do
    {
    r1=receive_byte_sd ();
    i++;
    }while (((r1&0Γ—80)!=0Γ—00)&&(i<0xffff)); /* Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±ΠΈΡ‚ Π±Π°ΠΉΡ‚Π° Π½Π΅ Ρ€Π°Π²Π΅Π½ 0 ΠΈ i Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 65 535 Ρ‚Π°ΠΊΡ‚ΠΎΠ²*/
    return r1; // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚
    }
    4. И нициализация ΠΊΠ°Ρ€Ρ‚Ρ‹.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ°Ρ€Ρ‚Ρ‹. ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° описываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‚Π°ΠΊ это пСрСвСсти ΠΊΠ°Ρ€Ρ‚Ρƒ Π² Ρ€Π΅ΠΆΠΈΠΌ SPI. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ питания ΠΊΠ°Ρ€Ρ‚Π° устанавливаСтся Π² Ρ€Π΅ΠΆΠΈΠΌ SD. Для Π²Ρ‹Π±ΠΎΡ€Π° Ρ€Π΅ΠΆΠΈΠΌΠ° SPI Π½Π° Π²Ρ…ΠΎΠ΄ CS подаСтся логичСский 0, Π² это ΠΆΠ΅ врСмя подаСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° сброса CMD0 ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ CMD1 Π½Π° Π²Ρ…ΠΎΠ΄ ΠΊΠ°Ρ€Ρ‚Ρ‹ MOSI. ΠžΠ±Ρ€Π°Ρ‚ΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° начинаСтся ΠΎΡ‚ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ 0Γ—40, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ CMD Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.

    unsigned char spi_card_init (void) // функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚
    {
    unsigned char r1; // пСрСмСнная для ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΎΡ‚Π²Π΅Ρ‚Π°
    long int i =0; // пСрСмСнная для счСтчика
    _delay_ms (10); // нСбольшая Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° для стабилизации напряТ.
    PORTB|=_BV (PB1); //CS, устанавливаСм 1, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ Ρ‚Π°ΠΊΡ‚ΠΎΠ²
    PORTB|=_BV (PB3); //линия ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ β€” 1 MOSI (DI)
    for (unsigned char i=0; i<80;i++) // посылаСм Π±ΠΎΠ»Π΅Π΅ 74 ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°
    {
    PORTB|=_BV (PB5); //CLK β€” 1
    asm (Β«nopΒ»); //Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΡ‚
    PORTB&=~_BV (PB5); //CLK β€” 0
    }
    PORTB&=~_BV (PB1); /* условиС для Π²Ρ…ΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌ SPI линия CS Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½Π° 0 */
    r1=comand_sd (0Γ—40,0Γ—00); // CMD0=0Γ—40, адрСс Π±Π΅Π· Ρ€Π°Π·Π½ΠΈΡ†Ρ‹
    if (r1!=0Γ—01) return 4; //ΠΊΠΎΠ΄Ρ‹ ошибок ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅
    trans_byte_sd (0xff); /* посылаСм строб, своСобразная ΠΏΠ°ΡƒΠ·Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π° */
    do // Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ ΠΊΠ°Ρ€Ρ‚Ρ‹
    {
    r1=comand_sd (0Γ—41,0Γ—00); /* посылаСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ */
    trans_byte_sd (0xff); // ΠΏΠ°ΡƒΠ·Π°
    i++; // счСтчик
    }while ((r1!= 0)&&(i<65535)); /*ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΎΡ‚Π²Π΅Ρ‚ 0 ΠΈ количСство Ρ†ΠΈΠΊΠ»ΠΎΠ² Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 0xffff */
    if (i>=0xffff) return 5; /* Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ссли прСвысило врСмя опроса */
    return 0;//Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ 0 Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
    }

    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π² спСцификации ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ информация пСрСдаСтся Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΠΏΠΎ 512 Π±ΠΈΡ‚, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Ссли ΠΊΠ°Ρ€Ρ‚Π° SDSC ΠΊΠ°ΠΊ Π² нашСм случаС, Ρ‚ΠΎ Π΄Π»ΠΈΠ½Ρƒ Π±Π»ΠΎΠΊΠ° ΠΌΠΎΠΆΠ½0 ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚ 1 Π΄ΠΎ 512 Π±ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ CMD16. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 512 Π±ΠΈΡ‚. Π”Π°Π»Π΅Π΅ опишСм Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π±Π»ΠΎΠΊΠΎΠ². Π’ спСцификации Π΄Π°Π½Ρ‹ Π±Π»ΠΎΠΊ-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ напишСм ΠΊΠΎΠ΄.

    ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π±Π»ΠΎΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΠΊΠ°Ρ€Ρ‚Ρƒ.

    Π—Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π•Π”Π˜ΠΠ‘Π’Π’Π•ΠΠΠžΠ“Πž Π±Π»ΠΎΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° CMD24. ПослС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΆΠ΄Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ ПослС Ρ‡Π΅Π³ΠΎ слСдуСт стартовый Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΡƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ°Ρ€Ρ‚Π° ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π±Π°ΠΉΡ‚ΠΎΠΌ ΠΎ состоянии ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описан Π² Π³Π»Π°Π²Π΅ 7.3.3.1. Π’.Π΅. ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ= 5. Π’Π°ΠΊΠΆΠ΅ ΠΆΠ΄Π΅ΠΌ освобоТдСния ΡˆΠΈΠ½Ρ‹ для дальнСйшСй ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ.

    Π‘Π°ΠΉΡ‚ ΠΎΡ‚Π·Ρ‹Π²Π° ΠΎ состоянии ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ.

    Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ 7.3.3.2 описываСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°
    unsigned char receive_block_sd (char* block, char arg) /* ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ массив для записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ адрСс ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ обращаСмся*/
    {
    long int i = 0;
    unsigned char r1;
    r1=comand_sd (0X51,arg); //CMD17
    if (r1!=0Γ—00) return 5; //Π’Ρ‹ΠΉΡ‚ΠΈ, Ссли ΠΎΡ‚Π²Π΅Ρ‚ Π½Π΅ 0Γ—00
    trans_byte_sd (0xff);
    do //Π–Π΄Π΅ΠΌ Π½Π°Ρ‡Π°Π»Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…
    {
    r1=receive_byte_sd ();
    i++;
    }while ((r1!= 0xfe)&&(i<65535));
    if (i>=0xffff) return 5;
    for (int i=0;i<512;i=i+1) //ΠΏΡ€ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…
    block[i] = receive_byte_sd ();
    receive_byte_sd (); //Π±Π°ΠΉΡ‚ CRC
    receive_byte_sd (); //Π±Π°ΠΉΡ‚ CRC
    return 0;
    }

    ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, рассмотрим Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. Как ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Π²Ρ‹ΡˆΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°Ρ€Ρ‚Π° совмСстима с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ SPI. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ:
    1. БопряТСниС логичСских ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Π½ΠΎΠΌ напряТСнии питания SD-ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° AVR. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСзистивный Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ напряТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ,Ρ‚.Π΅. напряТСниС Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ зависит ΠΎΡ‚ напряТСния Π½Π° Π²Ρ…ΠΎΠ΄Π΅. А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ парамСтричСский стабилизатор напряТСния Π½Π° стабилитронС, Ρ‚ΠΎΠΆΠ΅ Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚,Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΠ»Π΅Ρ‡Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стабилитрон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ, ΠΈ слСдит Π·Π° ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΌ напряТСниСм Π·Π° счСт своих свойств ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ напряТСния ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ сопротивлСниС,ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.
    Π― использовал Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Π’ схСмС Π½ΠΈΠΆΠ΅ Π½Π° сигнальной Π»ΠΈΠ½ΠΈΠΈ сопротивлСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ балластными(Ρ‚ΠΎΠΊΠΎΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΠΈ), Π½Π° Π²Ρ…ΠΎΠ΄ дСлитСля поступаСт напряТСниС 4,5 – 5 Π’, Π° Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ снимаСтся с Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΏΠ»Π΅Ρ‡Π° дСлитСля. Π’ΠΎΠΊΠΎΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ ΠΏΡ€ΠΈ сбоях ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠŸΡ€ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ‚Π»Π°ΠΆΠ΅Π½Π½ΠΎΠΌ устройствС Π² Π½ΠΈΡ… Π½Π΅Ρ‚ нСобходимости.

    Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ линия MISO Π½Π΅ нуТдаСтся Π² согласовании, Ρ‚.ΠΊ. Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½Ρƒ сторону ΠΎΡ‚ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ.
    2. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, я Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ наличия ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ записи. Π£ ΠΊΠΎΠ³ΠΎ Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ эти ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π² слотах, Ρƒ ΠΊΠΎΠ³ΠΎ Ρ‚ΠΎ Π½Π΅Ρ‚.
    3. ПослСдний ΠΌΠΎΠΌΠ΅Π½Ρ‚- ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅. Π›ΠΈΠ±ΠΎ Π’Π« ΠΏΠΈΡ‚Π°Π΅Ρ‚Π΅ 3.3 Π²ΠΎΠ»ΡŒΡ‚Π° всю схСму, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ, Π»ΠΈΠ±ΠΎ ставитС Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Π½Π° Π²Ρ…ΠΎΠ΄ схСмы, Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ. Π›ΠΈΠ±ΠΎ стабилизатор 3.3 Π²ΠΎΠ»ΡŒΡ‚Π°, ΠΊΠ°ΠΊ я ΠΈ сдСлал Π½Π° микросхСмС LP2980 . Π’Π°ΠΆΠ½Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ здСсь являСтся элСктролитичСский (Ρ‚Π°Π½Ρ‚Π°Π»ΠΎΠ²Ρ‹ΠΉ) кондСнсатор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΎΡ‚ сброса ΠΏΡ€ΠΈ просадках напряТСния.
    НиТС прСдставлСна ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Как всСгда, я ΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ постоянно Π΅Π΅ измСняя. Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ взят ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ β„–5 (сСмисСгмСнтный ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€).

    #include
    #include
    #include
    #include
    //макросы для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ
    #define a 128
    #define b 32
    #define c 8
    #define d 2
    #define e 1
    #define f 64
    #define g 16
    #define dp 4

    // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

    char block ={}; //Π±ΡƒΡ„Π΅Ρ€ записи/чтСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠ°Ρ€Ρ‚Ρƒ
    short unsigned int j, k = 0; //Π² макросС прСрывания
    unsigned char Slot; // Массив чисСл для отобраТСния Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅

    //ОбъявляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

    void trans_byte_sd (unsigned char data); // функция ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π±Π°ΠΉΡ‚Π°
    unsigned char receive_byte_sd (void); //Ѐункция ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π±Π°ΠΉΡ‚Π°
    unsigned char comand_sd (char,char); // функция ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
    unsigned char spi_card_init (void); //Ѐункция ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹ памяти
    unsigned char receive_block_sd (char* block, char arg); //Ѐункция ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π±Π»ΠΎΠΊΠ°
    unsigned char trans_block_sd (char* block, char arg); //Ѐункция ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π±Π»ΠΎΠΊΠ°
    // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°
    void Slot_init ()
    {…………………….};
    // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для отобраТСния Ρ†ΠΈΡ„Ρ€
    char Elem1, Elem2, Elem3;
    // Π’Ρ‹Π²ΠΎΠ΄ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€
    void Display (float i)
    { …………………………... }
    int main (void) //Π½Π°Ρ‡Π°Π»ΠΎ основой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
    {
    DDRB = 0x2A; //0010 1010 – PB1, PB3, PB5
    DDRD = 0xff; //всС Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΏΠΎΡ€Ρ‚Π° β€” Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹
    PORTD = 0Γ—00; //устанавливаСм 0
    PORTB |= 0Ρ…db; //1101 1011 (PB0,1,3,4,6,7)
    Slot_init ();
    sei (); // Π»ΠΈΠ±ΠΎ SREG |= (1 << 7); Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅
    //инициализация Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π’0
    TIMSK = (1</*Π€Π»Π°Π³ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° счСтчика Π’0*/
    TCCR0 = (0< //1000000/8 = 125000
    unsigned char temp;
    int i;
    for (i=0;i<512;i=i+1)
    block[i]= i; //записываСм Π² Π±ΡƒΡ„Π΅Ρ€
    spi_card_init (); //инициализация
    trans_block_sd (block,0Γ—04); //отправляСм Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Π΅
    //ΠžΠ±Π½ΡƒΠ»ΡΠ΅ΠΌ Π±ΡƒΡ„Π΅Ρ€
    for (int i=0;i<512;i=i+1)
    block[i]=0;
    // Π‘Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΊΠ°Ρ€Ρ‚Ρ‹
    receive_block_sd (block, 0Γ—04); ; //Ѐункция ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π±Π°ΠΉΡ‚Π°
    for (int i=0;i<512;i=i+1)
    {
    char otv;
    otv = block[i];
    Display (otv);
    _delay_ms (100);
    }
    //Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ ΠΏΠΎ адрСсу Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ 0
    for (int i=0;i<512;i=i+1)
    block[i]=0;
    unsigned char comand_sd (char,0Γ—00); //функция ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
    trans_block_sd (block,0Γ—04); //отправляСм Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Π΅
    }
    //Π’Ρ‹Π²ΠΎΠ΄ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€
    ISR (TIMER0_OVF_vect)
    { ……………. }

    Π’Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ β€” это Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹. Π’Π°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ чтСния записи ΠΈ стирании ΠΊΠ°Ρ€Ρ‚Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ½ΡƒΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ оТидания ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΊΠ°Ρ€Ρ‚Ρ‹. Π’ спСцификации Ρ‡Π΅Ρ‚ΠΊΠΎ описаны Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ ΠΊΠ°Ρ€Ρ‚Ρ‹. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹ длится 5 мс, послС Ρ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΠ½Π΅Ρ€Π³ΠΎΡΠ±Π΅Ρ€Π΅Π³Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ допустимы ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ CMD0, CMD1, CMD41 ΠΈ CMD58. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Π»ΠΈΠΌΠΈΡ‚Π° простоя ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ CMD1, ΠΎΡ‚Π²Π΅Ρ‚ ΠΈ дальшС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ.
    Π’Π½ΠΈΠ·Ρƒ прСдставлСно Π΄Π²Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ WinHex , с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ содСрТимоС ячССк памяти. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ЗаписываСм Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±ΡƒΡ„Π΅Ρ€, оправляСм ΠΊΠ°Ρ€Ρ‚Π΅, обнуляСм Π±ΡƒΡ„Π΅Ρ€, считываСм Π΄Π°Π½Π½Ρ‹Π΅ с ΠΊΠ°Ρ€Ρ‚Ρ‹ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° дисплСй Ρ‚Π΅ΠΌ самым убСТдаСмся Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚Π΅. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ содСрТимоС ΠΊΠ°Ρ€Ρ‚Ρ‹, обнуляСм Π±ΡƒΡ„Π΅Ρ€, записываСм 0 Π² ΠΊΠ°Ρ€Ρ‚Ρƒ ΠΈ ΠΎΠΏΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ содСрТимоС ΠΊΠ°Ρ€Ρ‚Ρ‹, Ρ‚Π΅ΠΌ самым убСТдаСмся Π² работоспособности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ схСмы. Как всСгда Π½Π΅Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΎ ΠΌΠ΅Π»ΠΎΡ‡Π°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π½Π΅ Π΄ΠΎΠΏΠ°ΠΉΠΊΠ°, Π½Π΅ большиС Ρ‚Ρ€Π΅Ρ‰Π΅Π½ΠΊΠΈ Π² Π΄ΠΎΡ€ΠΎΠΆΠΊΠ°Ρ… ΠΈ Π΄Ρ€., Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ Π»ΡŒΠ²ΠΈΠ½Π½ΡƒΡŽ долю Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠ°ΠΌΠΈ осциллограф, Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ для Π½Π°Π»Π°Π΄ΠΊΠΈ. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ β„–24 я ΠΏΡ€ΠΈΠ²Π΅Π» нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ диагностики ΠΊΠ°Ρ€Ρ‚Ρ‹ Π½Π° всСх этапах Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠΌΡ‹ познакомимся с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ влаТности ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ DHT11. ПослС Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π½Π΅ΠΌ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ (Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΈ Π²Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ) Π² тСкстовый Ρ„Π°ΠΉΠ», ΡΠ²ΠΎΠ΅ΠΎΠ±Ρ€Π°Π·Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Пока Π½Π° этом всС. ВсСм ΠΏΠΎΠΊΠ°.