Comments 32
За 2 дня от светодиода до Верилога — это мощно. Было бы неплохо, чтобы в интернете появились подобные материалы написанные простым языком.
и задал вопрос, на который я расписал Владиславу ответ
Я сломал мозг пытаясь понять этот "вопрос". Ещё со скриншота:
Для многих открытие что для управления ездой по линии необязательно использовать процессор!
Простите меня, но вы все уже просто надоели с этим роботом. Для вас (него) это тоже было открытие в своё время — так может давайте ещё порассуждаем какие все глупые и не могут собрать 8086 из рассыпухи?
Я, будучи школьником, случайно попал на курсы PostgreSQL. Там тоже был такой заводной парень, который хотел научить детей всему что знал за неделю. Мне не передать словами, насколько это было неинтересно (при этом всём я очень любил кодить). ИМХО преимущества знания и программирования на ПЛИС также неочевидны по сравнению с ардуиной.
Вообще, попытайтесь придумать одну короткую фразу, почему нужно изучить ПЛИС. Это поможет правильно мотивировать студентов/учеников.
ПЛИС и Ардуино лежат в столь же разных областях, как учебник правил дорожного движения и учебник по конструированию автомобилей. Сколько бы вы не водили машину, вы не поймете, как работает ее двигатель. С Ардуиной люди пишут программу, с ПЛИС они конструируют электронную схему. Программируя Ардуино, невозможно понять, как сконструировано само Ардуино, а вот реализуя примеры на ПЛИС, можно за несколько итераций самому сконструировать простой процессор, подобный тому, который находится в Ардуино.
Как начать разрабатывать железо, используя ПЛИС — пошаговая инструкция
https://habrahabr.ru/post/250511/
и Введение в дизайн харвера микросхем для тех программистов, которые этим никогда не занимались
http://panchul.com/2011/07/28/basics-of-hardware-design-for-software-engineers/
Описание что такое ПЛИС из первого текста:
… внутри FPGA по сути находится конструктор из тысяч логических элементов наподобие элементов в K155ЛА3, но в FPGA их можно соединять не руками с помощью проводов, а меняя содержимое специальной памяти, биты которое соединены с мультиплексорами, которые меняют логические функции ячеек FPGA и соединения между ними:
Описание RTL2GDSII flow — маршрут проектирования современных массовых микросхем, к которому идет путь от упражнения с ПЛИС (из второго текста):
В последние 25 лет дизайн чаще всего пишется на языке Verilog (в Европе и у военных – VHDL), после чего специальная программа (logic synthesis) превращает дизайн в граф из проводов и логических примитивов, другая программа (static timing analysis) сообщает дизайнеру, вписывается ли он в бюджет скорости, а третья программа (place-and-route) раскладывает этот дизайн по площадке микросхемы.
Когда дизайн проходит все этапы: кодирование на верилоге, отладка, верификация, синтез, static timing analysis, floorplanning, place-n-route, parasitics extraction и т.д. – получается файл под названием GDSII, который отправляют на фабрику, и фабрика выпекает микросхемы. Самые известные фабрики этого типа принадлежат компании Taiwan Semiconductor Manufacturing Company или TSMC.
ПЛИС и Ардуино лежат в столь же разных областях, как учебник правил дорожного движения и учебник по конструированию автомобилей.
Это для вас как для эксперта, а для детей — и то и другое просто содержат логику робота. Т.е. меньше теории, больше практики. Теория интересна, в лучшем случае, студентам вузов.
https://geektimes.ru/post/264234/
Я участвую в конференциях DAC c 1996 года и замечаю, когда те или иные темы становятся модными. Текущая мода — повышенный интерес к тематике ПЛИС / FPGA. Причем эта тематика популярна в этом году не только на DAC, но и среди нетехнических СМИ — в связи с покупкой Интелом компании по разработке FPGA под названием Altera. За $16.7 миллиардов долларов!
Когда в марте по интернету пошли слухи о сделке Intel-Altera, многие журналисты просто не поняли, чем занимается компания, за которую Интел решил уплатить такие бешенные деньги. Один домыслил, что Альтера якобы «главный конкурент интела по процессорам» (при том, что альтеровские FPGA — это вообще не процессоры, хотя процессор может стоять рядом с reconfigurable gates), другой — что Альтера якобы «производитель телекоммуникационного оборудования» (никакого телекоммуникационного оборудования Альтера не производит), третий — что Альтера якобы «контрактный производитель микросхем» аки TSMC (при том, что у Альтеры вообще нет своих фабрик).
Что такое ПЛИС / FPGA я на пальцах объяснил в другом посте на Хабре — Как начать разрабатывать железо, используя ПЛИС — пошаговая инструкция. Но повторим эту информацию снова:
В самом простом варианте FPGA состоит из матрицы однородных ячеек, в функцию каждой из которых можно поменять с помощью мультиплексоров, подсоединенных к битам конфигурационной памяти. Одна ячейка может стать гейтом AND с четырьмя вводами и одним выводом, другая — однобитным регистром и т.д. Загружаем в конфигурационную память последовательность битов из памяти — и в FPGA образуется заданная электронная схема, которая может быть процессором, контроллером дисплея и т.д.
ПЛИС-ы / FPGA — не процессоры, «программируя» ПЛИС (заполняя конфигурационную память ПЛИС-а) вы создаете электронную схему (хардвер), в то время как при программировании процессора (фиксированного хардвера) вы подсовываете ему цепочку написанных в память последовательных инструкций программы (софтвер).
Внизу — схема простейшего блока FPGA, в который входит look-up table (LUT) и flip-flop. Правда в этой схеме не показаны мультиплексоры, которые меняют функцию ячейки, и соединения с конфигурационной памятью.
Диаграммы, иллюстрирующие структуру FPGA:
И еще одна:
или вот еще:
https://geektimes.ru/post/264234/
Но как это возможно — для студента сделать микросхему? Ведь начальная плата за производство коммерческой партии микросхем на фабрике типа тайваньской TSMC (сноска: Taiwan Semiconductor Manufacturing Company), как правило, превышает миллион долларов.
Ответом является технология, которая называется FPGA (аббревиатура от англ. field programmable gate array, “программируемые пользователем вентильные матрицы”). Это специальные микросхемы, которые представляют собой матрицы из ячеек, логические функции и соединения между которыми можно многократно менять после изготовления. Они гораздо дороже и медленнее, чем обычные специализированные микросхемы, но для них нет “начального взноса” на производство. Сейчас на рынке есть студенческие платы с FPGA стоимостью менее $100, поэтому студенту и университетам для экспериментирования больше не нужно выкладывать крупные суммы. Более того, он может неограниченно менять формируемую в FPGA электронную схему, просто меняя ее конфигурационную память через кабель, подсоединенный к компьютеру. По гибкости это похоже на программирование, хотя суть другая — в программировании меняется последовательность инструкций процессора (программа, software), а в FPGA можно изменить сам процессор (аппаратура, hardware).
Да, собирать 8086 из рассыпухи — занятие довольно нудное и неэффективное. Но простейший процессор на языке описания хардвера Verilog — это всего-лишь несколько сотен строк кода, его можно превратить синтезом в работаюшее устройство, прошитое FPGA, и школьник навсегда поймет как устроена хардверная начинка цифровых микросхем.
Вы, пожалуй, первый кто перевернет реальность детворы)
1. Экономическая целесообразность применения простой логики и микроконтроллеров (МК дешевле чем россыпь микросхем логики)
2. Пригодность ремонта изделия.
3. Применение в практике полученных знаний.
Наверняка, очень маленькое количество детей заинтересовавшихся электроникой будут в будущем разрабатывать софтверную часть на какую-нибудь компанию для потребительской бытовой электроники.
Большинству в жизни знания пригодятся лишь для самостоятельного ремонта заводских изделий и для разработки собственных девайсов сугубо под себя. При этом нужно учитывать, что все изделия изготавливаются на зарубежной элементной базе, что в будущем (да и в настоящем) может стать проблемой с ремонтом.
ИМХО, самый приятный и запоминающийся процесс обучения — это практика. То есть, принести неработающий аппарат — и дать его починить. Ну и проследить за ходом мысли тех, кто и как его будет чинить.
Цели:
1. Для большинства школьников — дать общее представление о логических кирпичиках, из которых строятся микросхемы внутри — концепции логического элемента, тактового сигнала, D-триггера, и общая идея как из этого конструируются устройства. Так же как в школе учат программирование, с концепциями переменной, цикла, условного выполнения.
2. Для особо заинтересовавшихся — вход в область разработки высокоинтегрированных гетерогенных микросхем, типа тех которые проектируются внутри Apple, Samsung итд. При этом микросхемы малой степени интеграции используются лишь как кратковременная промежуточная ступенька, а основные навыки разработки цифровой логики даются на ПЛИС/FPGA. Эти навыки потом можно перенести на разработку ASIC-ов. Сейчас эта область имеет шанс стать более массовой из-за появления специализированных чипов для фрагментированного рынка интернета вещей, а также возникновения специализированных чипов для компьютерного зрения и AI.
Цель этих упражнений — это не научить чинить бытовую электроникуа какая польза им будет от полученных знаний в наших современных условиях? Знания то интересно где-то применять, а не просто знать.
В любой теоретической части есть один большой недостаток — когда её много и она не подкрепляется практикой на примерах. Это сравнимо с тем, когда студенту диктуют в конспект одну теорию, и в какой-то момент он перестаёт понимать о чём идёт речь, но продолжает писать дальше в конспект. «Кирпичики» это не только основа, а по прежнему используемая элементная база в любой схемотехнике. Вот тут очень хороший пример:
а также не противостояние «микросхемы малой степени интеграции против микроконтроллера»к сожалению, сейчас именно это и происходит, по причине дешевизны МК и меньших затрат на разработку и производство. + отремонтировать эту плату становится не возможно, из-за закрытого софта МК — что опять же на руку производителю. Есть электроника, где много режимов работы и цифровая индикация — там без МК вышла бы огромная плата. Но мне попадались чайники, пылесосы, вентиляторы, миксеры/измельчители где всего лишь одна или две кнопки вкл и выкл. И МК фактически применялся для создания паузы после включения и/или плавного запуска двигателя.
Смысл не в том, что бы не учить программированию МК, те кто захочет знать больше базовых знаний о них, сами проявят инициативу. Тут смысл именно в использовании полученных знаний.
У меня есть несколько знакомых с образованием и опытом работы в сфере связанной с обслуживанием и ремонтом электронной аппаратуры. Все они бросили этим заниматься в своё время. Сейчас это просто не выгодно (цена ремонта порой получается дороже самого изделия).
Если бы к примеру было так:
К любому заводскому устройству прикладывались на сайте производителя исходники кода с комментариями, сам файл прошивки, а так же схема. Собственно оно так и должно быть, а не тот беспредел что есть сейчас.
Тогда и код можно подпилить не только себе, но и для кого-нибудь другого. А так же починить само устройство, если неисправен МК. И не важно, наш или не наш там МК.
Сейчас, у каждой шараги свои коммерческие и технические тайны, и ни кто не хочет ничего показывать.
А как школьнику захотеть стать инженером, если он понятия не имеет в чем состоит собственно работа инженера?водить на экскурсии по предприятиям от школы и в рамках таких мероприятий как в этой теме надо. Тогда и представление будет.
Кроме того, в таком случае делать клоны на устройства будет становиться все проще и проще. Это по меньшей мере глупо с точки зрения разработчика. Это вообще дискуссия не по теме, по крайней мере вы в ней не сильно разбираетесь. Электроника сейчас очень востребованное направление, многие айти фирмы открывают отделы по разработке, но у них большой недостаток квалифицированных кадров.
Специальности связанные с электроникой не сильно востребованы, поскольку школьники и их родители не понимают что это такое и что из себя представляет работа по данному направлению, какие перспективы она открывает. Посему подобные мероприятия очень даже полезны.
водить на экскурсии по предприятиям от школы и в рамках таких мероприятий как в этой теме надо. Тогда и представление будет.
Вы бывали на таких экскурсиях? Я была и не один раз. Они вообще ничего не дают, это показные выступления без всякой необходимой конкретики. Равно как и дни открытых дверей в университетах. Совсем другое дело, когда ты работаешь с производителем и тебе проводят экскурсию =)
1. Принесли глянуть кухонный комбаин bosch. В нём, кроме двигателя, пары концевых выключателей и небольшой (со спичечный коробок) платы с МК PIC16F… ничего нет. По большому счёту даже из рассыпухи-обвязки мало что есть. По всем признакам полетела прошивка в МК, потому что, всё что можно было прозвонить и проверить — всё проверил.
Звоню в официальный сервис.центр: стоимость заменяемой платы 50$ + ещё 50$ за ремонт. А не слишком ли это жирно за устранение программной ошибки в устройстве? Этот МК от силы стоит наверно 1$.
2. Посудомоечная машина в одном ресторане. На постоянной основе там есть человек, который не плохо разбирается в электрике и все неисправности в том числе по концевикам, пускателям, клапанам — всё делает сам, на протяжении многих лет. Но в один день, на табло вылезла ошибка С8, смысл её в том, что даже после устранения неисправности необходимо вызвать специалиста, который определённой комбинацией клавиш зайдёт в сервисное меню и сбросит ошибку в МК. Приехали специалисты, которые просидели пол дня обзванивая своих коллег, так как на данную модель посудомойки в сервис-мануале не написано как входить в сервисное меню и сбрасывать ошибки.
А ещё производители частенько любят не ставить блокировочные конденсаторы по питанию МК и другой электроники, а так же не делать гальваническую развязку между МК и управляемой высоковольтной частью (например симисторы).
Это всё к тому, что весь технический прогресс сводится к платной подписке обслуживания. Вначале посадить клиента на «крючёк», а затем выкачивать деньги.
Кроме того, в таком случае делать клоны на устройства будет становиться все проще и проще. Это по меньшей мере глупо с точки зрения разработчика.Не только разработчика, а всей этой коммерческой организации. Основная цель производителя не сделать жизнь людей лучше, а получение прибыли. По этой причине, ничего не показывают и не рассказывают на экскурсиях. Производителю это не принесёт выгоды.
Алгоритмы не берутся из готовой коробки алгоритмов, они создаются. Использование МК один из способов защитить свою разработкуесли это основная цель обучения и получения образования, кто будет и самое главное зачем делиться своими знаниями и опытом? Какой смысл растить конкурентов под своим боком? Изначально выстроен барьер в получении знаний, так и в практике их применений.
Цель таких занятий — изменить такую ситуацию, чтобы повысить долю российских микросхем в мире. Вот несколько слайдов из одной из моих презентаций на тему:
Скоро убежим все в WEB программирование =)
Между транзистором и Ардуиной: планирование семинаров по электронике для школьников в Киеве и Новосибирске