Очередной раз пролистывая Aliexpress, в поисках чего-нибудь интересного из мира FPGA-отладок, я наткнулся на один интересный экземплярчик. Попалась отладка на Altera Cyclone IV с большим количеством всякой периферии на борту + с которой за сравнительно небольшие деньги можно приобрести 4.3’’ LCD дисплей и камеру.

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

Комплект поставки


Основное описание бандлов и цены вы можете посмотреть на сайте продавца. Я для себя приобретал Bundle #4. В комплекте шел полный набор всего необходимого для работы:

  • Отладочная плата с miniUSB-кабелем питания для нее;
  • Китайская копия JTAG-программатора USB Blaster и miniUSB-кабель;
  • 4.3’’ TFT LCD дисплей на контроллере TM043NBH02 разрешением 480x272, который расположен На плате от Saylinx, которая по сути является переходником;
  • Модуль камеры OV5640 (¼ inch, 5M, автофокус) c MIPI/DVP интерфейсом.

О каждом компоненте я расскажу чуть подробнее ниже.

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

К сожалению, фотографий с распаковки я не сделал — поэтому вам придётся поверить мне на слово :)

Краткий обзор отладочной платы


Общий вид платы сверху:

image

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

Вид платы с обратной стороны:

image

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

Можно заметить относительно вменяемую обвязку доменов питания FPGA керамическими конденсаторами:

image

Что там на борту?


Рассмотрим ключевые возможности самой отладочной платы.

Плата запитывается от miniUSB и имеется синий индикатор питания:

image

Линии USB D+ и D- ведут к преобразователю интерфейса USB в UART CH340C, благодаря чему можно организовать общение платы с ПК или другими устройствами через UART. Конденсаторов в цепь питания конечно же пожалели, но оставим это на совести изготовителя:

image

Для получения напряжений 3.3V, 2.5V, 1.2V на плате использованы простейшие линейные преобразователи ASM1117:

image

На плате установлен Altera Cyclone IV EP4CE6F17C8N — камень в корпусе 256FBGA с 179 I/O выводами. Имеет 6272 элементов логики, 392 CLBS, 2 PLL, общий объем встраиваемой памяти 276480 бит, 15 блоков DSP, контроллеры внешней DDR/DDR2/SDR-памяти и многое другое (подробнее в datasheet);

В дополнение к нему, традиционно есть индикация синего цвета сигнала CONF_DONE, которая говорит о том, что ПЛИС готова\не готова к работе:

image


Сам FPGA-чип тактируется от 50 МГц тактового генератора:

image


Для хранения прошивки используется 16 Мбит Flash-память M25P16-VMN3PB, так же именуемая как EPCS16 (данное обозначение используется при генерации загрузочного образа для FPGA):

image

Так же порадовало наличие на плате 256 Мбит SDRAM HY57V2562GTR от SK Hynix, что в целом позволит углубиться в изучение RAM-памяти и работы с ней.

Для реализации взаимодействия с пользователем установлены 4 механические кнопки, одна из которых выполняет функцию Reset, а три остальных может использоваться в произвольном режиме:

image

На плате имеются 4 LED-светодиодов синего цвета:

image

Так же не обошлось без традиционного для таких отладок 7-сегментного индикатора с 8 разрядами:

image

Помимо световой индикации на плате имеется еще и звуковая в виде Buzzer-динамика:

image

Идем дальше. На плате имеется I2C EEPROM 24LC04 объемом 4 КБит, что предоставляет возможность играться с I2C-интерфейсом. Адресные линии кинуты все на GND:

image

Ещё на плате имеется RTC-контроллер DS1302 c батарейкой CR1220:

image

На плате также есть разъем для microSD-карт, что позволит, при желании, поиграться с SDIO-интерфейсом и читать\записывать данные с карты памяти:

image

Помимо разъема для карт памяти на плате есть VGA D-Sub разъем для подключения внешнего монитора. Почему, интересно, не HDMI, до сих пор пока не нашел ответа.

image

В завершение обзора на содержимое платы перечислю коннекторы, которые есть на плате. Первый — для подключения модуля камеры 9х2 разъем с коннектором типа “мама”, расположен сверху на плате:

image

Второй и третий — это две 40-пиновые вилки IDC-40M с шагом контактов 2.54мм:

image

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

Модуль дисплея


Переходим к приятным дополнениям. В Bundle #3 и #4 поставляется 4.3’’ TFT LCD дисплей на контроллере TM043NBH02:

  • разрешение 480x272;
  • интерфейс подключения — 40-пиновый Parallel RGB 1 channel 8 bit;
  • соотношение сторон 16:9;
  • яркость 280 nits, по ощущениям дисплей достаточно яркий
  • контрастность: 800:1;
  • углы обзора (T/B/L/R): 70/50/70/70.

Вид сверху:

image

Вид с обратной стороны:

image

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

image

Да, к сожалению разъемы не являются комплементарными и возможны вот такие фэйлы. Ни ключа на разъеме дисплея, ни его ширина не соответствует разъему расположенному на плате. В итоге минус дисплей, и возможно что-то с камнем на плате. В итоге пришлось перезаказать дисплей для замены. Порадовало то, что сама плата для дисплея сделана с разъемом и можно заменить сам дисплей т. к. сам модуль отдельно не продаётся. Словом, не повторяйте моей ошибки и будьте внимательны!

После замены дисплея обновлю фоточки в статье с примерами понятных стандартных изображений.

Модуль камеры


Следующий элемент в Bundle #4 — модуль камеры OV5640 (¼ inch, 5M, автофокус) c MIPI/DVP интерфейсом и, судя по всему, управлением через I2C:

image

Я вообще не работал с такими сенсорами и мало чего интересного могу про них рассказать, но думаю при реализации проекта передачи изображения с камеры на дисплей (надеюсь, что LUT-ячеек хватит для этого) — познакомлюсь с параметрами таких сенсоров более детально.

Кому интересно — даташиты и примеры с данным сенсором легко гуглятся по названию сенсора.

Список примеров для этой платы


Продавец любезно предоставляет целый ворох разнообразных примеров, которые по-честному взяты у Alinx (производитель отладочных плат):

# Название Описание
1 LED Test Мигалка светодиодами на плате по очереди
2 Key Test Демонстрация работы механических кнопок
3 PLL Test Демонстрация того, как работать с встроенным PLL, берется входная частота в 50 МГц и превращается в 25, 50, 75 и 100 МГц
4 UART Test Демо с посылкой фразы “Hello Alinx” в UART
5 Seg Test Вывод числа 0 на семисегментный дисплей
6 Key Debounce Простой пример модуля антидребезга для входного сигнала с кнопок
7 Buzzer PWM Test Пример вывода звука фиксированной частоты
8 Buzzer Music Test Пример проигрывания встроенной MIDI-мелодии и мелодий с microSD-карты
9 SPI Flash Test Пример с чтением\записью данных на SPI-флешку
10 RTC DS1302 Test Пример показывающий как работать с контроллером часов реального времени из ПЛИС
11 I2C EEPROM Test Пример чтения\записи данных на EEPROM через I2C интерфейс
12 SD Card Test Тест для чтений\записи данных с SD-карты
13 VGA Test Тест вывода изображения на VGA-разъем
14 AN430 LCD Test Тест на вывод изображения на дисплей AN430 (из комплекта поставки)
15 AN070 LCD Test Тест на вывод изображения на дисплей AN070 (надо покупать отдельно)
16 SDRAM Test Тест чтения\записи данных в SDRAM
17 Audio Record Play Пример для работы с аудиокодеком WM8731 на запись аудио дорожки в RAM (нет на плате)
18 SD Card Audio Пример для работы с аудиокодеком WM8731 на проигрывание аудио дорожки с SD-карты (нет на плате)
19 VGA Char Пример вывода надписи в VGA-порт
20 AN430 LCD Char Пример вывода надписи в AN430 (из комплекта поставки)
21 AN070 LCD Char Пример вывода надписи в AN070 (надо покупать отдельно)
22 SD SDRAM VGA Вывод BMP-изображения хранящегося на SD карте на VGA-дисплей
23 SD SDRAM AN430 LCD Вывод BMP-изображения хранящегося на SD карте на AN430 (из комплекта поставки)
24 SD SDRAM AN070 LCD Вывод BMP-изображения хранящегося на SD карте на AN070 (надо покупать отдельно)
25 SDRAM OV5640 VGA Вывод изображения с камеры на VGA-дисплей
26 SDRAM OV5640 AN430 LCD Вывод изображения с камеры на AN430 (из комплекта поставки)
27 SDRAM OV5640 AN070 LCD Вывод изображения с камеры на AN070 (надо покупать отдельно)
28 SDRAM OV5640 VGA Gray Перевод изображения полученного с камеры в режим серого отображения на VGA-дисплее
29 SDRAM OV5640 VGA Sobel Вывод изображения с применением фильтра Собеля полученного с камеры на VGA-дисплей
30 AD9226 VGA Test Пример работы с АЦП AD9226 и выводом оцифрованного сигнала на VGA-дисплей
31 AD7606 VGA Test Пример работы с АЦП AD7606 и выводом оцифрованного сигнала на VGA-дисплей
32 AN108 ADDA VGA Test Пример работы с ЦАП AD9708 и выводом оцифрованного сигнала на VGA-дисплей

В завершение


Вот такой обзор получился на этот весьма привлекательный экземпляр. Учитывая обилие примеров — можно решать самые разнообразные задачи и изучать то, как работать с периферией самого разного плана. Некоторую часть примеров, в будущем, я хотел бы разобрать по кирпичикам и описать принцип работы того или иного автомата. Статьи будут немного пересекаться с циклом статей которые я пишу по Xilinx Zynq и на плате от Altera я буду реализовывать конечный автомат I2C Master, который потом буду переносить на плату с Zynq для управления дисплеем SSD1306.

В общем, спасибо за внимание, как говорится “подписывайтесь и ставьте лайки”. До встречи в новых статьях!

Возможно, захочется почитать и это:


Комментарии (12)


  1. Mogwaika
    22.06.2023 14:24
    +1

    ASM1117 это клон AMS1117?


    1. megalloid Автор
      22.06.2023 14:24
      +2

      Сейчас посмотрел. Это опечатка в схематике у китайцев. На плате AMS1117)))))


  1. Mogwaika
    22.06.2023 14:24

    Я же правильно понял, что MIPI на камере не разведён на разъём?


    1. megalloid Автор
      22.06.2023 14:24

      Судя по всему - не разведен. Сенсор DVP-шный.


  1. Mogwaika
    22.06.2023 14:24
    +4

    Продавец любезно предоставляет целый ворох разнообразных примеров, которые по-честному взяты у Alinx (производитель отладочных плат)

    Лучше схоронить куда-то на гитхаб и сюда ссылочку, а то продавец может и пропасть.


    1. megalloid Автор
      22.06.2023 14:24
      +3

      Да, были такие мысли. Там просто весьма внушительный по размеру BSP. Я думаю, что залью его на Я.Диск и потом поделюсь линком в статье под табличкой с примерами.


      1. thesame
        22.06.2023 14:24
        +1

        У Alinx есть своя учетка на гитхабе (alinxalinx), а плата называется - AX4010.


      1. YDR
        22.06.2023 14:24

        ждем link


  1. ZEvS_Poisk
    22.06.2023 14:24

    Наверное, стОит плата как крыло от боенга. :)


    1. nochkin
      22.06.2023 14:24
      +3

      Есть же линк в статье. Цена порядка $50 за плату.


  1. ARMag
    22.06.2023 14:24

    На фото в статье камера без автофокуса. Сенсор OV5640 умеет в автофокус, но не в комплектации как на фото.


  1. kh0
    22.06.2023 14:24
    +1

    Вот! Такие штуки должны быть хотя бы на лабах у всех "цифровых электроников" в вузах: дома пилишь на эмуляторе, а на лабе гоняешь на железе! Чертова Эпоха Перемен, когда ж ты наконец закончишься, чтобы все наконец гармонизировалось?