Skip to content

VWarlock/radio-86rk-sdcard

 
 

Repository files navigation

Адаптер SD-CARD для Радио-86РК_SRAM

Данный проект является развитием проекта адаптера SD-CARD от Vinxru http://vinxru.livejournal.com, исходный код проекта расположен по адресу https://github.com/vinxru/86RKSD

Изменения в схеме и печатной плате

  • Добавлен LDO регулятор LM1117 3v3
  • Вместо резистивных делителей используется буфер HEF4050BT
  • добавлен 26-контактный IDC разъем под кабель для сопряжения модуля с Радио-86РК_SRAM
  • Добавлен 6-контактный разъем для программатора
  • Вместо Atmega8L используется МК Atmega328P

Плата разработана в CAD Eagle 7.0 и выполнена в форм-факторе 5x5 см, что дает возможность заказать ее производство у китайцев. Пробная первая партия была заказана у http://www.dfrobot.com.

Gerber-файлы для производства платы проходят валидацию по стандартам pcb-сервиса от dfrobot.com.

Фото готового устройства

Фото

BOM-list

Микросхемы:

  • U1 - Atmega8L(A) (или Atmega328P, или аналогичный МК)

  • U2 - HEF4050BT (или другого производителя, 4050 в SMD-корпусе)

  • IC1 - LM1117-3.3V

Разъемы:

  • CONN1 - 4UCon 19646 или аналогичный (pdf, Sparkfun, noname разъем на ebay)

  • CONN2 - угловой 2x13-контактный IDC-разъем (шаг 2.54мм)

  • CONN3 - вертикальный 2x3-контактный pin header (шаг 2.54мм)

Резисторы:

  • R1 - 470 Ом, корпус 1206

Конденсаторы:

  • C1, C2 - 10 мкФ, танталовые полярные, корпус 1206

  • C3, C4 - 0.1 мкФ, керамические, корпус 1206

Светодиод:

  • LED1 - цвет свечения какой нравится, корпус 1206

Адаптация исходного кода

Автор оригинальной разработки подготовил файлы boot.rk, sdbios.rk и shell.rk для Радио-86РК (меняются, как минимум, адреса портов).

Прошивка микроконтроллера Atmega8L остается без изменений, можно спокойно заливать авторскую.

Если же проект собирается на базе Atmega328P, то за основу можно взять модифицированную по этот камень прошивку из данного репозитария, в директории firmware/src/atmega328p. Вся соль не только в изменившихся адресах портов этого камня, а также в смещении переменной rom, которая в оригинальной конфигурации сидела по адресу 0100h, а теперь сидит по адресу 0200h.

Также оказалось, что коммандер shell.rk не совсем корректно работает с адаптером PS/2 клавиатуры и моей кривой клавиатурой с неполной поддержкой ScanCode Set 3, при вызове функции биоса getch() возвращает странные значения для кнопок курсора. Соответственно, пришлось придумать альтернативное решение управления курсором, а именно: клавиши Q,A,O,P. Модифицированная версия shell.rk расположена в директории firmware/src/shell_rk/.

Fuse bits для МК

На сайте http://www.engbedded.com/fusecalc/ можно посчитать fuse bits для Вашего МК. Необходимо выбрать

  • Internal RC OSC 8MHz,
  • убрать галочку Divide clock by 8 internally

Все остальное можно не трогать или по желанию (например параметры brown out detection).

Полезные ссылки

About

SD card interface for Radio-86RK_SRAM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Eagle 44.8%
  • C 32.2%
  • Assembly 18.4%
  • Makefile 3.9%
  • C++ 0.4%
  • JavaScript 0.2%
  • Batchfile 0.1%