Комментарии 65
Интересная статейка, но я как начинающий по ней такое же не собиру. Добавили бы схему, как эти конденсаторы и кварц подключать, какого они должны быть номинала. И usb программатор, стоит не малых денег. Нельзя эти контроллеры прошивать проводками через lpt?
начинающему и дешевле, и быстрее взять AVR с внутренним генератором (т.е. любую тиньку или мегу, например atmega48-10pu за 61руб).
из всей схемы останется 1 контроллер, 1 светодиод и 1 токо-ограничительный резистор на 1кОм).
и запрограммировать 5ю проводками через LPT.
да, и программу писать не на асме, а на BASIC (bascom-avr).
из всей схемы останется 1 контроллер, 1 светодиод и 1 токо-ограничительный резистор на 1кОм).
и запрограммировать 5ю проводками через LPT.
да, и программу писать не на асме, а на BASIC (bascom-avr).
Всетаки предполагается что вы уже имеете базовые навыки для включения контроллера. Программатор такой как у меня, стоит 2.5к
В данном случае для прошивки подойдет все тот же программатор на трех резисторах, о котором я упоминал в своей статье.
Он подходит почти для всех пятивольтовых пиков.
Но, думаю, эта информация статью не спасет.
Он подходит почти для всех пятивольтовых пиков.
Но, думаю, эта информация статью не спасет.
Проще говоря, ШИМ — это когда за некоторый период времени берется среднее значение импульсов.
То есть для импульсов 00001010 это будет 2/8 — 0,25. Таким образом цифровая схема может иметь на выходе аналоговый сигнал.
То есть для импульсов 00001010 это будет 2/8 — 0,25. Таким образом цифровая схема может иметь на выходе аналоговый сигнал.
Можно и даже нужно. Ассемблер такой ассемблер, разница чувствуется моментально.
Я привел ссылку на википедию, где рассказывается что такое ШИМ, его применение и т.д.
Интересно но нииичего непонятно. ))
Во бы кто нить написал про основы. Что такое ШИМ я в теории понимаю, ассемблером то же баловался, но вот этот абзац
Интересно очень, но копать с нуля некогда.
Во бы кто нить написал про основы. Что такое ШИМ я в теории понимаю, ассемблером то же баловался, но вот этот абзац
В понятие «рассыпухи» входят такие детали как: пара конденсаторов для кварца и конденсатор на выход модуля CPP (Для того что бы сгладить пульсации).
Интересно очень, но копать с нуля некогда.
хи… для «для новичков»
кроме того что светодиод будет мигать ничего не понял…
читал внимательно)
кроме того что светодиод будет мигать ничего не понял…
читал внимательно)
Эх. А я вот всё думаю оживить свой старый спектрум. Дисководы сейчас к счастью вымирают. Есть мысль сделать на каком-нибудь микроконтроллере эмулятор дискового контроллера и засунуть туда гиговую флешку (можно и меньше, всё равно такой объём забить нереально будет). «Диски» переключать простым забиванием данных в один из портов ввода-вывода (это как минимум 256 дисков, кстати, тут флешки 256Мбайт достаточно будет с головой).
есть в сети такие схемы, встречал недавно, но т.к. спектрума никогда не имел, большого внимания не обратил
посмотрите здесь service4u.narod.ru/html/emulator.html кажется это оно
посмотрите здесь service4u.narod.ru/html/emulator.html кажется это оно
Сильно-сильно хочу такое сделать, тольуо для денди. Честно признаться, я даже ради этого микроконтроллерами увлекаться начал:) Вот уже набрал небольшой багаж знаний, чтобы сделать этот самый программируемый картридж. Осталось только узнать на какой частоте дендевский процессор читает данные с EEPROM картриджа. А то раз, и какие-нибудь 40МГц, и все, облом мне с 20МГц аврками:)
Настоящий картридж — это параллельная EEPROM плюс, если игра большая и длины машинного слова на адрес на хватает, микросхема маппера(коих штук 10 разных). Вот у меня идея как у вас примерно, вместо EEPROM флешку, чтоб все игрушки вошли, а мк — адаптер параллельной EEPROM к флешке + эмулятор мапперов + переключалка записанных игрушек.
Настоящий картридж — это параллельная EEPROM плюс, если игра большая и длины машинного слова на адрес на хватает, микросхема маппера(коих штук 10 разных). Вот у меня идея как у вас примерно, вместо EEPROM флешку, чтоб все игрушки вошли, а мк — адаптер параллельной EEPROM к флешке + эмулятор мапперов + переключалка записанных игрушек.
Могу схемки поискать с контроллером для управления денди со спектрума. Правда они у меня в бумажном виде в журналах. Оттуда можно логику выкопать, схемки несложные.
О, если возможно — было бы очень интересно. А то единственный стоящий источник информации о NES/Денди — это nesdev.parodius.com/
Там самые обычные ПЗУ-шки пойдут, схема картриджа простейшая. В студенчестве самолично копировал такой картридж — спаял схемку на двух ПЗУ-шках. На нем еще были танчики и стрельба по тарелочкам.
Это для простых игр, если не ошибаюсь, до 64кб которые. На остальные(самые интересные:)) адреса у процессора не хватает, и используются микросхемы мапперов, которые банки памяти переключают.
Вот в них то и загвоздка. Эти микрухи естественно уже нигде не найти.
Есть проект, где на основе картриджа с маппером MMC1 сделали программируемый(тоже просто параллельную eeprom запаяли):
www.raphnet.net/electronique/nes_cart/nes_cart_en.php
Моя же идея — все эти мапперы(ну, самые популярные) эмулировать микроконтроллером.
Вот как с текущими проблемами разберусь — примусь за этот проект:)
Вот в них то и загвоздка. Эти микрухи естественно уже нигде не найти.
Есть проект, где на основе картриджа с маппером MMC1 сделали программируемый(тоже просто параллельную eeprom запаяли):
www.raphnet.net/electronique/nes_cart/nes_cart_en.php
Моя же идея — все эти мапперы(ну, самые популярные) эмулировать микроконтроллером.
Вот как с текущими проблемами разберусь — примусь за этот проект:)
Эта Ваша загадочная «микросхема маппера» — просто тупой регистр-защелка, в который процик Денди пишет значения старших адресов для ПЗУ. Никакой загвоздки в них нет. Зачем, чтобы заменить регистр-защелку, применять какой-то дополнительный микроконтроллер и что-то там эмулировать?
Другое дело — использовать проц для ПОЛНОЙ эмуляции ВСЕЙ консоли Денди, вместе с картриджем. Как, например, сделано в Digital Thresher (применен BlaskFin от Analog Devices).
Вот тут примеры видео игрового процесса этой замечательной самоделки: www.youtube.com/watch?v=Hac4vVr90u0
www.youtube.com/watch?v=OIIIVEeT-8k
www.youtube.com/watch?v=nO4O9qRnCkQ
www.youtube.com/watch?v=FjzwWZCcc48
www.youtube.com/watch?v=XYbpvOzOomI
www.youtube.com/watch?v=cIsh0nJHMuc
Думаю, если кто напишет статью на Хабре про эту интересную разработку (или хотя бы тиснет топик-ссылку), у того рейтинг взлетит до небес. Самому что ли написать? =).
Другое дело — использовать проц для ПОЛНОЙ эмуляции ВСЕЙ консоли Денди, вместе с картриджем. Как, например, сделано в Digital Thresher (применен BlaskFin от Analog Devices).
Вот тут примеры видео игрового процесса этой замечательной самоделки: www.youtube.com/watch?v=Hac4vVr90u0
www.youtube.com/watch?v=OIIIVEeT-8k
www.youtube.com/watch?v=nO4O9qRnCkQ
www.youtube.com/watch?v=FjzwWZCcc48
www.youtube.com/watch?v=XYbpvOzOomI
www.youtube.com/watch?v=cIsh0nJHMuc
Думаю, если кто напишет статью на Хабре про эту интересную разработку (или хотя бы тиснет топик-ссылку), у того рейтинг взлетит до небес. Самому что ли написать? =).
Ну, какбы не просто защелка, вот например описание самого популярного, MMC1:
nesdev.parodius.com/mmc1.txt
А есть еще MMC2, MMC3 и т.д.
> Другое дело — использовать проц для ПОЛНОЙ эмуляции ВСЕЙ консоли Денди, вместе с картриджем. Как, например, сделано в Digital Thresher (применен BlaskFin от Analog Devices).
Забавно, еще есть реализация дендевского проца на FPGA:
cegt201.bradley.edu/projgrad/proj2006/fpganes/
Но мне это не надо, денди у меня есть, мне бы только картридж с флешкой:)
nesdev.parodius.com/mmc1.txt
А есть еще MMC2, MMC3 и т.д.
> Другое дело — использовать проц для ПОЛНОЙ эмуляции ВСЕЙ консоли Денди, вместе с картриджем. Как, например, сделано в Digital Thresher (применен BlaskFin от Analog Devices).
Забавно, еще есть реализация дендевского проца на FPGA:
cegt201.bradley.edu/projgrad/proj2006/fpganes/
Но мне это не надо, денди у меня есть, мне бы только картридж с флешкой:)
Ну и как бы где там не регистр-защелка? Черным по белому написано — reg0, reg1, reg2… И даже адреса для них в адресном пространстве даны, и назначения бит. Никакой процессор для эмуляции картриджа не нужен, только тупая, простейшая схема на логике, и все.
Эм, может и вправду так и есть, но всеравно, простейшая не получится, там 24выводная микруха, с 4 входами, 5 входами/выходами и 11 выходами. Так что как минимум 2 защелки + еще логика… И их же много разных, хочу все и сразу:). К тому же я в цифровой электронике еще очень слабо разбираюсь, чисто на логике мое достижение — это бинарные часы на 7 микрухах, ничего сложнее не делал(как же я запарился с разводкой-то:)). Так что с микроконтроллером проще(да и еще дешевле получится:)), плюс я же к флешке цепляться собираюсь, может с нее читалку на логике и можно сделать, но я это дело точно не осилю:)
В итоге я все это дело вижу так: несколько 74HC165, чтобы данные с параллельного 60пинового разьема для картриджа в последовательный вид перевести, а за ними 1 мк, который эмулятор всех самых популярных мапперов + читалка с флешки и через 74HC595 обратно на паралельный разьем.
В итоге я все это дело вижу так: несколько 74HC165, чтобы данные с параллельного 60пинового разьема для картриджа в последовательный вид перевести, а за ними 1 мк, который эмулятор всех самых популярных мапперов + читалка с флешки и через 74HC595 обратно на паралельный разьем.
Наверняка вы проделали большую работу и у вас все прекрасно работает, но с точки зрения новичка вряд ли в вашей статей раскрыто все, что необходимо для понимания. Как минимум, не помешали бы подробные камменты к коду, все-таки команды асма не отличаются интуитивной понятностью, тоже касается управляющих последовательностей битов для регистров специального назначения.
Вообщем, если будет не влом, то потратьте еще немного времени — так вы сделаете статью намного понятнее.
Вообщем, если будет не влом, то потратьте еще немного времени — так вы сделаете статью намного понятнее.
Больше всего мне понравилась музыка в видео со светодиодом. Она знаменует великую победу 8-)
Может быть всё-таки распайку покажете обычную?
Может быть всё-таки распайку покажете обычную?
Там обычное типовое включение микроконтроллера, и светодиод повешен на ноужку. Больше в схеме ничего нет, честно :)
Есть такие статьи на хабре, которые даже открывать не стоит. Не из-за того, что плохие, а из-за того, что ничего не понятно.
easyelectronics.ru — для новичков куча отличных статей, сам по ним учился
Хоть бы схему приложил для порядка. А то не поймешь что куда цеплять.
Не для начинающего это… Сам AVR программирую. Вот наверное лучше было бы если вы комментарии к полному исходнику распишете, темболее это же не С а Аssembler… Конечно схема подключения стандартная и описана в даташитах на этот МК, но про даташит тут ничего не сказано, а многим людям думаю захочется посмотреть только ради интереса «что да как»…
Может тоже начать писать статьи по программированию микроконтроллеров, хоть пользу какую буду приносить=)
Может тоже начать писать статьи по программированию микроконтроллеров, хоть пользу какую буду приносить=)
Интересно написано. Сам в универе программировал PIC16F84A. С ассемблером разобрался быстро, команд там не много (по крайней мере у 84-го), да и курс по ассемблеру х86 был 2-мя курсами ранее. Но для новичка сложновато, хотя пример с платами — как мотиватор. Собрать физически схему куда интереснее, чем программировать и отлаживать все это дело на эмуляторе.
ужс, вспомнил свои бессонные ночи за учебником и AVR
кстати, хинт — писать код с комментариями=)
кстати, хинт — писать код с комментариями=)
По авр для новичков полно сайтов хороших. Чего только стоит easyelectronics.ru, но вот по пикам таких не встречал.
Хоть в теории все работает аналогично, но на практике немного иначе.
Хотелось написать поподробнее о первых шагах освоения пиков, да не дошло до этого (хотя это поправимо =) ).
Сейчас начал изучать кортексы, с доступной информацией все еще хуже, особенно на русском.
Хоть в теории все работает аналогично, но на практике немного иначе.
Хотелось написать поподробнее о первых шагах освоения пиков, да не дошло до этого (хотя это поправимо =) ).
Сейчас начал изучать кортексы, с доступной информацией все еще хуже, особенно на русском.
Лучше ARM-ы Atmel изучайте, инфы море, есть дока и на русском.
Да, сейчас тыкаюсь в Cortex-m3. Все радует, кроме копеечного (в прямом смысле) размера.
На русском инфы полезной нашел мало, но это не помеха. Примеры работы со всей перифирией есть — и хорошо.
Парочку устройств на них точно сделаю, осталось тоьлко немного времени выделить.
На русском инфы полезной нашел мало, но это не помеха. Примеры работы со всей перифирией есть — и хорошо.
Парочку устройств на них точно сделаю, осталось тоьлко немного времени выделить.
А для ARM-ов Atmel все нахаляву. Нигде таких полезных примеров не видел, как в пакете для Atmel для IAR — делай что хочешь. Нужен CAN — получи, SPORT или RS-232 — получи, SPI — пожалуйста, TWI (I2C) — запросто, работа с внешней памятью flash NOR или NAND по любой шине — да получи, нужен SDRAM — можно, USB — да вообще не вопрос. Просто праздник какой-то.
Того же эффекта можно достичь на мультивибраторе и в паралель со светодиодом воткнуть электролит.
Когда нашего преподавателя, разработчика T0 детектора на ALICE LHC, спросили литературу на PIC, он удивлённо посмотрел и ответил: «Возьмите другой микроконтроллер!»
Лучше бы написали про средства отладки под PIC-ами (если такие вообще существуют за разумные деньги). Чтобы не на коленках программировать типа «написал -> прошил -> попробовал -> не_заработало -> стер -> написал...» и не в симуляторе отлаживать, а по нормальному — в железе, с возможностью выполнения программы как в реалтаме, так и по шагам, с точками останова по исходному коду на C и ассемблере. Иначе — просто баловство и пустая трата драгоценного времени. К слову — для AVR все это давно уже есть.
Соберите PicKit2 Lite и пользуйтесь обычным MPLABом.
Вот про это бы и написали, было бы намного полезнее — какие возможности у MPLABа, что он умеет, что за зверь PicKit2 Lite, как его собрать. Надеюсь MPLAB — это не очередной софтверный симулятор типа Протеуса?
Нет, MPLAB — это среда разработки от самого микрочипа.
Все, что вы перечислили (отладка в железе) — возможно.
PicKit2 — программатор-отладчик от того же микрочипа. Прошивает все (вроде) пики и является полноценным внутрисхемным отладчиком. Продается в магазинах или собирается самостоятельно.
PicKit2 Lite — урезанная самоделка, прошивающая не все микроконтролеры. Зато гораздо легче в сборке.
PicKit3 — новая версия. Прошивает все пики, включая совсем свежие.
Все, что вы перечислили (отладка в железе) — возможно.
PicKit2 — программатор-отладчик от того же микрочипа. Прошивает все (вроде) пики и является полноценным внутрисхемным отладчиком. Продается в магазинах или собирается самостоятельно.
PicKit2 Lite — урезанная самоделка, прошивающая не все микроконтролеры. Зато гораздо легче в сборке.
PicKit3 — новая версия. Прошивает все пики, включая совсем свежие.
Ок, спасибо. Если напишете про это поподробнее, будет интересно почитать:
— на каких языках можно программировать в среде MPLAB с полноценной аппаратной отладкой по исходному коду, какие есть ограничения, какие ресурсы PIC-а задействованы для отладки;
— какой для этого нужен минимальный комплект, где посоветуете купить, почем, или по какой схеме посоветуете собрать;
— какие можно использовать для отладки перепрошиваемые PIC-и;
— какие еще есть IDE и аппаратура для полноценной отладки, сколько это стоит.
— на каких языках можно программировать в среде MPLAB с полноценной аппаратной отладкой по исходному коду, какие есть ограничения, какие ресурсы PIC-а задействованы для отладки;
— какой для этого нужен минимальный комплект, где посоветуете купить, почем, или по какой схеме посоветуете собрать;
— какие можно использовать для отладки перепрошиваемые PIC-и;
— какие еще есть IDE и аппаратура для полноценной отладки, сколько это стоит.
Увы, мне хватает проверки в железе без отладчика. Просто знаю о пикките.
При помощи бутлоадера замена прошивки занимает менее полуминуты. При необходимости отследить что-то есть налаженный канал связи с пк.
Ну, а пошагового выполнения мне не требуется, не того уровня задачи.
С отладчиком поразвлекался с АРМами, ничего полезного для себя не нашел.
При помощи бутлоадера замена прошивки занимает менее полуминуты. При необходимости отследить что-то есть налаженный канал связи с пк.
Ну, а пошагового выполнения мне не требуется, не того уровня задачи.
С отладчиком поразвлекался с АРМами, ничего полезного для себя не нашел.
С программированием методом проб и ошибок завязал давно, еще со времен MCS51. С тех пор от эмуляторов ПЗУ, бутлоадеров и программаторов просто тошнит. Налаженный канал связи с ПК для отладочного вывода должен быть по-любому, но это лишь добавочный инструмент, он ни в коей мере не заменяет аппаратного отладчика.
Получается, PIC-и точно не для меня, слишком я привык хорошему.
Получается, PIC-и точно не для меня, слишком я привык хорошему.
Не для вас — потому что я не рассказал вам подробности?
Немного гугла по ключевым словам, и вы найдете ответы на все вопросы.
Да даже на хабре есть пара статей:
berkutsoft.habrahabr.ru/blog/86527/
Немного гугла по ключевым словам, и вы найдете ответы на все вопросы.
Да даже на хабре есть пара статей:
berkutsoft.habrahabr.ru/blog/86527/
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Программирование PIC16F876A. Собираем схему с плавно мигающим светодиодом