Обзор отладочной платы Altera Cyclone IV EP4CE6
Очередной раз пролистывая Aliexpress, в поисках чего-нибудь интересного из мира FPGA-отладок, я наткнулся на один интересный экземплярчик. Попалась отладка на Altera Cyclone IV с большим количеством всякой периферии на борту + с которой за сравнительно небольшие деньги можно приобрести 4.3» LCD дисплей и камеру.
Посмотрев детально документацию и характеристики модулей — я особо не раздумывая решил ее заказать. После получения ее с пункта выдачи — я был в восторге и твердо для себя решил — нужно поделиться своей радостью со всеми интересующимися, сделав обзор этой отладочной платы со всеми ссылками и картинками. Поехали!
❯ Комплект поставки
Основное описание бандлов и цены вы можете посмотреть на сайте продавца. Я для себя приобретал Bundle #4. В комплекте шел полный набор всего необходимого для работы:
- Отладочная плата с miniUSB-кабелем питания для нее;
- Китайская копия JTAG-программатора USB Blaster и miniUSB-кабель;
- 4.3» TFT LCD дисплей на контроллере TM043NBH02 разрешением 480×272, который расположен На плате от Saylinx, которая по сути является переходником;
- Модуль камеры OV5640 (¼ inch, 5M, автофокус) c MIPI/DVP интерфейсом.
О каждом компоненте я расскажу чуть подробнее ниже.
О качестве упаковки — могу сказать, что сама коробочка хлипковата и была упакована в отдельную пенопластовую упаковку, дабы избежать повреждения. Каждый из элементов был упакован в антистатический пакет, дисплей был в отдельном пупырчатом пакетике, что в целом позволит свести шансы повреждения при транспортировке к нулю.
К сожалению, фотографий с распаковки я не сделал — поэтому вам придётся поверить мне на слово :)
❯ Краткий обзор отладочной платы
Общий вид платы сверху:
Порадовало наличие шелкографии, на которой четко подписаны конкретные пины. Печально только то, что сделали в виде коннектора с ключом, а не в виде сплошной PLS-гребенки. Тем более, что на дисплее нет ключа для установки. Но об этом подробнее ниже.
Вид платы с обратной стороны:
Видно, что отмыта плата достаточно хреновенько, что в принципе норма для китайских отладок и отмываю платы уже после получения самостоятельно.
Можно заметить относительно вменяемую обвязку доменов питания FPGA керамическими конденсаторами:
❯ Что там на борту?
Рассмотрим ключевые возможности самой отладочной платы.
Плата запитывается от miniUSB и имеется синий индикатор питания:
Линии USB D+ и D- ведут к преобразователю интерфейса USB в UART CH340C, благодаря чему можно организовать общение платы с ПК или другими устройствами через UART. Конденсаторов в цепь питания конечно же пожалели, но оставим это на совести изготовителя:
Для получения напряжений 3.3V, 2.5V, 1.2V на плате использованы простейшие линейные преобразователи ASM1117:
На плате установлен Altera Cyclone IV EP4CE6F17C8N — камень в корпусе 256FBGA с 179 I/O выводами. Имеет 6272 элементов логики, 392 CLBS, 2 PLL, общий объем встраиваемой памяти 276480 бит, 15 блоков DSP, контроллеры внешней DDR/DDR2/SDR-памяти и многое другое (подробнее в datasheet);
В дополнение к нему, традиционно есть индикация синего цвета сигнала CONF_DONE, которая говорит о том, что ПЛИС готова\не готова к работе:
Сам FPGA-чип тактируется от 50 МГц тактового генератора:
Для хранения прошивки используется 16 Мбит Flash-память M25P16-VMN3PB, так же именуемая как EPCS16 (данное обозначение используется при генерации загрузочного образа для FPGA):
Так же порадовало наличие на плате 256 Мбит SDRAM HY57V2562GTR от SK Hynix, что в целом позволит углубиться в изучение RAM-памяти и работы с ней.
Для реализации взаимодействия с пользователем установлены 4 механические кнопки, одна из которых выполняет функцию Reset, а три остальных может использоваться в произвольном режиме:
На плате имеются 4 LED-светодиодов синего цвета:
Так же не обошлось без традиционного для таких отладок 7-сегментного индикатора с 8 разрядами:
Помимо световой индикации на плате имеется еще и звуковая в виде Buzzer-динамика:
Идем дальше. На плате имеется I2C EEPROM 24LC04 объемом 4 КБит, что предоставляет возможность играться с I2C-интерфейсом. Адресные линии кинуты все на GND:
Ещё на плате имеется RTC-контроллер DS1302 c батарейкой CR1220:
На плате также есть разъем для microSD-карт, что позволит, при желании, поиграться с SDIO-интерфейсом и читать\записывать данные с карты памяти:
Помимо разъема для карт памяти на плате есть VGA D-Sub разъем для подключения внешнего монитора. Почему, интересно, не HDMI, до сих пор пока не нашел ответа.
В завершение обзора на содержимое платы перечислю коннекторы, которые есть на плате. Первый — для подключения модуля камеры 9×2 разъем с коннектором типа «мама», расположен сверху на плате:
Второй и третий — это две 40-пиновые вилки IDC-40M с шагом контактов 2.54 мм:
На плате все пины коннектора заботливо подписаны шелкографией, где и какие пины чипа, плюсом указаны первые два и последние два пина, для того, чтобы не перепутать при подключении.
❯ Модуль дисплея
Переходим к приятным дополнениям. В Bundle #3 и #4 поставляется 4.3» TFT LCD дисплей на контроллере TM043NBH02:
- разрешение 480×272;
- интерфейс подключения — 40-пиновый Parallel RGB 1 channel 8 bit;
- соотношение сторон 16:9;
- яркость 280 nits, по ощущениям дисплей достаточно яркий
- контрастность: 800:1;
- углы обзора (T/B/L/R): 70/50/70/70.
Вид сверху:
Вид с обратной стороны:
К сожалению — фото без изображения и не без причины. При проверке дисплея после получения, мной была была допущена фатальная ошибка — я поспешил и воткнул дисплей мимо пинов со смещением на один ряд вверх и дисплей вышел из строя, потребляет 1.8А и горит белым цветом:
Да, к сожалению разъемы не являются комплементарными и возможны вот такие фэйлы. Ни ключа на разъеме дисплея, ни его ширина не соответствует разъему расположенному на плате. В итоге минус дисплей, и возможно что-то с камнем на плате. В итоге пришлось перезаказать дисплей для замены. Порадовало то, что сама плата для дисплея сделана с разъемом и можно заменить сам дисплей т. к. сам модуль отдельно не продаётся. Словом, не повторяйте моей ошибки и будьте внимательны!
После замены дисплея обновлю фоточки в статье с примерами понятных стандартных изображений.
❯ Модуль камеры
Следующий элемент в Bundle #4 — модуль камеры OV5640 (¼ inch, 5M, автофокус) c MIPI/DVP интерфейсом и, судя по всему, управлением через I2C:
Я вообще не работал с такими сенсорами и мало чего интересного могу про них рассказать, но думаю при реализации проекта передачи изображения с камеры на дисплей (надеюсь, что LUT-ячеек хватит для этого) — познакомлюсь с параметрами таких сенсоров более детально.
Кому интересно — даташиты и примеры с данным сенсором легко гуглятся по названию сенсора.
❯ Список примеров для этой платы
Продавец любезно предоставляет целый ворох разнообразных примеров, которые по-честному взяты у Alinx (производитель отладочных плат):
❯ В завершение
Вот такой обзор получился на этот весьма привлекательный экземпляр. Учитывая обилие примеров — можно решать самые разнообразные задачи и изучать то, как работать с периферией самого разного плана. Некоторую часть примеров, в будущем, я хотел бы разобрать по кирпичикам и описать принцип работы того или иного автомата. Статьи будут немного пересекаться с циклом статей которые я пишу по Xilinx Zynq и на плате от Altera я буду реализовывать конечный автомат I2C Master, который потом буду переносить на плату с Zynq для управления дисплеем SSD1306.
В общем, спасибо за внимание, как говорится «подписывайтесь и ставьте лайки». До встречи в новых статьях!