ВНИМАНИЕ !!!
Раздел ПОРТФОЛИО будет значительно расширен как в части описания, так и фотографий. На данный момент (январь 2024) нет времени - по всем вопросам обращаться на почту hello@shatskikh.ru

Настоящая электронная скрижаль про несколько экземпляров полупроводниковой «интеллигенции», которая абсолютно не предназначена для работы «в поле», требовательна к питанию, «боится» механических воздействий, но позволяет создавать и отлаживать алгоритмы работы целевого устройства в лабораторных условиях. В большинстве моих проектов необходим человеко-машинный интерфейс на базе стандартных протоколов передачи данных, поэтому микроконтроллеры более востребованы, так как применение ПЛИС в подобных случаях обременяет конечное изделие либо невостребованными вычислительными ресурсами, либо избыточной аппаратной частью, что в конечном счёте гарантированно увеличивает себестоимость. Итак...

 

Microchip PIC18F97J60

Одним из наиболее «ходовых» инструментов является отладочная плата на базе микроконтроллера Microchip PIC18F97J60 со встроенным Ethernet-контроллером - куплена на очень полезном сайте из Поднебесной несколько лет назад. Изначально PIC-WEB-EK приобреталась для ускорения разработок на базе протокола TCP-IP взамен платы собственного производства (фото см. ниже), но потом аппаратные возможности на столько впечатлили, что теперь PIC18F97J60 используется для отладки не только «сетевых» задач. Из имеющегося «на борту» практически всё удалось запустить одновременно.

От оригинала эту плату отличают только установленная батарейка и разъемы по периметру микроконтроллера, которые были впаяны для надстройки второго и последующих «этажей». Вот здесь возможно скачать архив файлов для одной из страниц, которую эта плата «отдаёт» по HTTP - «заходишь» через обычный браузер (Mozilla, Opera, Chrom или др.) и появляется одно из таких окошек: например, при нажатии на кнопку включается/выключается соответствующее реле, а правая панель обновляется автоматически через AJAX.

Отладочная плата с Ethernet на базе микроконтроллера Microchip PIC18F97J60

Аппаратное наполнение:

PIC18F97J60 - микроконтроллер Microchip со встроенным модулем Ethernet 10Base-T (10 Мбит/с + IEEE 802.3);
DS1302 - часы реального времени, интерфейс 3-Wire (не SPI);
25LC256 - память EEPROM 256 кбит, интерфейс SPI;
SP3232E - приемопередатчик RS232, максимальная скорость 235 кбит/с;
SP485E - приемопередатчик RS485, максимальная скорость 10 Мбит/с;
WH1602A - символьный монохромный индикатор (2 строки по 16 символов) на базе контроллера HD44780;
• 2 реле, пьезоэлектрический излучатель, фоторезистор, светодиоды, кнопки и др.

 

Altera Cyclone IV EP4CE6E22C8N

Следующим многоцелевым инструментом является отладочная плата на базе программируемой матрицы Altera Cyclone IV - куплена также у потомков императора Цинь Шихуанди в дополнение к существующим ПЛИСам, не столь богатым на периферию. Проектов в чистом виде на CPLD или FPGA у меня нет, но вот для отладки высокоскоростных, высокочастотных алгоритмов, а также разработки иных с высокими требованиями к временным интервалам (измерения длительностей, счётчики импульсов, графический интерфейс) - инструмент незаменимый.

Отладочная плата на базе ПЛИС Altera Cyclone IV

Аппаратное наполнение:

EP4CE6E22C8N - Altera Cyclone IV;
HY57V641620F - память DRAM 64 Мбит, синхронная;
W25Q16JV - память FLASH 16 Мбит, интерфейс SPI + DUAL + QUAD;
AT24C08 - память EEPROM 8 кбит, интерфейс I2C;
SP3232E - приемопередатчик RS232, максимальная скорость 235 кбит/с;
LM75A - детектор температуры от -55 0C до +125 0C, интерфейс I2C;
• интерфейсы PS/2 и VGA, разъем для ЖКИ, инфракрасный фотодиод, пьезоэлектрический излучатель, светодиоды, кнопки  и др.

 

STMicroelectronics STM32F407VET6

Здесь скоро будет фото и описание отладочной платы на STM32, которая тоже "приехала" ко мне с той стороны Великой китайской стены.

Отладочная плата на базе микроконтроллера STMicroelectronics STM32F407VET6

Аппаратное наполнение:

STM32F407VET6 - микроконтроллер ARM Cortex M4, максимальная частота 168 МГц;
DP83848V - контроллер Ethernet (10/100 Мбит/с + IEEE 802.3), последовательный интерфейс;
24C02 - память EEPROM 256 кбит, интерфейс I2C;
25Q64JVSIQ - память FLASH 64 Мбит, интерфейс SPI + DUAL + QUAD;
MAX3232 - приёмопередатчик RS232, максимальная скорость 235 кбит/с;
SP485E - приёмопередатчик RS485, максимальная скорость 10 Мбит/с;
TJA1050 - приёмопередатчик CAN, максимальная скорость 1Мбод/с;
NRF24L01 - приёмопередатчик 2,4 ГГц (устанавливается отдельно), максимальная скорость 2 Мбит/с;
• 3 тактовые кнопки, разъем для SD-карты, USB-host, USB-device и др.

 

Беспроводная связь WiFi, Bluetooth, ISM

Здесь скоро будет описание и фото беспроводных модулей, которые применяю на практике.

Модули беспроводной передачи нанных WiFi, Bluetooth, ISM

Аппаратное наполнение:

MRF89XAM8A - приёмопередатчик ISM 863..870 МГц, приемник -107 дБм, передатчик +10 дБм;
ESP-12F - приёмопередатчик WiFi, TCP/IP + IEEE 802.11 b/g/n;
LMX9838 - приёмопередатчик Bluetooth 2.0, приемник -76 дБм, передатчик +3 дБм.

 

Периферийные модули

Разработка систем регулирования на вышеописанных платах (содержащих только «электронный мозг») невозможна без внешних элементов: карты памяти, графические экраны, переключатели, реле и т.д. Эта унифицированная периферия кочует между проектами в неизменном виде, поэтому для минимизации времени создания опытного образца иногда применяю готовые модули из электронных конструкторов.

Готовые модули электронных конструкторов

Во многих проектах требуется диалог пользователя с полупроводниковым «мозгом», поэтому без полноценного графического индикатора не обойтись.

Аппаратное наполнение:

ILI9488 - графический индикатор 480х320 пикселей, цветовая палитра RGB 18 бит;
ST7735S - графический индикатор 160х128 пикселей, цветовая палитра RGB 18 бит;
WG12864C - графический индикатор 128х64 пикселей, монохромный, контроллер NT7108C;
WH2004A - символьный индикатор 4 строки по 20 символов, монохромный, контроллер HD44780.

 

Программаторы и отладчики

А это надёжные и проверенные рабочие «лошадки» - универсальные программаторы всего моего цифрового «зоопарка» в виде PICkit3 от Microchip и USB-Blaster от Altera. На фото не хватает SEGGER Jlink для STM и преобразователя USB для ESP - скоро добавлю.

Программаторы PICkit3 от Microchip и USB-Blaster от Altera

Аппаратное наполнение:

PICkit 3 - программатор/отладчик микроконтроллеров PIC (и не только) от Microchip Technology Inc;
USB-Blaster - загрузчик для программирования ПЛИС от ALTERA;
Jlink - JTAG эмулятор для микроконтроллеров с архитектурой ARM от Segger Microcontroller Systems;
CH340T - преобразователь USB-USART для программирования всего остального.

 

Эхо минувшего

Раньше отладочные платы приходилось делать самому. Когда же появилась возможность приобретать готовые, то имеющиеся полупроводниковые «помощники» были приспособлены для отладки внутрисхемного взаимодействия: I2C, SPI, 1Wire и аналогичные. Одна из таких собственноручно разработанных «палочек-выручалочек»:

Отладочная плата с USB на базе микроконтроллера Microchip PIC18F4550

Аппаратное наполнение:

PIC18F4550 - микроконтроллер Microchip со встроенный модулем USB 2.0;
ENC28J60 - контроллер Ethernet 10Base-T (10 Мбит/с + IEEE 802.3), интерфейс SPI;
DS1307 - часы реального времени, интерфейс I2C;
DS1631 - детектор температуры от -55 0C до +125 0C, интерфейс I2C;
MAX232 - приёмопередатчик RS232, максимальная скорость 120 кбит/с;
TSOP31236 - инфракрасный приёмник (для дистанционного управления платой с ПДУ, кодировка RC5);
• ??? светодиоды, кнопки и др.

Для функционального завершения представленной ниже «экспозиции» пришлось изготовить ещё одну аналогичную плату, но с меньшим наполнением. Концепция следующая: верхняя плата представляет собой разрабатываемое устройство, в составе которого находится, допустим, стандартный цифровой датчик от какого-нибудь именитого производителя с последовательным интерфейсом I2C. В соответствии с алгоритмом работы целевое устройство (верхняя плата) должна записывать и читать данные в/из этого датчика. Как проверить что там «поназаписано» в датчик? Просто: «подсунуть» ей аппаратный эмулятор с возможностью подключения к компьютеру. В результате: верхняя плата в обычном режиме обращается по I2C к датчику, а на самом деле информация попадает на нижнюю плату, из которой тематические данные можно «забирать» по USB в режиме on-line. Единственное неудобство такого подхода - нужно писать две «прошивки» как для основной платы, так и для эмулятора. Собственно, нижняя плата и являет собой один из описанных здесь (внизу) аппаратных «допов».

Отладочный модуль на базе микроконтроллеров Microchip PIC18F4550

 

Кроме вышеописанной конструкции есть отладочные платы для объединения вычислительных мощностей от Microchip и Altera, которые реализованы в виде таких «инсталляций».

Отладочная сборка на базе Altera EPM7064 и Microchip dsPIC30F4013

Аппаратное наполнение:

dsPIC30F4013 - микроконтроллер Microchip со встроенными модулями CAN 2.0 и DSP (цифровая обработка сигналов);
EPM7064S - программируемая логическая интегральная схема ALTERA;
MCP2551 - приёмопередатчик CAN (не впаян);
MAX232 - приёмопередатчик RS232;
SG-8002 - однократно программируемый кварцевый генератор EPSON (не установлен).