Я решил в этом сезоне закончить обзоры разнообразных плат с ПЛИС и переключиться на действительно сложные (для меня) технические задачи. И последний свой обзор в этом сезоне я решил посвятить плате с Altera Cyclone IV на плате от OMDAZZ, которой со мной любезно поделилась компания из Питера - “РСВ Электроникс” в которой я рассматриваю возможность пройти обучение основам Verilog и обобщить свои знания по цифровой схемотехнике, получить практические навыки, которые помогут мне решать новые для себя задачи, а затем писать для вас разные крутые статьи! ????
Обзор будет не самый обычный - я еще попутно расскажу о том, как с использованием этой платы и при помощи наставников из РСВ Электроникс я буду повышать свой скилл по работе с FPGA с около нулевого до достаточно уверенного junior-уровня. Не всё же просто обзоры делать с мигалками. Пора двигаться дальше! :)
Всем кого заинтересовала данная тема - прошу проследовать за мной (под кат)!
Комплект поставки
Начну обзор отладки традиционно, с рассмотрения того, что идёт в комплекте и как это было упаковано продавцом. Посмотреть основное описание комплекта и цены вы можете у продавца. В комплекте идет традиционный набор, необходимый минимум для работы:
отладочная плата, в приятном плексигласовом прозрачном корпусе на стойках;
китайская копия JTAG-программатора USB Blaster и miniUSB-кабель;
кабель USB Type-A - Type-B;
Если говорить о качестве упаковки - все было упаковано качественно, в антистатический пакет, правда без дополнительной пузырчатой пленки, но кажется, что отладка за счёт дополнительной “брони” в виде корпуса с огромной долей вероятности приедет в целости и будет не повреждена. Жаль, только , что не осталось фото с распаковки, но на сайте продавца можете самостоятельно посмотреть как продавец запаковывает платы.
Рассмотрим общее качество пайки, компоновки платы, отмыта ли плата от флюса и т.п. И первое, на что я сразу обратил внимание и после чего я почувствовал острый приступ недоумения - каким образом будет получен доступ до PLS-разъемов на плате, как переключать DIP-переключатель и как воткнуть LCD-дисплей?! WTF?!
Видимо придётся раскручивать корпус и дорабатывать его фрезой под себя. Ещё стоит отметить, что плата с другой стороны несколько в жирных подтёках от недоотмытого флюса - тоже оставили для меня, брать Flux-Off и идти отмывать, без вариантов.
Не знаю, насколько хорошо фото передаёт общее положение дел, но я попробовал, любуйтесь:
После еще заметил, что не хватает красной крышки на кнопке питания - пластиковой штучки для нажатия, просмотрев упаковку - не нашел ничего похожего, кажется либо я потерял, либо не доложили. Но могли бы приклеить, чтобы не отклеивалось, ну да ладно:
В целом, всё это конечно мелочи, на которые можно забить, особенно при стоимости платы за чуть больше чем в 4 тысячи рублей, но всё же, небольшой осадочек остался.
Быстренько осмотримся по отладке
Давайте быстренько ознакомимся, что тут нам предлагает производитель:
Сразу видно копипасту картинки из товара в товар - опечатка с наименованием используемого процессора, поэтому лучше своими глазами порассматриваем, что имеется на плате.
Что тут у нас там в самом центре? А тут красуется Altera Cyclone IV EP4CE10E22C8N:
Радует, что установлен чип относительно легко паябельный (в отличие от тех же BGA-корпусов), что позволит новичку в случае чего легко перебросить сожженный чип на новый. В обвязке доменов питания ПЛИС насыпано немного керамики. Перекрестимся и будем надеяться, что этого хватит для нормальной стабильной работы:
Плюсом, по фото выше видно, что вся нумерация портов ножек ПЛИС подписана шелкографией и не придётся ковыряться со схематиком в поиске нужных пинов. Зачет!
Что касается питания - тут прям всё как по стандарту, линейные преобразователи AMS1117 на 3.3V, 2.5V, 1.2V. Радует, что производители этой платы ушли от использования вырвиглазных синих светодиодов и поставили приятные оранжевые:
Но так осталось не понятно, зачем для питания платы от 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 МГц:
Для хранения bitstream-прошивки используется традиционная SPI Flash Winbond W25Q16JV с общей емкостью в 16 Мбит. Также именуемая в Quartus как EPCS16:
Светодиоды, кнопки, индикаторы
Продолжим обзор рассмотрением того, с чем пользователь будет взаимодействовать непосредственно - это индикаторы, кнопки, светодиоды.
Для включения питания на плате, или вдруг, экстренного отключения платы - удобная кнопка включения питания, которая избавит от постоянного передергивания кабеля в разъеме, что будет особенно удобно в случае обучения. За это большое спасибо.
Если продолжить речь о кнопках - доступно 5 кнопок. Кнопка RESET, для сброса ПЛИС:
Затем, доступно для пользовательских кейсов 4 пользовательских кнопки, 4 светодиода, четырёхразрядный DIP-переключатель:
Как раз, на первых уроках эти штуки будут использоваться при знакомстве с тем, как работать с входными-выходными сигналами, но в учебном плане нет ничего про DIP-переключатель, видимо рассматриваться в курсе не будет. За то, можно будет потом поковыряться самостоятельно ???? Однозначно, все эти элементы взаимодействия с юзером пригодятся в будущем.
Царь-индикатор, он же семисегментный индикатор на 4 разряда и рядом с ним разъем для подключения знакового LCD-дисплея с потенциометром для регуляции контрастности символов:
Особенно интересно будет рассмотреть то, как можно будет с использованием семисегментного индикатора выводить нужные мне числа, например значения из памяти EEPROM, которая к слову тоже имеется на борту, но о ней чуть позже.
На плате расположен активный зуммер-пьезоизлучатель, с которым можно было бы рассмотреть разные кейсы, когда необходимо формировать ту или иную частоту. К слову, очень много связано кейсов с ним в ходе обучения:
И в самом низу платы притаился ИК-приемник, с помощью которого можно было бы сделать декодер команд с каких-нибудь пультов или управлять ПЛИС с помощью пульта ДУ. Кажется для доп. обучения можно понапридумывать себе много всяких разных кейсов.
Микросхемы и полезности
Теперь переходим, к самой мякотке, набору микросхем расположенных на плате. На плате расположена микросхема SDRAM HY57V641620FTP-H на 64 Mbit, которая к сожалению не рассматривается в курсе, ввиду большой сложности конечного автомата, который необходим для работы с ней.
Момент печали и боли. При просмотре трассировки - стало интересно, а ровняли ли вообще дорожки? Ну а то, что сигнальные проводники протянуты через гребенку - я вообще молчу. Интересно, оно работоспособно вообще или нет…
Думаю, надо взять memtest на Verilog, проверить.
Но не стоит огорчаться раньше времени - тут на плате затаился датчик температуры от NXP - LM75A с интерфейсом I2C, и кажется тут могут быть весьма интересные кейсы, например, написать I2C Master Controller, им взять температуру с сенсора и вывести ее на 4-х разрядный семисегментник. Любопытная микросхема ????. Со слов человека, который рекомендовал эти курсы по ПЛИС - этот сенсор достаточно активно используется по ходу выполнения разных задач:
Помимо этого на плате имеется EEPROM AT24C08 с которой тоже можно поработать после изучения интерфейса I2C, сохранять на нее какую-нибудь информацию, полезная для обучения штучка. Но идем дальше.
Над температурным сенсором находится разъем для подключения к интерфейсу RS-232 и конвертер, который подключен к ПЛИС. Правда, для взаимодействия с ним, потребуется внешний RS-232 to USB конвертер, но это один из способов организовать низкоскоростное “общение” платы с ПК. К слову, этот модуль будет активно использоваться при обучении, интересно в каком кейсе…
Помимо древнего RS-232 интерфейса чуть выше расположен не менее древний разъем PS/2. Прям таки сборище динозавров :)
Дальше, рядом с COM-портом, чуть ниже расположен разъем VGA. До сих пор не понимаю, зачем его суют во все отладки, лучше бы уж HDMI поставили:
В курсе к слову, он не рассматривается. Ну и не жалко в общем-то…
Подводя итог и немного о PCB Электроникс
Кажется, что для практики по основным кейсам - в ходе обучения этой платы будет более чем достаточно. Конечно, она не лишена недостатков, о которых я упомянул выше - но за такую цену грешно жаловаться.
Завершая статью, я хотел бы немного подробнее рассказать о ребятах, которые проводят курсы по ПЛИС. Компания называется PCB Электроникс, и после изучения информации о них, сложилось впечатление, что они проделали много работы чтобы подготовить такой курс, который за 3.5 месяца сможет значительно прокачать скилл по ПЛИСоводству. Кажется, что любой желающий, будь то схемотехник, инженер-тестировщик (например, как я ????) или просто энтузиаст - без проблем могли бы погрузиться в вопросы посвященные цифровой схемотехнике, получили бы системные и структурированные знания о том, как организован флоу разработки программ на HDL-языках, чего порой мне самому не хватает.
Я всё заранее для вас разузнал, поэтому расскажу о курсе, как говорится из первых уст:
длительность курса, как уже сказал выше - 3.5 месяца или, если верить по учебному плану - 118 академических часов, что в целом - не мало;
формат обучения - дистанционные онлайн уроки, с огромным количеством практических заданий, с удобным выбором времени обучения, главное вовремя сдавать все;
в сопровождении - общий чат с группой обучения, индивидуальное менторство, которое возможно благодаря тому, что группы очень небольшие;
бесплатно предоставляется отладочная плата для обучения;
по факту обучения и сдачи итогового проекта - будет выдан документ государственного образца, что иногда важно для некоторых работодателей. Он, кстати, вносится потом в единую базу федеральной системы образования, где потом онлайн можно удостоверить проверяющего, что у вас есть этот документ ????
Поизучав отзывы, посмотрев на основной контингент обучающихся - можно сделать выводы, что обучение весьма востребовано. Обучение естественно не дешевое, но подумав сколько времени, нервов и сил я сэкономлю на быстром изучении того, что нужно, потребляя концентрат годноты и имея возможность задалбывать своими вопросами преподавателя, пока не получу ответ и объяснение на свой очередной вопрос - вложение кажется весьма рентабельным и сообразным.
Что касается всяких плюшек-скидок, если вдруг кому понадобится - можно получить 15% скидку по промокоду FPGA-Systems и 5% для сотрудников предприятий который связанны с электроникой. Для юридических лиц - действуют спец условия.
У PCB Электроникс еще есть сайт, на котором можно почитать о том кто преподает, что за обучения проходят вообще в рамках этого образовательного центра. Видел там курсы по схемотехнике, трассировке печатных плат, программированию микроконтроллеров, цены там же сразу опубликованы.
Учебный год, как полагается начинается 4 сентября. Точно знаю, что мест очень немного и их разбирают в первую очередь предприятия, надо успевать оформиться пока всё не заняли.
Ну а тем, кто сомневается, могу сказать, что имея непосредственное отношение к профессиональной разработке электроники я наблюдаю просто катастрофический дефицит кадров. И такие курсы открывают дорогу новичкам, желающим найти работу по новой специальности. По факту окончания обучения уже будут реальные, подкрепленные практикой базовые знания, которые позволят запрыгнуть в относительно простые проекты и с этого можно начать свой профессиональный рост. И так, с ростом реального уровня опыта и профессионализма - будет расти и доход, который можно извлекать из этой деятельности.
До встречи в следующих статьях, а может быть даже и на курсах! ;)
P.S. Чуть не забыл. Ниже я оставлю ссылки, которыми со мной поделились, когда я изучал информацию об обучающем центре, вдруг кому будет интересно:
Отзывы об обучении от тех, кто уже окончил курсы;
Примеры того, как преподаватель дает обратную связь по ходу обучения;
Они даже есть в Telegram
Ну и классика - электронная почта: info@pcbteach.ru
А, ну и всякое, чтобы придать официоза, лицензия на право оказания образовательных услуг;
Сама учебная программа, о которой я говорил выше, но это скорее формальный документ.
Комментарии (6)
iliasam
20.07.2023 09:54Смртрю, у VGA местного, похоже, даже ЦАП нет, так что пользователю будет доступно всего 8 цветов.
Удивляет, зачем разработчики поставили на плату разъем для древнего RS-232, уж лучше бы поставили FT232 и USB разъем.
А еще лучше - поставить ft2232, и развести ей все выводы, чтобы ее можно было использовать для скоростной передачи данныых.megalloid Автор
20.07.2023 09:54Да, я с тем же негодованием порой рассматриваю предложения по этим платам, единственное чем подкупает эта плата - 10К логических ячеек и цена. Ну и I2C девайсы на шине. Больше не могу выделить существенных каких-то плюсов...
DmitryZlobec
20.07.2023 09:54Вот для этого: https://github.com/fpga-logi/logi-pong-chu-examples/blob/master/pong-chu-logi-edu-examples-verilog/ch08/list_ch08_04_uart.v
Младшая плата идет на 6К элементов для нее этого обвеса более чем.
KeisN13
Ох помнится было время, когда только начиналась школа цифрового синтеза, мы делали отдельную группу, чтобы привезти эту отладку в несколько партий для бесплатной раздачи ученикам школы. У меня в гараже для раздачи лежало почти 150 отладок, которые я задолбался носить в СДЭК, я там почти прописался xD
DmitryZlobec
За что тебе огромное человеческое спасибо!