Важная информация

User Tag List

Результаты опроса: Полезность/нужность данного девайса?

Голосовавшие
8. Вы ещё не участвовали в этом опросе
  • Вещица занятная, полезная и нужная, как нибудь собрал бы...

    2 25.00%
  • Вещь не плохая, но кто бы собрал...

    4 50.00%
  • Вещь не плохая, но мне не нужна...

    3 37.50%
  • КГАМ

    0 0%
Опрос с выбором нескольких вариантов ответа.
Страница 1 из 6 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 56

Тема: ROM-Switcher (PIC12f683 based)

  1. #1
    Veteran
    Регистрация
    24.01.2009
    Адрес
    Камышин
    Сообщений
    1,379
    Благодарностей: 322
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb ROM-Switcher (PIC12f683 based)

    Привет, коллеги!
    Решил поделиться с общественностью своим первым самостоятельным проектом на микроконтроллере. Надеюсь, кому-то он окажется полезным.
    Учитывая с одной стороны постепенное «умирание» УФППЗУ, «геморрой» со стиранием, наличие определенного программатора и т.д., а с другой стороны, популярность и легкодостоваемость флэш-памяти заставили задуматься: как использовать флэшки, размер которых, обычно, не менее 512kbit (NNx512, например, 29F512 и т.д.), «по полной программе»? Тем более, есть проект нашего форумчанина Skyther'а - «программатор Flash», который шьет именно флэши, но не УФППЗУ.
    Была идея навесить «навесить» тумблерок, либо мультиплексор или триггер для «руления» старшим разрядом ПЗУ, не предмет «управления» прошивками. Например, в случае любого 48 клона «0» на этом адресе – стандартная прошивка 82 года, подали «1» - турбо прошивка 90-91 года. И т.д. В случае компов с BDI и памятью от 128к - еще ентереснее - можно иметь на одном компе те же 2-е разные прошивки 48 БЕЙСИКа, + Gluk RESET service + HE GLUK, или любые вариации, какие Вам нужны.
    Не так давно на форуме DLCorp, комрад robat_e, при поддержке тамошних ГУРУ заделал "переключалку" на одной ТМ2.
    Из «недостатков», на мой взгляд, руление только одним разрядом, кнопка с переключающими контактами, «достоинства» - просто, «дешево и сердито»!
    Решил я немного попрактиковаться в программировании контроллеров, благо маленький опыт был(переделка и доводка чужого проекта «под себя»), и был проект, который почти полностью писался другом под PIC12F675(629) на MikroC Pro. Благо в запасах нашлось несколько «халявных» PIC12F683 в SO8 корпусе. Мои познания в Си пока весьма скромны, но результат есть, и он весьма положительный. По крайней мере, то, каким я видел этот девайс – получилось!

    Краткое тех. описание:
    1. ROM-Switcher является диспетчером (переключателем) прошивок ПЗУ.
    2. Максимальное кол-во переключаемых страниц (прошивок) – 4 (больше – вряд ли нужно).
    3. Управление одной кнопкой с Н.О. контактами, после выбора(кнопку перестали нажимать), примерно через 1,2 сек. (типа, выбор сделан) осуществляется автоматический СБРОС компа. Стартуем, соотв. с выбранной прошивкой.
    4. После ~15 сек. «не нажимания» (типа, выбор закончен) номер «активной прошивки» сохраняется в EEPROM микроконтроллера, и при следующем включении компьютера он стартует именно с этой прошивки.
    5. Индикация сделана «наглядной» - на семисегментник выводится номер «активной прошивки». При небольших изменениях в коде легко переделать под простые светодиоды и индикацию по принципу переключалки на ТМ2 от robat_e. В момент СБРОСа на индикатор кратковременно выводится буква "r"(rESET). Момент "записи" в EEPROM индицируется кратковременным выводом на индикатор буквы "S"(SAVE).

    Регистры для семисегментника – любые из приведенных на схеме, прошивка легко адаптируется под любой 8-ногий ПИК 12-й серии, по идее, на Тини13(AVR) такое то же можно сделать! Семисегментник - любой, какой есть в наличии ОК или ОА(раскомментировать одну строку и перекомпилить прошивку).
    Во вложении исходники (mikroC PRO for PIC 2009 [17.7MB]) и прошивки под ОК и ОА, для 512кбит и 2Мбит ПЗУ, файл Протеуса, схемы для разных вариантов и примеры печаток. Демо-версии этого компилятора вполне достаточно для самостоятельной компиляции под свои нужды данной разработки.
    Благодаря SoftFelix'у появилась прошивка, где индикатором служит обычный 2-х цветный светодиод с ОК(можно и просто 2 светодиода поставить).

    БЛАГОДАРНОСТИ! Спасибо Евгению [ewgeny7] и Алексею [dosikus], за прояснение ряда теоритических вопросов!
    Спасибо SoftFelix'у, за сборку и тестирование данного "девайса" на реале, т.к. у самого - не дошли ещё руки...
    Вложения Вложения
    Последний раз редактировалось Alex_NEMO; 06.06.2010 в 13:03. Причина: Обновлена прошивка. Немного изменена логика работы. Обновлены печатки

  2. Эти 5 пользователя(ей) поблагодарили Alex_NEMO за это полезное сообщение:
    Avtofaer (20.05.2010), ChipManyak (15.09.2010), dosikus (25.04.2010), Ewgeny7 (19.04.2010), perestoronin (26.01.2013)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    573
    Благодарностей: 275
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня схемка попроще - флеха 512К , 3 резистора и 3-рычажковый дип-переключатель. На переключателе двоичным кодом выставляешь прошивку.
    На плату ставится с помощью двух рядов штырьков и PBS http://www.chipdip.ru/product0/650152747.aspx
    Дип-переключатель запоминает последнее набранное двоичное число
    ZXM-Phoenix rev01 2048, FloppyEmulator/SD, IDE->CF 4Gb

  5. Этот пользователь поблагодарил IanPo за это полезное сообщение:
    petrov1962 (06.02.2015)

  6. #3
    Veteran
    Регистрация
    24.01.2009
    Адрес
    Камышин
    Сообщений
    1,379
    Благодарностей: 322
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    У меня схемка попроще - флеха 512К , 3 резистора и 3-рычажковый дип-переключатель. На переключателе двоичным кодом выставляешь прошивку.
    Я то же про тумблер озвучил - но "спецы" "тапками закидали" - типа "не кошерно", глюки будут при нек. длине проводов, наводки и т.д... Опять же, "халява" в лице нескольких озвученных ПИКов + желание попрактиковаться в программировании контроллеров на простом проекте...
    Speccy-2007 + 48k(пока) + TR-DOS + ZX-VGA
    KAY-1024 v2010/SDCard HxC Floppy Emulator/Epson SD-700/ZX-VGA/.....

  7. #4
    Guru
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,083
    Благодарностей: 924
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Дип-переключатель запоминает последнее набранное двоичное число
    да, но... семисегментника-то нет!!! несолидно! ))))

  8. #5
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    573
    Благодарностей: 275
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_NEMO Посмотреть сообщение
    глюки будут при нек. длине проводов, наводки и т.д...
    Переключатель на платке вместе с флехой.

    Цитата Сообщение от psb Посмотреть сообщение
    да, но... семисегментника-то нет!!! несолидно! ))))
    Настоящий спектрумист должен уметь в уме переводить положение рычажков на переключателе в число, т.е уметь "читать матрицу"
    ZXM-Phoenix rev01 2048, FloppyEmulator/SD, IDE->CF 4Gb

  9. #6
    Veteran
    Регистрация
    24.01.2009
    Адрес
    Камышин
    Сообщений
    1,379
    Благодарностей: 322
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Переключатель на платке вместе с флехой.
    Ну, дык это то же "несолидно!" и не удобно - как минимум - крышку снимать, а тут - одной кнопкой, с передней панели!
    Speccy-2007 + 48k(пока) + TR-DOS + ZX-VGA
    KAY-1024 v2010/SDCard HxC Floppy Emulator/Epson SD-700/ZX-VGA/.....

  10. #7
    Veteran
    Регистрация
    24.01.2009
    Адрес
    Камышин
    Сообщений
    1,379
    Благодарностей: 322
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновлена прошивка. Немного изменена логика работы.
    Теперь СБРОС компа происходит через ~1,2 сек. после того, как перестали нажимать на кнопку(удержание/однократные нажатия) и индицируется кратковременным выводом буквы "r"(rESET). Если после этого не нажимали кнопку с течение ещё ~16 сек., происходит запись "состояния" в EEPROM контроллера, и индицируется кратковременным выводом на индикатор буквы "S"(SAVE).
    Speccy-2007 + 48k(пока) + TR-DOS + ZX-VGA
    KAY-1024 v2010/SDCard HxC Floppy Emulator/Epson SD-700/ZX-VGA/.....

  11. #8
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    9,451
    Благодарностей: 3796
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Дип-переключатель запоминает последнее набранное двоичное число
    Жжошь, дип-переключатель может забыть код при сбоях питания
    Scorpion ZS 1024 turbo+/ZXMC 2.6/SD-HDD/FDD/AT-Keyb/Mouse/SMUC 2.0/ProfROMse/VGA 3.0/NeoGS
    ZX-Evolution 4096 rev.B

    Сайт с документацией к "Scorpion ZS 256"

  12. #9
    Activist
    Регистрация
    19.04.2005
    Адрес
    SPb
    Сообщений
    312
    Благодарностей: 51
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я подумывал просто AVR Mega64-128 ставить вместо ROM и все. Можно шить на лету, можно обкатывать прошивки в озу меги и т.п. Залить дебуггер и прочий винрар. вопрос только, надо ли оно...

  13. #10
    Guru Аватар для SoftFelix
    Регистрация
    20.03.2007
    Адрес
    Санкт-Петербург
    Сообщений
    2,147
    Благодарностей: 717
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос немного не по теме. Хотелось бы собрать этот девайс. Понравилась сама идея, компоновка печатной платы и наличие необходимых компонентов. С PIC'ами ни разу дела не имел. Работаю сарвис-инженером по ремонту оргтехники. Скапливается огромное количество б/у совместимых чипов для картриджей, которые выполнены на основе PIC12F683 в SOIC-8. Их можно использовать? Или при программировании могли задать некий фьюз, который бы, в дальнейшем, полностью запретил менять область программ/данных (или как оно там)? Из потенциальных программаторов есть PonyProg, который заточен только под 24Схх и 93Схх, а также недавно собранный Willem.

Страница 1 из 6 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. context switcher in new OS?
    от lvd в разделе Оси
    Ответов: 50
    Последнее: 21.06.2005, 19:28

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •