Я решил в этом сезоне закончить обзоры разнообразных плат с ПЛИС и переключиться на действительно сложные (для меня) технические задачи. И последний свой обзор в этом сезоне я решил посвятить плате с Altera Cyclone IV на плате от OMDAZZ, которой со мной любезно поделилась компания из Питера - “РСВ Электроникс” в которой я рассматриваю возможность пройти обучение основам Verilog и обобщить свои знания по цифровой схемотехнике, получить практические навыки, которые помогут мне решать новые для себя задачи, а затем писать для вас разные крутые статьи! ?
Обзор будет не самый обычный - я еще попутно расскажу о том, как с использованием этой платы и при помощи наставников из РСВ Электроникс я буду повышать свой скилл по работе с FPGA с около нулевого до достаточно уверенного junior-уровня. Не всё же просто обзоры делать с мигалками. Пора двигаться дальше! :)
Всем кого заинтересовала данная тема - прошу проследовать за мной (под кат)!
![](https://habrastorage.org/getpro/habr/upload_files/5ec/f2f/7f4/5ecf2f7f47e1236fcece43bc7ea5ca5d.png)
Комплект поставки
Начну обзор отладки традиционно, с рассмотрения того, что идёт в комплекте и как это было упаковано продавцом. Посмотреть основное описание комплекта и цены вы можете у продавца. В комплекте идет традиционный набор, необходимый минимум для работы:
отладочная плата, в приятном плексигласовом прозрачном корпусе на стойках;
китайская копия JTAG-программатора USB Blaster и miniUSB-кабель;
кабель USB Type-A - Type-B;
Если говорить о качестве упаковки - все было упаковано качественно, в антистатический пакет, правда без дополнительной пузырчатой пленки, но кажется, что отладка за счёт дополнительной “брони” в виде корпуса с огромной долей вероятности приедет в целости и будет не повреждена. Жаль, только , что не осталось фото с распаковки, но на сайте продавца можете самостоятельно посмотреть как продавец запаковывает платы.
Рассмотрим общее качество пайки, компоновки платы, отмыта ли плата от флюса и т.п. И первое, на что я сразу обратил внимание и после чего я почувствовал острый приступ недоумения - каким образом будет получен доступ до PLS-разъемов на плате, как переключать DIP-переключатель и как воткнуть LCD-дисплей?! WTF?!
![](https://habrastorage.org/getpro/habr/upload_files/22f/e9e/113/22fe9e1135ba9d999fba93a473dd1d8e.png)
Видимо придётся раскручивать корпус и дорабатывать его фрезой под себя. Ещё стоит отметить, что плата с другой стороны несколько в жирных подтёках от недоотмытого флюса - тоже оставили для меня, брать Flux-Off и идти отмывать, без вариантов.
Не знаю, насколько хорошо фото передаёт общее положение дел, но я попробовал, любуйтесь:
![](https://habrastorage.org/getpro/habr/upload_files/3c0/ac5/b67/3c0ac5b6729b2febb4c05034ab7f3429.png)
После еще заметил, что не хватает красной крышки на кнопке питания - пластиковой штучки для нажатия, просмотрев упаковку - не нашел ничего похожего, кажется либо я потерял, либо не доложили. Но могли бы приклеить, чтобы не отклеивалось, ну да ладно:
![](https://habrastorage.org/getpro/habr/upload_files/ec8/9f4/869/ec89f4869d821b0e2df52091ec27a314.png)
В целом, всё это конечно мелочи, на которые можно забить, особенно при стоимости платы за чуть больше чем в 4 тысячи рублей, но всё же, небольшой осадочек остался.
Быстренько осмотримся по отладке
Давайте быстренько ознакомимся, что тут нам предлагает производитель:
![](https://habrastorage.org/getpro/habr/upload_files/7ce/1dc/d9c/7ce1dcd9c6c099b92f3e41f400ae58f9.png)
Сразу видно копипасту картинки из товара в товар - опечатка с наименованием используемого процессора, поэтому лучше своими глазами порассматриваем, что имеется на плате.
Что тут у нас там в самом центре? А тут красуется Altera Cyclone IV EP4CE10E22C8N:
![](https://habrastorage.org/getpro/habr/upload_files/839/5f3/bb3/8395f3bb31fd69a35ebc6facef1f90e1.png)
Радует, что установлен чип относительно легко паябельный (в отличие от тех же BGA-корпусов), что позволит новичку в случае чего легко перебросить сожженный чип на новый. В обвязке доменов питания ПЛИС насыпано немного керамики. Перекрестимся и будем надеяться, что этого хватит для нормальной стабильной работы:
![](https://habrastorage.org/getpro/habr/upload_files/863/44a/672/86344a672f3940cdbf170c598bc1434a.png)
Плюсом, по фото выше видно, что вся нумерация портов ножек ПЛИС подписана шелкографией и не придётся ковыряться со схематиком в поиске нужных пинов. Зачет!
Что касается питания - тут прям всё как по стандарту, линейные преобразователи AMS1117 на 3.3V, 2.5V, 1.2V. Радует, что производители этой платы ушли от использования вырвиглазных синих светодиодов и поставили приятные оранжевые:
![](https://habrastorage.org/getpro/habr/upload_files/494/c75/70a/494c7570a315ea35b5ff80726fd2b3e6.png)
Но так осталось не понятно, зачем для питания платы от USB использовали монструозный квадратный USB-B разъем, когда можно было поставить miniUSB или USB type-C. Ну и конечно не могу еще не подсыпать горстку негодования по поводу настолько ужасного схематика, который составил производитель: ссылка. Ввиду его убогости - буду приводить в качестве сопровождения фрагменты фото платы, раз попался такой схематик.
Ох уж эта загадочная китайская душа…
Что там на борту
Но давайте отвлечемся от негодования и рассмотрим вкусности-интересности что имеются этой на плате и чем оно может быть полезно при обучении, какие практические кейсы можно будет разобрать с помощью этой платы. А насыпано всякого не мало!
В качестве центрального элемента, как уже рассказывалось выше - установлена микросхема ПЛИС Altera Cyclone IV, что в целом не плохой выбор для такой дешевой отладочной платы:
чип с медленным 8-м speedgrade (меньше - лучше, медленнее только 9-й), но в целом его более чем достаточно для решения большинства задач;
доступно 10320 логических ячеек;
для пользователя доступен 91 I/O пин, бОльшая часть которых разведена на PLS-гребенку с шагом 2.54мм;
645 logic units;
423936 бит встроенной оперативной памяти;
2 блока ФАПЧ (PLL);
выделенный DSP;
ПЛИС тактируется от внешнего генератора частотой в 50 МГц:
![](https://habrastorage.org/getpro/habr/upload_files/d62/15b/203/d6215b203ccc156a1fd0a76310912a1d.png)
Для хранения bitstream-прошивки используется традиционная SPI Flash Winbond W25Q16JV с общей емкостью в 16 Мбит. Также именуемая в Quartus как EPCS16:
![](https://habrastorage.org/getpro/habr/upload_files/f59/0c4/185/f590c41857e8bbdbc80be4aea1098f29.png)
Светодиоды, кнопки, индикаторы
Продолжим обзор рассмотрением того, с чем пользователь будет взаимодействовать непосредственно - это индикаторы, кнопки, светодиоды.
Для включения питания на плате, или вдруг, экстренного отключения платы - удобная кнопка включения питания, которая избавит от постоянного передергивания кабеля в разъеме, что будет особенно удобно в случае обучения. За это большое спасибо.
Если продолжить речь о кнопках - доступно 5 кнопок. Кнопка RESET, для сброса ПЛИС:
![](https://habrastorage.org/getpro/habr/upload_files/631/061/d9b/631061d9b253cd7ab3ef372916d7a610.png)
Затем, доступно для пользовательских кейсов 4 пользовательских кнопки, 4 светодиода, четырёхразрядный DIP-переключатель:
![](https://habrastorage.org/getpro/habr/upload_files/ac4/8b7/6ed/ac48b76eda78c4fc814610bd12e98197.png)
Как раз, на первых уроках эти штуки будут использоваться при знакомстве с тем, как работать с входными-выходными сигналами, но в учебном плане нет ничего про DIP-переключатель, видимо рассматриваться в курсе не будет. За то, можно будет потом поковыряться самостоятельно ? Однозначно, все эти элементы взаимодействия с юзером пригодятся в будущем.
Царь-индикатор, он же семисегментный индикатор на 4 разряда и рядом с ним разъем для подключения знакового LCD-дисплея с потенциометром для регуляции контрастности символов:
![](https://habrastorage.org/getpro/habr/upload_files/02c/258/5bb/02c2585bb3b0f8e3dbfc53f234c239b2.png)
Особенно интересно будет рассмотреть то, как можно будет с использованием семисегментного индикатора выводить нужные мне числа, например значения из памяти EEPROM, которая к слову тоже имеется на борту, но о ней чуть позже.
На плате расположен активный зуммер-пьезоизлучатель, с которым можно было бы рассмотреть разные кейсы, когда необходимо формировать ту или иную частоту. К слову, очень много связано кейсов с ним в ходе обучения:
![](https://habrastorage.org/getpro/habr/upload_files/37f/309/6f9/37f3096f9e6ac528574e1d1d9883e563.png)
И в самом низу платы притаился ИК-приемник, с помощью которого можно было бы сделать декодер команд с каких-нибудь пультов или управлять ПЛИС с помощью пульта ДУ. Кажется для доп. обучения можно понапридумывать себе много всяких разных кейсов.
Микросхемы и полезности
Теперь переходим, к самой мякотке, набору микросхем расположенных на плате. На плате расположена микросхема SDRAM HY57V641620FTP-H на 64 Mbit, которая к сожалению не рассматривается в курсе, ввиду большой сложности конечного автомата, который необходим для работы с ней.
![](https://habrastorage.org/getpro/habr/upload_files/516/75b/f02/51675bf02704bf5208d9a0a9afdaa901.png)
Момент печали и боли. При просмотре трассировки - стало интересно, а ровняли ли вообще дорожки? Ну а то, что сигнальные проводники протянуты через гребенку - я вообще молчу. Интересно, оно работоспособно вообще или нет…
Думаю, надо взять memtest на Verilog, проверить.
Но не стоит огорчаться раньше времени - тут на плате затаился датчик температуры от NXP - LM75A с интерфейсом I2C, и кажется тут могут быть весьма интересные кейсы, например, написать I2C Master Controller, им взять температуру с сенсора и вывести ее на 4-х разрядный семисегментник. Любопытная микросхема ?. Со слов человека, который рекомендовал эти курсы по ПЛИС - этот сенсор достаточно активно используется по ходу выполнения разных задач:
![](https://habrastorage.org/getpro/habr/upload_files/95d/2fa/f3b/95d2faf3b0693c03df9d9ddad689a5b8.png)
Помимо этого на плате имеется EEPROM AT24C08 с которой тоже можно поработать после изучения интерфейса I2C, сохранять на нее какую-нибудь информацию, полезная для обучения штучка. Но идем дальше.
Над температурным сенсором находится разъем для подключения к интерфейсу RS-232 и конвертер, который подключен к ПЛИС. Правда, для взаимодействия с ним, потребуется внешний RS-232 to USB конвертер, но это один из способов организовать низкоскоростное “общение” платы с ПК. К слову, этот модуль будет активно использоваться при обучении, интересно в каком кейсе…
Помимо древнего RS-232 интерфейса чуть выше расположен не менее древний разъем PS/2. Прям таки сборище динозавров :)
![](https://habrastorage.org/getpro/habr/upload_files/4a6/d25/03a/4a6d2503aa06d04816d8f6804b682a38.png)
Дальше, рядом с COM-портом, чуть ниже расположен разъем VGA. До сих пор не понимаю, зачем его суют во все отладки, лучше бы уж HDMI поставили:
![](https://habrastorage.org/getpro/habr/upload_files/190/0dd/b34/1900ddb342b9ccff950fd74b58bc6d96.png)
В курсе к слову, он не рассматривается. Ну и не жалко в общем-то…
Подводя итог и немного о PCB Электроникс
Кажется, что для практики по основным кейсам - в ходе обучения этой платы будет более чем достаточно. Конечно, она не лишена недостатков, о которых я упомянул выше - но за такую цену грешно жаловаться.
Завершая статью, я хотел бы немного подробнее рассказать о ребятах, которые проводят курсы по ПЛИС. Компания называется PCB Электроникс, и после изучения информации о них, сложилось впечатление, что они проделали много работы чтобы подготовить такой курс, который за 3.5 месяца сможет значительно прокачать скилл по ПЛИСоводству. Кажется, что любой желающий, будь то схемотехник, инженер-тестировщик (например, как я ?) или просто энтузиаст - без проблем могли бы погрузиться в вопросы посвященные цифровой схемотехнике, получили бы системные и структурированные знания о том, как организован флоу разработки программ на HDL-языках, чего порой мне самому не хватает.
Я всё заранее для вас разузнал, поэтому расскажу о курсе, как говорится из первых уст:
длительность курса, как уже сказал выше - 3.5 месяца или, если верить по учебному плану - 118 академических часов, что в целом - не мало;
формат обучения - дистанционные онлайн уроки, с огромным количеством практических заданий, с удобным выбором времени обучения, главное вовремя сдавать все;
в сопровождении - общий чат с группой обучения, индивидуальное менторство, которое возможно благодаря тому, что группы очень небольшие;
бесплатно предоставляется отладочная плата для обучения;
по факту обучения и сдачи итогового проекта - будет выдан документ государственного образца, что иногда важно для некоторых работодателей. Он, кстати, вносится потом в единую базу федеральной системы образования, где потом онлайн можно удостоверить проверяющего, что у вас есть этот документ ?
Поизучав отзывы, посмотрев на основной контингент обучающихся - можно сделать выводы, что обучение весьма востребовано. Обучение естественно не дешевое, но подумав сколько времени, нервов и сил я сэкономлю на быстром изучении того, что нужно, потребляя концентрат годноты и имея возможность задалбывать своими вопросами преподавателя, пока не получу ответ и объяснение на свой очередной вопрос - вложение кажется весьма рентабельным и сообразным.
Что касается всяких плюшек-скидок, если вдруг кому понадобится - можно получить 15% скидку по промокоду FPGA-Systems и 5% для сотрудников предприятий который связанны с электроникой. Для юридических лиц - действуют спец условия.
У PCB Электроникс еще есть сайт, на котором можно почитать о том кто преподает, что за обучения проходят вообще в рамках этого образовательного центра. Видел там курсы по схемотехнике, трассировке печатных плат, программированию микроконтроллеров, цены там же сразу опубликованы.
Учебный год, как полагается начинается 4 сентября. Точно знаю, что мест очень немного и их разбирают в первую очередь предприятия, надо успевать оформиться пока всё не заняли.
Ну а тем, кто сомневается, могу сказать, что имея непосредственное отношение к профессиональной разработке электроники я наблюдаю просто катастрофический дефицит кадров. И такие курсы открывают дорогу новичкам, желающим найти работу по новой специальности. По факту окончания обучения уже будут реальные, подкрепленные практикой базовые знания, которые позволят запрыгнуть в относительно простые проекты и с этого можно начать свой профессиональный рост. И так, с ростом реального уровня опыта и профессионализма - будет расти и доход, который можно извлекать из этой деятельности.
До встречи в следующих статьях, а может быть даже и на курсах! ;)
P.S. Чуть не забыл. Ниже я оставлю ссылки, которыми со мной поделились, когда я изучал информацию об обучающем центре, вдруг кому будет интересно:
Отзывы об обучении от тех, кто уже окончил курсы;
Примеры того, как преподаватель дает обратную связь по ходу обучения;
Они даже есть в Telegram
Ну и классика - электронная почта: info@pcbteach.ru
А, ну и всякое, чтобы придать официоза, лицензия на право оказания образовательных услуг;
Сама учебная программа, о которой я говорил выше, но это скорее формальный документ.