Собрав многолетний экспериментаторский опыт, а также два года непрерывной эксплуатации платы Pinboard 1.1, я разработал новую демоплату, куда более совершенную и функциональную Pinboard II.
Во главу угла была поставлена расширяемость и модульность, а главным принципом ее стал максимум использования каждой детали. Если на плате есть какой-либо узел или элемент, то его он должен использоваться в хвост и в гриву, а не просто выполнять какую-либо определенную функцию. Ведь это же полигон для экспериментов, а инструментарий никогда не бывает слишком обширным. А теперь пункты подробней:
Мультиплатформенность
Если еще несколько лет назад, в хобби сегменте семейство Atmel AVR было фактически главенствующим, то последнее время, как грибы после дождя, появились и начали активно внедряться в этот рынок контроллеры от других монстров электроники, раньше используемые лишь профессионалами.
Появились такие интересные, дешевые и удобные семейства на базе ядра Cortex как STM32, LPC1xxx. Появились отличнейшие контроллеры семейства STM8. А, главное, они пошли в народ и стали применяться в домашних поделках. Стоять в стороне от прогресса я не мог, так что в Pinboard II процессорный блок является полностью сьемным. Т.е. теперь можно сделать переходник под совершенно любой контроллер или ПЛИС и использовать все ресурсы демоплаты для разработки под эту платформу. А еще удобно портировать программы с одной архитектуры на другую, ведь для этого достаточно будет воспроизвести кусок отлаживаемой схемы и просто переставлять платки с процами, сравнивя их работу.
На данный момент доступно два базовых комплекта:
Комплект AVR с ATmega16
Популярный 8-ми разрядный микроконтроллер на ядре Atmel AVR8. 16кБ памяти и вся периферия семейства Mega делают этот микроконтроллер практически идеальным для домашних поделок. А крупный DIP корпус позволяет изготовить печатную плату даже неискушенному в ЛУТ или ФР технологиях новичку. Поистинне огромное количество обучающей и справочной литературы по этому семейству микроконтроллеров делают его очень легким в изучении. Весь мой учебный курс построен на базе этого контроллера.
Модуль позволяет подключать сменные кварцы, выводы удобно сгруппированы и выведены так, чтобы соединять джамперами с периферией платы. Также в комплекте идет переходник для JTAG отладчика на FTDI (на базе программной эмуляции JTAG ICE II проект Happy JTAG 2).
Комплект STM32 с STM32F103C8T6
Мощный 32х разрядный микроконтроллер на ядре ARM Cortex M3. 64кб Флеш памяти и 20КБ ОЗУ. Плюс море мощной периферии. Активно используется профессионалами и вызывает интерес новичков. Правда пока есть некоторый недостаток литературы и информации на русском языке. Но ее становится все больше и больше. Также в комплекте идет адаптер Colink, младший брат адаптера ColinkEX, поддерживающий только JTAG внутрисхемную отладку (без SWD). Совместим с IAR, KEIL и CoIDE.
В перспективе, если будет спрос, то будут добавлены еще и другие архитектуры. В ближайших планах сделать поддержку MSP430 и, возможно, ПЛИС.
Под поддержкой я понимаю не просто установку модуля с процессором в слот, а полноценную прошивку и внутрисхемную отладку. А если есть сторонний программатор-отладчик, то ничто не помешает сделать собственную плату расширения и воткнуть туда любой контроллер и изучать его используя средства демоплаты Pinboard II. Можно будет собрать коллекцию любительских плат расширения для обмена печатками и схемами.
Интерфейсы
Связь с компьютером
В качестве интерфейса для связи с компом используется FT2232. Эта микросхема реализует два виртуальных COM порта, что гораздо удобней в работе. Но немаловажен тот факт, что на базе этой микросхемы можно реализовать множество инструментов для внутрисхемной отладки разных контроллеров и ПЛИС. Это все возможно благодаря режиму Bitbang и MSPSE реализующем на аппаратном уровне различные протоколы.
Было бы глупо просто впаять эту микросхему в плату и просто развести выводы под COM порты, поэтому я постарался выжать из нее максимум.
FT2232D была разведена таким образом, чтобы служить самостоятельной демоплатой для работы с этой микросхемой. Подобно FT2232HQ-MINI-MODULE, но в виде встроенного в основную плату решения . Все ее порты выведены на штыри, а внизу присутствует микросхема памяти, для прошивки в нее разных конфигураций VID-PID. Так что если вы увидите где то схему на базе этой микросхемы, то ничего не стоит изготовить небольшой модуль для демоплаты и на нем все обкатать. Во многих случаях, когда используется связь с компьютером, на одной только микросхеме серии FTxxxx можно реализовать весь функционал, не используюя микроконтроллеров вообще, управляя выводами микросхемы с помощью программы на компе. Также посредством FT2232D реализована внутрисхемная отладка микроконтроллеров их прошивка.
Также я весьма вдумчиво подошел к разводке линий RX-TX. Теперь можно, посредством хитрой установки обычных джамперов, легко и быстро коммутировать линии связи между FTDI, процессорным модулем и портом расширения практически в произвольном порядке.
Раз и соединил процессорный модуль на канал А, а порт на канал В. Или наоборот. А можно и модуль соединить с портом, любой канал с любым каналом. Бросить оба UART процесорного модуля бросить в сторону FTDI или порта расширения.
В общем, я несколько часов ломал голову над этой, казалось бы, мелочью и нашел отличное, компактное, простое а, главное, абсолютно халявное решение. Вам понравится, гарантирую 🙂
USB
На плате смонтирован разьем USB с дополнительной обвзякой и выключаемой подтяжкой (данная подтяжка обеспечивает обнаружение устройства на USB шине) который может использоваться в ваших самопальных USB проектах, например для микроконтроллеров с аппаратным USB, вроде STM32Fxxxx.
PS/2
Также я добавил стандартный разьем PS/2, просто как удобный разьем для разной самопальной периферии, а также для подключения всяких мышек-клавиатур. Питание его можно отключить джампером.
Интерфейсный разъем
Еще одним отличием от прошлой платы стал разьем расширения на который выведены все основные интерфейсы, свое питание, некоторые линии GPIO с главного контроллера. В него можно включать платы расширения. Такие, например, как Ethernet адаптер или какой-нибудь хитрый RS232 с опторазвязками для промышленного применения. Или GSM модуль. Или сопроцессор для отладки межпроцессорной коммуникации. Да мало ли что я или энтузиасты пользователи захотят разработать и туда воткнуть.
А если кто-либо спроектирует и изготовит какой-нибудь особо интересный блок расширения для демоплаты, то мы, наверняка, сможем договориться о сотрудничестве и серийном выпуске сего девайса. Кроме линий шин данных в интерфейсный модуль также идет парочка светодиодов и переключателей, для удобства.
Все примеры для статей учебного курса с использованем доп оборудования я буду теперь оформлять в виде модулей для PB II.
Индикация
LCD дисплей
Текстовый. 16х2, cтандартный HD44780. C подсветкой, управляемой транзистором. Т.е. можно менять яркость и всяко ее регулировать ШИМом.
Цифровой индикатор
Под дисплеем прячется трехразрядный семисегментный индикатор. Выведен он на ту же колодку, что и дисплей. Все выводы тщательно подписаны и прям на плату нанесена табличка-напоминалочка, что какой вывод означает.
Матрица диодов
Уже знакомый по PinBoard 1.1 светодиодный индикатор-столбик. На десять сегментов. Удобен в отладке и для индикации разных аналоговых величин.
Перекочевавший, также из PinBoard 1.1, блок светодиодов, совмещенный с RC фильтрами, для сглаживания ШИМ. Т.к. тут нет привязки к конкретному контроллеру я разместил их все в рядок. Положение джампера может подключить светодиод, а может и фильтр, для получения аналогового напряжения из ШИМ. На процессорных модулях выводы ШИМ разведены так, чтобы их можно было нацепить на эти линии обычным джампером. Без лапши.
Звук
Небольшой динамик-пищалка с усиливающим транзистором. Теперь, дрыгая вывод Buzzer, можно что-нибудь пропищать.
Информационные инидкаторы
Индикация питания, перегрузки по току и включенного первичного и вторичного питания. Позволят на глазок оценить уровень напряжения в системе главного контура питания, чтобы ничего не пожечь. Один начинает тлеть от 3 вольт, а выше 3.3 уже горит от души, второй же в диапазоне от 4.8 и до >,5 вольт.
Устройства ввода
Аналоговые
Переменный резистор, который можно одним движением джампера завернуть на вход АЦП. Включен потенциометром между шиной питания и землей. В качестве питания позволяет выбирать либо Main Power либо CPU Power. Также, на линию его выхода можно повесить RC фильтр с перестраиваемой частотой среза.
Цифровые/импульсные
Квадратурный механический энкодер. Недорогое, но очень эффективное и удобное средство управления. Подтяжка энкодера сделана переключаемой шины питания процессора на шину главного питания. Или отключаемая вовсе. Что добавляет универсальности.
Кнопки
Классическая кнопочная матрица 3х4 с одним лишь отличием если снять джамперы, то она рассыпается в набор отдельных кнопочек которые можно использовать как угодно, для любых целей. А если одеть джамперы по другому, то получаем ряд кнопок с прижатием к земле и еще 8 кнопок в свободном использовании.
Универсальные выводы с подтяжкой
Блок переключателей, как в Pinboard 1.1, позволяющий задать логический уровень одним движением. Выбирая между GND, HI-Z, и Pull Up. Удобен для конфигурирования разных модулей. Подтяжку можно выбирать как Main Power, так и CPU Power.
Полезные примочки
SD CARD
Разьем для SD карточки. Установлен с обратной стороны платы. Разведены все сигналы, в том числе сигналы наличия карты и защиты от записи. Не все выведены на колодку контроллера, часть есть в виде штырей снизу платы. Но при желании можно дотянуться до них шлейфом и подключить куда угодно. Карточка питается от отдельного стабилизатора на 3.3 вольта, либо от шины питания процессора, выбирается питание джампером.
Микросхема EEPROM памяти
Стандартная микросхема памяти 24C64 работающая по шине i2c. Часто применяется в разных проектах.
Все конфигурационные выводы микросхемы выведены на переключатель, позволяющий задать адрес и режим Write Protected.
R2R ЦАП с буфферизирующим ОУ
Небольшой цифро аналоговый преобразователь на базе четырех разрядной R2R сети. Позволяет получать 16 градаций напряжения. Выход проходит через операционный усилитель, включенный повторителем и работающий в выходном диапазоне Rail-2-Rail.
Незаменимая вещь при реалтаймовой отладке сложных программ. Позволяет вывести на осциллограф ступенчатый сигнал, где каждый уровень будет означать выполняющуюся задачу. И в реальном времени посмотреть на конфликты прерываний, наложение задач друг на друга и прочую кухню. Подробней в статье про отладку.
Блок сопряжения логических уровней
Первый, простейший, на резистивных делителях. Подходит для тех случаев, когда пяти вольтовый вывод легко воспринимает 3.3 вольта за единицу (подавляющее большинство), а делитель сбросит 5 вольт до 3.3, не позволя сжечь низковольтную микросхему.
Второй элемент сопряжения активный, на транзисторах, для сопряжения линий с подтяжкой, включенных по схеме монтажного И (шина i2с, например). Что позволяет сопрягать между собой 3.3 и 5ти вольтовые устройства по шине i2c, TWI, 1-Wire или подобной.
Шинный, трехрежимный (1, 0 и Hi-Z), восьмиразрядный буфер на микросхеме 74HC244, пригодится для построения по быстрому всяких программаторов, например. Или чтобы можно было быстро разьединять логические сигналы. Питание на микросхему сделано независимым и подается на отдельный вывод с любого необходимого источника.
Силовые ключи
Дарлингтоновская сборка на ULN2003, позволяющая подключать более мощные потребители. Как то электромагнитные реле, небольшие электродвигатели или шаговые двигатели.
Поле для макетирования
Три переменных многооборотных резистора, три транзистора (PNP, NPN и N канальный MOSFET) и небольшая монтажная панель 12х20 на цанговых линейках. Позволит по быстрому собрать недостающий кусок схемы из микросхем и выводных деталей. А цанговые гнезда обеспечивают очень надежный контакт и не разбалтываются. Кроме того, не требуют специальных соединительных штырьков, а прекрасно захватывают жесткие проводочки, например из витой пары.
Блок питания
Также в очередной раз был тщательно продуман источник питания. Т.к. это экспериментальный полигон, то источник питания не должен быть типовой схемой запитки микросхем по даташиту, а должен позволять максимум универсальности и гибкости использования. Тем более раз он все равное есть, так почему бы не использовать его на все сто?
Итак, чем порадую я вас в этот раз. Блок схема разводки питания выглядит следующим образом:
Питание поступает аналогично плате Pinboard 1.1 с нескольких разных источников:
- USB, от компьютера. Для повышения безопасности использования этот ввод защищен самовосстанавливающимся предохранителем, который превращается в мощный высокоомный резистор при токе выше 500мА. Ограничивая ток и защищая порт. После снятия КЗ и остывания предохранителя он вновь становится перемычкой. Перегрузка сигнализируется индикатором OVERLOAD.
- Стандартное гнездо питания. В которое можно воткнуть штеккер подавляющего большинства сетевых адаптеров. Способно переварить напряжение до 20 вольт, но лучше не превышать 12 вольт. Чтобы стабилизатор не перегревался.
- Винтовой терминал, куда можно просто загнать плюс и минус проводки с любого удобного источника.
Все входы питания защищены от переполюсовки диодом Шоттки, а также снабжены индикацией по которой можно сразу определить на какой ввод приходит напряжение, а на какой нет. Входное напряжение собирается на селекторе, где мы можем задать джампером требуемый источник питания.
С селектора напруга подается на стабилизатор напряжения, выполненный на MC34063 и позволяющий выставлять напряжение с точностью 0.1 вольт от 1,24 до Vin-2 вольта (около двух вольт падает на диоде Шоттки и силовом ключе MC34063). Со стабилизатора уже отрегулированное напряжение подается на шину главного питания Main Power.
Также можно, переставив джамперы в режим ByPass, пустить напряжение со ввода напрямую на шину MainPower, а со стабилизатора снимать какое-либо другое напряжение для своих нужд.
Шина MainPower запитывает разные подтяжки, может питать подсветку дисплея или служить в качестве питания для модулей расширения или каких-либо других подключенных девайсов.
От шины MainPower запитываются стабилизаторы выдающие напряжение для микроконтроллеров и микросхем шина CPU Power.
Напряжение шины CPU Power определяется соотношением резисторов и жестко задано на плате адаптере конкретного микроконтроллера. Таким образом, резко снижается шанс спалить низковольтный 3.3 вольтовых контроллер повышенным напряжением по неосторожности контроллер сам выбирает на каком напряжении ему работать, задавая это напряжение и для остальных элементов схемы. Таких как EEPROM, порты FTDI, подтяжки энкодеров и т.д.
У модуля расширения есть аналогичный стабилизатор и он также задается резисторами, но уже на плате расширения, образуя, таким образом, локальную шину CPU Power 2.
Плюс на плате есть фиксированный источник напряжения на 3.3 вольта, служащий питанием для SD карточки, вне зависимости от капризов Main и CPU Power. Также его напряжение можно снять со штыря и использовать для своих нужд.
Для пущей безопасности, сделаны два индикаторных светодиода, показывающие примерный уровень напряжения на шине MainPower выше 3.3 и выше 5 вольт. Чтобы случайно чего не пожечь.
Также остался выключатель вторичного питания. Который сейчас заведен напрямую с ввода и позволяет одним нажатием кнопки запитать какое-нибудь силовое или периферийное устройство.
Цена, комплектность, доставка
В комплекте, помимо платы с дисплеем, идут еще шлейф, наборные контакты на него, несколько кварцев разных номиналов, стоечки всякие
Цена зависит от комплектов модулей. Также обратите внимание, что покупка комплекта выгодней, чем сборка помодульно. Цены, а также доступные модули и комплекты в нашем магазине
Доставка 300р за первый класс Почты России. Ходит от 5 до 12 дней обычно. Последние пол года в работе ПР Первый класс наблюдаются рекорды. Такие как от Челябинска до Москвы за 3 дня. Или такая приколы как доставка на дом с вручением под роспись. В общем, почта похоже действительно меняется. Также есть доставка Курьерской службой (2-3 дня до двери) и транспортной компанией Автотрейдинг, но это надо индивидуально обсуждать при заказе.
А что с версией Pinboard 1.1?
Она с 2013 года снята с производства, но продолжает поддерживаться, если вы купите ее где-то с рук, то я также буду осуществлять гарантийный ремонт и консультации по конкретным вопросам.
Оцените статью!