Схемы, программы, прошивки Atmega вопросы

Discussion in 'Электроника и Фрикинг' started by AFoST, 2 Apr 2010.

  1. bymugen

    bymugen Elder - Старейшина

    Joined:
    18 Jun 2009
    Messages:
    1,053
    Likes Received:
    205
    Reputations:
    167
    Млин! Даташиту прикладывать надо, в понедельник с утра она мееедленно ищется... ВОТ

    Ты немножко не то собрал. Надо было отдельно делать Громова, и разьем для внутрисхемного программирования на девайсе... На крайняк ЭТО. Ты иначе прошитый контроллер без фена нормально выпаять не сможешь, а с ним использовать это как-то криво.

    Вот схему набросал, ты тогда напиши как тебе лучше будет, тогда и печатку замутим ;)

    [​IMG]
     
    #21 bymugen, 12 Apr 2010
    Last edited: 12 Apr 2010
    1 person likes this.
  2. ZagZag

    ZagZag Elder - Старейшина

    Joined:
    22 Feb 2007
    Messages:
    149
    Likes Received:
    22
    Reputations:
    1
    Фен у меня есть, но выпаивать каждый раз контроллер действительно не удобно, я думал использовать для крепления контроллера прищепку ;)
    [​IMG]

    А вот самодельную ZIF панель сложно сделать, у контроллера 10 ножек на каждой стороне, а у панельки от биоса только 9, да и по ширине не подходит:

    [​IMG]
    Кстати, походу дела примерился к DDR и PCI - шаг контактов совпадает с ножками контроллера...

    А вот можно ли подключаться к контроллеру пока он на плате? Ведь программатор не отключается от него и получается что MOSI и SCK постоянно подключены к GND через 1кОм. Это как-то повлияет на его работу?
     
    #22 ZagZag, 12 Apr 2010
    Last edited: 12 Apr 2010
  3. Levsha128

    Levsha128 New Member

    Joined:
    3 Apr 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    почитайте про ISP.
     
  4. bymugen

    bymugen Elder - Старейшина

    Joined:
    18 Jun 2009
    Messages:
    1,053
    Likes Received:
    205
    Reputations:
    167
    Я так еще не извращался))

    У DI HALT не панелька от биоса, а PLCC. На вид такая же, но ножек у нее 17.
    Можешь выдрать из матери сокет)) Он с нулевым усилием. Можешь просто в него одной стороной вставить, а землю проводочком припаять или с двух сторон зажать...

    Но лучше всетки внутрисхемное программирование.

    П.С. Может пригодиться ТЫЦ
     
  5. ZagZag

    ZagZag Elder - Старейшина

    Joined:
    22 Feb 2007
    Messages:
    149
    Likes Received:
    22
    Reputations:
    1
    Про ISP все понятно, так раньше и прошивал (LPT программатором), а тут захотелось что-нибудь понадежнее сделать.. выбрал программатор Громова.
    Но вот делать ISP+Программатор Громова не охота. Лишнее место на плате занимает. Поэтому хочу прошивку заливать на одной плате, а юзать на готовом устройстве.
     
  6. bymugen

    bymugen Elder - Старейшина

    Joined:
    18 Jun 2009
    Messages:
    1,053
    Likes Received:
    205
    Reputations:
    167
    Мдя)) Какую тебе печатку сделать?
     
  7. Brainiac

    Brainiac New Member

    Joined:
    7 Feb 2009
    Messages:
    10
    Likes Received:
    0
    Reputations:
    -5
    вот еще сайтик easymcu.ru
    пока мало контента, но думаю это наверстается!
    пишите какие статьи надо - сделаем
     
  8. bymugen

    bymugen Elder - Старейшина

    Joined:
    18 Jun 2009
    Messages:
    1,053
    Likes Received:
    205
    Reputations:
    167
    Назначение каждого 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 пинцетом)

    Группа битов CKSEL0CKSEL3 — fuse биты, комбинация которых определяет тип и частоту работающего тактового генератора. Всего возможно до 16 комбинаций, однако не все определены для всех типов МК. Ошибочная установка комбинации этих битов может сделать МК «мертвым» — он не будет работать в схеме без подачи тактового сигнала на ножку XTAL1.

    PLLCK — fuse бит, разрешающий использование встроенного синтезатора частоты для тактирования ядра МК.

    BOOTRST — fuse бит, определяющий адрес, с которого будет начато исполнение программы после сброса если бит установлен, то начало программы будет не с адреса 0000h (как обычно), а с адреса области загрузчика (Boot Loader).

    Группа fuse битов BOOTSZ — два fuse бита, определяющие размер области памяти программ, выделяемой для загрузчика (Boot Loader). Комбинация этих битов, в частности, определяет точку начала исполнения программы после сброса, если установлен бит BOOTRST.

    Взято ОТСЮДА
     
    #28 bymugen, 4 May 2010
    Last edited: 5 May 2010
    2 people like this.
  9. AFoST

    AFoST Elder - Старейшина

    Joined:
    28 May 2007
    Messages:
    588
    Likes Received:
    485
    Reputations:
    176
    Наконец-то, решил доделывать.
    Остановил выбор на программаторе altera byteblaster.
    Нашёл инфу по ББ тут.
    [​IMG]
    Написан набор элементов для спайки программатора:
    1. Разъем LPT (папа, 25 контактов)
    2. Корпус для разъема LPT
    3. Шина 10-жильная – около1,5 метров
    4. Штырьковый разъем для монтажа на плату (два ряда, шаг 2,54 х 2,54). Обычно продаются по 40 и по 80 штырей. Берем любой – все равно нам надо только 10. Лишнее откусим. Этот разъем ставится на плату с контроллером. Цоколевка приведена на схеме. (вид сверху, то есть со стороны, с которой подключается ответная часть, а не со стороны печатного монтажа – будьте внимательны!)
    5. Обжимной разъем на шину (10 контактов - мама) – то, что мы будем подключать к плате с контроллером («ответная часть»).
    6. Обжимной переходник с шины на плату (10 конт.) – то, что будет стоять внутри ББ. Можно заменить вторым обжимным разъемом (таким же, как первый), а на плату ББ напаять штырьковый разъем. Кстати, на схеме изображен именно этот вариант. Но только не пытайтесь зачищать провода шины и припаивать их непостредственно к плате – обматеритесь! Если не сразу – то со временем, когда это все торжественно перетрется и отвалится…
    7. Собственно, макетная плата, на которой разместятся детали ББ. Она должна соответствовать размерам корпуса LPT-разъема.
    8. Микросхема 74HC244 или наш аналог - 1533АП5. Если есть навык работы с деталями поверхностного монтажа – можно взять микросхему в корпусе SOIC (SO-20) – она намного меньше, чем диповская (DIP-20), но для ее распайки нужны навыки.
    9. Развесные детали – резисторы, светодиоды и конденсатор – обозначенные на схеме. Резисторы и кондер тоже лучше взять SMD (для поверхностного монтажа) – опять же – в целях экономии места.
    Из этого купил: 1, 2, 3, 4, 7, 8, 9 пункты.
    Не купил: 5, 6 пункты.
    Под вопросом: 4 пункт.

    Собственно вопросы:
    1. Что это?
    2. Аналогично, что это?
    3. Я купил PBS 40-R, пришёл домой, посмотрел на фотку, там кажись другой "штырьковый разъем". Так, какой нужен?
    Реально не знаю, как назвать эти штуки, когда пытаюсь объяснить продавцу )) Дайте плз ссылку в интернет-магазине.
     
  10. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    1. идешный конектор поншиш? вот тоже самое только на 10 контактов, типо просто положил шину, зажал и все

    2. - 1. только чуток другой конфы , на фото сразу рядом с корпусом LPT разъема , кстати можеш его не ставить а просто впаять шлейф в плату программатора.

    3. PLS шаг 2.5 мм
     
    #30 POS_troi, 5 May 2010
    Last edited: 5 May 2010
    2 people like this.
  11. Keltos

    Keltos Banned

    Joined:
    8 Jul 2009
    Messages:
    1,558
    Likes Received:
    920
    Reputations:
    520
    Все правильно,опередил.
    Небольшое замечание:на фотке не хватает разъема с обжимкой.
     
  12. bymugen

    bymugen Elder - Старейшина

    Joined:
    18 Jun 2009
    Messages:
    1,053
    Likes Received:
    205
    Reputations:
    167
    [​IMG]

    Точно такой же разъем на шине IDE, только на 80 штырьков (пинов).
    Вот МАМА, вот ПАПА, но папа не обжимной а штырьковый. В обжимной вставляется кабель и с помощью тисков (молотка) сжимается. А штырьковый паять или впаивать в плату (на плату).

    ВОТ и ВОТ бластеры, разные...

    А почему byteblaster? Может я тебя отговорю ;)
     
    #32 bymugen, 5 May 2010
    Last edited: 5 May 2010
    1 person likes this.
  13. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    AFoST, по-моему, ты к этому очень серьезно отнесся, целые списки дел и покупок. Когда я паял свой программатор через COM, я его вообще на макетке сделал из старых деталей, которые оказались под рукой, вот фото:
    [​IMG]
    (через usb - питание).
    Программку для прошивки использовал uniprof. Потом я сделал опять на макетке бегущую строку программируемую с интерфейсом (на асме):
    http://www.youtube.com/watch?v=cmokrwtYbUY

    Кстати советую сразу и делать COM-программатор, потому что COM в случае ошибок или еще чего намного треднее сжечь, чем LPT.
     
    1 person likes this.
  14. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    У меня прижился от Протоса

    2d_x

    Диназаврег =) А вообще не люблю макетки, что-то меня от них отталкивает.
     
  15. AFoST

    AFoST Elder - Старейшина

    Joined:
    28 May 2007
    Messages:
    588
    Likes Received:
    485
    Reputations:
    176
    Поздно уже) Да ладно, я хоть попробую! Пока интересно, надо хоть что-то делать )

    Обычно, если делаю, то стараюсь структурировать всё. Привычка чтоли... Удобно, кстати)
    Хаа) Смешная штука у тебя получилась на видео) Проводов куча - аля микроАТС )
     
  16. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    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-программатора, что еще удобнее и быстрее.

    Кстати, атмеги вроде бы как сняли с производства :(
     
    1 person likes this.
  17. AFoST

    AFoST Elder - Старейшина

    Joined:
    28 May 2007
    Messages:
    588
    Likes Received:
    485
    Reputations:
    176
    Ды не, я купил вчера атмегу16. 137 рублей чтоли.
     
  18. Keltos

    Keltos Banned

    Joined:
    8 Jul 2009
    Messages:
    1,558
    Likes Received:
    920
    Reputations:
    520
    Вроде да, но их еще продают же.


    Они не на всех компах есть.
     
    #38 Keltos, 6 May 2010
    Last edited: 6 May 2010
  19. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    У меня ни LPT, ни COM не было, я брал PCI-плату с COM-портом за 7$. Сначала был неудачный опыт с переходником USB->COM, никогда не покупайте такие для программирования контроллеров)

    Да и в первом посте:
     
  20. bymugen

    bymugen Elder - Старейшина

    Joined:
    18 Jun 2009
    Messages:
    1,053
    Likes Received:
    205
    Reputations:
    167
    Это да. Если программатор использует КОМ-порт в режиме Bitbang то тут актуален переходник на FT232. У мну STK500v2. В оригинале от Atmel программатор на КОМ. Но с использованием этой микрухи он на УСиБи))
     
    #40 bymugen, 6 May 2010
    Last edited: 6 May 2010