Site Loader

Содержание

Программатор Громова | Электроника для всех

Самый простой вариант программатора для AVR это пять проводков, припаиваемых к порту контроллера и втыкаемых в LPT порт. Не спорю, можно и так. Но я все же не рекомендую этот способ. Даже схему подключения давать не буду — если надо будет сам найдешь. Так как данный метод не очень стабилен, возможны сбои при прошивке, длина проводков ограничена двадцатью сантиметрами (если больше, то будет глючить), поэтому придется шариться в комповой заднице. Да и LPT порт спалить проще простого. В общем не рулез.

Шарясь по инету, я нашел отличный программатор, работающий через RS232 он же COM порт. А также удобную программу для прошивки контроллера UniProf от Николаева. Схему программатора придумал Громов, создатель Algorithm Builder.

Саму программу

UniProf можно скачать у меня, но лучше взять с сайта автора. Возможно там будет версия посвежее.

Так же, тебе потребуется чертеж печатной платы в формате Layout, для изготовления печатной платы данного программатора.

Это формат программы Sprint Layout которую можно скачать с моего сайта. Пустячок, а приятно. Впрочем, ее можно и на картонке спаять, слишком уж простая схема. Также есть альтернативная разводка платы которую прислал Shama, она на выводных резисторах

Для сборки программатора потребуется:

  • Три диода, любых из маломощных. Например 1N4148.
  • Семь резисторов на 1кОм. У меня резисторы типоразмера 1206
  • Если будешь делать по моей печатной плате, то можешь еще купить 3 резистора на 0 ом — перемычки, они же пофигисторы.

Печатная плата либо рисуется маркером, либо, как у меня, делается методом лазерного утюга.

Спаянную платку я запихал в корпусок, а провод подключил к компьютеру. Длина провода у меня составила метра полтора-два, а от программатора до контроллера стараюсь провод делать покороче.

Разьем DB9, что на фотке, я поставил для удобства. У меня туда подключаются разные прошивающие шнуры либо вот такой вот адаптер:

Программатор запаян, контроллер к нему подключен. Пора убедиться в том, что все сделано верно.

Запускай UniProf.exe и выбирай номер СОМ порта к которому у тебя подключен программатор. Сразу же должен определиться тип контроллера и высветиться над левым окном кода.

Не получилось? Тут три варианта:

  • Программатор спаян криво.
  • Дохлый контроллер.
  • Неправильно припаял проводки к микроконтроллеру.

Еще раз все досконально проверяешь и пробуешь снова. Должно получиться.

Дальше, если до этого ты никогда не работал с контроллерами, тебе возможно потребуется тестовая программа. Она не будет делать ничего полезного, зато позволит тебе точно быть уверенным, что все что ты сделал до этого ты сделал правильно.

Скачиваешь Atmel AVR Studio — это официальная среда для разработки программ под микроконтроллеры AVR. Студия поддерживает все микроконтроллеры семейства Atmel AVR. Найти ее последнюю версию можно на сайте Atmel.com

Далее создавай новый проект, в качестве языка программирования выбирай Assembler и укажи папку и имя где будет располагаться твой проект. В качестве отладчика бери AVR SIMULATOR и укажи с каким именно контроллером ты будешь работать. После чего забивай в текстстовое окно простейшую программу.

Вот ее примерный текст:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
.INCLUDE "m16def.inc"
; это подключается список макроопределений 
; без него компилятор не будет знать под какой 
; именно процессор мы собираем программу
; если у тебя другой контроллер, то подставь 
; соответствующий инклюдник. Они находятся в
; папке AVR Studio по адресу 
; "AVR Tools\AvrAssembler\Appnotes\"
 
 
.MACRO outi 
LDI R16,@1 
OUT @0,R16 
.ENDMACRO 
; задаем весьма удобный макрос, позволяющий 
; записать произвольное заданное число в любой
; регистров за одну строку кода. 
.CSEG
.ORG 0x0000
RJMP RESET
 
.ORG 0x0030
; Директива начала кода с адреса 0х0030
; адрес взят с большим запасом, потому как
; у разных AVR разных размеров таблица 
; прерываний. Так что уж чтобы наверняка!
 
 
RESET:
; стартовая метка
 
OUTI DDRA,0xFF
OUTI DDRB,0xFF
OUTI DDRC,0xFF
OUTI DDRD,0xFF
; Конфигурируем направления портов на выход
; Если данный контроллер не имет, например, порта
; С, то эту строчку надо закомментировать.
 
OUTI PORTA,0xAA
OUTI PORTB,0xAA
OUTI PORTC,0xAA
OUTI PORTD,0xAA
; Выдаем на выходы 10101010, чтобы получить
; четкую картину того, что на портах произошли
; изменения. После выполнения программы
; на выходах микроконтроллера в шахматном порядке
; будут либо напряжение питания, либо земля. Что 
; легко проверяется либо вольтметром, либо простейшим
; пробником на светодиоде.
 
RJMP RESET
; Зацикливаем программу.

.INCLUDE «m16def.inc» ; это подключается список макроопределений ; без него компилятор не будет знать под какой ; именно процессор мы собираем программу ; если у тебя другой контроллер, то подставь ; соответствующий инклюдник. Они находятся в ; папке AVR Studio по адресу ; «AVR Tools\AvrAssembler\Appnotes\» .MACRO outi LDI R16,@1 OUT @0,R16 .ENDMACRO ; задаем весьма удобный макрос, позволяющий ; записать произвольное заданное число в любой ; регистров за одну строку кода. .CSEG .ORG 0x0000 RJMP RESET .ORG 0x0030 ; Директива начала кода с адреса 0х0030 ; адрес взят с большим запасом, потому как ; у разных AVR разных размеров таблица ; прерываний. Так что уж чтобы наверняка! RESET: ; стартовая метка OUTI DDRA,0xFF OUTI DDRB,0xFF OUTI DDRC,0xFF OUTI DDRD,0xFF ; Конфигурируем направления портов на выход ; Если данный контроллер не имет, например, порта ; С, то эту строчку надо закомментировать. OUTI PORTA,0xAA OUTI PORTB,0xAA OUTI PORTC,0xAA OUTI PORTD,0xAA ; Выдаем на выходы 10101010, чтобы получить ; четкую картину того, что на портах произошли ; изменения. После выполнения программы ; на выходах микроконтроллера в шахматном порядке ; будут либо напряжение питания, либо земля. Что ; легко проверяется либо вольтметром, либо простейшим ; пробником на светодиоде. RJMP RESET ; Зацикливаем программу.

А лучше не копипасти, а сразу скачай файл проекта.

Далее жми на кнопку компиляции (или F7) и лезь в папку своего проекта. Там тебя уже должен поджидать ****.hex файл с прошивкой.
Запускай UniProf.exe, жми на кнопочку с открытой папкой и надписью HEX. Выбирай свой свежескомпиленный проект и жми ок.
Вторым окном UniProf попросит тебя ввести данные EEPROM, у нас EEPROM не используется,

поэтому нажимай отмену.
Все, теперь можно прошивать. Жми на красную стрелку с надписью Prog и жди. По окончании можешь нажать чтение и поглядеть что записалось в твой контроллер — должно показать то же самое, что и было уже загружено в окно.

Теперь тебе остается подать питание на свой микроконтроллер и посмотреть что появилось на портах. Увидел «гребенку» из высоких и низких уровней напряжения? Отлично! Ты прошил свой первый в жизни контроллер! Теперь ты можешь с головой занырнуть в изучение микроконтроллеров AVR.

Если не заработало, то вот возможные грабли и пути решения.

  • Современные компьютеры, с гигагерцовыми процессорами, новомодными Вистами и Семерками очень плохо дружат с этим программатором. Мало того, что у вас может банально не обнаружиться COM порта, а если и будет так еще не факт что все заработает как надо. Рекомендую собрать себе для радиотехнических опытов из подручного хлама что то вроде PIII 800/Windows’98. Бесплатно нарыть такое чудо проблем не составит и сжечь не жалко, если что не так
  • Данная схема не работает через переходники USB-COM или работает, но ОЧЕНЬ медленно. Скажем прошивка одного микроконтроллера может длиться часа полтора.
  • Питание, на первый раз, лучше всего брать с блока компа. Меньше вероятность что либо сжечь или ошибиться
  • Проверяте схему по 3-4 раза! Т.к., судя по комментам, большая часть проблем из-за кривого монтажа.
  • Перед запуском программы в МК НУЖНО ОТКЛЮЧИТЬ ПРОГРАММАТОР и подать на вход RESET +5 вольт через резистор в 1..10кОм. С подключенным программатором ничего работать не будет, т.к. он прижимает RESET и не дает кристаллу стартовать.
  • Если UniProf не определяет МК, возможно у вас слишком быстрый компьютер. Для компенсации этого «недостатка» нужно включить галочку «Тормоз» Она показывается если отключить снятием галки EEPROM панель отображения данных EEPROM.
  • Если галка Тормоз не помогла, то пробуйте на другом компе. Т.к. тут СОМ порт обрабатывается в нештатном режиме, а значит не факт, что ваш СОМ порт поймет все правильно.
  • На худой конец, если ничего не помогает, попробуйте программатор из 5 проводков или другую прошивающую программу, например avrdude. Провода делайте как можно короче! 10-15 сантиметров это МАКСИМУМ!
  • Читайте комменты к записи. Там многие косяки уже были разобраны. Возможно и ваш окажется среди них.

Дополнение от Outsider:
1. Если сзади у компа нет разъема COM-порта, то это не на 100% означает, что такого порта нет на материнской плате в принципе. Пока еще на матерях встречаются разъемчики с 9 штырьками в два ряда — подробнее нужно смотреть документацию к материнской плате. Я на своей ASUS P5K SE нашел и успешно заюзал.

2. Да, +5 и GND это не земля и контакт из COM-порта, а именно внешнее питание. Проще всего его добыть в компе — +5 есть в красном проводе на любом из разъемов, питающих жесткие диски. А GND — на корпусе самого компа. Или на черном проводе того же разъема.

3. Если с UniProf что-то не срастается, то можно попробовать avrdude. Чтобы это сделать, нужно прописать в avrdude.conf следующее:

programmer
id = «nikolaew»;
desc = «serial port banging, reset=dtr sck=rts mosi=txd miso=cts»;
type = serbb;
reset = 4;
sck = 7;
mosi = 3;
miso = 8;
;

А затем запустить avrdude со следующими параметрами:

avrdude -n -c nikolaew -P com1 -p m16

где «com1» нужно заменить на твой порт (если, конечно, используется другой), а «m16» на нужный тип микроконтроллера. Список поддерживаемых программой контроллеров можно найти здесь:http://www.nongnu.org/avrdude/user-manual/avrdude_4.html

Если все в порядке, то программа скажет:
avrdude: AVR device initialized and ready to accept instructions

Дополнение от Riko
Эксприменатально было выяснено, что для правильной работы этого программатора напряжение питания МК должно быть не ниже 5 вольт (но не выше 5.5!!!). То есть если МК подключен к трем пальчиковым батарейкам, то вы обламываетесь, так как там 4.5 вольта! Запитывайте от компа!!!

Дополнение от SLY_DEr
Не работало. Сменил резисторы с 3к (не было на 1к) на 460ом’ные — заработало, но с ошибками.
Решил чисто ради спортивного интереса снизить скорость ком-порта в диспечере устроиств и о, чудо, все заработало как надо. Скорость порта снизил с 9600к до 4800к и плюс убавил буфер приема и передачи (там же) до значений 4 и 6 соответственно.

Если что непонятно, то не стесняйся спрашивать у меня в комментах.

З.Ы.
Если не получается ну никак, то может быть ваша материнска плата не поддерживает столь нестандартное обращение с COM портом и стоит попробовать другие программаторы? Например, STK200 или FTBB. Они хоть и сложней, но зато работают более корректно, без извратов.

Программатор Громова — Практическая электроника

Что такое программатор

Первый вопрос, который вы хотите задать в лоб – что же вообще такое “программатор”? Слово “программатор” образуется как ни странно, от слова “программа”. А что такое программа? Если вспомнить, что такое телепрограмма и зачем она  была нужна (кстати, сейчас до сих пор продается в киосках), то стает понятно, что программа телепередач – это расписание по времени этих самых телепередач. Значит программой можно назвать какие-то действия или события, которые будут выполняться одно за другим во времени, когда мы этого захотим или не захотим.  Следовательно, программатор – это всего-навсего какое-то устройство, которые позволяет нам записывать либо читать программу. Изменить программу уже может только сам программист 😉

СМ Начинающим радиолюбителям переход от сборки простейших аналоговых устройств, типа мультивибраторов, к сборке устройств с применением МК бывает затруднен тем, что здесь мало просто развести и спаять устройство на печатной плате,  нужно еще и залить прошивку в память микроконтроллера с помощью программатора. Как уже было написано в предыдущих статьях, микроконтроллер, до тех пор, пока мы не “залили” в него прошивку, является просто бесполезным куском кремния. И тогда начинающий радиолюбитель ищет информацию в интернете о сборке простого, но эффективного программатора, который помог бы ему взять быстрый старт в этом нелегком деле.

Программатор Громова

Я не ошибусь, если скажу, что 80% новичков, если у них на компьютере есть в наличии СОМ порт, собирают в качестве первого программатора Программатор Громова. Эта схема, при своей простоте и умелом обращении, настоящий шедевр). Действительно, ведь для того, чтобы собрать своими руками программатор, подключаемый к USB порту и имеющий в своем составе микроконтроллер AVR, который требуется предварительно запрограммировать, нужен опять таки программатор. А где взять новичку программатор, пусть и для подобной разовой прошивки ? Получается парадокс курицы и яйца), чтобы собрать USB программатор, нам необходимо сначала запрограммировать микроконтроллер программатора))).

Итак, давайте разберем, что же такое вообще прошивание микроконтроллера (МК) с помощью программатора, и как оно осуществляется? Для того, чтобы прошить МК, нам потребуется связка из самого программатора, устройства, спаянного на печатной плате, и программа, называемая оболочкой, работающая с этим устройством.

Под каждый тип программатора чаще всего требуется своя программная оболочка. Для сборки программатора Громова не требуется программировать микроконтроллер. В данном программаторе он отсутствует. Этот программатор работает с двумя широко распространенными оболочками для прошивания: PonyProg и Uniprof.  У нас будут посвящены отдельные обзоры на эти программки. Данный программатор подключается к СОМ порту.  Единственным препятствием для его сборки может стать физическое отсутствие данного разъема на материнской плате вашего системного блока. Почему именно системного блока? Потому что ноутбуки, а также современные модели материнских плат 2010 – 2011 года выпуска и выше часто имеют на контактах СОМ порта пониженное напряжение питания. Что это означает? Это означает, что вы можете собрать данный программатор, а он у вас не заработает. Но с компьютерами  2007 – 2008 года выпуска и старше, за исключением ноутбуков, данный программатор должен гарантированно работать.  Подключение через переходники USB – COM не спасают в этом случае, так как при этом наблюдается в лучшем случае, сильное снижение скорости, в худшем, программатор вообще отказывается работать.

Схема программатора Громова

Давайте рассмотрим принципиальную схему программатора:

Что же мы видим на этой схеме ? Разъем СОМ порта, по другому называемый DB9, 7 резисторов одинакового номинала сопротивлением в 1 кОм и мощностью 0.25 Ватт и 3 импульсных диода. Из диодов подойдут, либо отечественные, КД522, КД510, либо импортные 1N4148.

Давайте разберем, как выглядят данные радиодетали.

На фото ниже представлен разъем DB9:

Как мы видим, пины (выводы) этого разъема обозначены цифрами на нем. Если будут какие-то затруднения с определением какой штырек соответствует какому отверстию разъема, рекомендую вставить проволочку в отверстие пина разъема, перевести мультиметр в режим звуковой прозвонки и прикоснувшись одновременно щупами мультиметра к проволочке по очереди к каждому из штырьков на разъеме, вызвонить соответствие штырьков отверстиям. Это может потребоваться в случае, если вы подключаете разъем проводками к плате. Если разъем будет впаян непосредственно в плату, то эти действия не требуются.

У кого на панели разъемов материнской платы, находящейся в задней части компьютера, нет COM разъема, можно купить планки с таким разъемом. Но нужно убедиться что производители распаяли контроллер СОМ порта на материнской плате, и предусмотрели подключение шлейфа данной планки, непосредственно к плате. Иначе такой вариант вам не поможет. В качестве альтернативного варианта, могу предложить приобрести контроллер СОМ порта, размещенный на специальной плате расширения, которую устанавливают в PCI слот ПК

Также при желании, если вы захотите, чтобы кабель, подключаемый к СОМ порту, у вас отключался от программатора, можно открутив винты крепления, снять разъем с планки, и закрепить его в корпусе программатора. Но будьте внимательны, и после покупки прозвоните все жилы, на соответствие номерам, с обоих концов кабеля, потому что часто в продаже встречаются похожие внешне кабеля, имеющие перекрещенные жилы. Кабель для подключения к данному разъему, должен быть обязательно полной распайки, DB9F – DB9F, прямой, не перекрещенный, с другими кабелями разъем работать не будет.

Если же возникают проблемы с приобретением данного кабеля, можно взять и перекрещенный кабель или удлинитель 9M-9F, но в таком случае может потребоваться обрезать разъем с другого конца, и вызвонив жилки по пинам разъема подпаяться непосредственно к плате программатора. У меня, кстати, был как раз такой кабель – удлинитель, и мне пришлось обрезать разъем со второго конца. Не покупайте кабеля для прошивки телефонов через СОМ порт, они не годятся для наших целей, так как там неполная распайка жил.

Сборка программатора

Идем дальше.

Диоды берем КД522, КД510 или 1N4148. Вот так выглядит диод КД522

Будьте внимательны, диод имеет полярность включения. Другими словами, его не безразлично как впаивать, можно впаять и задом наперед, тогда программатор работать не будет. Как известно, диод имеет катод и анод. Катод промаркирован, в данном случае, черным колечком.

[quads id=1]

Ну с резисторами, я думаю, проблем не возникнет. Идете в радиомагазин и говорите продавцу: “Мне нужны резисторы 1 кОм 0.25 Ватт”.  Желательно взять импортные резисторы,  так как у отечественных МЛТ идет большее отклонение от номинала.

Если вы владеете методом ЛУТ, то для вас не составит труда собрать программатор, по этой печатной плате. Ниже приведен скрин платы из программы Sprint Layout:

Если же вы до сих пор не освоили метод ЛУТ, тогда вам больше подойдет следующая плата, рисунок которой можно легко нарисовать маркером для печатных плат прямо на текстолите. Оба варианта печатных плат, вы сможете скачать в общем архиве, в конце статьи. Не забудьте зачистить и обезжирить плату перед нанесением рисунка. Выводы деталей на ней расположены не близко, и проблем при пайке не возникнет даже у новичков

Отличие платы от оригинальной схемы, в наличии светодиода индикации и токоограничительного резистора в цепи светодиода. Все выводы подписаны на плате. Слева номера выводов кабеля СОМ порта, которые нужно подпаять к плате, не подписанные номера жил можно заизолировать и не подпаивать. Справа идут пины для подключения к программируемому микроконтроллеру.

У меня был собран пять лет назад данный программатор на плате, сделанной от маркера.  Так выглядела его печатная плата после лужения на этапе сборки в корпусе:

Извините за синюю изоленту)), тогда еще, 5 лет назад,  термоусадочные трубки были в диковинку.

Разъем кабеля программатора с другого конца был обрезан, и проводки кабеля были впаяны непосредственно в плату. Сам кабель был закреплен металлическим хомутом. На фото видно, что кабель толстый, и если бы был не закреплен, при изгибании мог нарушиться контакт проводков, на плате программатора

Для подключения к микроконтроллеру устанавливаемому для прошивания на беспаечную макетную плату, я использовал цветные гибкие проводки. Соединенные с проводками такого же цвета, взятыми из жилок витой пары. Это сделано для того, чтобы с одной стороны жилки не переломились при эксплуатации, а с другой было обеспечено легкое подключение к макетной плате. Длина данных проводков должна быть максимум 20 – 25 См, во избежание ошибок от наводок, при программировании. Не используйте обычные неэкранированные провода, вместо СОМ кабеля! Замучаетесь с ошибками при прошивке.

Программируемый микроконтроллер нуждается во внешнем питании +5 Вольт, подаваемом на программатор. Для этой цели можно собрать стабилизатор на микросхеме 7805, с питанием от внешнего блока питания, либо поступить проще и воспользоваться кабелем и зарядным устройством с выходом USB, подпаяв жилки кабеля USB прямо к печатной плате.

Для справки: питание и земля, в разъеме USB идут по краям. Вот распиновка разъема USB:

Теоретически можно, если вы достаточно аккуратный человек, запитаться и от USB порта компьютера, подключив к нему данный кабель, но помните, вы делаете это на свой страх и риск ! Лучше найти один раз деньги и приобрести USВ зарядное устройство. Не используйте отличающиеся от USB,  нестабилизированные зарядные устройства от сотовых телефонов и другой техники, вы рискуете испортить микроконтроллер.

При запитывании от USB порта компьютера, в случае замыкания жилок программатора +5 вольт (VCC) и земли (GND), вы рискуете сжечь южный мост материнской платы компьютера, ремонт такой материнской платы будет нецелесообразен. Я пользовался обоими вариантами для подачи питания, и через стабилизатор, и через кабель от зарядного USB. Еще один нюанс, после программирования микроконтроллера, чтобы микроконтроллер запустился, необходимо разорвать цепь RESET.

Это можно сделать просто выткнув проводок соединенный с пином RESET программатора. И тогда программа, зашитая в микроконтроллер начнет выполняться. Я решил сделать более удобное решение и поставил малогабаритный клавишный выключатель на разрыв цепи RESET.

Другими словами при его отключении, ток в этой цепи больше не течет и микроконтроллер начинает работу. Заместо клавишного выключателя можно воспользоваться любой малогабаритной кнопкой с фиксацией, либо поставить тумблер. Кому что подскажет фантазия 😉

Наверняка вы уже обратили внимание, что на схеме программатора Громова, есть какие-то незнакомые слова, а в частности VCC, GND, MISO, MOSI, SCK и  RESET. Разберем,  что же значат эти обозначения на примере микроконтроллера Attiny 2313.

В данном случае изображена очень распространенная и недорогая микросхема:  микроконтроллер AVR Tiny (он же Аttiny) 2313. Ножки микросхемы, как мы видим, имеют свой номер. Нумерация идет против часовой стрелки, от ключа в виде точки, расположенной в левом верхнем углу корпуса микроконтроллера. Ниже на рисунке пример того, как идет нумерация на микросхемах в корпусе DIP:

В первую очередь нас интересуют перечисленные выше шесть ножек. Назначения всех остальных мы вкратце коснемся в конце статьи.

Итак, расшифровываем:

VCC. На эту ногу мы подаем напряжение питания микросхемы. Стандартом является 5 Вольт. Допустимо отклонение в большую сторону, до 5.5 Вольт. Напряжение свыше 6 Вольт, может привести к порче микросхемы. Отклонение в меньшую сторону более допустимо. Есть версии микроконтроллеров Tiny 2313V, которые могут работать даже от двух пальчиковых батареек или аккумуляторов, или от напряжения в 2.4 Вольта.

GND. Ну это всем знакомая и известная “земля”, она же  ”масса”, и она же минус питания. Данный контакт является общим для всех устройств, которые имеют подключение друг к другу. Если вы соединяете, какие-либо блоки устройства между собой, их земли следует объединить. В данном случае, земля микроконтроллера, объединяется с землей программатора.

MISO. Сокращение от Master – In – Slave – Out. По этой линии передаются данные от микроконтроллера к программатору.

MOSI. Сокращение от Master – Out – Slave – In.  По этой линии тоже передаются данные от программатора к микроконтроллеру.

SCK. На этой линии формируется тактовый сигнал.

RESET. Данный вывод используется для сброса микроконтроллера после стирания одиночным импульсом.  Если RESET будет отключен, путем ошибочного выставления определенного фьюза, (о выставлении этого, и других фьюзов мы поговорим в следующих статьях) мы не сможем стереть и перепрошить микроконтроллер, через интерфейс SPI.

Достаточно подсоединить эти перечисленные 6 пинов программатора, к 6 ножкам микроконтроллера, и мы сможем прошить МК.

Рассмотрим остальные ножки МК:

У микроконтроллера Tiny2313 3 порта: А (А0-А2, 3 ножки), B (В0-В7, 8 ножек) D (D0-D6, 7 ножек), всего насчитывается 18 используемых в качестве ножек портов ввода – вывода. Каждую из этих ножек можно сконфигурировать отдельно на ввод и на вывод. Не являются ножками портов, только земля (GND) и питание (VCC).

Ниже рассмотрено дополнительное назначение некоторых ножек  МК:

OC1A И OC1B.  Ножки для формирования ШИМ (Широтно – импульсная модуляция) сигнала, таймер 1.

OC0A и OC0B.  Ножки для формирования ШИМ сигнала, таймер 0.

AIN0  и AIN1. Ножки для подачи аналогового сигнала на микроконтроллер.

XTAL1 и XTAL2. Ножки для подключения кварцевого резонатора, для тактирования от него.

RXD и TXD. Линии подключения МК по интерфейсу UART.

Я надеюсь, данная статья будет полезна начинающим любителям микроконтроллеров, и позволит собрать программатор, который будет долгое время радовать вас своей работой.

Читаем далее: Как шить с помощью программатора Громова

Программатор Громова

Самый простейший программатор для AVR, с точки зрения схемотехники. Основная задача этого программатора заключается в согласовании уровней между программируемым устройством и COM портом компьютера. Схема программатора Громова сложностью не блещет. Моя печатка для этого программатора выглядит вот так:

В схеме используется семь резисторов на 1кОм. Один резистор на 330 или 470 Ом (подключенный к светодиоду). Три маломощных диода. И один светодиод. В принципе, мою схему можно упростить и выкинуть индикатор питания, реализованный на светодиоде. Вы можете скачать схему программатора Громова в формате Sprint-Layout.

Плата программатора должна получиться приблизительно такой:

Фотографию готового устройства предоставил товарищ eap (Александр). А все мои давно ушли в университет, для которого я периодически ваяю интересные игрушки на микроконтроллерах.

К джамперу возле светодиода необходимо подключить питание для программатора. Питание 5 вольт. Это же питание подключится к питанию программируемого устройства. Левый блок джамперов подключается к коннектору COM порта. В принципе, можно все упростить и припаять шлейф прямо к падам платы. И шлейф от разъема для программирования тоже можно сразу припаять к падам платы. Хочу заметить небольшую тонкость. Длинна шлейфа от COM порта может быть метр или полтора, а длинна шлейфа от программатора Громова до программируемого устройства не должна превышать 20 сантиметров

Программатор Громова является битбэнг (bitbang) программатором, по этому ему требуется соответствующее программное обеспечение. Например, можно использовать в паре с Громовым — UniProf и avrdude.

Основной минус — это необходимость подключения к COM порту компьютера. Честно говоря, на всех современных ноутбуках этого порта попросту не существует, а на стационарных компьютерах этот порт постепенно вымирает. Скорость программирования через этот тип программаторов очень низкая. Не работает с переходниками USB-COM. Не работает со стандартными программами из AVR Studio.

Программатор Громова можно использовать в качестве одноразового программатора. Им можно прошить другой программатор. Например, программатор AVR910 требут предварительной прошивки. Вот в таком случае можно собрать программатор Громова, сходить к друзьям у которых остался компьютер с COM портом и у них провести предварительную прошивку своего AVR910.

Использование COM-порта позволяет не бояться короткого замыкания на программаторе, этот порт вообще очень живучий и стойкий. Простейшая элементарная база позволяет гарантировать, что в любом радиомагазине найдутся для него комплектующие. Простейшая электрическая схема позволяет собрать этот программатор даже на обычной картонке и спаять все навесным монтажем.

Моя первая связка программаторов которыми я пользовался были программатор Громова плюс avrdude.

Альтернатив для программатора Громова очень много, вот небольшой пример: AVR910, USBasp, Prottos, USBBit. Они все работают через USB и по этому могут использоваться при работе с современными компьютерами. Так же практически все отладочные комплексы содержат в себе программатор, например: STK, BigAVR, Dragon, PinBoard (начиная с версии 1.1), OrcaBoard (начиная с версии Rev 2).

Тэги: микроконтроллеры

Отредактировано:2020-09-23 08:41:51

Радиосхемы. — Программатор Громова

материалы в категории

Программатор Громова

Несложный в плане изготовления  COM программатор. При условии использования альтернативного режима COM порта Bitbang, отпадает необходимость в преобразовании интерфейса RS232 COM порта в SPI, необходимый для программирования. Остается только привести уровни сигналов COM порта (-12В, +12В) к необходимым (0, +5В).

схема COM программатора для AVR микроконтроллеров



Данная схема программатора достаточно распространена и известна как программатор Громова. Название пошло от автора программы Algorithm Builder Геннадия Громова, который и предложил такую схему.

Схема несложная, для ее сборки потребуется всего-лишь несколько деталей:

Диоды КД522, КД510, 1N4148 или им подобные. Резисторы можно использовать любые, какие найдете. В качестве шлейфа можно использовать IDE шлейф. При подключении шлейфа, для более устойчивой работы программатора, каждый «сигнальный» провод должен чередоваться с «земляным» проводом. Это позволит уменьшить уровень помех наводимых в линиях и за счет этого увеличить длину программирующего провода. Длина шлейфа должна быть в пределах 50 см. Еще нужен разъем для подключения к программируемому устройству.

 
Для внутрисхемного программирования Atmel рекомендует стандартные разъемы:

Если Вы планируете серьезно заняться микроконтроллерами, сделайте разъемы стандартными. Для разового программирования устройства можно использовать разъемы BLS «мамы» на программаторе (такими разъемами к материнской плате подключаются кнопки и светодиоды корпуса компа) и штырьки PLS «папы» на плате.
Это позволяет максимально упростить разводку платы устройства, так как штырьки для программатора устанавливаются в непосредственной близости возле ножек микроконтроллера. Ножки MOSI, MISO, SCK у микроконтроллеров AVR всегда расположены вместе, поэтому для них можно применить строенный разъем. Отдельно делаем подключение для «земли»-GND и «сброса»-Reset.

Сборка программатора Громов в деталях


Я сознательно не даю печатной платы под этот программатор, так как схема проста и возня с разводкой и травлением платы просто себя не оправдывает.

Для того чтобы COM программатор Громова заработал нужна программа для программирования через COM порт. Для этого прекрасна подойдет программа UniProf, скачать которую вы можете на нашем сайте в разделе радиолюбительский софт.
Также еще потребуется плата устройства к которой мы подключим программатор и тестовая прошивка для микроконтроллера.

Общие рекомендации:

— Так как режим Bitbang нестандартный для COM порта компьютера, то возможны сбои в работе (хотя у меня такого не было). Особенно это касается ноутбуков. Как вариант решения этой проблемы можно рекомендовать «поиграться» настройками COM порта (скорость, биты данных, варианты управления потоком, величины буфера …).
– Отдельный разъем для «земли» желательно подключить первым, чтобы уравнять потенциалы «земли» программируемого устройства и компьютера. Для тех, кто не знает, если у Вас компьютер включен в обычную розетку, без заземляющего контакта, то в виду особенности фильтра блока питания компьютера, на корпусе компьютера всегда присутствует потенциал в 110В.

Заключение:

COM программатор Громова простой и надежный. Я не перестал пользоваться им даже собрав USB программатор (если какой либо микроконтроллер перестает программироваться USB программатором я обязательно перепроверю его на программаторе Громова).
– Так как программатор Громова собран на пассивных элементах он не требует для себя питания. Мало того, из-за паразитного питания, микроконтроллер можно запрограммировать вообще не подключая к нему источника питания! Хотя так программировать я не рекомендую, но сам факт интересен.
– Для пользователей Algorithm Builder есть приятный бонус! Этот программатор можно использовать для внутрисхемной отладки кристалла (программный JTAG).

Источник: http://easymcu.ru

Программатор Громова — COM программатор — Цифровая техника — Каталог статей

Для того чтобы прошить микроконтроллер в 95% случаев хватает последовательного программатора. Самым простым является «5 проводков» для LPT порта. Но схема эта не надежна, а у некоторых, типа меня, вообще, отказывается работать (по крайней мере, я так и не запустил его в AVRDUDE). Но самым большим минусом этого программатора является отсутствие LPT порта на новых компьютерах. Да и спалить его этим «программатором» как два пальца об асфальт.

Программатор Громова — это практически теже 5 проводков, только для COM-порта. Схема эта в десятки раз надежнее, а если понадобиться, то легко превращается в программатор всяких EEPROM микросхем (типа 24Cxx). Автором этого программатора является Громов, создатель Algorithm Builder. Вот его схема:


Как видно схема довольно простая. Диоды можно применить любые: 1N4148, КД522, КД510 и т.д. Схема простая и печатную плату можно не делать, но я рекомендую все же ее сделать. Вот моя разводка печатной платы:

 

Я использовал SMD резисторы и 2 перемычки типоразмера 0805, диоды LL4148, вывел два пина для питания и разъем IDC-10 для прораммирования.

Плата со стороны элементов:


Плата со стороны дорожек:


Для подключения программируемого микроконтроллера я использую 10 пиновый разъем IDC-10 (цоколевка разъема указана на плате). Для программирования я использую программу AVRDUDE, вместе с графической оболочкой Burn-O-Mat. Но данного программатора там нет, и его придется добавить. Для этого в файле avrdude.conf нужно прописать:

programmer

  id = «GROMOV ‘ivashka.my1.ru'»;

  desc = «serial port banging, reset=dtr sck=rts mosi=txd miso=cts»;

  type = serbb;

  reset = 4;

  sck = 7;

  mosi = 3;

  miso = 8;

;

А можешь скачать готовый avrdude.conf у меня.

Дальше запускаешь AVR Burn-O-Mat, лезешь в Setting>AVRDUDE. Там выбираешь программатор: «GROMOV ‘ivashka.my1.ru'» и порт, куда он подключен. Дави OK. В окне «AVR type» выбирай программируемый микроконтроллер. Для того чтобы прошить Flash, в окне «Flash» выбирай свой hex файл и жми «Write», если ошибки не выскочило, то все OK — микроконтроллер прошит. Чтобы побольше узнать о работе в AVR Burn-O-Mat советую почитать статью о ней.

USB ПРОГРАММАТОР AVR

   В жизни каждого юзера наступает такой момент, когда надо апгрейдить компьютерное железо. Но не все так радосто, как казалось – производители компьютеров сейчас выкидывают такие ненужные по их мнению вещи, как COM- и LPT-порты (тоже относится и к владельцам ноутбуков). И что же делать несчастному юзеру, если необходимо прошить очередной МК AVR для девайса? Выход один – делать USB-программатор (или прикупить). Сегодня мы этим и займемся… (я имею ввиду сборку). И так, наша цель – создание программатора USBasp.

   Однако при изготовлении данного программатора есть одна проблема – нужно прошить контроллер, используемый в данном программаторе. Так что ищем друга, у которого есть рабочий COM- или LPT-порт в компьютере и, прикупив пивка, идём к нему (уж за такой презент он не откажет). Когда делал свой USBasp, пользовался простейшим ISP программатором – программатором Громова (Громов – разработчик Algorithm Builder). Так что расскажу как сделать USBasp с помощью него. Вначале паяем программатор Громова по следующей схеме:

   Вопросы типа: «А где рисунок платы?» будут оставлены без ответа, т.к. ответ в архиве. Замечу один момент: на прошиваемый контроллер необходимо подача питающего напряжения 5 вольт (+ и -), которое можно взять с компьютерного блока питания (использовал разъем от флоппика). Для этого в плате программатора AVR предусматриваем место для подключения 2-х питающих проводов. Выглядеть будет примерно так:

   Основные подготовительные операции выполнены и теперь приступаем к действиям для достижения основной цели – сборка USBasp.

   Про сборку и описывать особо нечего, так как тут всё ясно. Для себя исключил из схемы перемычки Jmp1 и Jmp3, Jmp2 заменил переключателем, а вместо разъема ISP типа BH-10 поставил DB-9M. Контроллер прошивал отдельно с использованием вот такой платы:

   Собранный USB программатор AVR засунул в подходящий пластмассовый корпус:

   А теперь расскажу, как же все таки заставить работать USBasp. Что у нас имеется в распоряжении (весь софт скачиваем в архиве):

 1. программатор Громова;
 2. софт под названием Uniprof;
 3. программатор USBasp;
 4. прошивка для контроллера USBasp;
 5. драйвера для установки USBasp в системе.

   На собранном USBasp ставим перемычки Jmp1 (цепь RESET) и Jmp2 (+5V), подключаем к нему программатор Громова и все это дело подключаем к COM-порту компа, не забыв подать питание 5 вольт. Запускаем Uniprof, если все собрано и подключено правильно, то должнен определиться тип прошиваемого контроллера:

 

   Нажимаем кнопку с рисунком папки и надписью HEX и указываем путь к файлу прошивки контроллера USBasp. В итоге получаем следующее:

   Осталось нажать на кнопку Prog с красной стрелкой, чтобы запустить режим прошивания. Ждем окончания заливки hex-файла. А теперь самые большие грабли – прошивка fuse-битов. В чекбоксе «Тормоз» (тот что над пивной кружкой) ставим галку (особенно актуально для шустрых системников), нажимаем кнопку «Fuse» (ала серп и молот :-D) и выставляем фьюзы как указано на картинке:

   После установки галок нажимаем кнопки «Write» в каждом из байтов. 

   Примечание (вдруг кто будет пользовать программатор Громова и дальше): в Uniprof галка напротив фьюза означает, что он установлен в 1 (в PoniProg галка означает установку в 0).

   Прошили? Отлично! Снимаем перемычку J1 и втыкаем программатор в компьютер. Теперь скармливаем дрова и в системе появляется новое устройство под названием USBasp. Для прошивки контроллеров качаем avrdude, но у нее есть недостаток – она консольная. Однако добрые дяди не оставили нас в беде и сделали графическую оболочку для avrdude, называется она USBASP_AVRDUDE_PROG. При прошивке fuse-битов через avrdude галка в чекбоксе напротив бита означает 0.

   Вот вроде и всё. Будут вопросы по запуску программатора — справшивайте, вместе как-нибудь разберемся. Автор: skateman.

Originally posted 2019-01-29 07:07:43. Republished by Blog Post Promoter

назначение, описание. Функции современных программаторов

В современных электронных схемах все чаще и чаще применяются микроконтроллеры. Да что там говорить, если сегодня не найти даже обыкновенную елочную гирлянду без микроконтроллера внутри — он задает различные программы иллюминации.

Я впервые столкнулся с микроконтроллерами, когда собирал свой первый . Вот тогда-то и выяснилось, что контроллер без прошивки — это просто кусок пластмассы с ножками.

А чтобы залить нужную прошивку в АТМЕГу, никак не обойтись без программатора. Далее мы рассмотрим две самые простые и проверенные временем схемы программаторов.

Схема первая

С помощью этого программатора можно прошивать практически любой AVR-контроллер от ATMEL, надо только свериться с распиновкой микросхемы.

СОМ-разъем на схеме — это «мама».

На всякий случай привожу разводку печатной платы для атмеги8 (), хотя такую примитивную схему проще нарисовать от руки. Плату перед печатью нужно отзеркалить.

Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то или лучше сразу ).

Как понятно из схемы, для сборки программатора потребуется ничтожно малое количество деталек:

Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки .

А вот весь программатор в сборе:

Питание (+5В) я решил брать с USB-порта.

Если у вас новый микроконтроллер (и до этого никто не пытался его прошивать), то кварц с сопутствующими конденсаторами можно не ставить. Работа без кварцевого резонатора возможна благодаря тому, что камень с завода идет с битом на встроенный генератор и схема, соответственно, тактуется от него.

Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.

Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.

Заливать прошивку лучше всего с помощью программы PonyProg (скачать).

Прошивка с помощью PonyProg

Заходим в меню Setup -> Calibration -> Yes. Должно появиться окошко «Calibration OK».

Теперь втыкаем микроконтроллер в панельку программатора, и подаем питание 5 вольт (можно, например, от отдельного источника питания или порта ЮСБ). Затем жмем Command -> Read All.

После чтения появляется окно «Read successful». Если все ок, то выбираем файл с нужной прошивкой для заливки: File -> Open Device File. Жмем «Открыть».

Теперь жмем Command -> Security and Configuration Bits и выставляем фьюзы, какие нужно.

Вот и все, МК прошит и готов к использованию!

Имейте в виду, что при прошивке с помощью других программ (не PonyProg) биты могут быть инверсными! Тогда их надо выставлять с точностью до наоборот. Определить это можно, считав фьюзы и посмотрев на галку «SPIEN».

Схема вторая

Еще одна версия программатора, с помощью которого можно залить прошивку в микроконтроллер АТМЕГа (так называемый программатор Геннадия Громова). Схема состоит всего из 10 детатей:
Диоды можно взять любые импульсные (например, наши КД510, КД522). Разъем — «мама». Питание на МК (+5В) нужно подавать отдельно, например, от того же компьютера с выхода USB.

Все это можно собрать навесным монтажом прямо на разъеме, но если вы крутой паяльник и знаете, что такое smd-монтаж, то можете сделать красиво:

Алгоритм прошивки с помощью программатора Громова

Программатор с установленной микросхемой подключаем к СОМ-порту компьютера, затем запускаем Uniprof, затем подаем питание на микроконтроллер. И первым делом проверяем, читаются ли фьюз-биты.

Если все ок, выбираем файл с нужной прошивкой и жмем запись.

Будьте предельно внимательны и осторожны, потому что если глюканет при записи фьюзов, то МК либо на выброс, либо паять схему доктора (а она сложная). Если поменяете бит SPIEN на противоположный — результат будет тот же (к доктору).


Первый вопрос, который вы хотите задать в лоб – что же вообще такое “программатор” ? Слово “программатор” образуется как ни странно, от слова “программа”. А что такое программа? Если вспомнить, что такое теле программа и зачем она была нужна (кстати, сейчас до сих пор продается в киосках), то стает понятно, что программа телепередач – это расписание по времени этих самых телепередач. Значит программой можно назвать какие-то действия или события, которые будут выполняться одно за другим во времени, когда мы этого захотим или не захотим. Следовательно, программатор – это всего-навсего какое-то устройство, которые позволяет нам записывать либо читать программу. Изменить программу уже может только сам программист 😉

СМ

Начинающим радиолюбителям переход от сборки простейших аналоговых устройств, типа мультивибраторов , к сборке устройств с применением МК бывает затруднен тем, что здесь мало просто развести и спаять устройство на печатной плате, нужно еще и залить прошивку в память микроконтроллера с помощью программатора . Как уже было написано в предыдущих статьях, микроконтроллер, до тех пор, пока мы не “залили” в него прошивку, является просто бесполезным куском кремния. И тогда начинающий радиолюбитель ищет информацию в интернете о сборке простого, но эффективного программатора, который помог бы ему взять быстрый старт в этом нелегком деле.

Я не ошибусь, если скажу, что 80% новичков, если у них на компьютере есть в наличии СОМ порт, собирают в качестве первого программатора . Эта схема, при своей простоте и умелом обращении, настоящий шедевр). Действительно, ведь для того, чтобы собрать своими руками программатор, подключаемый к USB порту и имеющий в своем составе микроконтроллер AVR, который требуется предварительно запрограммировать, нужен опять таки программатор. А где взять новичку программатор, пусть и для подобной разовой прошивки? Получается парадокс курицы и яйца), чтобы собрать USB программатор, нам необходимо сначала запрограммировать микроконтроллер программатора))).

Итак, давайте разберем, что же такое вообще прошивание микроконтроллера (МК) с помощью программатора, и как оно осуществляется? Для того, чтобы прошить МК, нам потребуется связка из самого программатора, устройства, спаянного на печатной плате, и программа, называемая оболочкой , работающая с этим устройством.

Под каждый тип программатора чаще всего требуется своя программная оболочка . Для сборки программатора Громова не требуется программировать микроконтроллер. В данном программаторе он отсутствует. Этот программатор работает с двумя широко распространенными оболочками для прошивания: PonyProg и Uniprof . У нас будут посвящены отдельные обзоры на эти программки. Данный программатор подключается к СОМ порту . Единственным препятствием для его сборки может стать физическое отсутствие данного разъема на материнской плате вашего системного блока. Почему именно системного блока? Потому что ноутбуки, а также современные модели материнских плат 2010 – 2011 года выпуска и выше часто имеют на контактах СОМ порта пониженное напряжение питания. Что это означает? Это означает, что вы можете собрать данный программатор, а он у вас не заработает. Но с компьютерами 2007 – 2008 года выпуска и старше, за исключением ноутбуков, данный программатор должен гарантированно работать. Подключение через переходники USB – COM не спасают в этом случае, так как при этом наблюдается в лучшем случае, сильное снижение скорости, в худшем, программатор вообще отказывается работать.

Давайте рассмотрим принципиальную схему программатора:


Что же мы видим на этой схеме? Разъем СОМ порта, по другому называемый DB9, 7 резисторов одинакового номинала сопротивлением в 1 кОм и мощностью 0.25 Ватт и 3 импульсных диода. Из диодов подойдут, либо отечественные, КД522, КД510, либо импортные 1N4148.

Давайте разберем, как выглядят данные радиодетали.

На фото ниже представлен разъем DB9:


Как мы видим, пины (выводы) этого разъема обозначены цифрами на нем. Если будут какие-то затруднения с определением какой штырек соответствует какому отверстию разъема, рекомендую вставить проволочку в отверстие пина разъема, перевести в режим звуковой прозвонки и прикоснувшись одновременно щупами мультиметра к проволочке по очереди к каждому из штырьков на разъеме, вызвонить соответствие штырьков отверстиям. Это может потребоваться в случае, если вы подключаете разъем проводками к плате. Если разъем будет впаян непосредственно в плату, то эти действия не требуются.

У кого на панели разъемов материнской платы, находящейся в задней части компьютера, нет COM разъема, можно купить планки с таким разъемом. Но нужно убедиться что производители распаяли контроллер СОМ порта на материнской плате, и предусмотрели подключение шлейфа данной планки, непосредственно к плате. Иначе такой вариант вам не поможет. В качестве альтернативного варианта, могу предложить приобрести контроллер СОМ порта, размещенный на специальной плате расширения, которую устанавливают в PCI слот ПК


Также при желании, если вы захотите, чтобы кабель, подключаемый к СОМ порту, у вас отключался от программатора, можно открутив винты крепления, снять разъем с планки, и закрепить его в корпусе программатора. Но будьте внимательны, и после покупки прозвоните все жилы, на соответствие номерам, с обоих концов кабеля, потому что часто в продаже встречаются похожие внешне кабеля, имеющие перекрещенные жилы. Кабель для подключения к данному разъему, должен быть обязательно полной распайки, DB9F – DB9F, прямой, не перекрещенный, с другими кабелями разъем работать не будет.


Если же возникают проблемы с приобретением данного кабеля, можно взять и перекрещенный кабель или удлинитель 9M-9F, но в таком случае может потребоваться обрезать разъем с другого конца, и вызвонив жилки по пинам разъема подпаяться непосредственно к плате программатора. У меня, кстати, был как раз такой кабель – удлинитель, и мне пришлось обрезать разъем со второго конца. Не покупайте кабеля для прошивки телефонов через СОМ порт, они не годятся для наших целей, так как там неполная распайка жил.

Диоды берем КД522, КД510 или 1N4148. Вот так выглядит диод КД522

Будьте внимательны, диод имеет полярность включения. Другими словами, его не безразлично как впаивать, можно впаять и задом наперед, тогда программатор работать не будет. Как известно, диод имеет катод и анод. Катод промаркирован, в данном случае, черным колечком.

Ну с , я думаю, проблем не возникнет. Идете в радиомагазин и говорите продавцу: “Мне нужны резисторы 1 кОм 0.25 Ватт”. Желательно взять импортные резисторы, так как у отечественных МЛТ идет большее отклонение от номинала.


Если вы владеете методом , то для вас не составит труда собрать программатор, по этой печатной плате. Ниже приведен скрин платы из программы Sprint Layout :


Если же вы до сих пор не освоили метод ЛУТ, тогда вам больше подойдет следующая плата, рисунок которой можно легко нарисовать маркером для печатных плат прямо на текстолите. Оба варианта печатных плат, вы сможете скачать в общем архиве, в конце статьи. Не забудьте зачистить и обезжирить плату перед нанесением рисунка. Выводы деталей на ней расположены не близко, и проблем при пайке не возникнет даже у новичков


Отличие платы от оригинальной схемы, в наличии светодиода индикации и токоограничительного резистора в цепи светодиода. Все выводы подписаны на плате. Слева номера выводов кабеля СОМ порта, которые нужно подпаять к плате, не подписанные номера жил можно заизолировать и не подпаивать. Справа идут пины для подключения к программируемому микроконтроллеру.

У меня был собран пять лет назад данный программатор на плате, сделанной от маркера. Так выглядела его печатная плата после лужения на этапе сборки в корпусе:


Извините за синюю изоленту)), тогда еще, 5 лет назад, термоусадочные трубки были в диковинку.

Разъем кабеля программатора с другого конца был обрезан, и проводки кабеля были впаяны непосредственно в плату. Сам кабель был закреплен металлическим хомутом. На фото видно, что кабель толстый, и если бы был не закреплен, при изгибании мог нарушиться контакт проводков, на плате программатора


Для подключения к микроконтроллеру устанавливаемому для прошивания на беспаечную макетную плату , я использовал цветные гибкие проводки. Соединенные с проводками такого же цвета, взятыми из жилок витой пары. Это сделано для того, чтобы с одной стороны жилки не переломились при эксплуатации, а с другой было обеспечено легкое подключение к макетной плате. Длина данных проводков должна быть максимум 20 – 25 См, во избежание ошибок от наводок, при программировании. Не используйте обычные неэкранированные провода, вместо СОМ кабеля! Замучаетесь с ошибками при прошивке.

Программируемый микроконтроллер нуждается во внешнем питании +5 Вольт, подаваемом на программатор. Для этой цели можно собрать стабилизатор на микросхеме 7805 , с питанием от внешнего блока питания, либо поступить проще и воспользоваться кабелем и зарядным устройством с выходом USB, подпаяв жилки кабеля USB прямо к печатной плате.

Для справки: питание и земля, в разъеме USB идут по краям. Вот распиновка разъема USB:

Теоретически можно, если вы достаточно аккуратный человек, запитаться и от USB порта компьютера, подключив к нему данный кабель, но помните, вы делаете это на свой страх и риск! Лучше найти один раз деньги и приобрести USВ зарядное устройство. Не используйте отличающиеся от USB, нестабилизированные зарядные устройства от сотовых телефонов и другой техники, вы рискуете испортить микроконтроллер.

При запитывании от USB порта компьютера, в случае замыкания жилок программатора +5 вольт (VCC) и земли (GND), вы рискуете сжечь южный мост материнской платы компьютера, ремонт такой материнской платы будет нецелесообразен. Я пользовался обоими вариантами для подачи питания, и через стабилизатор, и через кабель от зарядного USB. Еще один нюанс, после программирования микроконтроллера, чтобы микроконтроллер запустился, необходимо разорвать цепь RESET.

Это можно сделать просто выткнув проводок соединенный с пином RESET программатора. И тогда программа, зашитая в микроконтроллер начнет выполняться. Я решил сделать более удобное решение и поставил малогабаритный клавишный выключатель на разрыв цепи RESET.


Другими словами при его отключении, ток в этой цепи больше не течет и микроконтроллер начинает работу. Заместо клавишного выключателя можно воспользоваться любой малогабаритной кнопкой с фиксацией, либо поставить тумблер. Кому что подскажет фантазия;-)

Наверняка вы уже обратили внимание, что на схеме программатора Громова, есть какие-то незнакомые слова, а в частности VCC, GND, MISO, MOSI, SCK и RESET. Разберем, что же значат эти обозначения на примере микроконтроллера Attiny 2313.


В данном случае изображена очень распространенная и недорогая микросхема: микроконтроллер AVR Tiny (он же Аttiny) 2313. Ножки микросхемы, как мы видим, имеют свой номер. Нумерация идет против часовой стрелки, от ключа в виде точки, расположенной в левом верхнем углу корпуса микроконтроллера. Ниже на рисунке пример того, как идет нумерация на микросхемах в корпусе DIP :



В первую очередь нас интересуют перечисленные выше шесть ножек. Назначения всех остальных мы вкратце коснемся в конце статьи.

Итак, расшифровываем:

VCC . На эту ногу мы подаем напряжение питания микросхемы. Стандартом является 5 Вольт. Допустимо отклонение в большую сторону, до 5.5 Вольт. Напряжение свыше 6 Вольт, может привести к порче микросхемы. Отклонение в меньшую сторону более допустимо. Есть версии микроконтроллеров Tiny 2313V, которые могут работать даже от двух пальчиковых батареек или аккумуляторов, или от напряжения в 2.4 Вольта.

GND. Ну это всем знакомая и известная “земля”, она же ”масса”, и она же минус питания. Данный контакт является общим для всех устройств, которые имеют подключение друг к другу. Если вы соединяете, какие-либо блоки устройства между собой, их земли следует объединить. В данном случае, земля микроконтроллера, объединяется с землей программатора.

MISO . Сокращение от M aster – I n – S lave – O ut. По этой линии передаются данные от микроконтроллера к программатору.

MOSI. Сокращение от M aster – O ut – S lave – I n. По этой линии тоже передаются данные от программатора к микроконтроллеру.

SCK. На этой линии формируется тактовый сигнал.

RESET. Данный вывод используется для сброса микроконтроллера после стирания одиночным импульсом. Если RESET будет отключен, путем ошибочного выставления определенного фьюза, (о выставлении этого, и других фьюзов мы поговорим в следующих статьях) мы не сможем стереть и перепрошить микроконтроллер, через интерфейс SPI.

Достаточно подсоединить эти перечисленные 6 пинов программатора, к 6 ножкам микроконтроллера, и мы сможем прошить МК.

Рассмотрим остальные ножки МК:

У микроконтроллера Tiny2313 3 порта: А (А0-А2, 3 ножки), B (В0-В7, 8 ножек) D (D0-D6, 7 ножек), всего насчитывается 18 используемых в качестве ножек портов ввода – вывода. Каждую из этих ножек можно сконфигурировать отдельно на ввод и на вывод. Не являются ножками портов, только земля (GND) и питание (VCC).

Ниже рассмотрено дополнительное назначение некоторых ножек МК:

OC1A И OC1B. Ножки для формирования ШИМ (Широтно – импульсная модуляция) сигнала, таймер 1.

OC0A и OC0B. Ножки для формирования ШИМ сигнала, таймер 0.

AIN0 и AIN1. Ножки для подачи аналогового сигнала на микроконтроллер.

XTAL1 и XTAL2. Ножки для подключения кварцевого резонатора, для тактирования от него.

RXD и TXD. Линии подключения МК по интерфейсу UART.

Я надеюсь, данная статья будет полезна начинающим любителям микроконтроллеров, и позволит собрать программатор, который будет долгое время радовать вас своей работой.

Для того чтобы прошить микроконтроллер в 95% случаев хватает последовательного программатора. Самым простым является «5 проводков» для LPT порта. Но схема эта не надежна. Но самым большим минусом этого программатора является отсутствие LPT порта на новых компьютерах.

Программатор Громова — это практически теже 5 проводков, только для COM-порта. Схема эта в десятки раз надежнее,. Автором этого программатора является Генадий Громов, создатель Algorithm Builder . Вот его схема:

И так надо 3 диода,любые, например кд522 или 1N4148. 7 резисторов на 1 кОм.

вот пример платы, сразу скажу что там резисторы на 10кОм, но все равно работает, вам все таки рекомендую делать по схеме.

ну еще я использую щуп для корпусов SO8

Для программирования используется программа UniProf от Николаева

UNIPROF – это ISP (in system programming) программатор для AV R микроконтроллеров (смотрите список слева). Имеет встроенные модули отладочного обмена, позволяющие при помощи того же самого шлейфа, при помощи которого программировали, производить realtime отладку программы (подробнее об отладке). (далее – просто программатор). Программатор позволяет:

  • Читать/писать/сравнивать FLASH память программ и EEPROM;
  • Чтение/запись/сравнение FLASH возможно в указанных границах;
  • Читать/писать fuse и lock биты;
  • Читать настроечные байты OSCCAL и при необходимости помещать их в буфер EEPROM или FLASH;
  • Вручную корректировать содержимое окна EEPROM и перемещать блоки FLASH;
  • Работает с файлами в форматах HEX, BIN и generic;
  • Возможна подача любой команды протокола обмена “вручную”;
  • Режим “тормоз” для низких тактовых;

Схема программатора и программа ниже во вложении

Вложения

Перед каждым, кто начинает осваивать конструирование устройств на микроконтроллерах AVR и купил в радиомагазине микроконтроллер встает вопрос, чем его прошивать. В магазинах большой выбор программаторов, подключаемых к USB порту , также можно заказать программатор с Китайских интернет аукционов.

Но в первом случае придется выложить не маленькую сумму за программатор, а во втором ждать месяц – полтора пока доставят. Я предлагаю собрать программатор самим, своими руками, тем более там ничего сложного нет, всего несколько диодов, резисторов и светодиод. На рисунке ниже его принципиальная схема :



Для подключения к компьютеру лучше воспользоваться фабричным кабелем для COM порта. Со второго конца кабеля разъем при этом отрезается. Если все же кто-то будет пользоваться для подключения не кабелем, а одним разъемом СОМ с припаянными проводками, то рекомендую длину проводков делать не более полуметра. Дело в том, что фабричный кабель идет экранированный, а на проводки будут наводиться помехи.



По этой же причине, длина проводков идущих с программатора на программируемый микроконтроллер, должна быть не более 10-15 См. Диоды я взял импульсные КД 522. Распиновку разъема можно легко найти в интернете, либо воспользоваться для подключения следующей схемой:


Обе схемы, и первая, и вторая одинаковые.

Программатор может работать с разными оболочками для прошивания. Например, с PonyProg2000, UniProf и avrdude. Я предпочитаю UniProf. У неё простой интерфейс, на русском языке, на скрине ниже изображено окно, которое открывается после запуска программы:



При прошивке микроконтроллера фьюзы в UniProf устанавливаются обычным образом как в даташите. В PonyProg2000 фьюзы выставляются инвертированно. На печатной плате добавлена индикация включения питания на светодиоде, включенном последовательно с ограничивающим резистором, между плюсом питания и землей. Мною была переразведена под свои нужды печатная плата, для того чтобы можно было нарисовать рисунок маркером:



Выкладываю несколько фото, сделанных во время сборки программатора:



Фото платы со стороны пайки выводов:



Так как кабель, подключаемый к COM порту довольно жесткий, я решил закрепить его металлическим хомутом. Провода, выходящие с обратной стороны программатора, для подключения к микроконтроллеру я также стянул проволочным хомутом. У начинающих осваивать программирование микроконтроллеров, иногда возникают ошибки при выставлении и прошивке фьюзов, в результате чего микроконтроллер может залочиться и не будет прошиваться. На рисунке ниже выделены красным те фьюзы, которые нельзя изменять, иначе микроконтроллер нельзя будет прошить этим программатором в дальнейшем.

На сегодня существует множество программаторов AVR микроконтроллеров подобного типа, но что мне не нравится, слишком много «рассыпухи» (дискретных элементов), в то время, когда существуют специализированные микросхемы у которых всё уже есть внутри.

Выбор мой пал на микросхему GD75232 , часть элементов которой, при соответствующем включении я задействовал для данного программатора.Обязательно 10-я и 11 ножки микросхемы должны соединяться с землёй.(общим проводом)

Эта микросхема стоит на материнских платах, её роль — как раз согласование сигналов внешних устройств с COM портом. На иллюстрации из даташита видно, какие элементы как подсоединены, (не стану расписывать, что как и зачем, об этом можно прочитать в описании микросхемы). Я её специально не покупал, а снял с «убитой» материнки.

Печатную плату не привожу, так как отрезал ножницами по металлу кусок платы вместе с микросхемой, в итоге размеры платы получились 20х30 мм, проводники припаял к 3-м разъёмам

1- питание +5в

2- разъём com порта

3- разъём ISP для программирования

Использовать программатор можно с известной программой Pony Prog, в установках выбрать интерфейс (Serial, COM1) для COM-порта и любой из 3-х видов интерфейсов, которые там перечисляются, без разницы, работает со всеми (JDM API, SI Prog I/0, Si Prog API), картинки это поясняют. Остальные установки в настройке порта остаются в программе по умолчанию.

Программатор на столько прост, что не содержит ни резисторов ни конденсаторов, только одна единственная микросхема. Цепляете питание +5в, подключаете к панельке, в которую вставлен микроконтроллер AVR, приготовленный для программирования и программируете, как обычно в ISP режиме.

Схема проверена и испытана.

Буфферизация

Простые программаторы эффективны пока речь идёт о программировании микроконтроллеров либо в DIP корпусе (удобно, когда можно микросхему вынуть из панельки на рабочей плате и воткнуть в панельку на программаторе, а потом, запрограммировав, поставить на место), либо когда на рабочей плате выводы микроконтроллеров не сильно нагружены внешними элементами схемы.

Есть отработанные хорошие схемы простых программаторов с буфферизированными шинами типа STK200 / 300, собраные на микросхемах серии 244, 245, но они предназначены для подключения к LPT порту, который в последнее время уже редкость на современных материнских платах. Теперь чаще встречаются лишь USB и COM порты, а программаторы USB более сложны для начинающих радиолюбителей в повторении.

У большинства известных простых программаторов, работающих с COM портом, имеется общий недостаток: не у всех достаточная нагрузочная способность.

В последнее время всё чаще применяются SMD компоненты, и микроконтроллеры применяют уже в корпусах типа SOIC и впаивает непосредственно в плату, без панелек. В этом случае для повторного перепрограммирования надо уже либо программировать его прямо на плате, либо выпаивать чип, а в некоторых случаях приходится предварительно отключать нагрузку на его выводах в схеме, если получается, что внешние элементы «сажают» импульсы программатора, если только его шины не были буфферизированы (умощнены по току для работы с повышенной нагрузкой).

Из личного опыта скажу, что этими недостатками страдают многие широко известные простые программаторы, например на 5-ти резисторах, или известная схема на транзисторе, резисторах и стабилитронах: при повышенной нагрузке на шинах программатора начинаются проблемы. Для того, чтобы не делать новый программатор, есть простой путь улучшить нагрузочные характеристики программатора — это буфферизировать уже имеющиеся шины для сигналов, всего лишь добавив ещё одну микросхему.

В данном случае я взял, что у меня было под руками — микросхему 561ПУ4 (или можно её западный аналог CD4050 ). В составе этой микросхемы содержится шесть буфферных неинвертирующих элемента, которые повторяют входной сигнал на выходе, не внося в него изменений. Каждый такой элемент обладает определённой нагрузочной способностью, из иллюстрации, взятой в даташите, видно структуру тех дискретных элементов, содержащихся внутри буффера.

Подсоединив к нашему программатору такое дополнение между выводами программатора и разъёмом для программирования, мы получим устройство с повышенной нагрузочной способностью. У нас три сигнала с СОМ порта работают на приём, и один сигнал (MISO) работает на передачу. Припаяв к уже имеющейся схеме посредством коротких проводков ещё одну микросхему буффера, я протестировал работу новой схемы и, сравнив с тем, что было прежде, убедился, что эффект есть. На тех платах, где я прежде сталкивался с подобной проблемой при программировании, мне приходилось отсоединять нагрузку на время программирования, а теперь с новой схемой этого делать уже не потребовалось.

Рекомендую всем обладателям простых программаторов доработать имеющуюся у вас схему таким же образом, если при программировании вы сталкивались с подобными проблемами, добавив микросхему буффера,не обязательно эту, можно использовать и другие подобные по функциональным свойствам микросхемы типа 74HC125, 74HC126 на базе этих микросхем,можно переводить выходы программатора вообще в высокоимпедансное состояние,что позволит не отключать разъём ICSP от платы,особенно это удобно при работе с макетной платой, вариаций применения моего программатора в качестве базового модуля очень много,это и программирование микросхем типа 24Схх 93Схх а так же для программирования PIC контроллеров, но эту тему я возможно разовью чуть позже в данной статье.

Z — состояние шин на выходе

Лучшее- враг хорошему (с).

Всё вроде работает,но стоит добавить в схему,что либо ещё,как она из маленькой превращается в «монстра», а что делать? Иногда в процессе отладки приходится идти на это ради комфорта в работе, ведь порой по нескольку десятков раз надо втыкать разъём ICSP повторно перепрограммируя микроконтроллер, так это занятие надоедает порой, а если оставить программатор постоянно подключенным,к схеме,то схема программатора будет влиять на работу устройства, но есть решение о котором я упоминал выше, это перевести состояние шин в высокоимпедансное — Z состояние, тогда схема программатора может быть подключена сколь угодно долго и не будет теперь шунтировать шины микроконтроллера,ради такого случая нашёл эту микросхему и использовал её в качестве буффера.Осуществлять эту процедуру мы будем посредством кнопки S1 которая при замыкании будет переводить выходы программатора в рабочий режим , программирования подсоединяя его сигналы к схеме. На момент программирования, надо кнопку удерживать в нажатом состоянии,а после того, как процедура программирования пройдёт успешно,отпустить.При разомкнутом состоянии кнопки выходы программатора переводятся в состояние Z

Из даташита 74HC125 ,по схеме и таблице истинности видно,что если подать на выводы А «единицу» схема переводит выходы в высокоимпедансное состояние (фактически вообще отключается от нагрузки) и вдобавок у этой микросхемы ещё большая нагрузочная способность,чем у микросхемы,которую я выбрал в качестве буффера в предыдущей схеме..

в общем на ваш суд выкладываю очередную схему,и сопровождающие картинки к ней.

Владимир Науменко

г. Калининград.

Программатор Громова: назначение, описание

Для людей, которые любят конструировать радиоэлектронные устройства, рано или поздно возникает необходимость использовать микроконтроллеры в своих конструкциях. Использование этих устройств открывает перед радиоинженером огромные возможности. Микроконтроллеры производят всего несколько компаний, лидерами являются Microchip Technology, ATMEL, ARM Limited. Особенностью таких устройств является необходимость их прошивки. Вот почему нужны программисты. Типов этих устройств много, можно купить брендовые, а можно сделать самому.Если вы выбрали второй вариант, лучше всего использовать готовое и проверенное решение, например, программатор Громова. Устройство довольно простое, его может собрать даже новичок.

COM (AVR) — Программист Громов

Программатор COM прост в изготовлении. Если применяется альтернативный режим COM-порта BitBang, преобразование интерфейса RS232 COM-порта в SPI, необходимое для программирования, становится ненужным. Осталось только согласовать уровни сигналов в COM-порту, от -12V, + 12V до 0V и + 5V.Для этого разработана схема программатора AVR-контроллеров. На фото ниже запечатлен программист Громова.

Впервые эта схема была предложена автором программы AlgoritmBuilder Геннадием Громовым и быстро завоевала популярность благодаря надежности и простоте исполнения.

Для того, чтобы приступить к сборке устройства нам потребуется:

  • Диоды КД510, КД522, 1Н4148 или их аналоги.
  • Семь резисторов номинальным сопротивлением 1 кОм, мощность значения не имеет.
  • Loop — можно использовать ненужный компьютерный IDE-цикл. Для более стабильной работы схемы программатора необходимо чередовать сигнальные провода с нулевым проводом. Таким образом, мы можем снизить уровень наведенных помех в цепях, а также расширить провод программирования. Однако не стоит увлекаться, длина петли не должна превышать 50см.
  • Разъем для подключения к программируемому устройству, можно использовать стандартные разъемы (кстати, производители микроконтроллеров тоже рекомендуют), но можно использовать разъем BLS (female), такие же разъемы в компьютерах на материнской плате К корпусу подключаются кнопки и светодиоды И пины типа ПЛС («папы»).Использование этих разъемов позволяет значительно упростить устройство карты, так как выводы программатора размещены в непосредственной близости от ножек микроконтроллера. Контакты SCK, MOSI, MISO микроконтроллера типа AVR расположены вместе, соответственно для них следует использовать встроенный разъем. По отдельности подключите «массу» и «сброс».

Как видите, все очень просто, за это и ценят программиста Громова.

Для запуска этого устройства вам потребуется программа и микроконтроллер с прошивкой.

Универсальный программатор Громов собран на пассивных элементах. Он не требует отдельного питания, и, что самое интересное, из-за паразитного напряжения, возникающего в схеме, микроконтроллеры можно программировать без подключения к источнику питания.

По такому же принципу можно собрать usb программатор, но схема такого устройства несколько сложнее.

Назначение, описание. Функции современных программистов

В современных электронных схемах Все чаще используются микроконтроллеры.Что тут говорить, если сегодня не найти даже обычной новогодней гирлянды без микроконтроллера внутри — он устанавливает различные программы подсветки.

Впервые я столкнулся с микроконтроллерами, когда собрал свой первый. Потом оказалось, что контроллер без прошивки — это просто кусок пластика с ножками.

И залить нужную прошивку в Атмад не без программатора. Далее мы рассмотрим две простейшие и проверенные временем схемы программистов.

Первая схема

С помощью этого программатора вы можете прошить практически любой контроллер AVR от ATMEL, вам просто нужно проверить чиппелтер.

Сом коннектор на схеме «Мама».

На всякий случай приводим разводку печатной платы для ATMEGI8 (), хотя такую ​​примитивную схему проще нарисовать с руки. Отказ перед печатью нужно вырубить.

Файл печатной платы

открываем с помощью популярной программы Sprint Layout (если еще не установили, то или лучше сразу).

Как видно из схемы, для сборки программатора потребуется отрицательно небольшое количество деталей:

Вместо КТ315 воткнул SMD транзистор BFR93A, который остался после сборки.

А вот весь программатор сборка:

Питание (+ 5В) решил брать от USB порта.

Если у вас новый микроконтроллер (а до этого его никто не пробовал прошивать) то кварц с сопутствующими конденсаторами установить нельзя. Работа без кварцевого резонатора возможна благодаря тому, что камень с завода идет с долотом к встроенному генератору и соответственно схеме сцепления от него.

Если ваша микросхема используется, то без внешнего кварца она не может запуститься.Тогда лучше поставить кварц на 4 МГц, а конденсаторы лучше на 33 ПФ.

Как видите, кварц с конденсаторами я не ставил, но на всякий случай на плате были пробелы.

Заливать прошивку лучше всего с помощью программы PonyProg.

Прошивка с помощью PonyProg

Заходим в меню Настройка -> Калибровка -> Да. Должно появиться окно «Калибровка ОК».

Теперь воткните микроконтроллер в панель программатора, и запитайте 5 вольт (например от отдельного источника питания или порта ЮСБ).Затем нажмите Command -> Читать все.

После прочтения появится окно «Считывание выполнено успешно». Если все ок, то для заливки выбираем файл с нужной прошивкой: File -> Open Device File. Щелкните «Открыть».

Теперь нажимаем Command -> Security and Configuration Bits и выставляем нужные вам фубы.

Вот и все, МК прошивается и готов к работе!

Имейте в виду, что при прошивке с помощью других программ (не ponyprog) биты могут быть инвертированы! Затем их нужно разместить до противоположного.Определить это можно, посмотрев FUUM и посмотрев на галку «Spien».

Схема вторая

Еще одна версия программатора, с помощью которой можно залить прошивку в микроконтроллер атмоги (так называемый программист Геннадий Громов). Схема состоит всего из 10 деталей: Диоды
можно брать любой импульс (например, наши КД510, КД522). Коннектор — «Мама». Питание на МК (+ 5В) необходимо подавать отдельно, например с того же компьютера с выхода USB.

Все это можно собрать навесным монтажом прямо на разъем, но если вы крутой паяльник и знаете, что такое SMD-установка, сделать красиво можно:

Алгоритм прошивки программатором Громова

Подключаем программатор с установленным микрокамером к СОМ-порту компьютера, затем запускаем UNIPROF, затем подаем питание на микроконтроллер. И первым делом нужно проверить, читаются ли FUU-биты.

Если все ок, выбираем файл с нужной прошивкой и нажимаем запись.

Будьте предельно внимательны и осторожны, так как если при написании фиюз глючит, то МК либо на выбросе, либо схему врача паять (а это сложно). Если поменять бит Спиена на противоположный — результат будет тот же (врачу).


Первый вопрос, который хочется задать в лоб — это «Программист» ? Слово «программист» образовано, как ни странно, от слова «программа». Какая программа? Если вспомнить что такое теле программа и зачем она понадобилась (кстати, сейчас она еще продается в киосках), тогда становится понятно, что программа телешоу Расписание по времени Эти ДВА телешоу.Таким образом, в программе могут вызываться любые действия или события, которые будут выполняться одно за другим, когда мы этого хотим или не хотим. Следовательно, программатор — это просто устройство, которое позволяет нам записать или для чтения программы . Изменить Программу можно только программист 😉

CM

Начинающему радиолюбителю Переход от сборки простейших аналоговых устройств, например мультивибраторов, к сборке устройств с помощью МК затруднен т. К. Не достаточно развести и припаять устройство на печатной плате, нужно заливать прошивка в памяти микроконтроллера с программатором .Как уже писалось в предыдущих статьях, микроконтроллер, пока мы не «залили» в него прошивку, просто бесполезный кусок кремния. И тут начинающий любитель ищет в Интернете информацию для сборки простого, но эффективного программиста, который помог бы ему быстро начать работу в этом непростом деле.

Не ошибусь, если скажу, что 80% новичков, если у них есть порт на компе, собираются как первый программист. Эта схема, при ее простоте и умелом тираже, настоящий шедевр).Ведь для того, чтобы собрать своими руками программатор, подключенный к USB-порту. и имея микроконтроллер AVR, который требуется для предварительного программирования, программист снова нужен. А где взять программиста-новичка, даже если он на аналогичную разовую прошивку? Получается парадокс курицы и яйца) чтобы собрать USB-программатор, нам нужно сначала запрограммировать микроконтроллер программатора))).

Итак, зададимся вопросом, что вообще такое перепрошивка микроконтроллера (МК) с помощью программатора и как это осуществляется? Для того, чтобы прошить МК, нам понадобится связка из самого программатора, устройства, распаянного на печатной плате, и программы под названием sheath , работающей с этим устройством.

Под каждый тип программатора чаще всего своя программная оболочка . Для сборки программатора Громова необязательно программировать микроконтроллер. В этом программаторе его нет. Этот программатор работает с двумя распространенными оболочками прошивок: Ponyprog и Uniprof . У нас будут отдельные обзоры на эти программы. Этот программатор подключен к Som Porto. . Единственным препятствием для его сборки может стать физическое отсутствие этого разъема на системном блоке материнской платы.Почему именно системный блок? Потому что ноутбуки, а также современные модели материнских плат 2010 — 2011 года выпуска и выше часто имеют на контактах COM порта низковольтное питание. Что это значит? Это значит, что вы можете собрать этот программатор, и он вам не подойдет. Но с компьютерами 2007–2008 годов выпуска и старше, за исключением ноутбуков, этот программатор должен быть гарантированно работать. Подключение через USB-адаптеры — COM в этом случае не спасает, так как наблюдается в лучшем случае сильное снижение скорости, в худшем программатор вообще отказывается работать.

рассмотрим принципиальную схему. Программист:


Что мы видим на этой схеме? Разъем COM-порта, иначе называемый DB9, 7 резисторов такого же номинального сопротивления в 1 ком и мощностью 0,25 Вт и 3 импульсных диода. Из диодов подойдут как отечественные, КД522, КД510, так и импортные 1N4148.

Разберем, как выглядят данные радиодеталей.

На фото ниже разъем DB9:


Как видим, пины (выводы) этого разъема обозначены на нем цифрами.При возникновении затруднений с определением того, какой вывод соответствует какому отверстию разъема, рекомендую вставить провод в отверстие на выводе разъема, перевести в режим трансплантации звука и прикоснувшись мультиметром к замыканию провода в поворачивая к каждому штырю на разъеме, доводим соответствие штифтов отверстий. Это может потребоваться, если вы подключите разъем проводки к плате. Если коннектор стоит непосредственно в плате, то эти действия не требуются.

У кого нет разъема COM на задней части разъемов материнской платы, можно купить планку с таким разъемом. Но вам нужно убедиться, что производители зажали контроллер COM-порта на материнской плате и подключили шлейф этой планки непосредственно к плате. В противном случае этот вариант вам не поможет. В качестве альтернативы я могу предложить приобрести контроллер COM-порта, расположенный на специальной плате расширения, которая устанавливается в PCI Slot PC


Также, при желании, если вы хотите иметь кабель для подключения к COM-порту Если вы отсоединились от программатора, вы можете открутить крепежные винты, снять разъем с планки и закрепить его в корпусе программатора.Но будьте внимательны и после покупки всех жил на соответствие номерам с обоих концов кабеля, потому что это часто похоже на продажу перекрещенных жил. Кабель для подключения к этому разъему должен быть обязательно разделен, DB9F — DB9F, прямой, неперекрещенный, не будет работать с другими кабелями.


Если возникнут проблемы с покупкой этого кабеля, вы можете взять кросс-кабель или кабель 9M-9F или удлинитель, но в этом случае может потребоваться обрезать разъем с другого конца и позвонить поставщикам по телефону. контакты разъема непосредственно к плате программатора.У меня, кстати, был именно такой кабель — удлинитель, и мне пришлось обрезать разъем со второго конца. Не покупайте кабели для прошивки телефонов через Сом Порт, они не подходят для наших целей, так как там есть неполный обрыв.

Диоды беру CD522, КД510 или 1N4148. Так вот диод CD522

Будьте внимательны, диод имеет полярность включения. Другими словами, не безразлично, как засыпать, тоже можно уснуть, тогда программатор не выйдет.Как известно, у диода есть катод и анод. Катод обозначен, в данном случае, черными кольцами.

Ну с, думаю, проблем не будет. Подойдите к автомагнитоле и скажите продавцу: «Мне нужны резисторы 1 ком 0,25 Вт». Резисторы желательно брать импортные, так как отечественный МЛТ имеет большее отклонение от номинала.


Если вы владеете методом, вам не составит труда собрать программатор по этой печатной плате.Ниже представлены экраны программы Sprint Layout:


Если вы еще не освоили метод Лут, то вам подойдет следующая плата, рисунок которой легко нарисовать маркером для печатных плат прямо на текстолите. Оба варианта печатных плат вы можете скачать в общем архиве в конце статьи. Не забудьте очистить и обезжирить плату перед нанесением выкройки. Выводы деталей на нем не близки, а проблем в пайке не будет даже у новичков


Отличие платы от оригинальной схемы, в наличии светодиода индикации и токоограничивающего резистора в схема светодиода.Все заключения подписываются на доске. Слева номера выводов кабеля COM порта, порты, которые нужно подогнать под плату, жилые незнаковые номера можно изолировать и не подавать. Контакты находятся справа для подключения к программируемому микроконтроллеру.

Я пять лет назад собрал этот программатор на плате из маркера. Так выглядела его печатная плата после луга на стадии сборки в корпусе:


Простите за синий изолент)), потом еще 5 лет назад термоусадочные трубки были в диковинке.

Разъем кабеля программатора с другого конца был разрезан, и проводка кабеля была ответственна непосредственно. Сам трос фиксировался металлическим хомутом. На фото видно, что кабель толстый, и если бы он не был закреплен, контакт проводки мог нарушиться, на плате программатора


Для подключения к микроконтроллеру, установленному для перепрошивки на непонятном манекене, я использовал цветные гибкая разводка. Объединены проводки того же цвета, взятые из фату витой пары.Это сделано для того, чтобы с одной стороны щелочь не нарушалась во время работы, а с другой — небольшое соединение с охватываемой пластиной. Длина данных проводки должна быть не более 20-25 см, чтобы избежать ошибок из архива во время программирования. Не используйте обычные неэкранированные провода вместо кабеля COM! Мортать с ошибками при прошивке.

Программируемому микроконтроллеру требуется внешнее +5 вольт, подаваемое на программатор. Для этого можно собрать стабилизатор на микросхеме 7805, с питанием от внешнего блока питания, либо поступить проще и использовать кабель и зарядное устройство с выходом USB, подключив жилу USB-кабеля прямо к печатной плате.

Для справки: Питание и заземление, в разъеме USB Идите по краям. Вот распиновка USB-разъема:

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

При питании от USB-порта компьютера, в случае замыкания на 45 В постоянного программатора (VCC) и заземления (GND), вы рискуете сжечь южную материнскую плату Большинство компьютеров, ремонт такой материнской платы будет нецелесообразным. Я использовал оба варианта питания, и через стабилизатор, и через кабель от зарядного устройства USB. Еще один нюанс, после программирования микроконтроллера, чтобы микроконтроллер запустился, необходимо разорвать цепочку RESET.

Это можно сделать, просто вытащив проводку, подключенную к выводу программатора сброса.И тогда программа, вшитая в микроконтроллер, начнет выполняться. Решил сделать более удобное решение и на разрыв цепи RESET поставил небольшой клавишный выключатель.


Другими словами, когда он отключен, ток в этой цепочке больше не течет и микроконтроллер начинает работать. Вставив переключатель клавиатуры, можно использовать любую малогабаритную кнопку с фиксацией, либо поставить тумблер. Кто подскажет фантастику 😉

Наверняка вы уже заметили, что в схеме программатора Громова есть какие-то незнакомые слова, а в частности VCC, GND, MISO, MOSI, SCK и RESET. Разберем, что означают эти обозначения на примере микроконтроллера Attiny 2313.


В данном случае изображена очень распространенная и недорогая микросхема: микроконтроллер AVR TINY (он миниатюрный) 2313. Ножки микросхемы, как видим, имеют свой номер. Нумерация идет против часовой стрелки, от клавиши в виде точки, расположенной в верхнем левом углу корпуса микроконтроллера. Ниже на рисунке показан пример нумерации микросхем в корпусе DIP:



В первую очередь нас интересуют шесть перечисленных выше ножек.Назначения всех остальных мы кратко коснемся в конце статьи.

Итак, расшифровываем:

VCC. . На эту ножку подаем напряжение питания микросхемы. Стандарт — 5 вольт. Допустимое отклонение до самого большого, до 5,5 вольт. Напряжение более 6 вольт, может привести к повреждению микросхем. Отклонение в меньшую сторону более допустимо. Существуют версии микроконтроллеров Tiny 2313V, которые могут работать даже от двух пальчиковых батареек или батареек, или от двух.Напряжение 4 вольта.

ЗЕМЛЯ. Ну, это всем знакомая и знаменитая «Земля», она «масса», а она минус мощность. Этот контакт является общим для всех устройств, подключенных друг к другу. Если вы подключаете какие-либо блоки устройства между собой, их земля должна быть совмещена. В этом случае Земля микроконтроллера совмещена с Землей программиста.

MISO. . Редукция с M. aSTER — I. n — S. lAVE — O. uT. По этой строке передаются данные от микроконтроллера к программатору.

MOSI. Редукция с M. aSTER — O. uT — S. lAVE — I. n. По этой строке также передаются данные от программатора к микроконтроллеру.

SCK. Тактовый сигнал формируется на этой линии.

СБРОС. Этот выход Используется для сброса микроконтроллера после стирания одиночного импульса.Если сброс отключен, ошибочной установкой конкретного фьюжна, (о размещении этого и других фиомов мы поговорим в следующих статьях) мы не сможем стереть и перепрошить микроконтроллер через интерфейс SPI.

Достаточно подключить эти перечисленные 6 выводов программатора к 6 ножкам микроконтроллера, и мы можем прошить МК.

Рассмотрим оставшиеся ножки MK:

У микроконтроллера TINY2313 3 порта: A (a0-a2, 3 ножки), B (in0-B7, 8 ножек) D (D0-D6, 7 ножек), всего 18 вводов порты используются как ноги.Каждую из этих ножек можно настроить отдельно для входа и выхода. Это не ножки портов, только земля (GND) и питание (VCC).

Ниже приведено дополнительное назначение некоторых ветвей MK:

OC1A. , и OC1B. Ноги для формирования ШИМ (широта — импульсная модуляция) сигнала, таймер 1.

OC0A и OC0B. Ноги для формирования сигнала ШИМ, таймер 0.

AIN0 и AIN1. Ножки для подачи аналогового сигнала на микроконтроллер.

Xtal1 и Xtal2. Ножки для подключения кварцевого резонатора, для тактирования от него.

RXD и TXD. MK соединительных линий по интерфейсу UART.

Надеюсь, эта статья будет полезна начинающим любителям микроконтроллеров, и позволит собрать программиста, который будет долго радовать вас своим трудом.

Для того, чтобы прошить микроконтроллер в 95% случаев достаточно серийного программатора.Самый простой — это «5 проводка» для LPT порта. Но эта схема ненадежна. Но самый большой недостаток этого программатора — отсутствие порта LPT на новых компьютерах.

Программатор Громовой — это почти 5 проводка, только для COM порта. Эта схема в десять раз надежнее. Автор этого программиста — Thunder Genady, создатель Algorithm Builder. Вот его схема:

Так вот надо 3 диода, любые, типа КД522 или 1N4148. 7 резисторов на 1 ком.

вот пример платы, сразу скажу, что на 10ком резисторы есть, но все равно работает, все же рекомендую делать по схеме.

ну еще щуп для корпусов SO8 использую

Для программирования используется программа UNIPROF из Николаева

Унипроф — это провайдер . (в системном программировании) программатор для AV. Микроконтроллеры R (см. Список слева). Он имеет встроенные отладочные модули, позволяющие с помощью того же цикла, с помощью которого он запрограммирован, производить отладку программы в реальном времени (подробности по отладке). (далее — просто программист).Программист позволяет:

  • Чтение / запись / сравнение флэш-памяти программ и EEPROM;
  • Сравнение чтения / записи / Flash возможно в указанных границах;
  • Чтение / запись предохранителей и битов блокировки;
  • Считать байты настройки OSCCAL и, при необходимости, поместить их в EEPROM или Flash-буфер;
  • Вручную отрегулируйте содержимое окна EEPROM и переместите блоки Flash;
  • Работает с файлами в форматах HEX, BIN и GENERIC;
  • Можно подать любую команду протокола обмена «вручную»;
  • Режим «Тормоз» для низких часов;

Программатор и программа ниже в приложении

Инвестиции

Перед каждым, кто приступит к разработке дизайна устройств на микроконтроллерах AVR и купит микроконтроллер на радиорынке, встает вопрос, чем его прошить.В магазинах большой выбор программаторов, подключен к USB порту . Также можно заказать программатор с китайских интернет-аукционов.

Но в первом случае придется выложить небольшую сумму для программиста, а во втором подождать месяц — полтора займет. Предлагаю собрать сам программатор, своими руками, тем более там ничего сложного нет, всего несколько диодов, резисторов и светодиодов.На рисунке ниже его принципиальная схема :



Для подключения к компьютеру лучше использовать заводской кабель для COM порта. Со второго конца кабеля отрезается разъем. Если еще кто-то будет использовать для подключения не кабель, а один разъем СОМ с распаянной проводкой, то рекомендую длину проводки сделать не более полуметра. Дело в том, что заводской кабель экранирован, и помех на проводке не возникнет.



По этой же причине длина проводки, идущей от программатора к программируемому микроконтроллеру, должна быть не более 10-15 см. Диоды Я взял импульсные CD 522. Подключение разъема можно легко найти в интернете, либо использовать для подключения по следующей схеме:


Обе схемы, и первая, и вторая одинаковы.

Программатор может работать с разными прошивками.Например, с PonyProg2000, Uniprof и AvrDude. Я предпочитаю унипроф. Интерфейс у нее простой, на русском, в окне ниже показано окно, которое открывается после запуска программы:



При прошивке микроконтроллер fusion в UNIPROF настраивается обычным образом как в даташите. В PonyProg2000 предохранители выставлены перевернутыми. На плате добавлена ​​индикация мощности на светодиоде, включенном последовательно с ограничивающим резистором, между плюсом питания и землей.Меня переписали под ваши нужды, чтобы нарисовать рисунок маркером:



Выкладываю несколько фото, сделанных во время сборки программатора:



Фото плат с выводов пайки:



Так как кабель, подключаемый к COM-порту, довольно жесткий, я решил закрепить его металлическим зажимом. Провода выходящие с обратной стороны программатора, для подключения к микроконтроллеру я тоже натянул зажимом для проводов.Новички осваивают программирование микроконтроллеров, иногда возникают ошибки при выставлении и прошивке прошивки, в результате чего микроконтроллер может определить местонахождение и не будет мигать. На рисунке ниже красным выделены те предохранители, которые нельзя поменять, иначе микроконтроллер будет нелегко прошить в будущем.

Сегодня есть много программаторов микроконтроллеров AVR этого типа, но что мне не нравится, слишком много «разброса» (дискретных элементов), при этом есть специализированные микросхемы, которые уже все внутри.

Мой выбор пал на микросхему GD75232. , часть элементов которого при соответствующем включении я использовал для этого программатора. Убедитесь, что 10-я и 11-я ножки микросхем должны быть подключены к земле. (Общий провод)

Эта микросхема находится на материнских платах, ее роль просто согласование сигналов внешних устройств с COM-портом. На иллюстрации даташета видно, какие элементы подключаются, (что зачем расписывать не буду, а также, об этом вы можете прочитать в описании микросхемы).Специально не покупал, а с «убитой» материнку снял.

Печатную плату не привожу, так как отрезал ножницами по металлу кусок платы вместе с микросхемой, в итоге размер платы оказался 20х30 мм, проводники припаяны к 3-му разъемы

1 — Питание + 5В

2-портовый разъем COM

3- ISP разъем для программирования

Вы можете использовать программатор с известной программой Pony Prog, выбрать интерфейс (Serial, COM1), установщики для COM-порта и любой из 3-х типов интерфейсов, которые там перечислены, без каких-либо различий, работает со всеми (JDM API, Si Prog I / 0, Si Prog API), поясняют эти изображения.Остальные установки в настройках порта остаются в программе по умолчанию.

Программатор настолько прост, что не содержит никаких конденсаторных резисторов, а только одну единственную микросхему. Создайте питание + 5V, подключите к панели, в которую вставлен микроконтроллер AVR, подготовьте для программирования и программируйте, как обычно в режиме ISP.

Схема проверена и протестирована.

Буферизация

Простые программаторы эффективны, так как сейчас мы говорим о программировании микроконтроллеров или в корпусе DIP (удобно, когда можно снять микросхему с панели на рабочей плате и приклеить к панели на программаторе, а затем, программируя, поставить на место) , или когда выводы микроконтроллеров не сильно нагружены внешними элементами схемы.

Есть выхлопные хорошие схемы простых программаторов С буферизованными шинами типа STK200 / 300, собранными на микросхемах серий 244, 245, но они предназначены для подключения к порту LPT, что в последнее время редко встречается на современных материнских платах. Сейчас чаще встречаются только USB и COM порты, а USB-программаторы сложнее для начинающих радиолюбителей в повторении.

У большинства известных простых программистов, работающих с COM-портом, есть общий недостаток: не всем хватает грузоподъемности.

В последнее время все чаще используются SMD-компоненты, а микроконтроллеры уже используются в корпусах SOIC и вносятся прямо в плату, без панелей. В этом случае для перепрограммирования необходимо либо программировать его прямо на плате, либо выпадать микросхему, а в некоторых случаях необходимо предварительно отключить нагрузку на ее выходах в схеме, если она Получается, что внешние элементы «сажают» программатор импульсов, если только его шины не были буферизованы (работали по току для работы с повышенной нагрузкой).

Из личного опыта скажу, что этими недостатками страдают многие известные простые программисты, например на 5 резисторах, или известная схема на транзисторах, резисторах и стабилизации: при повышенной нагрузке на шины программатора, проблемы начинаются. Чтобы не делать нового программиста, есть простой способ улучшить нагрузочные характеристики программатора — это буферизация существующих шин для сигналов, только добавление еще одной микросхемы.

В данном случае я взял то, что было у меня на руках — микросхему 561ПУ4 ( или можно западный аналог CD4050.). В состав этой микросхемы входят шесть буферных неконвертирующих элементов, которые повторяют входной сигнал на выходе, не внося в него изменений. Каждый такой элемент имеет определенную нагрузочную способность, из рисунка, взятого в пакете данных, показана структура этих дискретных элементов, содержащихся внутри буфера.

Подключив к нашему программатору такую ​​добавку между выводами программатора и разъемом для программирования, мы получаем устройство с повышенной нагрузочной способностью.У нас есть три сигнала с COM-портами, работающими на прием, и один сигнал (MISO) работает на передаче. Припаяв к уже существующей схеме через короткие проводки еще одну буферную микросхему, я протестировал работу новой схемы и сравнив с тем, что было раньше, убедился, что эффект есть. На тех платах, где я раньше сталкивался с подобной проблемой при программировании, мне приходилось отключать нагрузку на время программирования, и теперь в этой схеме это уже не требовалось.

Всем владельцам простых программистов рекомендую доработать существующую схему таким же образом, если вы столкнулись с такими проблемами при программировании, добавляя буферную микросхему, не обязательно эту, можно использовать другие аналогичные функциональные свойства Тип микросхемы 74hc125, 74hc126 На основе этих микросхем можно вообще переводить выходы программатора в высокомнимое состояние, что не выведет из строя разъем ICSP от платы, особенно это удобно при работе с самосвалом, вариации моего программатора в качестве Базовый модуль, это множество микросхем типа 24cxxx 93cx а так же контроллеры для программирования pIC, но эту тему я смогу один раз чуть позже в этой статье.

Z — состояние шины на выходе

Лучший враг — это добро (и).

Вроде все работает, но стоит добавить в схему, еще что-то, как получается из маленького «монстра», и что делать? Иногда в процессе отладки приходится идти на это для комфорта в работе, ведь иногда несколько десятков раз нужно воткнуть коннектор ICSP. Перепрограммирование микроконтроллера, поэтому это занятие иногда раздражает, и если вы оставите программатор постоянно подключенным к схеме, схема программатора повлияет на работу устройства, но есть решение, о котором я упоминал выше, — переводим состояние шин в высокоомное — Z., то схема программатора может быть подключена произвольно и теперь не будет шунтировать шину микроконтроллера, ради этого случая нашел эту микросхему и использовал ее как буфер. Мы принудительно выполним эту процедуру с помощью кнопки S1, которая при закрытии переводит выходы программатора в рабочий режим, программируя, связывая его сигналы со схемой. Во время программирования необходимо зажать кнопку нажатой, а после успешного завершения процедуры программирования отпустить.После нажатия кнопки выходы программатора переводятся в состояние Z.

из даташета 74hc125. , по схеме и таблице истинности видно, что если представить выводы НО «Блок» Схема переводит выходы в высокоимпедансное состояние (фактически он вообще отключен от нагрузки ) и вдобавок этот чип по-прежнему загружаемой емкости, чем чип, который я выбрал в качестве буфера в предыдущей схеме.

в общем, выкладываю на ваш суд следующую схему, и сопроводительные картинки к ней.

Владимир Науменко

калининград.

Thunder Programmer: Назначение, описание — Электроника 2021

Для людей, которые любят конструировать электронные устройства, рано или поздно возникает необходимость использовать микроконтроллеры в своих конструкциях. Использование этих устройств открывает перед радиоинженером огромные возможности. Микроконтроллеры производят всего несколько фирм, лидерами являются Microchip Technology, ATMEL, ARM Limited. Особенностью таких устройств является необходимость их прошивки.Вот для чего нужны программисты. Есть много видов этих устройств, вы можете купить бренд, а можете сделать это самостоятельно. Если вы выбрали второй вариант, лучше всего использовать готовое и проверенное решение, например, программатор Громова. Устройство довольно простое, собрать его сможет даже новичок.

COM (AVR) — программатор Громов

Программатор

COM прост в изготовлении. При использовании альтернативного COM-режима Bitbang отпадает необходимость в преобразовании интерфейса RS232 COM-порта в SPI, который требуется для программирования.Нужно будет только согласовать уровни сигналов в COM-порту, от -12В, + 12В до 0В и + 5В. Для этого предназначена схема программатора для AVR-контроллеров. На фото ниже запечатлен программист Громов.

Эта схема была впервые предложена автором программы AlgoritmBuilder Геннадием Громовым и быстро завоевала популярность благодаря надежности и простоте исполнения.

Для того, чтобы приступить к сборке устройства нам потребуется:

  • Диоды КД510, КД522, 1Н4148 или их аналоги.
  • Семь резисторов номинальным сопротивлением 1 кОм, мощность значения не имеет.
  • Loop — вы можете использовать ненужный компьютерный IDE-цикл. Для более стабильной работы схемы программатора необходимо чередовать сигнальные провода с нулевым проводом. Таким образом, мы можем снизить уровень наведенных помех в цепях, а также удлинить провод программирования. Однако не стоит увлекаться, длина петли не должна превышать 50см.
  • Разъем для подключения к программируемому устройству, можно использовать стандартные разъемы (кстати, производители микроконтроллеров рекомендуют), а можно использовать разъем типа BLS («мама»), такие же разъемы на компах на материнской плате подключаются на корпусе кнопки и светодиоды и булавки типа PLS («папа»).Использование этих разъемов позволяет существенно упростить плату устройства, так как выводы программатора расположены в непосредственной близости от ножек микроконтроллера. Выводы SCK, MOSI, MISO микроконтроллера AVR расположены вместе, соответственно, для них следует использовать встроенный разъем. По отдельности подключите «массу» и «сброс».

Как видите, все очень просто, и это ценит программист Громова.

Для работы этого устройства требуется программа микроконтроллера и тестовая прошивка.

Универсальный программатор Громова собран на пассивных элементах. Он не требует отдельного блока питания, и что самое интересное, из-за паразитного напряжения, возникающего в цепи, микроконтроллеры можно программировать без подключения к блоку питания.

По такому же принципу может быть собран и usb программатор, но схема такого устройства несколько сложнее.

Схема, разработанная и реализованная для получения звука

Контекст 1

… звуков легких — простой и важный способ диагностики заболеваний легких. [1]. Этот тип слушания дает прямую информацию о системе и заболеваниях [2-7]. У стетоскопа, используемого врачами, есть некоторые преимущества и недостатки, такие как простота, дешевизна, но это зависит от опыта, нет записи и он фильтрует звуковые сигналы выше 120 Гц. Человеческое ухо не слишком чувствительно к звуковым сигналам ниже 120 Гц. Легочные шумы расширяются до 2000 Гц [8]. Развитие электроники и компьютерных методов и технологий расширило использование различных методов анализа звука в легких.Спектр мощности и влияние типа захвата сигнала с использованием FT [9-13], сравнение БПФ и метода авторегрессии, [14], алгоритм Шабтая-Мусиха [15], анализ спектра и спектрограммы [14,16], сонограмма [17], Модели гауссовой смеси (GMW) [18,19] и подход кепстрального анализа [20], метод вейвлет-преобразования [21,22] и искусственные нейронные сети (ИНС) используются для классификации [21]. Непрерывное вейвлет-преобразование [23] и линейный регрессионный анализ нормальных звуков [24], для классификации ИНС [24,25], многослойный персептрон, радиальная функциональная сеть, для уменьшения весьма неопределенных предсказаний используются конструктивная вероятная нейронная сеть [26].Используется схема, предназначенная для приема звуковых сигналов, а классификация выполняется с помощью ИНС [27-29]. В дополнение к этим методам можно также использовать генетическое программирование (GP), которое представляет собой расширенную версию алгоритма генетики [30]. В этом исследовании звук легких будет классифицирован с использованием генетического программирования. Этот раздел состоял из обработки получения сигнала и применения генетического программирования. Схема была разработана и реализована для получения звука в легких (рис. 1) [27]. Схема состояла из батареи, усилителя, полосового фильтра 14-го порядка, оконечного усилителя и переключающего фильтра.В качестве устройства ввода использовался микрофон Sony ECM T150. …

Ардуино? — Нет! Идуино — Да! (Часть 1) / Sudo Null IT News


Посмотрев на цены на готовые ардуины в нашей стране, мне стало немного грустно.
Но потом он задумался … Какого черта ?! Ведь они используют обычные микроконтроллеры AVR, оптом на радиорынке по нормальной цене.
А почему бы не собрать свои и не сесть наготове?
Для тех, кому интересен процесс сборки и настройки своей простейшей Ардуино, прошу кота.

Сейчас в Интернете полно ресурсов, посвященных Arduino. А вот материальная плоскость и частый копипаст немного раздражают. В основном большинство статей только о первом знакомстве и мигании светодиодами, нет подробного описания схемы, более сложных алгоритмов и прочего. Посмотрев на это, я решил собрать свою доску и делать с ней то, что хочу, причем осознанно, а не по инструкции.

Для начала решил выбрать самый популярный контроллер Atmega8.
На нашем радиорынке его средняя стоимость колеблется от 12-18 грн в зависимости от места покупки (магазин / ларек) и типа корпуса.
У меня тогда в плане программирования проблем не было, есть программатор и в компе есть LPT порт. Но сразу захотелось сделать так, чтобы не зависело от старого железа, поэтому сразу купил макет, 50 метров провода МГТФ, россыпь мелочей и еще один контроллер ATtiny2313.
Оговорюсь, взял сразу несколько контроллеров на всякий случай.

Поскольку LPT и COM сегодня не встречаются в современных ПК и ноутбуках, было решено сделать плату с интерфейсом USB. Но сразу скажу, что для этого все равно нужно найти либо переходник с USB-COM, либо компьютер с портом LPT (USB-LPT не подойдет!). Поэтому для этих целей был взят ATtiny2313.
Этот микроконтроллер в нашей схеме будет действовать как «буфер» между нашим основным контроллером (ATMEGA8) и ПК.

Но хватит разговоров, и давайте начнем от теории к практике.

Сначала перед жестами собрать программатор.
Приведу две схемы, которые помогут в том или ином случае.

5-проводной программатор LPT

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

Нам потребуется:

1.LPT штекерный разъем, а точнее 25-контактный DB-25-male
2.4 разъем резистора номиналом 100 Ом (может быть между 80-250 Ом) и
3.Пятижильный провод длиной не более 20 см и желательно с металлическим экраном.
4. Прямые руки.

Паяем все по такой простой схеме.
Единственное важное замечание, обязательно установите резисторы, так как они защищают порт. А если без них, то просто замыканием выводов угробить порт.

О назначении выводов позже.

Должно получиться что-то подобное.

Если компьютер с LPT так и не был найден, или он был найден, но порт на нем уже сгорел, то второй программист вам поможет.

COM — провайдер (программист Громов)

Нам понадобится:

1. COM разъем типа «мама» DB-9-F
2. 3 импульсных диода (я взял d220)
3. 7 резисторов номиналом 1 кОм
4. 5-ти проводный кабель до 1 кОм. метр.
5. Прямые руки.

Схема следующая: А

разброс резисторов и диодов нужен для того, чтобы довести уровни сигналов COM порта (-12V, + 12V) до необходимых (0, + 5V).
Эта схема программатора довольно распространена и известна как программатор Громова.Название произошло от автора программы «Построитель алгоритмов» Геннадия Громова, который предложил такую ​​схему.

На этом все для начала, в следующей части статьи мы перейдем к детальной теории, сборке платы, прошивке и отладке.

Список литературы

— сайт Громова;
— Часть материалов с сайта.

UPD .: На основании ваших замечаний и предложений, вторая часть будет основана на

Н.А. Шаляпина, А.А. Зайцев, С.В. Батрацкий, М. Л. Громов, “Тестер неисправностей как веб-сервис”, Труды ИСП РАН, 30: 1 (2018), 41–54

.











Тестер неисправностей как веб-сервис

Н.А. Шаляпина , А.А. Зайцев , Батрацкий С.В. , М.Л. Громов

Томск

Аннотация: В этой статье мы рассказываем о веб-сервисе, который хотим разработать.Разрабатывая этот сервис, мы преследуем две цели. Первый — предоставить исследователям платформу, на которой они могли бы проводить предварительные эксперименты с различными методами генерации тестов для цифровых схем, чтобы проверить различные идеи. Второй — это возможность «на лету» поделиться реализациями новых разработанных методов. Процедура разработки веб-сервиса была разделена на три этапа: проектирование архитектуры, реализация облегченной версии и фактическая реализация.В статье рассказывается о первых двух этапах. Существует два типа архитектур веб-сервисов — с монолитным ядром и с микроядром — и наша архитектура обладает свойствами обоих типов. Намерение состояло в том, чтобы иметь монолитное ядро, поскольку желаемую функциональность не так уж сложно реализовать. Однако свойство быть расширяемым за счет реализаций новых методов подразумевает, что часть функций (а именно, реализации методов) должны быть спроектированы как отдельные подсервисы. Реализация облегченной версии была сделана для единственного метода: метода перечисления областей сбоя для модели сбоев с зависанием.Доказано, что спроектированная архитектура жизнеспособна. Однако были обнаружены некоторые проблемы с архитектурой. Механизм развертывания нового метода «на лету» неясен, поскольку неочевидно, как удовлетворить возможные зависимости реализации. Кроме того, архитектура не соответствует классическому дизайну веб-сервисов: у сервиса есть состояния, которых не должно быть, если сервис задуман как классический. Решение этих вопросов оставлено на будущее.

Ключевые слова: Застрявшие при неисправности, комбинационная логическая схема, веб-служба, тестирование.

Финансовое агентство Номер гранта
Российский научный фонд 16-49-03012
Работа частично поддержана грантом Российского научного фонда 16-49-03012. Авторы выражают благодарность Андрею Лапутенко за представление результатов работы на семинаре ESRCT 2017. Кроме того, авторы хотели бы поблагодарить рецензента статьи, чьи конструктивные комментарии помогли сделать ее лучше.

DOI: https://doi.org/10.15514/ISPRAS-2018-30(1)-3

Полный текст: PDF-файл (1202 kB)
Ссылки : PDF файл HTML файл


Язык:

Образец цитирования: Н. А. Шаляпина, А. А. Зайцев, С. В. Батратский, М. Л. Громов, «Тестер неисправностей как веб-сервис», Труды ИСП РАН, 30: 1 (2018), 41–54

Цитирование в формате AMSBIB

\ RBibitem {ShaZayBat18}
\ by Н.~ А. ~ Шаляпина, А. ~ А. ~ Зайцев, С. ~ В. ~ Батратский, М. ~ Л. ~ Громов
\ paper Тестер неисправностей как веб-сервис
\ jour Труды ИСП РАН
\ год 2018
\ vol 30
\ issue 1
\ pages 41--54
\ mathnet {http://mi.mathnet.ru/tisp294}
\ crossref {https://doi.org/10.15514/ISPRAS -2018-30 (1) -3}
\ elib {https://elibrary.ru/item.asp?id=32663691}

Варианты соединения:

  • http://mi.mathnet.ru/rus/tisp294
  • http: // mi.mathnet.ru/rus/tisp/v30/i1/p41

    Цитирующие статьи в Google Scholar: Русские цитаты, Цитаты на английском языке
    Статьи по теме в Google Scholar: Русские статьи, Английские статьи

  • Количество просмотров:
    Эта страница: 118
    Полный текст: 103
    Ссылки: 13

    Источник опорного тока шириной запрещенной зоны FEI 4ACREF Владимир Громов

    Bandgap Current Справочный источник: FEI 4_A_CREF Владимир Громов NIKHEF, Амстердам, Нидерланды Сотрудничество FEI 4.29 ноября 2009 г.

    Системные требования Выдержка из документа «Протокол-ноя-11. pdf », распространенный Морисом Гарсиа-Скивересом по электронной почте 11 ноября 2009 г. (19: 25) 22) Биты обрезки текущего эталона будут изменены, чтобы обеспечить регулировку между номинальным-30% и номинальным + 30%. Регулировка возможна только в этом узком диапазоне. Установка битов триммирования на 0 не должна отключать CREF, а просто устанавливать его на номинальное значение -30%. 30% не является точным требованием, может быть 35%, 40% или 25% или что-то в этом роде.Тема: Re: CREF От кого: Абдеррезак Меккауи <[email protected] gov> Дата: 11 ноября 2009 г., среда, 10: 18: 06 -0800 Кому: , «ATLAS Pixel B-layer Replacement Electronics» <[email protected] ch> Привет Владимир / Рууд! Номинал — это то, что, по вашему мнению, «оптимально» должно основываться на дизайне (2. 7 u. A согласно прошлогоднему моделированию). Если это 2 шт. Тогда никаких проблем. Единственное, настройку нужно производить около номинала (а не от 0 до максимума). ± 1% (после настройки) было бы очень хорошо.± 5% приемлемо. Надеюсь, это поможет. Абдеррезак 11.11.2009 в 7:10, Рууд Клюит написал: Привет, Абдеррезак, Владимир. G занят выполнением IC 5> IC 6 версии CREF. Во время недавней (14 октября) телефонной встречи вы упомянули, что 2 u. A — значение по умолчанию для вывода CREF. Настройка должна быть сделана так, чтобы все технологические углы можно было снова настроить на 2 u. А. Вот что Владимир сделал сейчас. В ходе обзора вы сказали 2. 7 шт. А. . Итак, вы должны знать, что дизайн теперь оптимизирован для 2 u.А. С уважением, Рууд. FEI 4 коллаборация В. Громов 29.11.09 2

    Блок FE_I 4_A_CREF: символ Аналоговый VDD Этот выход выдает ток в диапазоне 2. 7 u. А ± 30% 1. 92 ед. А… 3. 6 шт. A. Значение устанавливается контрольными битами Ref. D <0: 3> Токовый выход Управляющие биты (установка значения тока в узле Iref_out) Субстрат / Цифровое заземление (основная P-лунка) Сотрудничество FEI 4 В. Громов Аналоговая GND (плавающая P-лунка) 29/11/09 3

    Блок FE_I 4_A_CREF: схема Выбрана оптимальная конфигурация = самый низкий градиент температуры res_right = res 1_5 k и Res 750 = res 370 = DTMOST_72 Совместная работа FEI 4 V.Громов 29.11.09 4

    Компоновка Аналоговый VDD 164 мкм Управляющие биты Арт. D <0: 3> Аналоговое заземление (плавающая P-лунка) 204 мкм Субстрат / Цифровое заземление (основная P-лунка) Сотрудничество FEI 4 В. Громов Iref_out 29/11/09 5

    Схема Vdd Ub 2 Iref = I 1 + I 2 Iref * = 26 ед. A Iref * / 2 = 15 ед. A Ib 2 I 1 I 2 R 1 T 1 <1:18> Iref * / 4 = 7 ед. Ссылка D <0> Iref * = 52 ед. А Ub 1 Арт. D <2> Ub 1 Ref. D <1> Ub 3 Арт. D <3> Ib 1 Iref * / 8 = 3 ед. A <6: 1> R 2 T 2 <1: 72> Iref_out = 1.92 шт. А,… 3. 66 ед. МОП-транзистор с динамическим порогом (ДТМОСТ) <5: 1> FEI 4 коллаборация В. Громов 29.11.09 6

    Испытательный стенд A: схема Верхняя ячейка (FEI 4_A_CREF) внутренне имеет следующую конфигурацию (оптимальную при измерениях) res_right = res 1_5 k и Res 750 = res 370 = DTMOST_72 Iref_out = 2. 7 шт. A, когда Ref. D = 1000 Температурный градиент НЕ является оптимальным при моделировании и вполне оптимален согласно измерениям Curr_ref FEI 4, коллаборация В. Громов 29/11/09 7

    Испытательный стенд A: температурная компенсация Верхняя ячейка (FEI 4_A_CREF) внутри имеет следующую конфигурацию (оптимальную при измерениях) res_right = res 1_5 k и Res 750 = res 370 = DTMOST_72 Iref_out = 2.7 шт. A, когда Ref. D = 1000 Температурный градиент НЕ является оптимальным при моделировании и вполне оптимален согласно измерениям Iref (Temp): simul Iref (Temp): измерения Токи PTAT -40-30 (I 2) -20 CTAT -10 0 10 20 30 (I 1) 40 Temp, [C] FEI 4 коллаборация В. Громов 29.11.09 8

    Регулировка Iref_out = -1. 935 шт. Ссылка D (1111) Iref_out = -2. 792 шт. Ссылка D (0111) Iref_out = -3. 274 шт. Ссылка D (0011) Iref_out = -3. 504 шт. Ссылка D (0001) Iref_out = 3. 6 ед.Ссылка D (0000) FEI 4 коллаборация В. Громов 29.11.09 9

    Стабильность сканирования температуры Iref_out при Vdd = 1. 1 В, 1,2 В, 1,3 В Поз. D <1000> FEI 4 коллаборация В. Громов 29.11.09 10

    Iref_out как функция выходного напряжения Vdd = 1. 2 В и Арт. D <1000> — 0. 6% / V =] [V d /] t ou out / Iref_out [d. Иреф_ ФЭИ 4 коллаборация В. Громова 29.11.09 11

    Размах сканирования Iref_out: Mismatch + Температура процесса при Vdd = 1. 2 V Ref.D <1000> -2. 8 мкА ± 0,4 мкА (± 15%) Коллаборация FEI 4 В. Громов 29.11.09 12

    Запуск симуляции схемы Монте-Карло. Только несоответствие. Худший случай. fixed_cor_sw = 7 Temp = -20 ° C no st art-u FEI 4 совместная работа p fail В. Громов урес 29/11/09 13

    Стенд B Iref_out = 1. 88 шт. A, когда Ref. D = 1000 Температурный градиент является оптимальным при моделировании и НЕ является оптимальным согласно измерениям. Эта конфигурация гарантирует самый низкий температурный градиент при моделировании, а НЕ при измерениях.FEI 4 коллаборация В. Громов 29.11.09 14

    Извлеченные уроки — когда две регулируемые ячейки имеют соединение с субстратом RX + BP + CA + M 1 (подсеть), используйте SXCUT для запуска Assura LVS — не используйте GRLOGIC, пока он маскирует GR 110 a (RX перекрывается за ПК — ширина силицида )> 0. 55 u) — Используйте подходящие формы при рисовании ПК во всех воротах вокруг геометрии. Срез должен исключать углы <45 °. Придайте ему дополнительную форму. -положите больше металла на шину VDD, чтобы избежать GR 594 (для цепей, подключенных к контакту NW, где сеть NW не подключена к контакту подложки, определяемому ((RX через BP), а не над (NW или RN или BB или JD) или PI или T 3)), отношение [(20 * Mx площадь) + (неизолированная площадь p + перехода (((((RX над BP) над NW) не над PC) не над T 3))] / ( объединение [NW, PI] area), где x = 1, 2, 3, 4, 5, 6.) - Измените размер Bbox, отредактировав прямоугольник в слое chng. Lyr t 0 - используйте слой под названием LVS: рисунок 1 для определения устройств NFET с тройной ячейкой (nfettw) в компоновке - пожалуйста, повторно прикрепите свойства библиотеки IBM *, чтобы они соответствовали текущему металлическому стеку (теперь вместо этого он установлен на «6 -2» «3 -2» и отсутствует другое свойство): используйте пункт меню CIW> IBM_PDK> Library> Add IBM_PDK Lib Properties. -На самом деле это не так. Вам необходимо извлечь (из репозитория) файл с именем data. дм — Нет.Ячейка Conn, которая, вероятно, должна указывать на «базовую» библиотеку каденции, а не на вашу собственную библиотеку. — Некоторые имена ячеек содержат ‘. ‘, что является проблемой в Caliber, но только при проверке этих ячеек как верхних — так что не пытайтесь это исправить. — для запуска проверки DRC в Caliber: -setting: BEOL_STACK = 3_2_3, TECHDIR = / user / foundry / vlsi / IBM / cmos 8 sf / IBM_PDK / rel. DM / Caliber -BURN_IN = empty, CHECK_RECOMENDED = ON, DENSITY_LOCAL = ON, DESIGN_TYPE = CELL, EXT_LATCHUP = JEDEC 78, IOTYPE = WB_INLINE — используйте следующий набор запусков / project / et / Atlas / Upgrade / Inner.Трекер / Пиксель. Дет / каденция / FE_I 4_bandgap / vgromov_05_01_10. DRC, — запустить проверку LVS в Caliber: -Установка: COMPARE_NF_VALUES = FALSE, LASTMETAL = MA, MGPROCESS = MG, NO_SUBC_IN_GRLOGIC = TRUE, NO_TRACE_PROPERTY = FALSE, NUMMETAL = 8, PEX_RUN = FALSE, PWELL_SUBC_DEVICE = FALSE, USE_RESISTANCE_MULTIPLIERS = TRUE. -используйте следующий набор запусков — / project / et / Atlas / Upgrade / Inner. Трекер / Пиксель. Дет / каденция / FE_I 4_bandgap / lvs_gromov_06_01_10. runset — этот набор запусков генерирует все файлы списков соединений при выборе: Экспорт из программы просмотра макетов = ВКЛ и Экспорт из программы просмотра схем = ВКЛ Совместная работа с FEI 4 V.Громов 29.11.09 15

    Извлеченные уроки — ПРАВИЛЬНЫЙ ФАЙЛ: / project / et / Atlas / Upgrade / Inner. Трекер / Пиксель. Дет / каденция / FE_I 4_bandgap / Калибр. LVS / _cmrf 8 сф. lvs. cal_ -Проверьте настройку LVS в: / project / et / Atlas / Upgrade / Inner. Трекер / Пиксель. Det / cadence / FE_I 4_bandgap / пример. lvs. отчет — Если параллельные MOST не имеют одинакового размера, они будут рассматриваться как два разных устройства на схеме и как одно устройство на схеме. Это вызывает несоответствие LVS. Поместите резисторы (opndres_inh) последовательно с соединением затвора, чтобы на схеме тоже получилось два устройства.Это решит проблему. — поставить две метки в sub. drw и SXCUT. lbl, чтобы ничего не штамповать на подложке в Connectivity> Net name (присваивает субстрату имя sub!) — в схеме используйте устройства nfet_inh, если вы хотите дать имя sub! к субстрату. — используйте компонент subc: поместите имя сети SUBCON в сеть, подключенную к контакту SUBCON, и унаследованное имя в цепи, подключенной к контакту sub, следующим образом: — Добавить имя провода> Выражение сети> Имя свойства = подложка и Имя сети по умолчанию = sub! (тогда глобальный сетевой суб! будет присутствовать во всех блоках, и никакой специальный вывод не требуется только в схеме) — Поместите примечание в представление символа, чтобы было понятно, какая это ячейка (используйте Create> Note> Text> Шрифт.Высота = 0. 2, Font Style = roman не забывайте, что значение выходного тока будет на 40% выше, если вы измените настройку с res_right = res 1_5 k (оптимальная рабочая точка в симуляциях) на res_right = res 1_5 k + Res 750 = res 370 = DTMOST_72 (оптимальная точка, найденная при измерениях).

    alexxlab

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *