Что такое отладочная плата
ОТЛАДОЧНАЯ ПЛАТА
В сети начал подыскивать готовый вариант отладочной платы. Подходящую для себя не нашел. Были или слишком маленькие, или большие. Натыкать на плату дохрена чего, а после некогда не подключать. Развел свой вариант отладочной платы под Atmega8. Поставил пару кнопок, светодиодов и бузер. Предусмотрел разем для подключения внешнего кварца.
Еще приделал два дисплея. Один символьный ЖК дисплей, а другой семисегментный индикатор. Подвел к ним питание.
Так же на отдельной плате установил дисплей от мобильного телефона Nokia-1202.
Библиотеки для работы с этим дисплеем нашел в интернете. Все ножки контролера, дисплеев, кнопок и светодиодов выведены на соединительные штырьки. Соединение проводиться проводами с напаяними на них контактами.
Вот пробовал выводить картинки на дисплей Nokia-1202. Даже снял небольшое видео о результате.
Видеоролик работы отладочной платы
Всем спасибо за внимание, сделал отладочную плату и подготовил материал: Бухарь.
Форум по обсуждению материала ОТЛАДОЧНАЯ ПЛАТА
Усилитель мощности звука на транзисторах, из радиоконструктора DJ200. Проверка работы схемы.
Простой переходник для корпусов TQFP с самоцентрированием микросхемы, собранный своими руками.
Отладочная плата особого назначения
Введение
При разработке прибора для отработки его электрической схемы обычно используется отладочная плата. Наши разработчики здесь не исключение, благо положительные стороны такого подхода очевидны: затраты меньше, чем на изготовление прототипа или тестовой партии. А если в процессе всплывают ошибки или для каких-то задач появляются новые варианты решения, их гораздо проще применить.
Однако, довольно часто мы сталкивались с тем, что предложенные на рынке отладки требовали значительной доработки и/или дополнительных модулей. При этом появлялись и дополнительные ограничения, зависевшие от конкретного прибора. Если плату управления и модуль беспроводной связи мы разрабатываем с нуля, то на макетной плате относительный порядок.
Проблемы начинаются, когда разыгрывается второй и более частый сценарий, и мы имеем дело с модернизацией уже разработанной техники. Из-за основного ограничивающего фактора — конечной цены продукта — изменение электрической схемы должно быть минимальным. На этапе макета приходится создавать многими нежно любимый «колхоз».
Источник
Что делать?
Платы управления в бытовых приборах обычно просты и низкотехнологичны – их печатное основание однослойное, с одной из сторон не имеет металлизации и маски. Простоту этих плат определяет конечная цена самих приборов – чем сложнее будет производство техники, тем дороже ее придется продавать. Понятно, что массовый потребитель не захочет и не станет переплачивать за усложнения.
Типичный представитель платы управления бытового прибора
За время работы у нас появилось несколько стандартных беспроводных модулей от RM2 до RM10. Эти модули, основанные на SoC решении выполняют роль центрального контроллера, а также позволяют управлять прибором по воздуху.
Эта линейка беспроводных модулей спроектрирована так, чтобы иметь возможность установки на управляющей плате, минимально изменяя ее. Для обеспечения высокой скорости разработки возникла острая потребность сделать отладочную плату, в которой уже будет все, что необходимо для умной бытовой техники.
Еще одним аргументом за выпуск отладочной платы стало открытие платформы Ready for Sky для сторонних разработчиков. На электронную почту нам стали приходить предложения и просьбы дать доступ к платформе независимым разработчикам или DIY-щикам. Подобное предложение пришло даже в хабровскую личку.
Отладка
Вот мы её и сделали — первую версию RFS-DEV001. Сердцем отладочной платы стал модуль RM10. На базе чипа nRF52832, который соответствует стандарту Bluetooth 5, поддерживает mesh-сети и Bluetooth Low Energy. Также на отладке размещены часы реального времени, осуществлено три варианта питания (батарейное, USB от ПК, внешнее от источника питания). Две кнопки, зуммер и RGB-диод, чтобы посигналить и помигать. Все компоненты на плате подобраны из тех, что сейчас используются в массовом производстве бытовой техники.
Помимо отработки схемы управления, разработчик сможет сразу определить и оптимизировать стоимость компонентов, которая в конечном счете повлияет на цену его умного устройства.
Плата будет удобна DIY-щикам, среди которых есть и те, у кого программирование не является сильной стороной или они только начинают обучаться. Мы увидели возможность облегчить их работу, например, сделать плату Arduino-совместимой. Понятно, что это любительский и учебный формат, но ее использование, во-первых, не отменяет профессиональную работу с отладкой, а во-вторых, сильно повышает удобство вхождения специалистов в профессию.
Вполне можно было бы распространять плату среди ВУЗов и специализированных техникумов для обучения студентов младших курсов, тем самым внося вклад в будущих специалистов.
Поскольку без программного кода отладка станет малополезным куском текстолита, стоит немного рассказать об API, которое призвано в рамках открытия платформы позволить разработчику сконцентрироваться на функционале своего устройства, абстрагировавшись от многочисленных настроек Bluetooth и пр.
Итак, API R4S состоит из:
Перейдя в режим пейринга, лампочка будет плавно менять цвет свечения
В основном файле нужно будет самостоятельно определить основную информацию, например, сведения о прошивке, объявить настройки (местонахождение бутлоадера, буфера для обновления прошивки и т.п.).
Разработка устройства схожа с разработкой под Arduino. Есть setup функция, для инициализации основных модулей и loop, где происходит обработка. Сам функционал приложения разделен на модули — по разным выполняемым операциям.
После объявления ресурсов в файле («m_resources.c») — например, анимаций лампочки, назначения пинов (нескольких групп LED), цвета и др., библиотека сама определит остальные параметры.
После бондинга приложение получает данные, что умеет устройство, лампочка в нашем случае, и выводит соответствующую информацию.
Далее через приложение можно управлять параметрами — интенсивностью, цветностью, температурой и др.
Сейчас код отрабатывается на прототипе отладки, поэтому пусть отличие платы от верхних изображений вас не смущает.
Из дополнительных возможностей можно отметить:
Также отладку мы будем использовать в повседневной работе компании, в том числе и при обучении новых сотрудников. Хабровчане, как считаете, взлетит? Было бы вам интересно поработать с такой отладкой?
Отладочная плата STM32
Вступление
На рынке представлено огромное количество отладочных плат на любой цвет и вкус. Поэтому для начинающих разработчиков электроники самым быстрым способом освоения программирования микроконтроллеров является покупка готовой отладочной платы, поскольку на разработку и изготовление собственной платы необходимо затратить значительные материальные и временные ресурсы.
Автор данной статьи разработал и изготовил собственную плату.
Вашему вниманию предлагается проект отладочной платы на базе микроконтроллера STM32F107.
Данная плата является плодом труда автора, схемотехнические решения заимствованы из технической документации других аналогичных плат. Разводка платы, возможно, требует корректировки, в частности разводка микросхемы RT8201BL для Ethernet. Соединение платы с сетью по Ethernet было протестировано с использованием готового проекта.
Плата модуля контроллера является универсальным средством на базе микроконтроллера STM32F107VCT6, предназначенным для встраивания в различные системы в качестве узла управления.
Характеристики отладочной платы:
Структурная схема модуля контроллера показана на рисунке 1.
3D-модель платы модуля контроллера показана на рисунке 2.
1. Питание модуля контроллера
Напряжение питания подается через разъемы питания XT1 или XT2. К разъему XT1 подается напряжение от +7,5 до +9 В. К разъему XT2 подается напряжение + 5 В. Для подачи питания +9 В необходимо установить перемычку на X4. Для питания ядра микроконтроллера от батарейки CR2032 необходимо установить перемычку на X10.
Установка перемычек на X10
Питание ядра от 3,3 В:
Питание ядра от батарейки:
2. Адрес старта микроконтроллера
Кнопка Reset предназначена для сброса микроконтроллера. Установка перемычек на X7 и X9 определяет адрес старта микроконтроллера.
Программа стартует из основной флэш-памяти, если перемычка X7, установлена так, как показано на рисунке.
Если X7 установлена так, как показано на рисунке:
а перемычка X9 установлена:
программа стартует из системной памяти,
а если перемычка X9 установлена:
программа стартует из внутреннего ОЗУ
1.3 CAN интерфейс
Установленные на плате микросхемы SN65HVD230 отвечают за преобразование уровней встроенного в микроконтроллер приемопередатчика шины CAN. Структурная схема подключения CAN интерфейса отображена на рисунке ниже. Для подключения согласующего резистора R устанавливается перемычка S.
На рисунке ниже показано направление нумерации выводов разъема XT3 и XT4. Для подключения согласующих резисторов устанавливаются перемычки на штыри X15, X16.
Установкой перемычек на штыри X13 и X14 определяет режим работы микросхемы CAN – трансивера.
Если перемычка установлена так, как показано на рисунке:
используется высокоскоростной режим работы.
микросхема работает в режиме хранения.
1.4 RS232 интерфейс
Установленные на плате микросхемы приемопередатчики ADM3202 отвечают за преобразование уровней встроенного в микроконтроллер приемопередатчика USART в уровни сигналов интерфейса RS232.
Технические характеристики ADM3202:
1.5 RS422/485 интерфейс
Установленные на плате микросхемы приемопередатчики ADM2682E отвечают за преобразование уровней встроенного в микроконтроллер приемопередатчика USART в уровни сигналов интерфейса RS422/485.
Изделия ADM2682E/ADM2687E фирмы Analog Devices представляют собой полностью интегральные приёмопередатчики данных с эффективным 5 кВ сигналом и изолированным питанием, имеющие ±15 кВ ESD защиту и пригодные для сверхскоростной связи на многопунктовых линиях передачи.
Каждое из изделий ADM2682E/ADM2687E содержит интегральный изолированный DC-DC преобразователь. В приборах интегрирована технология iCoupler фирмы Analog Devices, Inc., сочетающая в одном корпусе 3-канальный вентиль, трёхступенчатый дифференциальный драйвер линии, дифференциальный входной приёмник и разработанный фирмой Analog Devices преобразователь постоянного напряжения isoPower. Микросхема питаются от одиночного источника питания 5 В или 3.3 В, производящего полностью интегральный сигнал, представляя собой RS-422/485 решение с развязкой по цепям питания.
Характерные особенности и преимущества
Назначение контактов разъема ХP8 (XP9)
1 RS422/485_TX1+
2 RS422/485_TX1-
3 RS422/485_GND
4 RS422/485_RX1-
5 RS422/485_RX1+
6 RS422/485_GND
7 RS422/485GND
8 RS422/485+5V
9 RS422/485_GND
Структурная схема подключения 4-проводного RS422 – интерфейса.
Установкой перемычек подключаются согласующие резисторы. Для подключения к цепям RX+ и RX- каналов XP11 и XP12 согласующего резистора установить перемычки на X34 и X32 в соответствии с рисунком ниже.
Для реализации 2-проводного RS485 интерфейса необходимо соединить линии RX- и TX- и линии RX+ и TX+ так, как показано на рисунке ниже. Для этого соединить в кабельном разъеме контакты 1,5 и 2, 4.
1.6 USB — USART преобразователь на FT232RL.
Характеристики и особенности микросхемы FT232RL:
Приемопередатчики USART2 и USART3 микроконтроллера STM32F107 подключаются к каналам интерфейсов RS232 и RS422 c помощью перемычек на плате. USB — USART преобразователь на FT232RL подключается к каналу USART3.
1.7 Ethernet
В плате модуля контроллера применена микросхема Ethernet RTL8201BL, подключенная по интерфейсу MII (Media Independent Interface). Тактирование RTL8201BL производится от кварцевого резонатора с частотой 25,0МГц.
Микроконтроллер STM32F107VCT6 не позволяет одновременно использовать Ethernet и USB.
1.8 USB интерфейс
USB-порт отладочной платы может работать в одном из трех режимов: Host, Device или OTG (On-The-Go). Сигналы интерфейса USB выведены на разъем mini USB XS5.
1.9 Карты памяти SD и MicroSD
Плата поддерживает работу с картами памяти SD, SDHC и microSD, microSDHC. Схема подключения карты памяти по интерфейсу SPI показана на рисунке ниже.
Предусмотрена функция определения наличия карты в держателе путем опроса линии SDcard_Detect на логический 0. При корректно установленной карте памяти линия SDcard_Detect соединяется с общей шиной встроенным коммутатором держателя AXA2R73361. Линия SDcard_WP также соединяется с общей шиной в случае, если запись данных на карту памяти разрешена.
Линии SDcard_Detect и SDcard_WP подтянуты к напряжению питания +3,3 В, что позволяет избежать конфликтов в случае, если пользователь не сконфигурирует порты ввода вывода.
Карты памяти SD, SDHC устанавливается в держатель XS1 (AXA2R73361), подключенный по интерфейсу SPI3, и держатель XS2 (AXA2R73361), подключенный по интерфейсу SPI1.
1.10 SPI интерфейс
Кроме подключения SD – карт сигналы SPI интерфейса выведены на внешние разъемы XP4…XP6. Тип разъемов BH-10. По интерфейсу SPI могут быть подключены внешние узлы: АЦП, ЦАП, датчики и т. д. К разъему XP2 выведены сигналы порта PE.
Для программирования и отладки предназначен разъем JTAG XP1:
1 +3,3V
2 +3,3V
3 TRST
4 GND
5 TDI
6 GND
7 TMS/SWDIO
8 GND
9 TCK/SWCLK
10 GND
11
12 GND
13 TDO/SWO
14 GND
15 RESET
16 GND
17 NC
18 GND
19 NC
20 GND
Сделай шаг к ПЛИС
Ты ждал знак? Вот он!
Много лет я не решался начать программировать ПЛИС, потому что это сложно, дорого и больно (как мне казалось). Но хорошо, когда есть друзья, которые помогают сделать первый шаг. И теперь я не понимаю одного — ПОЧЕМУ Я ЖДАЛ ТАК ДОЛГО?
Сейчас я помогу сделать первый шаг и тебе!
А зачем оно мне?
Ты устал постоянно читать доки по своему МК или держать кучу информации в голове. Ты все переписал на asm, но скорости все равно не хватает. Ты подключил два внешних устройства к своему МК, подключаешь третье, но у тебя кончились прерывания, перестают работать те модули, что уже работали. Ты берешь другой МК, более мощный из той же линейки, но опять мануалы, регистры флагов, биты… ад. Меняешь платформу: переходишь на другой МК и выкидываешь на помойку свои знания по прежней платформе. Что бы ты не делал — оно дается тяжело. Ты находишь популярную платформу, в которой можно легко из компонентов собирать проект, но выше аппаратных ограничений данного МК все равно не удается прыгнуть… Где-то на краешке сознания иногда проскакивает мысль, что вот на ПЛИС это бы точно заработало быстро и параллельно, что это «именно та задача, которую бы надо решать на плис», но я стар/глуп/занят/etc чтобы суметь/начать такое делать.
Хочешь наконец вздохнуть свободно? Идем дальше!
Радость от разработки на ПЛИС
У меня был тяжелый рабочий день. С одной работы я приехал на вторую работу, потом на дачу, вечером домашние дела, уроки, потом семейный просмотр кино и только в 23 часа я оказался совершенно свободен! Сказать, что я был уставший — ничего не сказать. Но в таком состоянии я сел за ноут с твердой целью: сделать генератор меандра на 440 Гц. Прошло 20 минут и я уже слышал его в наушниках. Я не верил своим ушам! Еще 15 минут мне потребовалось, чтобы сделать ШИМ и менять громкость. К тому времени плата с ПЛИС у меня была всего с неделю и до этого я пролистал всего пару книг по Verilog.
В тот вечер я понял: ВОТ ОНО! Вот та платформа, в которой я быстро и легко могу превращать свои мысли в реально работающее железо!
Почему так?
Проблема выбора
Сильно останавливают вопросы, что выбрать: Altera/Xilinx, Verilog/VHDL, какую отладочную плату взять. Но обо всем по порядку.
Производитель
Я выбрал Altera. Почему? Ну мы вот так с другом решили, хотя название Xilinx мне красивее. НО. Если ты сейчас не можешь выбрать, то я сделаю это за тебя. Тебе нужен Altera! Почему? Я не знаю. Сейчас важнее сделать шаг: сделать выбор. Я выбрал Altera и пока не пожалел.
Берем Verilog — потомучто… ну ты понял.
Отладочная плата
На выбор отладочной платы ушло больше всего времени. Понятно, что платы отличаются установленной микросхемой ПЛИС. А микросхемы ПЛИС отличаются друг от друга количеством элементов. Но совершенно не понятно, сколько их потребуется для твоих тестовых проектов. Поэтому большую часть времени я потратил на поиск всевозможных проектов на ПЛИС на предмет того, чтобы узнать, сколько они потребляют ресурсов ПЛИС.
В семействе Altera, за разумные деньги мы можем купить платы с CPLD MAX II на 240, 570 и 1270 элементов, либо более старшие микросхемы FPGA, которые Cyclone 1, 2, 3, 4 с количеством до 10000 и более ячеек. Как же выбрать?
Даже на базе 240 ячеек, проект Марсоход делает просто огромное количество проектов. Настоятельно рекомендую ознакомиться, чтобы иметь примерное представление о сложности проектов, которые можно уместить в 240 ячеек. С другой стороны, существуют проекты, которые полностью программируются под аппаратную копию определенного ПК, включая процессор и всю логику вокруг него (NES, Speccy, Orion, ЮТ-88, etc). Для этого уже требуется пять, десять и более тысяч ячеек. Плюс эти платы содержат дополнительные внешние устройства.
Поэтому я бы посоветовать взять что-то среднее между 240 и 10000 ячейками, с предпочтением в сторону увеличения в зависимости от доступных средств. На отладочной плате лишние ячейки это не страшно, а если их не хватит — уже ничего не поделаешь. Потом, когда устройство отлажено, станет ясно, сколько надо ячеек, купить под нужное количество, без лишнего «обвеса», дешевле и оставить в готовом устройстве.
То, чем действительно отличаются MAX от Cyclone’ов, кроме количества ячеек, это:
1) У серии MAX внутри нет PLL. На каждой отладочной плате есть генератор, как правило на 50 МГц. Основной массе проектов этого будет достаточно. Все синхронизации будут происходить путем деления 50 МГц на какое-нибудь значение. Либо, можно взять внешний генератор и подать на отдельный вход ПЛИС. А что, если потребуется частота выше 50 МГц? Мне не удалось с ходу найти генераторы выше 50 МГц. Но тут как раз на помощь и приходит PLL, который встроен в Циклоны. На нем можно умножить частоту, например, до 100 МГц.
2) В серии Cyclone встроены аппаратные блоки умножения. Их количество зависит от конкретной модели — тут как раз можно «всетаки заглянуть в инструкции», чтобы узнать сколько. Если предполагаете делать какой-то ЦОС, то они пригодятся: сэкономят ячейки, увеличат скорость. С другой стороны, если нет умножителей, их можно синтезировать, но у маленькой ПЛИС на это может не хватить ресурсов.
Во всем остальном у меня критерий «влезло/не влезло». Отладка на заведомо бОльшей, чем нужно плате, с последующей заливкой в минимально необходимую для этого.
Сколько нужно денег?
Программатор
Я считаю, что у меня нет времени, чтобы паять программаторы на рассыпухе.
300 рублей. Я свой брал на ебее, выглядит так:
Отладочная плата
Выбор широкий, в зависимости от количества денег.
Начальный уровень 350 — 550 рублей. Это платы на MAX II (240 или 570 ячеек). Могут подойти для начального ознакомления и дальнейшего пристройства в конечные устройства. На плате есть генератор, пара кнопок, пара светодиодов, остальные 80 выводов на свое усмотрение.
Блок питания
Обязательно должен быть, но не всегда идет в комплекте. Потребуется БП на 5 вольт и ток 2А.
Средний уровень от 900 до 1500 рублей. Это платы Cyclone 1, 2, 3, 4 отличающиеся в основном количеством ячеек.
Маркируются примерно так:
EP2C5T144 — Cyclone 2 примерно 5к ячеек
EP4CE6E22C8N — Cyclone 4 примерно 6к ячеек
EP2C8Q208C8N — Cyclone 2 примерно 8к ячеек
Можно заметить, что Cyclone 3 может иметь больше ячеек, чем Cyclone 4.
Вот несколько вариантов:
835 рублей.
ALTERA FPGA CycloneII EP2C5T144 Minimum System Board for Learn good
880 рублей
Altera CycloneII EP2C5T144 FPGA Mini Development Learn Core Board E081
1265 рублей
EP2C8 EP2C8Q208C8N ALTERA Cyclone II FPGA Evaluation Development Core Board
Платы с расширенными возможностями. Это платы, на которых установлены дополнительные модули (UTP, USB, AUDIO), разъемы (SD, VGA), кнопки, переключатели, светодиоды, семисегментные индикаторы и т.д. Либо может идти базовая плата, а к ней могут прилагаться платы расширения отдельно.
Вот основная плата. На ней есть 2 светодиода, 2 кнопки, 4 переключателя, семисегментный интикатор и микросхема оперативной памяти.
Плата расширения. На ней распаяны SD, VGA, а так же контроллеры USB(High Speed USB2.0 Chip: CY7C68013A), AUDIO(Sound Card up to 96kHz/32bit ADC/DAC: WM8731S), UTP(100M Ethernet interface: DM9000A):
Эти платы просто вставляются одна в другую, но у меня она пока лежит в ящике. Для своих поделок у меня макетка, с которой я соединяюсь шлейфом, который идет в комплекте. Еще в комплекте идет блок питания на 5 вольт.
Altera Cyclone NIOS II SOPC FPGA Development Learning Board EP2C8Q208C8N+LCD1602 — 2670 рублей
Terasic Altera FPGA DE0-Nano Cyclone IV Development and Education Board — 4600 рублей
Но в целом, большие и дорогие отладочные платы я бы не рекомендовал сразу покупать. Дорогие покупки должны быть обоснованы, сейчас же пока не ясно что подойдет лучше. Ясно станет, когда начнется практика.
Заказал, ждем
Пока идут платы, можно начать себя морально и технически готовить:
— Установить Quartus II v.11.1
Почитать:
— Книга: А.К. Поляков Языки VHDL и Verilog в проектировании цифровой аппаратуры 2003
— www.kit-e.ru/articles/circuit/2008_3_161.php — Краткий курс HDL
— Уроки на марсоходе по верилогу, архитектура, простые советы по стилю.
— VERILOG как образ жизни
— Хорошие примеры (EN)
— Как начать работать с ПЛИС (Xilinx)
Мы ждем от тебя интересных проектов на ПЛИС!
PS. Обращаясь к тебе на «ты», я обращаюсь, как к равному, личности, а не части толпы. Если обращение на «ты» оскорбило, прошу меня извинить.
ВНИМАНИЕ! Verilog и ПЛИС не являются серебряной пулей и волшебным средством решения любых задач, они не могут заменить микроконтроллеры во всех проектах. Для работы с ПЛИС требуется определенный уровень технической подготовки. Вы сами несете ответственность за все решения в вашей жизни. Автор снимает с себя ответственность за возможные финансовые и временные потери, связанные с вашими исследованиями в области ПЛИС и Verilog.