Млин! Даташиту прикладывать надо, в понедельник с утра она мееедленно ищется... ВОТ Ты немножко не то собрал. Надо было отдельно делать Громова, и разьем для внутрисхемного программирования на девайсе... На крайняк ЭТО. Ты иначе прошитый контроллер без фена нормально выпаять не сможешь, а с ним использовать это как-то криво. Вот схему набросал, ты тогда напиши как тебе лучше будет, тогда и печатку замутим
Фен у меня есть, но выпаивать каждый раз контроллер действительно не удобно, я думал использовать для крепления контроллера прищепку А вот самодельную ZIF панель сложно сделать, у контроллера 10 ножек на каждой стороне, а у панельки от биоса только 9, да и по ширине не подходит: Кстати, походу дела примерился к DDR и PCI - шаг контактов совпадает с ножками контроллера... А вот можно ли подключаться к контроллеру пока он на плате? Ведь программатор не отключается от него и получается что MOSI и SCK постоянно подключены к GND через 1кОм. Это как-то повлияет на его работу?
Я так еще не извращался)) У DI HALT не панелька от биоса, а PLCC. На вид такая же, но ножек у нее 17. Можешь выдрать из матери сокет)) Он с нулевым усилием. Можешь просто в него одной стороной вставить, а землю проводочком припаять или с двух сторон зажать... Но лучше всетки внутрисхемное программирование. П.С. Может пригодиться ТЫЦ
Про ISP все понятно, так раньше и прошивал (LPT программатором), а тут захотелось что-нибудь понадежнее сделать.. выбрал программатор Громова. Но вот делать ISP+Программатор Громова не охота. Лишнее место на плате занимает. Поэтому хочу прошивку заливать на одной плате, а юзать на готовом устройстве.
вот еще сайтик easymcu.ru пока мало контента, но думаю это наверстается! пишите какие статьи надо - сделаем
Назначение каждого fuse бита AVR Самое подробное описание фьюзовсмотрите в Даташите конкретного МК ! RESERVED — этот бит зарезервирован для каких-то неизвестных простым смертным целей фирмой Atmel. Ни при каких условиях не рекомендуется менять его состояние (т. е. надо оставлять его таким, как он установлен при изготовлении МК). В этой строке встречаются биты с другими названиями, как правило, это биты включения режима совместимости с устаревшими типами МК, на смену которым выпущены новые. Обычно в конце названия такого fuse-бита имеется символ С — от COMPATIBLE (совместимый). OCDEN — fuse разрешает работу схемы внутреннего отладчика (On Chip Debug ENable). Не оставляйте установленным этот бит в коммерческих продуктах! Иначе вашу программу можно будет считать из памяти МК. JTAGEN — fuse бит разрешает работу интерфейса программирования-отладки JTAG. По сравнению с SPI-интерфейсом, JTAG обладает расширенными возможностями. Не рекомендуется без необходимости оставлять этот бит установленным, т. к. в этом случае потребляемый МК ток возрастает. SELFPRGEN — бит, разрешающей программе МК производить запись в память программ, т. е. производить самопрограммирование. DWEN — fuse бит, разрешающий работу DebugWire - это интерфейс отладки по одному проводу. Не рекомендуется оставлять его установленным в коммерческих изделиях. EESAVE — fuse бит, после установки которого при стирании памяти МК содержимое EEPROM данных будет сохраняться нетронутым, т. е. не будет стерто. SPIEN — fuse бит, разрешающий работу интерфейса внутрисхемного программирования МК по SPI. Этот бит может быть легко переустановлен при помощи параллельного программатора (или JTAG, если таковой разрешен и имеется в МК). Все МК выпускаются с установленным битом SPIEN, снять его по интерфейсу SPI невозможно. WDTON — fuse бит, после установки которого сторожевой таймер WDT включается сразу после подачи питания и не может быть отключен программно. Если бит не установлен, то включением и отключением WDT можно управлять программно. Группа fuse битов BODLEVEL. Может быть либо один такой бит, либо несколько, тогда они нумеруются, начиная с нуля. Значение этих fuse битов определяет порог срабатывания схемы BOD — детектора уровня питающего напряжения, при снижении напряжения питания ниже этого уровня произойдет "сброс" МК. BODEN — fuse бит, включающий схему аппаратного детектора недопустимого уровня питающего напряжения, т.е. схему BOD. RSTDISBL — fuse бит, отключающий сигнал внешнего сброса от вывода микроконтроллера и подключающий к нему схему порта ввода-вывода. Этот бит имеется только в тех МК, у которых вывод аппаратного сброса RESET совмещен с одинм из портов ввода-вывода. Ошибочная установка этого fuse бита может отключить RESET и вы не сможете больше прошивать по ISP. Не устанавливайте этот бит, если намерены продолжать работать с МК при помощи последовательных программаторов. "Оживить" МК с установленным RSTDISBL можно только параллельным программатором и не для всех МК. CKDIV8 — fuse бит, включающий предварительное деление частоты кварцевого (или иного имеющегося) тактового генератора на 8. То есть при включенном этом бите и применении кварцевого резонатора на 8 МГц реальная тактовая частота МК составит 1 МГц. CKOUT — fuse бит, разрешающий вывод тактовой частоты на один из выводов МК (для тактирования других устройств). SUT1 и SUT0 — fuse биты, управляющие режимом запуска тактовых генераторов МК. Связаны с нижеописываемыми битами, определяющими тип и частоту тактового генератора, причем связь весьма хитрая и запутанная. При ошибочной их установки возможны ситуации неустойчивого запуска генератора или неодногратного сброса МК в процессе подачи на него питания. CKOPT — бит, определяющий режим работы встроенного генератора тактовой частоты для работы с кварцевыми резонаторами. Реально изменяет коэффициент усиления встроенного инвертора в схеме генератора и значит выходное напряжение на ножке XTAL2. Ошибочная установка может приводить к неустойчивому запуску кварцевого генератора, вплоть до возбуждения его не на той гармонике, что надо (из-за этого бита кварц запускался или только при питании МК напряжением не выше 3,6В, или только после прикосновения к выводу XTAL1 пинцетом) Группа битов CKSEL0…CKSEL3 — fuse биты, комбинация которых определяет тип и частоту работающего тактового генератора. Всего возможно до 16 комбинаций, однако не все определены для всех типов МК. Ошибочная установка комбинации этих битов может сделать МК «мертвым» — он не будет работать в схеме без подачи тактового сигнала на ножку XTAL1. PLLCK — fuse бит, разрешающий использование встроенного синтезатора частоты для тактирования ядра МК. BOOTRST — fuse бит, определяющий адрес, с которого будет начато исполнение программы после сброса если бит установлен, то начало программы будет не с адреса 0000h (как обычно), а с адреса области загрузчика (Boot Loader). Группа fuse битов BOOTSZ — два fuse бита, определяющие размер области памяти программ, выделяемой для загрузчика (Boot Loader). Комбинация этих битов, в частности, определяет точку начала исполнения программы после сброса, если установлен бит BOOTRST. Взято ОТСЮДА
Наконец-то, решил доделывать. Остановил выбор на программаторе altera byteblaster. Нашёл инфу по ББ тут. Написан набор элементов для спайки программатора: Разъем LPT (папа, 25 контактов) Корпус для разъема LPT Шина 10-жильная – около1,5 метров Штырьковый разъем для монтажа на плату (два ряда, шаг 2,54 х 2,54). Обычно продаются по 40 и по 80 штырей. Берем любой – все равно нам надо только 10. Лишнее откусим. Этот разъем ставится на плату с контроллером. Цоколевка приведена на схеме. (вид сверху, то есть со стороны, с которой подключается ответная часть, а не со стороны печатного монтажа – будьте внимательны!) Обжимной разъем на шину (10 контактов - мама) – то, что мы будем подключать к плате с контроллером («ответная часть»). Обжимной переходник с шины на плату (10 конт.) – то, что будет стоять внутри ББ. Можно заменить вторым обжимным разъемом (таким же, как первый), а на плату ББ напаять штырьковый разъем. Кстати, на схеме изображен именно этот вариант. Но только не пытайтесь зачищать провода шины и припаивать их непостредственно к плате – обматеритесь! Если не сразу – то со временем, когда это все торжественно перетрется и отвалится… Собственно, макетная плата, на которой разместятся детали ББ. Она должна соответствовать размерам корпуса LPT-разъема. Микросхема 74HC244 или наш аналог - 1533АП5. Если есть навык работы с деталями поверхностного монтажа – можно взять микросхему в корпусе SOIC (SO-20) – она намного меньше, чем диповская (DIP-20), но для ее распайки нужны навыки. Развесные детали – резисторы, светодиоды и конденсатор – обозначенные на схеме. Резисторы и кондер тоже лучше взять SMD (для поверхностного монтажа) – опять же – в целях экономии места. Из этого купил: 1, 2, 3, 4, 7, 8, 9 пункты. Не купил: 5, 6 пункты. Под вопросом: 4 пункт. Собственно вопросы: Что это? Аналогично, что это? Я купил PBS 40-R, пришёл домой, посмотрел на фотку, там кажись другой "штырьковый разъем". Так, какой нужен? Реально не знаю, как назвать эти штуки, когда пытаюсь объяснить продавцу )) Дайте плз ссылку в интернет-магазине.
1. идешный конектор поншиш? вот тоже самое только на 10 контактов, типо просто положил шину, зажал и все 2. - 1. только чуток другой конфы , на фото сразу рядом с корпусом LPT разъема , кстати можеш его не ставить а просто впаять шлейф в плату программатора. 3. PLS шаг 2.5 мм
Точно такой же разъем на шине IDE, только на 80 штырьков (пинов). Вот МАМА, вот ПАПА, но папа не обжимной а штырьковый. В обжимной вставляется кабель и с помощью тисков (молотка) сжимается. А штырьковый паять или впаивать в плату (на плату). ВОТ и ВОТ бластеры, разные... А почему byteblaster? Может я тебя отговорю
AFoST, по-моему, ты к этому очень серьезно отнесся, целые списки дел и покупок. Когда я паял свой программатор через COM, я его вообще на макетке сделал из старых деталей, которые оказались под рукой, вот фото: (через usb - питание). Программку для прошивки использовал uniprof. Потом я сделал опять на макетке бегущую строку программируемую с интерфейсом (на асме): http://www.youtube.com/watch?v=cmokrwtYbUY Кстати советую сразу и делать COM-программатор, потому что COM в случае ошибок или еще чего намного треднее сжечь, чем LPT.
У меня прижился от Протоса 2d_x Диназаврег =) А вообще не люблю макетки, что-то меня от них отталкивает.
Поздно уже) Да ладно, я хоть попробую! Пока интересно, надо хоть что-то делать ) Обычно, если делаю, то стараюсь структурировать всё. Привычка чтоли... Удобно, кстати) Хаа) Смешная штука у тебя получилась на видео) Проводов куча - аля микроАТС )
64 светодиода и 8 сдвиговых регистров дают о себе знать) Вся плата управляется всего тремя проводами с контроллера - тактовые импульсы, вход данных последовательный и блокировка, чтобы не моргало, пока данные заливаются. А еще там был суровый асм, все символы русского и английского алфавита, цифры и символы задавались так: Code: //0-9 symbols: .db 0b01111110,0b10000001, 0b10000001,0b10000001,0b01111110,0b00000000 .db 0b00000000,0b00000100, 0b00000010,0b11111111,0b00000000,0b00000000 .db 0b11000010,0b10100001, 0b10010001,0b10001001,0b10000110,0b00000000 .db 0b01000001,0b10000001, 0b10001001,0b10010101,0b01100011,0b00000000 .db 0b00000000,0b00011000, 0b00010100,0b00010010,0b11111111,0b00000000 .db 0b01001111,0b10001001, 0b10001001,0b10001001,0b01110001,0b00000000 .db 0b01111000,0b10010100, 0b10010010,0b10010001,0b01100000,0b00000000 .db 0b00000001,0b11110001, 0b00001001,0b00000101,0b00000011,0b00000000 .db 0b01110110,0b10001001,0b10001001,0b10001001, 0b01110110,0b00000000 .db 0b00000110,0b10001001,0b01001001, 0b00101001,0b00011110,0b00000000 И можно вводить кнопочками две строки длиной по 256 символов в EEPROM и переключаться между ними) Тогда собирай детали на COM-программатор, uniprof проверенно хорошо прошивает atmel'ы через COM, хотя через LPT он тоже умеет) А на том же easyelectronics есть схема для USB-программатора, что еще удобнее и быстрее. Кстати, атмеги вроде бы как сняли с производства
У меня ни LPT, ни COM не было, я брал PCI-плату с COM-портом за 7$. Сначала был неудачный опыт с переходником USB->COM, никогда не покупайте такие для программирования контроллеров) Да и в первом посте:
Это да. Если программатор использует КОМ-порт в режиме Bitbang то тут актуален переходник на FT232. У мну STK500v2. В оригинале от Atmel программатор на КОМ. Но с использованием этой микрухи он на УСиБи))