Поиск по этому блогу

Показаны сообщения с ярлыком В Дело!. Показать все сообщения
Показаны сообщения с ярлыком В Дело!. Показать все сообщения

2 янв. 2014 г.

Программатор ATMEL AVR ISP, работающий с AVRStudio4

Наверное, многим разработчикам программного обеспечения для микроконтроллеров AVR, использующим среду AVRStudio4, хотелось бы программировать чипы прямо в AVRStudio4 с использованием AVRISP. Обычно мы используем упрощенную версию AVRISP работающую с PonyProg или AVRDUDE. Но здесь есть решение, которое может разрешить эту проблему.
На сайте sixca.com размещена упрощенная версия программатора AVR ISP, работающая с оригинальным программным обеспечением ATMEL.
Схема avr isp
Схема avr isp
IC1 устанавливается для передатчика RS-232 (MAX232 или любой аналогичный (DS275)). Длина провода от AVR-ISP до платы AVR не должна превышать 15 см.
Печатная плата - односторонняя и простая в изготовлении:
Печатная плата - односторонняя и простая в изготовлении
Установка компонентов:
Установка компонентов:
Встроенная программна написана для AT90S2313, но, т.к. эта версия микроконтроллера - устаревшая, то оно должно работать и на Attiny2313, ибо этот микроконтроллер совместим с AT90S2313. Это устройство может программировать большинство микроконтроллеров автоматического распознавания речи, поддерживаемых ISP:
The firmware is written for AT90S2313 as this version of microcontroller is obsolete, then it should be working on Attiny2313 as this microcontroller is compatible with AT90S2313. This device can program most of AVR microcontrollers that support ISP:
Встроенная программа написана для работы с кварцевым резонатором на 4МГц. Целевое устройство должно соответственно использовать кварцевый резонатор на 4МГц. Если же оно использует внутренний генератор, то подключать кварцевый резонатор нет необходимости.
Если целевая плата работает на частоте 8МГц, то встроенную программу необходимо перекомпилировать для работы на 8МГц. Откройте ассемблерный код и измените строку:
.equ xtal_8mhz=0 ; if 0 then 4MHz Xtal
to :
.equ xtal_8mhz=1 ; if 0 then 4MHz Xtal
и откомпилируйте программу с помощью avrasm (AVRStudio выполнит задание).
Схема соединений AVR ISP:
Схема соединений AVR ISP
Схема использования AVR ISP
Схема использования AVR ISP
Скачать файлы проекта здесь.
На английском языке: ATMEL AVR ISP Programmer that Works with AVRStudio4
Перевод: Герман Голод, по заказу РадиоЛоцман

31 дек. 2013 г.

056-USB-программатор – легко! (USBTiny)

Ну вот и пришло время нам соорудить USB программатор. Я долго не мог определиться какой бы программатор нам собрать. Выбирал по критериям простоты конструкции и удобства работы с ними, но ничего не нравилось. Выбрать программатор помог случай. Вернее я его не выбирал вообще – я его случайно собрал сам того не подозревая!
А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в прошлой статье мы даже улучшили печатную плату). Еще при выборе схемы преобразователя я планировал на его базе (при помощи заливки различных прошивок) получать устройства различного назначения. Тогда я не подозревал, что данный преобразователь можно использовать шире, чем я планировал. Увидев схему USB программатора – USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор!
Посмотрев на схему, сделанного ранее, преобразователя USB to UART (домашняя страничка)
Модифицированная схема преобразователя

и схему USB программатора USBTiny (домашняя страница)usbtiny програматор
можно увидеть, что это одна и та-же схема. Различия незначительны – отсутствуют сигнальные светодиоды и несколько резисторов. Для того, чтобы преобразователь стал USB программатором нужно просто прошить микроконтроллер новой прошивкой и сделать кабель для подключения.
Теперь все по порядку.1  Для начала нужно собрать преобразователь (это если Вы его еще не собрали).
Вот рисунок печатной платы преобразователя:
055-T2313-SMD-2 v2.0 - Рисунок печатной платы UART-USB на ATtiny2313
Если интересно – вот статья о преобразователе USB to UART. 
В собранном виде преобразователь выглядит так:
Внешний вид преобразователя
Обратная сторона платыЕсть вариант платы на обычных-ТН компонентах – смотрим в конце статьи о преобразователе.
2 Немного модифицируем платуДля того, чтобы обеспечить все необходимые сигналы для программирования впаиваем защитные резисторы номиналом по 100 Ом в линии ножек 12, 16, 17, 18, 19 (номинал не критичен – можно варьировать).
Модифицируем преобразователь
3 Теперь нужно прошить микроконтроллер. 
Линии для программатора выведены на общий разъем платы (кроме сброса – стоит отдельно).
Линии программирования056-usbtinyisp-T2313.hex v1.04 - Прошивка USBtiny программатора для ATtiny2313
056-fuse - Фьюзы для устройства
Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставяться инверсно.
Как правильно прошить AVR фьюзы
Наверно не нужно говорить о том, что для прошивки микроконтроллера Вам понадобится программатор. На скорую руку можно собрать LPT программатор и прошить при помощиUniProf.

4 Далее нам нужен шлейф для того, чтобы соединить программируемое устройство с нашим программатором. Все линии, необходимые для программирования находятся на одном разъеме.
Пинаут программатора
Схема шлейфа проста.
Схема кабеля
Из особенностей – я вынес индикаторный светодиод и балластный резистор для него за плату на разъем – это для того, чтобы плату без перепайки можно было использовать для других устройств (ну и так прикольней – светодиод мигает прямо в разъеме :) ).  Кроме того, линия Vcc отделена от общего разъема – это на случай если программируемое устройство запитывается не от USB, а от своего источника (что, в принципе, желательно). Сигнальные линии (SCK, MISO, MOSI) желательно экранировать (например чередованием сигнальных и земляных линий в шлейфе). Длину шлейфа не стоит делать большой – до 50 см, не больше. Если нужно программировать удаленное устройство всегда можно применить USB удлинитель – так надежней. Вот мой готовый шнурок:
Внешний вид кабеля

5 Сам программатор готов, теперь нужно установить драйвер для того, чтобы Винда смогла с ним работать (для Mac OS X & Linux, вродь-как, драйвера вообще не нужно). Тут все просто:
5.1 Скачиваем драйвер, разархивируем его.
usbtinyisp w32 driver v1.12 - Win драйвер для USBtiny программатора
Если у Вас Винда 64 битная, Vista или Windows 7 нужно установить другой драйвер:
usbtinyisp_libusb-win32_1.2.1.0.zip - Драйвер USBtiny для х64, Vista или Windows 7
Вставляем преобразователь в USB порт
5.2 Вставляем наш программатор в USB порт.

Сообщение в трее 5.3 В трее появится сообщение о том, что найдено новое устройство.

Мастер нового оборудования
5.4 Запустится мастер нового оборудования.

Место поиска
5.5  Указываем в окошке «место поиска» папку с драйвером.

Драйвер установлен
5.6 Пройдет процесс установки драйвера. Появится окошко сообщающее о том, что драйвер установлен. Чтобы проверить, что мы там наустанавливали - заходим в «Мой компьютер/Свойства/Оборудование/Диспетчер устройств» и находим там наш программатор
Установленное устройство
Винда увидела новое устройство и готова с ним работать.
USBtiny программатор поддерживается AVRDude, а это значит, что многие среды программирования будут с ним работать без проблем. Еще одним достоинством работы с AVRDude является то, что для работы с AVRDude существует множество оболочек GUI из которых можно выбрать подходящую именно для Вас (но об этом в следующей статье).
Я с USBTiny до этого не работал, но отзывы о нем в сети положительные (отличается надежностью и быстротой программирования) – мои тестовый прошивки это подтвердили. ATtiny2313 прошивается за 10 секунд (это вместе с проверкой). Микроконтроллер определяется и программируется надежно – не было ни одной ошибки во время моих тестов. Приятный в использовании программатор!

Файлы к статье:055-T2313-SMD-2 v2.0 - Рисунок печатной платы UART-USB на ATtiny2313
056-usbtinyisp-T2313.hex v1.04 - Прошивка USBtiny программатора для ATtiny2313
056-T2313-FuseBit - Фьюз-биты ATtiny2313 для USBtiny
usbtinyisp w32 driver v1.12 - Win драйвер для USBtiny программатора
USBtiny-cable - Схема кабеля для USBtiny программатора
Смотрим также:Программируем AVR-микроконтроллеры USBtiny + AVRdude + SinaProg. (в процессе написания)
055-UART to USB – простой преобразователь на ATtiny2313 (Версия 2). – преобразователь USB to UART из которого мы сделали преобразователь.
053-Практичный шнур для применения в электронных проектах. – Как сделать шлейф для программатора.
041-UART to USB – простой преобразователь на ATtiny2313. – Первый вариант платы USB to UART. В статье есть рисунок платы для для TH-компонентов.
Домашняя страничка преобразователя USB to UARTДомашняя страничка программатора USBtiny

ДОПОЛНЕНИЯ.1 Дмитрий Шпак (Zalognik) сделал довольно удачную разводку программатора. Программатор получился небольшого размера, имеет  стандартный разъем для программирования и, я считаю, будет удобен в работе. Плата двусторонняя.
Программатор USBTinyPCB USBTiny

USBtiny.lay - Разводка USBtiny от Дмитрия Шпака

2 Еще один вариант разводки от Андрея Баранова (Andru_48)
USBtiny.lay - Разводка USBtiny от Андрея Баранова

3 Вариант от mebadboyДоброе время суток.
Новую печатку я не собирал. Я просто исправил старую - Zalognikа. Там минимум исправлений – одну дорожку перерезать, кинуть проводок, впаять резистор и диод впаять в другое место.
USB-tiny-mebadboy - Печатка USBtiny от mebadboy
Вот лог dmesg при подключении под linux:
usb 4-2: new low speed USB device using uhci_hcd and address 2
usb 4-2: New USB device found, idVendor=1781, idProduct=0c9f
usb 4-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 4-2: Product: USBtiny
4 Вариант от Time191  (Владимир, г. Саратов).
Получилось начертить и развести в Протеусе плату программатора.
Делал под себя, под свой ISP-разъем.
Программировал прямо в плате, джампером соединив Reset c ISP.
Все заработало сразу – большое Вам спасибо!
056usbusbtinytime191.zip - USBTiny от Time191
В приложении есть фото готового устройства, файл в Протеусе и в печатка в ARES. Возможно, это пригодится для разводки «под себя» другим пользователям программатора, т.к. Протеус не даст перепутать компоненты, их полярность и дорожки на плате.