layout | image | description | permalink |
---|---|---|---|
education |
/img/education.jpg |
Підбірка відкритих матеріалів для вивчення електроніки з нуля |
/education/ |
June 23, 2021
Публікуємо підбірку відкритих матеріалів для вивчення електроніки з нуля. Всі прилади, необхідні для навчання за цими курсами, безкоштовно доступні у нас в лабі.
Для тих, хто має намір почати вивчати електроніку кращим вибором буде Arduino, через простоту використання і велику кількість практичних прикладів.
-
Курс на Амперці{:target="_blank"} з нуля навчить вас користуватися платформою Arduino, підключати і використовувати кнопки, світлодіоди, сенсори, мотори, бездротовий зв'язок. Ці відео є перекладом на російську мову всесвітньо відомих лекцій Джеремі Блюма. Для перевірки перших схем рекомендуємо безкоштовні симулятори (симулятор1{:target="_blank"}, симулятор2{:target="_blank"}). Коли пристрої почнуть правильно працювати в симуляторі, можна переходити на реальні схеми.
-
Ще один дуже хороший варіант для вивчення Arduino і електроніки з нуля — це курс від МФТІ на Coursera{:target="_blank"}, де пояснюється, як працювати з Arduino і будувати на її основі роботів з керуванням через Інтернет, робити різну автоматизацію та користуватися 3D принтером.
-
Ще кілька гарних курсів по Arduino англійською: Раз{:target="_blank"}, Два{:target="_blank"}.
-
Лінк на сторінку{:target="_blank"} з описом підключення 100500 сенсорів і актуаторів до Arduino, з прикладами коду.
-
Інформація про те{:target="_blank"}, як керувати недорогими платами на зразок Arduino і Raspberry Pi із Labview, використовуючи весь функціонал цієї програми для створення складних автоматизованих вимірювально-керуючих комплексів. Така можливість з'явилася завдяки фреймворку Linx{:target="_blank"}.
-
Гарна оглядова стаття{:target="_blank"} для швидкого початку роботу з хмарним середовищем розробки і бібліотекою MBED для плат STM32 Nucleo. Платформа MBED така ж проста у вивченні, як і Arduino, але орієнтована на більш потужні STM32 мікроконтролери.
-
Шикарна книга{:target="_blank"} з основ електроніки та Embedded! Книга дуже цікава та інформативна. Доступно викладена теорія і багато працюючих прикладів схем і коду. Детальніше тут{:target="_blank"}
-
Arduino — всього лише ази електроніки. Щоб стати професіоналом вам знадобляться хороші знання аналогової схемотехніки. В їх отриманні вам допоможе кращий в світі онлайн курс від MIT — Circuits and Electronics: Частина 1{:target="_blank"}, частина 2{:target="_blank"}, частина 3{:target="_blank"}.
-
Для тих, хто не дуже добре знає англійську, є хороший онлайн курс з електроніки{:target="_blank"} українською мовою.
-
Як підручник з аналогової схемотехніки рекомендуємо Тітце, Шенк "Напівпровідникова схемотехніка": Том 1{:target="_blank"}, Том 2{:target="_blank"}.
-
І нарешті, ось ще один гарний ресурс{:target="_blank"} з аналогової схемотехніки.
-
А ось круті відео лекції{:target="_blank"} російською, зняті за матеріалами Хоровіца і Хілла — біблії аналогової електроніки. На каналі цього викладача також є відмінні відео з електрики, магнетизму і оптики.
-
Дуже гарний канал{:target="_blank"} для вивчення електроніки з нуля. Розглянуто основи електроніки (струм, напруга, резистори, конденсатори, індуктивності), транзистори, тиристори, трансформатори, підсилювачі, джерела живлення, генератори, операційні підсилювачі, компаратори, передавачі і ще багато всяких цікавинок! Крім теорії автори симулюють описувані схеми, збирають реальні пристрої і демонструють їх роботу. Все максимально доступно і наочно. Ідеальний підручник для початківців — простий опис і максимум практики.
-
Якісні лекції і туторіали з аналогової схемотехніки від Analog Devices: Лекції{:target="_blank"}, туторіали{:target="_blank"}.
-
Круті лабораторні роботи{:target="_blank"} з аналогової електроніки від Analog Devices. Дуже рекомендуємо. Нічого кращого поки не зустрічали. У лабах розглянуті безліч цікавих схем: підсилювачі, джерела струму і напруги, генератори, аналогові ключі, ФАПЧ, DC-DC перетворювачі і багато чого ще. Чітко прописані завдання та контрольні запитання. Схеми прості, наочні і робочі. По кожній схемі є готова модель для дослідження у відкритій версії комерційного SPICE симулятора SIMetrix. Лабораторні роботи заточені під вимірювальні комплекси Analog Discovery 2 (які є у нас в лабі), але можуть бути виконані на будь-якому іншому обладнанні. Для тих, хто бажає вивчати аналогову електроніку — матеріал першочергової важливості. Також матеріал можна брати за основу університетських лаб зі схемотехніки.
-
Лабораторні роботи{:target="_blank"} з аналогової схемотехніки на крутих платах ASLK-PRO, які є у нас в лабі.
-
Підбірка матеріалів{:target="_blank"} зі створення аналого-цифрових схем на базі мікросхем програмованої логіки від Dialog Semiconductor (стара назва Silego).
-
Ютуб канал з докладними уроками по створенню і моделювання аналогових мікросхем в Cadence Virtuoso. У цій програмі проектують аналогову частину багатьох сучасних чіпів (підсилювачі і перетворювачі сигналів, компоненти сенсорів, силові ланцюги, і т.д.). Плейліст{:target="_blank"} з основами роботи в Virtuoso. Плейлісти{:target="_blank"} з більш серйозними темами (проектування диференційних і операційних підсилювачів, bandgap джерела опорної напруги і т.д.). Ліцензія на Cadence Virtuoso коштує величезних грошей, але для використання в освітніх цілях студенти часто скачують програму з рутракера{:target="_blank"}.
-
Курс{:target="_blank"} з GNU Electric, що є однією з небагатьох відкритих програм для розробки чіпів.
-
Два навчальних відео{:target="_blank"} про те, як користуватися нескладним симулятором аналогових схем LTSpice. А ось великий англомовний плейліст{:target="_blank"} на ютубі на цю ж тему.
-
Щоб розуміти як працює процесор, необхідно вивчити основи цифрової схемотехніки. Для цього радимо пройти україномовний курс{:target="_blank"}.
-
А тут{:target="_blank"} лабораторні роботи з основ цифрової схемотехніки і мови Verilog до курсу з попереднього пункту.
-
Для вивчення цифрової схемотехніки дуже рекомендуємо переклад бестселера "Digital Design and Computer Architecture"{:target="_blank"}. У книзі доступно описана цифрова схемотехніка та основи Verilog, а також архітектура RISC процесорів на прикладі MIPS і різні варіанти реалізації цієї архітектури, у т.ч. конвеєрна. В кінці описана кеш пам'ять, доступ до периферії і менеджер віртуальної пам'яті. Ця книга — однозначний мастрід.
-
Слайди{:target="_blank"} університетського курсу цифрової схемотехніки за матеріалами книги з попереднього пункту. По суті, компактний переказ вмісту книги.
-
Відмінна стаття{:target="_blank"} з основ конвеєризації в обчислювальних системах.
-
Дуже хороший проект для розуміння принципів роботи обчислювальних систем. Це простий комп'ютер з 17-ти мікросхем з саморобним процесором. Інформацію можна вводити через 4 кнопки, виводити на LCD екран і динамік. Є схема, рекомендації по складанню, асемблер, симулятор, приклади програм. Стаття на Хабрі{:target="_blank"}, Сайт автора{:target="_blank"}.
-
Крутий плейліст{:target="_blank"} де показується, як створити 8-бітний комп'ютер на макетній платі. Детально розбирається кожен вузол: логічні елементи, тригери, суматори та інші арифметико-логічні пристрої, лічильники, EEPROM та її програмування за допомогою Arduino, шини, тощо.
Знання схемотехніки це, звичайно, добре, але часто потрібно вміти працювати з уже готовими процесорами і контроллерами.
-
Дуже популярним сімейством мікроконтролерів є AVR. Багато плат Arduino побудовані саме на базі AVR. Ось хороший курс{:target="_blank"} по AVR мікроконтролерам.
-
Відмінні курси по мега популярним і затребуваним на ринку мікроконтролерам STM32: Раз{:target="_blank"}, Два{:target="_blank"}, Три{:target="_blank"}.
-
Також рекомендуємо дуже хороший онлайн курс на edX (англійською), в якому вас з нуля навчать створювати embedded systems на базі мікроконтролерів Texas Instruments (основаних на ядрі ARM Cortex): Частина 1{:target="_blank"}, Частина 2{:target="_blank"}.
-
А ось ще один крутий курс{:target="_blank"} від тих же викладачів, але вже по бездротових технологіях та операційних системах реального часу. "Real-Time Bluetooth Networks - Shape the World".
-
Відео лекції{:target="_blank"} з конфігурованих систем-на-кристалі PSoC від Cypress. PSoC це аналого-цифрові мікросхеми програмованої логіки, що містять ARM процесср, а також операційні підсилювачі, аналогові компаратори, АЦП і ЦАП, які можна з'єднувати довільним чином всередині чіпа. Деякі моделі містять вбудований BLE. Детальніше тут{:target="_blank"}. Можна глянути десятки{:target="_blank"} прикладів{:target="_blank"} проектів.
-
ConnectedMCU — чудовий курс по мікроконтролерам PIC32 на базі процесорного ядра MIPS і операційній системі реального часу FreeRTOS. Цей курс, що включає в себе і лаби, розробив професор Олександр Дін з університету штату Північна Кароліна, США. Загальний опис можна читнути тут{:target="_blank"}. Сам курс можна безкоштовно завантажити з сайту MIPS{:target="_blank"}, попередньо зареєструвавшись в університетській програмі компаніі. По матеріалами курсу є кілька відосіков{:target="_blank"}.
-
А ось цикл воркшопів{:target="_blank"} з старого приміщення нашої лаби по вступу до Інтернету Речей. Дуже багато корисної інформації з практичними прикладами. За посиланням детально все розписано.
-
Підбірка матеріалів{:target="_blank"} по вивченню плати BBC Microbit. Плата дуже крута. Її вартість всього 15$. При цьому на платі є ARM Cortex-M0, BLE, акселерометр, магнітометр, екранчик з 25 світлодіодів і дві кнопки.
-
Шикарні лаби{:target="_blank"} по Bare Metal x86 Assembler. Мова йде про створення програм на x86 ассемблері та С з асемблерними вставками без ОС. Розглядається реальний режим, BIOS, переривання, скрипт лінкера, захищений режим, адресація в захищеному режимі, робота з VGA (як через int10h, так і через відеопам'ять), UEFI, GRUB, робота з залізом (клава, миша, RTC, таймер). Всі приклади запускаються як в QEMU, так і завантаженням з флешки. Компіляція прикладів відбувається дуже просто, за допомогою make.
-
Ютуб канал{:target="_blank"} від Keysight. Багато відео про осцилографи та іншу вимірювальну техніку. Приклади цікавих плейлістів: Один{:target="_blank"}, Два{:target="_blank"}
-
Семінар{:target="_blank"} по проведенню випробувань на електромагнітну сумісність.
-
Багато навчальних відео{:target="_blank"} по користуванню вимірювальними приладами від Rohde & Schwarz
-
Шикарна підбірка вебінарів від Rohde & Schwarz по налагодженню швидкісних інтерфейсів: Один{:target="_blank"}, Два{:target="_blank"}, Три{:target="_blank"}
-
Інформація по тестуванню друкованих плат через JTAG: Один{:target="_blank"}, Два{:target="_blank"}
-
Вимірювання{:target="_blank"} девіації частоти з використанням аналізатора спектру і режиму Peak Hold (Min-Max)
-
Навчальний фільм{:target="_blank"} про технологію виготовлення мікросхем на заводах Intel, перекладений нами на українську мову.
-
Надзвичайно цікаве відео{:target="_blank"} по реверс інжинірингу чіпів. Автор дуже цікаво розповідає про сучасні методи злому апаратного криптографічного захисту (наприклад, в смарт картах). Матеріал викладається дуже доступно. Буде зрозуміло навіть людям без серйозного бекграунду в електроніці.
-
Ще одне круте відео{:target="_blank"} про апаратні атаки від Іллі Кухаренко.
-
Дві відео лекції від інженерів компанії Melexis з проектування{:target="_blank"} і верифікації{:target="_blank"} цифрових мікросхем.
-
Відео{:target="_blank"} про те, як створити свій процесор.
-
Підбірка відео лекцій{:target="_blank"} по всім етапам розробки і виготовлення мікросхем від інженера Silicon Valley Чарльза Данчека.
-
Знаючи основи цифрової схемотехніки, можна переходити до вивчення способів розробки власних мікросхем, процесорів і цифрових фільтрів на мові Verilog. Рекомендуємо величезний відео курс{:target="_blank"} по цим напрямкам.
-
А в цьому дуже відомому курсі{:target="_blank"} на Coursera вас навчать проектувати складні сучасні процесори з кеш пам'яттю, конвеєром, віртуальною пам'яттю, багатопоточністю, прогнозуванням переходів та багатьма іншими крутими технологіями.
-
Підбірка ресурсів{:target="_blank"} для вивчення комерційного процесора MIPSfpga з відкритим вихідним кодом.
-
Детальний опис найпростішого SDRAM контролера для MIPSfpga: Частина 1{:target="_blank"}, частина 2{:target="_blank"}. Матеріал цікавий тим, що більшість серйозних SDRAM контролерів дуже складні і розібратися в їх реалізації непросто для новачка. А тут всі основи розкладено по поличках. Рекомендуємо звернути увагу тим, хто починає вивчати розробку процесорів.
-
Кілька хороших статей з проектування систем-на-кристалі на базі FPGA, які написав наш активний учасник Олег Плотніков.
У першій статті{:target="_blank"} Олег докладно описує, як перенести MIPSfpga на плату Digilent cmod A7 на основі Xilinx FPGA Artix-7 (з використанням Vivado) і як програмувати створену систему з використанням комерційного тулчейна Codescape, як підключити до MIPSfpga семисегментний індикатор.
У другій статті{:target="_blank"} Олег показує, як створити апаратний контролер клавіатури, інтегрувати його в систему-на-кристалі і програмно зчитувати коди натиснутих клавіш.
У третій статті{:target="_blank"} показано, як інтегрувати з MIPSfpga АЦП, вбудований в FPGA Artix-7 і як за допомогою цього АЦП вимірювати напругу на фоторезисторі. Тут же описано, як підключити до MIPSfpga LCD дисплей від Nokia 5100 за допомогою саморобного апаратного SPI контролера.
-
Підбірка відкритих програм{:target="_blank"} для створення цифрових мікросхем.
-
Про те, як безкоштовно виготовити розроблені вами мікросхеми: Частина 1{:target="_blank"}, частина 2{:target="_blank"}.
-
Підбірка відкритих вихідних кодів компонентів цифрових мікросхем: Частина 1{:target="_blank"}, частина 2{:target="_blank"}.
-
Відкритий ресурс{:target="_blank"} з матеріалами для вивчення верифікації цифрових мікросхем. Верифікація мікросхем зараз дуже затребувана, оскільки більшість сучасних багатоядерних процесорів та інших мікрух проектуються з готових і налагоджених компонентів, які називаються IP Cores. Тому значна частина часу відводиться на перевірку узгодженості взаємодії між частинами системи і оцінку того, на скільки функціонування створеного чіпа відповідає специфікації.
-
Приклад багаторівневого тестбенчу на мові System Verilog для верифікації скінченного автомату. Опис проекту{:target="_blank"}, Вихідний код{:target="_blank"}, Книга{:target="_blank"} з основ верифікації.
-
Чудові навчальні матеріали{:target="_blank"} по Verilog та FPGA. Розглянуто основи Verilog і цифрової схемотехніки, робота в Vivado і ISE, створення тестбенчів, метастабільність і таймінги, реалізація SPI та UART інтерфейсів, керування світлодіодами за допомогою PWM, робота з DDR пам'яттю, створення і програмування софтпроцесора MicroBlaze. Шикарний матеріал для тих, хто хоче почати працювати з Xilinx.
-
Підбірка інформації{:target="_blank"} по користуванню безкоштовним хмарним середовищем edaplayground для розробки мікросхем
-
Цікаві уроки{:target="_blank"} по мові Verilog для FPGA Lattice. Розглядаються тригери, регістри, мультиплексори, подільники частоти, генерація звукових тонів, простенький UART, нескладний мікропроцесор. Verilog код досить толково написаний, тому лаби не приведуть до появи поганих звичок.
-
Шикарний ютуб канал{:target="_blank"} з вебінарами по цифровому дизайну, Veriog, VHDL, верифікації.
-
Вебінари по створенню апаратної реалізації нейромереж в Matlab з використанням Deep Learning HDL Toolbox: один{:target="_blank"}, два{:target="_blank"}
-
Матеріал{:target="_blank"} про створення нейромереж на FPGA з використанням фреймворку LeFlow
-
Підбірки матеріалів по створенню апаратної реалізації алгоритмів в Matlab/Simulink: один{:target="_blank"}, два{:target="_blank"}
-
Шикарний плейліст{:target="_blank"} по цифровій обробці сигналів (DSP) в Matlab.
-
Чудова книга{:target="_blank"} по основам цифрової обробки сигналів (DSP). Називається "The Scientist and Engineer's Guide to Digital Signal Processing". Мінімум математики, пояснюється суть процесів і причинно-наслідкові зв'язки. Дуже добре підійде для початківців.
-
Класична настільна книга{:target="_blank"} по цифровій обробці сигналів від Лайонса. З прикладним ухилом. Доступно описане дуже широке коло питань! Одна з улюблених наших книг!
-
Гарні російськомовні ресурси з описом алгоритмів цифрової обробки сигналів (DSP) та програмно визначеного радіо (SDR): один{:target="_blank"}, два{:target="_blank"}
-
Шикарний набір прикладів{:target="_blank"} цифрової обробки сигналів на Python. У цього ж користувача на github є чудові репозиторії з прикладами по основам Python{:target="_blank"}, прикладами машинного навчання{:target="_blank"} на Python і прикладами нейронних мереж{:target="_blank"} на Python
-
Тонни інформації{:target="_blank"} по алгоритмам цифрової обробки аудіо сигналів.
-
Потужна книга{:target="_blank"} по алгоритмам цифрового радіо з прикладами в Matlab для RTL SDR та Ettus USRP. Розглянути багато прикладів практичних задач
-
А ось крутий курс{:target="_blank"} з Berkeley по радіопередачі і цифровій обробці сигналів з дуже цікавими лабами.
-
Цікава відео лекція{:target="_blank"} від Олександра Мазуренко про сучасні засоби бездротового зв'язку.
-
Ще одна чудова відео лекція{:target="_blank"} від Олександра Мазуренко про застосування засобів безпроводового зв'язку з прямим розширенням спектру. Детальніше про відео тут{:target="_blank"}
-
Підбірка матеріалів{:target="_blank"} по вступу до SDR.
-
Підбірка матеріалів{:target="_blank"} по роботі з RTL-SDR.
-
Ютуб канал{:target="_blank"} з проектами для недорогої і популярної SDR плати HackRF.
-
Вище вже було посилання на курс по DSP в Matlab. А тут{:target="_blank"} знайшли крутезний набір відео тьюторіалів, в яких показується, як створити в Matlab Simulink модель гоночної машинки з дистанційним керуванням, модель контролера керування електродвигунами такої машини, як налаштувати параметри контролера, промоделювати то все в Matlab і як потім з моделі контролера двигунів в Simulink згенерувати вихідний код такого контролера для обраної платформи (TI C2000, STM32, etc). А ось ще кілька додаткових відео з цього напрямку: один{:target="_blank"}, два{:target="_blank"}, три{:target="_blank"}
-
Гарне відео{:target="_blank"} про те, як налаштувати PID контролер в Matlab при невизначених параметрах моделі (на прикладі контролеру дросельної заслонки). А у якості бонуса тримайте багато коротких і доступних відосів{:target="_blank"} по Control Theory.
-
Як програмувати{:target="_blank"} STM32-Discovery з Matlab
-
Багато російськомовних відео{:target="_blank"} по Matlab
-
Цікавезна підбірка{:target="_blank"} відео про те, як керувати роботами за допомогою Matlab та ROS (Robot Operating System). З відео ви дізнаєтесь: 1) Як почати працювати з ROS - фреймворком для керування роботами; 2) Розпізнавання і генерація мови за допомогою Matlab та ROS; 3) Навігація. Побудова і збереження карт місцевості; 4) Комп'ютерний зір. Розпізнавання і відслідковування об'єктів; 5) Керування маніпуляторами. Також є вихідний код{:target="_blank"}. Більше матеріалів тут{:target="_blank"}
-
Курс російською{:target="_blank"} для вивчення популярного одноплатного комп'ютера Raspberry Pi.
-
У попередньому курсі розглянуті самі основи Raspberry Pi. Тим, кого цікавлять більш складні речі, рекомендуємо пройти цей курс{:target="_blank"} англійською.
-
А ось курс{:target="_blank"} з вивчення одноплатного комп'ютера Beagle Bone Black. Підбірка матеріалів{:target="_blank"} по Beagle Bone Black.
-
Розроблені нами лабораторні роботи{:target="_blank"} з вивчення Linkit Smart 7688 (недорогий одноплатний комп'ютер з WiFi).
-
Цикл статей з програмування Raspberry Pi на чистому C, без Linux (включаючи переривання, комунікаційні інтерфейси і графіку). Попутно дізнаєтеся з курсу безліч важливих речей зі світу вбудованих систем (наприклад, як реалізований рантайм мови С і що таке скрипт лінкера). Частина 1{:target="_blank"}, частина 2{:target="_blank"}, частина 3{:target="_blank"}, частина 4{:target="_blank"}, частина 5{:target="_blank"}.
-
Бібліотека класів Circle{:target="_blank"} на С++ для bare metal програмування (без ОС) Raspberry Pi. Працює на всіх версіях Raspberry Pi. Підтримується багатопоточніть та багатоядерність, стандартна бібліотека С++, кеш, переривання, дебаг за допомогою GDB через UART, запуск в QEMU. Є клаcи для роботи з мережею (Ethernet), GPIO, відео виводом (фреймбуфер), таймерами, UART, SPI, I2C, I2S, DMA, PWM, MMC. Є підтримка FAT, стеку TCP/IP, OpenGL, OpenVG. Досить широка підтримка USB (девайс і хост драйвери, драйвери USB-Ethernet, mass storage devices, драйвери HID пристроїв, драйвер USB принтера). Навіть є часткова підтримка Bluetooth. Приклади тут{:target="_blank"}
-
Кожен поважаючий себе електронщик повинен вміти розробляти друковані плати. Ось непоганий курс{:target="_blank"} по Altium Designer.
-
Цикл гарних статей по Eagle CAD: Стаття 1{:target="_blank"}, Стаття 2{:target="_blank"}, Стаття 3{:target="_blank"}, Стаття 4{:target="_blank"}.
-
А ось посилання{:target="_blank"} на комерційні курси по Altium Designer від професіонала з 10-річним досвідом розробки складних материнських плат. Вартість курсів 45 $ -400 $. Є різні курси: від основ до проектування багатошарових високочастотних плат. Ми тут прикупили кілька курсів для активних учасників лаби і відповідально заявляємо, що воно того варте. Ці курси — концентрат лайфхаків, досвіду і практики. Пару сотень баксів за таке — взагалі копійки.
-
Кілька безкоштовних відео{:target="_blank"} по Altium Designer від Роберта Феранека (плейліст), а також відео по створенню 3D моделей плати і компонентів: (один{:target="_blank"}), (два{:target="_blank"})
-
Дуже цікава лекція{:target="_blank"} про створення біосенсорів для носимих пристроїв.
-
Плейліст відео записів{:target="_blank"} з конференції Embedded Fest
-
Посилання на ресурси з дипломними роботами кращих світових універів: Berkeley{:target="_blank"}, MIT{:target="_blank"}, Stanford{:target="_blank"}, Princeton{:target="_blank"},
-
Гарний ютуб-канал{:target="_blank"}, де британець розповідає, як робити всякі круті штуки на китайському лазерному різаку за 1500 $ (50 Вт, CO2). Не зовсім електроніка, але канал вже дуже цікавий.