Pinboard II

Материал из Документации
Перейти к: навигация, поиск

Собрав многолетний экспериментаторский опыт, а также два года непрерывной эксплуатации платы Pinboard 1.1, я разработал новую демоплату, куда более совершенную и функциональную — Pinboard II.

PbII main m.jpg

Во главу угла была поставлена расширяемость и модульность, а главным принципом ее стал максимум использования каждой детали. Если на плате есть какой-либо узел или элемент, то его он должен использоваться в хвост и в гриву, а не просто выполнять какую-либо определенную функцию. Ведь это же полигон для экспериментов, а инструментарий никогда не бывает слишком обширным. А теперь пункты подробней:

Содержание

Мультиплатформенность

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

Появились такие интересные, дешевые и удобные семейства на базе ядра Cortex как STM32, LPC1xxx. Появились отличнейшие контроллеры семейства STM8. А, главное, они пошли в народ и стали применяться в домашних поделках. Стоять в стороне от прогресса я не мог, так что в Pinboard II процессорный блок является полностью сьемным. Т.е. теперь можно сделать переходник под совершенно любой контроллер или ПЛИС и использовать все ресурсы демоплаты для разработки под эту платформу. А еще удобно портировать программы с одной архитектуры на другую, ведь для этого достаточно будет воспроизвести кусок отлаживаемой схемы и просто переставлять платки с процами, сравнивя их работу.

PbII complect.jpg

На данный момент доступны следующие комплекты:

  1. AVR ATMega16/32 (загрузчик, прошивка и отладка)
  2. AVR Mega8/168 (загрузчик, прошивка)
  3. AVR ATTiny13/2313 (прошивка)
  4. STM32F103C8T6 (загрузчик, прошивка и отладка)
  5. STM8L152K6T6 (загрузчик, для прошивки и отладки нужен внешний адаптер ST Link)
  6. ПЛИС Altera EPM240T100C5 (прошивка и отладка)
  7. PIC18F67J60 (прошивка, для прошивки и отладки нужен внешний адаптер PIC KIT)
Прошивка 
Вы можете зашить свою программу в контроллер без каких либо ограничений с помощью встроенного в плату программатора
Загрузчик
Вы можете зашить свою программу в контроллер посредством загрузчика (bootloader). Это накладывает некоторые ограничения на процесс загрузки, например, на выставку битов конфигурации (FUSE) и защиты, но для начинающих это неплохой вариант, т.к. сложней что-либо испортить
Отладка 
Дает возможность пошагово выполнять программу в реальном времени внутрисхемно, подключившись к контроллеру с помощью JTAG отладчика. Смотреть состояние переменных и регистров, следить за непосредственным выполнением работы программы.

Интерфейсы

Связь с компьютером

В качестве интерфейса для связи с компом используется FT2232. Эта микросхема реализует два виртуальных COM порта, что гораздо удобней в работе. Но немаловажен тот факт, что на базе этой микросхемы можно реализовать множество инструментов для внутрисхемной отладки разных контроллеров и ПЛИС. Это все возможно благодаря режиму Bitbang и MSPSE реализующем на аппаратном уровне различные протоколы.

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

Ftdi mod.jpg

FT2232D была разведена таким образом, чтобы служить самостоятельной демоплатой для работы с этой микросхемой. Подобно FT2232HQ-MINI-MODULE, но в виде встроенного в основную плату решения . Все ее порты выведены на штыри, а внизу присутствует микросхема памяти, для прошивки в нее разных конфигураций VID-PID. Так что если вы увидите где то схему на базе этой микросхемы, то ничего не стоит изготовить небольшой модуль для демоплаты и на нем все обкатать. Во многих случаях, когда используется связь с компьютером, на одной только микросхеме серии FTxxxx можно реализовать весь функционал, не используюя микроконтроллеров вообще, управляя выводами микросхемы с помощью программы на компе. Также посредством FT2232D реализована внутрисхемная отладка микроконтроллеров их прошивка.

Также я весьма вдумчиво подошел к разводке линий RX-TX. Теперь можно, посредством хитрой установки обычных джамперов, легко и быстро коммутировать линии связи между FTDI, процессорным модулем и портом расширения практически в произвольном порядке.

Раз — и соединил процессорный модуль на канал А, а порт на канал В. Или наоборот. А можно и модуль соединить с портом, любой канал с любым каналом. Бросить оба UART процесорного модуля бросить в сторону FTDI или порта расширения.

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

USB

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

Dop usb.jpg

PS/2

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

Ps2.jpg

Интерфейсный разъем

Еще одним отличием от прошлой платы стал разьем расширения на который выведены все основные интерфейсы, свое питание, некоторые линии GPIO с главного контроллера. В него можно включать платы расширения. Такие, например, как Ethernet адаптер или какой-нибудь хитрый RS232 с опторазвязками для промышленного применения. Или GSM модуль. Или сопроцессор для отладки межпроцессорной коммуникации. Да мало ли что я или энтузиасты пользователи захотят разработать и туда воткнуть.

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

Interf.jpg

Все примеры для статей учебного курса с использованем доп оборудования я буду теперь оформлять в виде модулей для PB II.

Индикация

LCD дисплей

Текстовый. 16х2, cтандартный HD44780. C подсветкой, управляемой транзистором. Т.е. можно менять яркость и всяко ее регулировать ШИМом.

Lcd.jpg

Цифровой индикатор

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

7seg.jpg

Матрица диодов

Уже знакомый по PinBoard 1.1 светодиодный индикатор-столбик. На десять сегментов. Удобен в отладке и для индикации разных аналоговых величин.

Stolbic.jpg

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

Diodiki.jpg

Звук

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

Buzzer.jpg

Информационные инидкаторы

Индикация питания, перегрузки по току и включенного первичного и вторичного питания. Позволят на глазок оценить уровень напряжения в системе главного контура питания, чтобы ничего не пожечь. Один начинает тлеть от 3 вольт, а выше 3.3 уже горит от души, второй же в диапазоне от 4.8 и до >5 вольт.

Indoverload.jpg

Устройства ввода

Аналоговые

Переменный резистор, который можно одним движением джампера завернуть на вход АЦП. Включен потенциометром между шиной питания и землей. В качестве питания позволяет выбирать либо Main Power либо CPU Power. Также, на линию его выхода можно повесить RC фильтр с перестраиваемой частотой среза.

Resist.jpg

Цифровые/импульсные

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

Enc.jpg

Кнопки

Классическая кнопочная матрица 3х4 с одним лишь отличием — если снять джамперы, то она рассыпается в набор отдельных кнопочек которые можно использовать как угодно, для любых целей. А если одеть джамперы по другому, то получаем ряд кнопок с прижатием к земле и еще 8 кнопок в свободном использовании.

Buttons.jpg

Универсальные выводы с подтяжкой

Блок переключателей, как в Pinboard 1.1, позволяющий задать логический уровень одним движением. Выбирая между GND, HI-Z, и Pull Up. Удобен для конфигурирования разных модулей. Подтяжку можно выбирать как Main Power, так и CPU Power.

Sw.jpg

Полезные примочки

SD CARD

Разьем для SD карточки. Установлен с обратной стороны платы. Разведены все сигналы, в том числе сигналы наличия карты и защиты от записи. Не все выведены на колодку контроллера, часть есть в виде штырей снизу платы. Но при желании можно дотянуться до них шлейфом и подключить куда угодно. Карточка питается от отдельного стабилизатора на 3.3 вольта, либо от шины питания процессора, выбирается питание джампером.

Микросхема EEPROM памяти

Стандартная микросхема памяти 24C64 работающая по шине i2c. Часто применяется в разных проектах.

Eep.jpg

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

R2R ЦАП с буфферизирующим ОУ

Небольшой цифро аналоговый преобразователь на базе четырех разрядной R2R сети. Позволяет получать 16 градаций напряжения. Выход проходит через операционный усилитель, включенный повторителем и работающий в выходном диапазоне Rail-2-Rail.

Dac.jpg

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

Блок сопряжения логических уровней

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

Второй элемент сопряжения — активный, на транзисторах, для сопряжения линий с подтяжкой, включенных по схеме монтажного И (шина i2с, например). Что позволяет сопрягать между собой 3.3 и 5ти вольтовые устройства по шине i2c, TWI, 1-Wire или подобной.

Ls.jpg

Шинный, трехрежимный (1, 0 и Hi-Z), восьмиразрядный буфер на микросхеме 74HC244, пригодится для построения по быстрому всяких программаторов, например. Или чтобы можно было быстро разьединять логические сигналы. Питание на микросхему сделано независимым и подается на отдельный вывод с любого необходимого источника.

Hc.jpg

Силовые ключи

Дарлингтоновская сборка на ULN2003, позволяющая подключать более мощные потребители. Как то электромагнитные реле, небольшие электродвигатели или шаговые двигатели.

Uln.jpg

Поле для макетирования

Три переменных многооборотных резистора, три транзистора (PNP, NPN и N канальный MOSFET) и небольшая монтажная панель 12х20 на цанговых линейках. Позволит по быстрому собрать недостающий кусок схемы из микросхем и выводных деталей. А цанговые гнезда обеспечивают очень надежный контакт и не разбалтываются. Кроме того, не требуют специальных соединительных штырьков, а прекрасно захватывают жесткие проводочки, например из витой пары.

Cang.jpg

Блок питания

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

Итак, чем порадую я вас в этот раз. Блок схема разводки питания выглядит следующим образом:

Pb2 pwr m.GIF

Питание поступает аналогично плате 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 вольт. Чтобы случайно чего не пожечь. Также остался выключатель вторичного питания. Который сейчас заведен напрямую с ввода и позволяет одним нажатием кнопки запитать какое-нибудь силовое или периферийное устройство.

Комплектация

Базовая плата

  • Плата Pinboard II
  • LCD дисплей WH1602B с подсветкой
  • Шлейф
  • Контакты BLS
  • Джамперы

Где купить

Магазин

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты