IgnatiusF

Сделать USB отладочную плату для avr микроконтроллеров

14 posts in this topic

IgnatiusF    2

В последнее время слишком много работаю с МК avr, постоянно что-нибудь изучаю на нем, и начал задумываться о создании отладочной платы "под себя".

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

Плата должна подключаться по USB к компьютеру, и прошиваться по одному клику avrdude, а так же нужна возможность использовать любые МК avr. Всего по минимуму, МК, USB, макетка, кварц на всякий пожарный. А так же схема стабилизации питания при подаче через клеммник или DC разъем. Ну и защита от переполюсовки и КЗ на входе.

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

Сейчас имеется ATmega328P, на которой я и работаю . Полазив в интернете нашел много вариантов отладочных плат с встроенным программатором, однако ни на одной из них он не подключался напрямую, а был просто "рядом". Все равно вытаскивать, шить и вставлять обратно, как я понял.

Какие есть варианты для создания подобной отладочной платы? Впихнуть на нее какой-нибудь небольшой программатор на подобии USBasp или USBtiny, или использовать схемы FT232RL или PL2303? Сделал разводку платы для первого варианта с USBasp, однако не нашел нигде никакой информации по поводу можно так делать или нельзя, и почему. И как можно тоже. Также видел варианты макетных плат под конкретные модели микроконтроллеров, где не используются никакие дополнительные микросхемы. Прошу помочь разобраться в этом вопросе и найти хорошее решение.

Share this post


Link to post
Share on other sites
ARV    747

Я так и не понял, чем просто плата с 6-пиновым ISP-разъемом и отдельный китайский клон USBAsp в качестве программатора не устраивает? Если же "подключение по USB" подразумевает не только прошивку, но и отладку, то чем не устраивает ардуино?

Сделать универсальную плату, в которую одинаково успешно "втыкаются" и attiny13 и atmega128 будет весьма сложно, т.к. назначение пинов очень сильно варьируется. И тот же USART "гуляет" по пинам вплоть до порлного отсутствия вообще. Есть ли смысл в такой постановке задачи?

Share this post


Link to post
Share on other sites
IgnatiusF    2

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

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

Есть желание сделать по-настоящему удобный и компактный инструмент для работы с микроконтроллерами, и чем он удобнее, тем лучше.

 

Share this post


Link to post
Share on other sites

Старт складской программы по Wi-Fi/ Bluetooth-чипам от Espressif

На склад КОМПЭЛ поступили чипы, модули и отладочные платы от компании Espressif Systems на базе ESP8266 и ESP32. Стоимость всех изделий данной линейки – в 2-3 раза ниже ближайших аналогов, чипы занимают минимальное место на плате, энергоэффективны и универсальны в применении

Подробнее...

ARV    747
Только что, IgnatiusF сказал:

Не устраивает тем, что в таком случае прошивка МК заставляет делать лишние телодвижения.

Давайте определимся в терминах, ибо я не понимаю вас...

Вот я отлаживаю свои конструкции так: есть макетка с 6-пиновым ISP разъемом, в который воткнут USBAsp. Этот программатор является и питанием для платы, и заодно прошивальщиком. На время всех экспериментов не отключается (кроме крайне экзотических случаев). О каких телодвижениях говорите вы?

Или основные ваши проекты сильно завязаны на использование в микроконтроллере SPI-интерфейса, что вынуждает постоянно отключать программатор?

Share this post


Link to post
Share on other sites
IgnatiusF    2
Posted (edited)
Цитата

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

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

То есть просто соединить программатор с МК и схемой и все будет работать без проблем? Или все таки какие-то проблемы могут возникнуть в работе при их постоянном прямом подключении между собой? Например будут ли они оказывать друг на друга какое-то влияние, и можно ли будет использовать ножки МК MISO, MOSI, SCK для подключения к схеме?

Edited by IgnatiusF

Share this post


Link to post
Share on other sites

Вебинар Литиевые ХИТы FANSO или что нужно знать инженеру о батарейках»

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

Подробнее...

ARV    747

USBAsp в моменты "между прошивками" никак не воздействует на линии, к которым подключен. Проблема может возникнуть, если к линиям SPI микроконтрроллера помимо программатора подключено что-то еще. Но чаще всего это проявляется всего лишь в некоторых "спецэффектах" во время прошивки. Например, я подключал ленту WS2812b к SPI, и во время прошивки первый светодиод ленты мерцал всякими цветами. Но разве это проблема?

Share this post


Link to post
Share on other sites
aitras    1547

На то оно и In-System Programming, что позволяет в конечном устройстве программировать. У меня как и у @ARV программатор постоянно подключен к плате с МК, зачастую от него и питается.

Share this post


Link to post
Share on other sites
IgnatiusF    2

Спасибо большое за ответ, тогда получается и проблемы никакой нету. И все же я не пойму, почему в подобных отладочных платах программатор всегда "рядом", а не подключен к выводам МК. Разве так не удобней?

Share this post


Link to post
Share on other sites
aitras    1547

@ARV а ведь сигнал Slave Select не должен же допустить таких "спецэффектов"?

@IgnatiusF что значит рядом?

Share this post


Link to post
Share on other sites
ARV    747
Только что, aitras сказал:

сигнал Slave Select не должен же допустить таких "спецэффектов"?

Видимо, производители лент WS2812B не в курсе, что надо еще и этот сигнал использовать :) 

Вообще говоря - да, но не совсем. Во время прошивки все пины МК, включая SS, находятся в третьем состоянии, и не факт, что такое состояние будет воспринято ведомым устройством, как "не выбран". Плюс ко всему, подлые производители SD-карт, например, придумали такой протокол обмена, в котором и при неактивном CS уровни на других линиях играют определенную роль... Так что эффекты могут быть.

Share this post


Link to post
Share on other sites
IgnatiusF    2

Значит, что на плате присутствует, но в виде отдельной части схемы. То есть не подключен к МК напрямую. Или я просто чего-то не понимаю, что скорее всего. Среди плат, которые я рассматривал была эта: ссылка

Share this post


Link to post
Share on other sites
ARV    747
Только что, IgnatiusF сказал:

на плате присутствует, но в виде отдельной части схемы

На любой универсальной плате, рассчитанной на применение РАЗНЫХ МК, невозможно соединить программаор "наглухо" с пинами для прошвки, т.к. у каждого МК эти пины в разных местах. Поэтоу программатор и не делают частью общей схемы, а обособляют. И даже на фирменном STK500 (схемы гуглятся) есть куча всяких "джамперов" для решения этой проблемы.

Share this post


Link to post
Share on other sites
IgnatiusF    2

Кстати, а отладку в микроконтроллере можно осуществить только при помощи интерфейса JTAG, или нет? Если есть еще способы, можно на статью направить? Я именно про аппаратную отладку, а не программную.

Share this post


Link to post
Share on other sites
ARV    747

Для отладки AVR практически нет доступных по цене средств аппаратной отладки, будь то JTAG или новый интерфейс по 1 проводу (забыл фирменное название). Все отладчики довольно дороги, единственный известный клон AVR JTAG ICE поддерживается только в древней студии (4.18), да и то криво... Во всяком случае я не смог его заставить НАДЕЖНО работать даже со студией, не считая попыток работы с avr-gdb/avarice.

Так что, скорее всего, увы и ах...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Similar Content

    • By maxssau
      Продам адаптеры USB-I2S. 

       
      Возможности:
       
      стерео ввод/вывод PCM 16-32 бита, 44.1-384 кГц. Ввода DSD нет, как и драйверов для ввода DSD.
      вывод DSD в режиме DoP 64-128, в режиме Native 64-256. Native доступен в Linux без "хитрых" драйверов.
      Тактирование от платы ЦАП/АЦП, частоты 512 fs (22.5792/24.576 МГц). Теоретически возможно и 1024fs(скорости 768кГц и DSD512 Native), но это не опробовано.
      Гальваническая изоляция на Si8662/Si8640.
      Питание возможно как Self так и Bus Powered. В режиме Bus Powered необходимо самостоятельно позаботиться о мастерклоке, т.к. возможны сильные глюки при выключенном генераторе мастерклока.
       
      Тема: 
      срок изготовления 3-5 недель (сильно зависит от поставок процессоров).
      На данный момент полностью реализован интерфейс Legacy. Для отладки Native режима пока нет платы ЦАП, в процессе разработки, будет не раньше осени.
      Цена 6000 + пересылка (в среднем 250 р.).
    • By Dinisko
      Здравствуйте! Еще пол года назад просил помощи местных знатоков, но информации было много, а времени переварить ее нет. Я новенький. Хочу собрать простой и качественный предусилитель с питанием от USB (понятия качества разные, мне главное - чтоб не фонило и не искажало). Сначала мне посоветовали усилитель на одном транзисторе (который на схеме) и он мне понравился, но из-за пластмассового звучания решил добавить регулятор тембра, что сильно убавило громкость. После этого решил впилить еще и TDA2822, и здесь у меня много вопросов. Ужасно фонит и гудит. Если прикоснуться пальцем к любому из конденсаторов (не обязательно связанных с минусом) - гул пропадает, высокий шум остается. Ставлю на что, что конструкция пока находится на бреад борде и много соединительных проводов висят в воздухе и ловят наводки (землю, если что, старался разводить "звездой").
      Но все равно хотелось бы убедиться в надежности перед пайкой. Использование приспособления - включать музыку на телефоне и под нее играть на гитаре (классика, пьезозвукосниматель), возможность просто играть в любую компьютерную колонку ну и возможность подключить, скажем, микрофон к компу.
      Самый главный вопрос - можно ли избавиться от гула и шума, где схема неправильная, что не так? Усилитель на транзисторе сам по себе работает хорошо. ТДА собрана по даташиту, за исключением конденсатора по питанию (там 10, у меня - 22 мкф), темброблок вообще пассивный.
      Второй вопрос: Если добавить звук почти наполовину (потенциометр в центре схемы, обведен синей ручкой) - начинаются сильные искажения. Да и к тому же от касания к нему - сильный шум. Хочу заменить на два простых резистора, а регулятор громкости перекинуть на выход (нарисовал синей ручкой справа сбоку). Нужен ли резистор в качестве фильтра (который под синей ручкой на схеме?), а также нужен ли конденсатор (там же), если есть конденсатор перед темброблоком? Проверял и с ними и без них - разницы, вроде, никакой. Просто хочу знать у квалифицированных людей, повлияет ли это на звук после пайки.
      Также вопрос, не влияет ли на шумы конденсатор на выходе (в даташите его нет, но так как я буду подключать телефон, хочется обезопасить себя, да и без него пробовал - та же фигня с шумами.
      И еще под двумя вопросительными знаками номиналы конденсаторов. Играет ли это роль? (других у меня пока нет), нужно ли менять на те, которые в скобках?

      Спасибо большое за любую помощь!!!

    • By Sin_city
      Привет всем. 
      Есть USB сканер штрих кода. Необходимо подключить его одновременно к 2 ПК. Без кнопки, KVN свичи не подходят.
      Как он будет работать - коллизии возможны, но это уже дело оператора. В принципе, если сейчас в неустановленное время кто-то что-то отсканирует (и компьютер живет "своей жизнью"), то ничего страшного не произойдет.
      Разберу ли я протокол - вопрос открытый. Может да, может нет (но в принципе у сканера просто все).
      Вопросы электрические.
      1. Есть Ардуино УНО. Есть USB провод. 
      Мне нужно USB провод разрезать или врезаться к него? Если врезаться, то нужна ли какая либо гальваническая развязка (чтобы не крякнулась линия сканер - первый комп, которая сейчас хорошо работает)?
      P.S. Относительно второго компа готов "подвинуться". т.е. например получать туда информацию через RS232 или любым другим образом, не обязательно USB. Но основная линия пострадать не должна (работает же сейчас))))
      2. В USB есть +5 и земля, тут понятно все. В USB есть D- и D+
      Как снифануть их?
      а) подать их напрямую в I2C контакты Ардуионо Уно?
      б) подать их напрямую в SIP контакты Ардуино УНО?
      в) купить конвертор USB - SIP или USB - I2C для Ардуино?
    • By maxssau
      Добрый день!
      Хотелось бы рассказать об очередном своём девайсе: USB аудио интерфейс UI-01.
      Устройство представляет собой USB-I2S адаптер с возможностью вывода PCM/DSD потоков, а так же ввода PCM I2S данных.
      Краткие характеристики:
      - Процессор XMOS XUF208, 8 логических ядер, 500 MIPS.
      - USB 2.0 High speed
      - 2 линии ввода/вывода (2 стерео входа + 2 стерео выхода или 4 входа/выхода)
      - Вывод: PCM 16-32 бита 44.1-384 кГц, DSD Dop 64-128, DSD Native 64-256 (linux)
      - Ввод: PCM 16-32 бита 44.1-384 кГц
      - Тактирование мастерклока от платы ЦАП/АЦП, частоты 512fs
      - Формат входа/выхода I2S
      - Питание Self Power (т.е. от внешнего источника, не от USB)
      - 8 конфигурируемых линий GPIO, возможные варианты от 8 выходов, до 4 входа + 4 выхода
      - Все линии гальванически изолированны с помощью изоляторов SiLabs Si8662, Si8640
      - 2 линии I2C, одна из которых изолирована с помощью ADUM1250 для управления ЦАП/АЦП и подключения дисплея/кнопок/EEPROM.
       
      Внешний вид:


       
      На плате присутствует разъем full XTAG для прошивки и отладки firmware.
      Схемотехника по даташитам и в общих чертах повторяет схемы evolution board от XMOS с некоторыми изменениями.
      Планируется 3 режима работы: Legacy, Soft и Native.
      Legacy режим.
      Параллельный режим работы, при котором управляющие команды выдаются как статические сигналы (MUTE, RESET, DSD, F0,F1). Этот режим позволяет работать интерфейсу без платы управления.

       
      Soft режим.
      Режим, при котором управление ИМС ЦАП/АЦП осуществляется по шине I2C или SPI. Конфигурация выбирается из меню. Необходима плата управления.

       
      Native режим.
      Режим, при котором конфигурация управления хранится в EEPROM памяти на плате ЦАП/АЦП. Наиболее функциональный режим, при котором всё управление осуществляется с процессора интерфейса. Управляющие сигналы на плате ЦАП/АЦП формируются с помощью I2C экспандера. Этот режим позволит использовать самую различную периферию на плате преобразователя (регулятор громкости и т.п.) без необходимости настройки, т.к. конфигурация будет храниться в EEPROM. Разъем 10 пиновый, т.к достаточно только I2S и I2C сигналы. Этот режим позволяет работать интерфейсу как с платой управления, так и без неё.

      Программируется плата с помощью специализированного адаптера XA-XTAG.

       
      Выводы сгруппированы по функциональному назначению, поэтому в случае неиспользуемых функций (например не нужен SPI), изолятор отвечающий за эту группу сигналов может не устанавливаться на плату.
      Распиновка разъема I2S:

      Полнофункциональные драйверы подходят отсюда:
      http://jlsounds.com/drivers.html
      На данный момент полностью реализован режим Legacy. Так же исправлены большинство "детских" болезней. В процессе работы удаление щелчков при переключении PCM-DSD и обратно.
      Вопросы:
      Что необходимо добавить или убрать к данной плате?
      Какие ИМС ЦАП необходимо добавить в список поддерживаемых в прошивку, для работы в SOFT режиме и с какими протоколами? Сейчас доступны I2C и SPI.
       
    • By Trisector
      Простой USB ЦАП на PCM2706 и ES9023. Покупал себе, но пока слушать с компьютера оказывается удобнее.

      1200 руб.
      Питер, Ленобласть.
      Перешлю по России.
       
  • Сообщения

    • Да пожалуй что никакое , из тех,  что применимо в быту. Если только ТС не главный энергетик электростанции )) , и не собирается генерировать энергию в общую сеть. не проще включать по одной ?
    • А что тогда "о чём" - тёрки о щётках на пилотках том, в чём разница шоттки vs трещётки ?  ...всё там нормально, расписано - без изысков, но доступным языком (чуть ли не на пальцах), дабы не перегружать формулами неокрепшие мозги.
    • В тему шариков,мы цветными нитками обматывали дополнительно шарик с клеем,потом жестко ставили,совместно с покрашенным фильтром или лампой,лак с 25вт не сгорал,,,,цапон и разный,цвет с ручек касный классный,зеленый тоже,с синим не очень,а вообще шикардос
    •   Мысль правильная, только токовые клещи явно лишние. До "ныряния" под землю  - на одну фазу вешаем 10 утюгов, на вторую - 5, третью оставляем без нагрузки и, на "вылазе" измеряем напряжение на каждой...
    • вот ЭТО самое интересное. особенно график преобразования ЧМ-сигнала в однобитный ШИМ нарисуйте пожалуйста нам, убогим, по какому графику работает Ваш замечательный преобразователь ещё пепси и чипсов ! the show must go on
    • вздор! Из АМ-детектора никаких сотых долей не выжмешь. Есть только 1 способ -прекратить ток гармонического сигнала через АМ-детектор то есть ПОДАВИТЬ АМ-модуляцию. Прекратить образование гармоник и субгармоник. Но тогда исчезает АМ-детектор что и требуется собсно. Диоды певесести в режим с отсечкой тока, когда их ток станет импульсами. Это ничем не противоречит целям этих писателей про превращение ПЧ в импульсы. Но если у них для АМ-огибающей диод всегда открыт тогда тело перемещается в морг. Всегда открытый диод это пробитый диод. Да, настоящая наука осознает чтобы получить высококачественную ЧМ-демодуляцию надо устранить все что связано с АМ. 1. Режимы диодов сделать импульсными 2. до преобразователя ввести ограничение или стабилизацию амплитуды (АРУ) 3. Подавить ПАМ в ЧМ-демодуляторе Чтобы все это реализовать  нужен отказ от рассмотрения АМ-детектироавания как методики, то есть ОТКАЗ ОТ ДЕДОВСКИХ СХЕМ И ТЕОРИЙ. Но павлик настойчиво отказывается от высокого качества сохраняя АМ-детектирование. Потому и не будет никакого качества ни у него ни у тех кто будет повторять. Подробно опишу процесс превращения в однобитный цифровой демодулятор: Общее напряжение имеет полюсы  9,8мгц и 11,6мгц, благодаря высокой постоянной времени цепи автосмещения за время девиации частоты к к полюсам постоянное смещение не изменяется и ток в импульсах остается постоянным (неизменным) и в результате  ток протекает импульсами от одного полюса к другому, заряжая или разряжая конденсатор памяти. То есть ток либо приносит дополнительный заряд либо уносит лишний. Так образуется управление зарядом для затвора полевого транзистора ОУ. При этом ток стекающий в затвор отсутствует т.к. он весьма низкий, гораздо менее чем обратные токи диодов и не учитывается. На фоне рабочего прямого тока ЧМ-демодулятора, который составляет около 0,3мА Этот ток затвора ОУ (5-50рА) ни в одном процессе не участвует и током нагрузки не является. Демодулятор формально получается преобразователем ШИМ в звуковой сигнал. При ЧМ частота импульсов меняется и это означает модуляцию длительности импульса и паузы-то есть ШИМ. Никого сегодня нельзя удивить такими преобразователями и работают они в цифровых усилителях НЧ,0 блоках питания компов но на низких частотах до 0,5мгц, а моя схема реализует преобразование ШИМ на высокой ПЧ 10,7МГЦ что абсолютно революционно применительно к задаче. Схема поддается некоторой прокачке с подбором величин  сопротивлений и емкостей а также существенная прокачка возможна при замене диодов на более чувствительные, у которых прямая проводимость возникает раньше на ВАХ. Вот это и задача физики- изобрести новые диоды, найти новые полупроводниковые материалы. Как же не прав павлик призывающий НИЧЕГО НЕ ДЕЛАТЬ, диоды не изобретать, схемы не улучшать, новую теорию не постигать и все только лишь повторять как у дедов и это пиплу нравится если у него высокая репутация. Значит пипл такой же, не желает ничего делать для будущего и потому будущее отменяется. Россия приемников не производит и не собирается. Старое советское либо уже развалилось либо на стадии осыпания песка. Отказ от модернизационного производства означает отказ от повышения или хотя бы СОХРАНЕНИЯ ДОХОДНОСТИ то есть любители дедовских теорий будут становится НИЩИМИ, терять зарплату и доходность, уважение, семью и разум. Вот это и есть ДИВЕРСИЯ против будущего России, иногда эта диверсия звучит по другому: все новое это хорошо забытое старое или: все уже украли до нас. Результат: нищенство, глупота, доходы снижаются, производство разрушается. Даже совки были умнее и тырили на западе все что смогут новое чтобы воспроизвести а этим павликам ничего не надо, дедовское д-мо в самый раз. Удивительно, но запад не имеет этой болезни и видит возможность разбогатеть только произведя и продав что-то абсолютно новое.       Срач в этой теме доказывает что разрушение доходности в терминальной стадии и уже пошло разрушение морали, совести, разума.