Описание лаборатории диагностики электронных схем
Аннотация курса
Лекционно-практический курс предназначен для обучения студентов целому комплексу мер, позволяющих очень быстро локализовать неисправность устройства, провести функциональный тест, определить надежность изделия, подобрать замены неисправным элементам на современном технологическом уровне, отремонтировать изделие, создать его полный аналог даже при отсутствии документации. Учебный материал занятий включает в себя теоретическую часть и учебные задачи. В программу курса включено рассмотрение основ электронных схем, необходимое для успешного понимания дальнейшего пройденного материала. Значительная часть курса посвящена знакомству с работой измерительных приборов и устройств сбора, анализа данных, реинжениринга неизвестных схем. В конце курса сделан упор на самостоятельную работу, когда студентам предлагается найти неисправности и отремонтировать реально существующую схему или прибор.
Приобретаемые знания и умения
В результате освоения дисциплины обучающийся должен знать принцип поиска и устранения неисправностей в радиоэлектронных схемах, иметь базовые знания обеспечивающие понимание принципов их работы; уметь использовать измерительные приборы в реальных системах сбора данных и управления экспериментом.
Образовательные технологии
Курс имеет электронную версию большей части учебных материалов. Практические занятия проводятся в хорошо оснащенной лаборатории.
Ресурсы в интернете
Контроль успеваемости
- Промежуточная аттестация проводится на 8 и 25 неделях в форме сдачи упражнений и задач практикума, на 16 неделе в форме зачета. Критерии формирования оценки – уровень знаний пройденной части курса, объем выполненных упражнений и задач.
- Текущая аттестация проводится ежемесячно. Критерии формирования оценки – посещаемость занятий, выполнение упражнений и задач практикума.
Программа курса
Раздел |
Неделя Семестр 3 |
Введение в принципы простроение цифровых схем |
1 |
Обзор неисправностей электронных схем |
2 |
Обзор средств и методик поиска неисправностей электронных схем |
3-4 |
Возможности системы PinPointIIDiagnosys |
5-6 |
Возможности системы FaultFinderDiagnosys |
7-8 |
Возможности системы AutoPointDiagnosys |
9-10 |
Работа с программной оболочкой TestVueSoftware |
11 |
Выполнение индивидуального задания |
12-17 |
Зачет |
18 |
|
Семестр 4 |
Программирование неизвестной платы в среде TestVueSoftware |
1-2 |
Работа с библиотечными элементами, создание новых элементов в среде TestVueSoftware |
3-4 |
Функциональное тестирование неизвестной платы, сравнение с эталоном |
5-6 |
Тестирование неизвестной платы, сравнение с эталоном с использованием снятия ВАХ |
7-8 |
Выполнение курсовой работы: тестирование платы или устройства с неизвестными неисправностями, выявление и локализация неисправностей, демонстрация функционирующего устройства, консультации. |
9-15 |
Защита курсовой работы |
16 |
Литература
- "Полупроводниковая схемотехника" Титце У., Шенк К., Москва, издательство "МИР", 1982.
- "Искусство схемотехники" Хорвиц П., Хилл У., том 1, Москва, издательство "МИР", 1986.
- "Искусство схемотехники" Хорвиц П., Хилл У., том 2, Москва, издательство "МИР", 1986.
- "Искусство схемотехники" Хорвиц П., Хилл У., том 3, Москва, издательство "МИР", 1986.
- "Схемотехника электронных систем" В. И. Бойко, А. Н. Гуржий, В. Я. Жуйков, А. А. Зори, В. М. Спивак, Санкт-Петербург, издательство "БХВ-Петербург", 2004.
- "Схемотехника и средства проектирования цифровых устройств" Амосов В. В., Санкт-Петербург, издательство "БХВ-Петербург", 2007.
- "Искусство схемотехники. Просто о сложном." Гаврилов С. А., Санкт-Петербург, издательство "Наука и Техника", 2011.
- "Reverse Engineering Technologies for Remanufacturing of Automotive Systems Communicating via CAN Bus" Stefan Freiberger, Matthias Albrecht and Josef Käufl, Journal of Remanufacturing, 2011, doi:10.1186/2210-4690-1-6
Общие сведения
Проектирование на ПЛИС, архитектура, средства и методы работы. Спецкурс посвящен теоретическим и практическим основам проектирования устройств на ПЛИС (Программируемая Логическая Интегральная Схема) – полупроводниковый кристалл, связи между вентилями и логику работы которого можно формировать и менять многократно во время работы. Приобретаемые навыки: практический навык проектирования устройств на ПЛИС Xilinx в среде ISE Foundation. Основы VHDL и Verilog, архитектура Spartan-3e и Virtex-5. Работа с интерфейсами i2c, PCI, Ethernet, реализация контроллеров последовательного порта, модуля управления LCD дисплеем, работа с ЦАП/АЦП.
Продолжительность каждого спецкурса в рамках программы составляет два семестра. В каждом семестре проводится 12 обязательных занятий по 4 академических часа один раз в неделю, итого 48 часов/семестр. В осеннем семестре читается 8 часов лекций, проводится 16 часов семинаров, 20 часов практических занятий, 4 часа выделено на прием зачёта. Кроме того, могут проводиться дополнительные занятия в согласованном объеме. В весеннем семестре студенты в течение 44 часов выполняют курсовую работу по программированию и в течении 4-х часов защищают выполненную работу.
Проектирование на ПЛИС
Вы все знаете, что такое микросхема. На физическом уровне любая микросхема состоит из транзисторов, резисторов и конденсаторов, вытравленных на кристалле кремния, а на логическом – из логических элементов и триггеров. Каждый тип микросхем создан и оптимизирован для исполнения конкретной функции или набора функций (вычисления, передача и обработка цифровых сигналов, хранение данных…), и их структура (логическая схема) задана при производстве на заводе и не может быть изменена во время эксплуатации. Все микросхемы такие. Почти все…
Существуют цифровые устройства, чья логическая схема может быть изменена неограниченное количество раз уже после выпуска микросхемы с конвейера (но, конечно, не электрическая принципиальная схема, пожалуй, тут сможет помочь лишь нанотехнология). Такие микросхемы называются ПЛИС (программируемая логическая интегральная схема) или по-английски FPGA (field programmable gate array). Это очень молодая отрасль электроники (первую ПЛИС выпустила фирма Xilinx в 1985 году), которая развивается сегодня крайне быстро. ПЛИС или FPGA состоит из набора логических блоков (от тысяч до сотен тысяч, в зависимости от размера кристалла), состоящих из элемента, который может быть запрограммирован для исполнения любой логической функции нескольких аргументов и ячейки хранения данных. Эти логические блоки могут быть соединены разными способами посредством программируемой матрицы соединений. Логика работы каждого блока, а также соединения блоков между собой, определяются так называемой «прошивкой», которую вы загружаете в кристалл со своего ноутбука, по сети или любым другим удобным способом (отсюда английское название field programmable – программируемый «в поле»). В итоге вы полностью задаете логику функционирования кристалла, и можете использовать его для организации всевозможных интерфейсов (PCI/PCI Express, USB, TCP/IP, RS232…), обработки цифровых сигналов (выделение сигнала из шума, сжатие, кодирование, шифрование…) или для управления своей физической экспериментальной установкой (выдача синхросигналов для лазера, систем регистрации и обработки информации). Вы даже можете «прошить» микроконтроллер в ПЛИС, и там еще останется много места для памяти и схем управления периферией.
Задача курса – научить наших студентов методам и принципам работы с такими устройствами. Обучение проводится на современной материальной базе, включающей платы Spartan 3e Starter Kit с установленными на них ПЛИС Spartan 3e фирмы Xilinx, а также множеством периферийных устройств (ЦАП/АЦП, LCD дисплей, порты PS/2, VGA, RS232, TCP/IP). В первом семестре студенты изучают язык программирования VHDL для описания логики работы своих будущих устройств и выполняют простые проекты на платах стартового набора. Во втором семестре ребята используют полученные знания для разработки оригинальных проектов, которые могут быть связаны, например, с передачей данных по интерфейсам PCI/PCI Express или с обработкой цифровых сигналов с использованием средств MATLAB Simulink. И не только…
Программа курса
- Занятие 1: Введение в схемотехнику. Системы исчисления. Булева алгебра: таблицы истинности, ФАЛ. Комбинационные логические схемы (мультиплексоры, компараторы, дешифраторы). Создание и моделирование комбинационных логических устройств в схематическом редакторе ISE.
- Занятие 2: Схемотехника. Последовательные логические устройства. RS триггер (асинхронный, синхронный). D триггер. Триггера со статическим (триггера-защелки, latches) и динамическим (flip-flips) управлением. D flip-flop. Регистры и счетчики. Работа с последовательными лог. элементами в схематическом редакторе ISE. Практическая реализация задачи ”мигающие с заданной частотой светодиоды”
- Занятие 3: Архитектура Spartan 3e. Структура кристалла (конфигурируемые логические блоки, блоки ввода/вывода, общие трассировочные ресурсы, тактовые ресурсы, умножители, блочная память). Структура CLB. Структура IOB. Конфигурирование ПЛИС. Практическое использование примитивов Spartan 3e в схемотехническом редакторе ISE.
- Занятие 4: Введение в VHDL. Объекты и структуры языка. Иерархия проекта. Операторы назначения сигналов, процесса, вставки компонента. Конструкции для синтеза и для моделирования. Описание логической функции на VHDL, моделирование. Практическая реализация проекта ”мигающие с заданной частотой светодиоды” на языке VHDL.
- Занятие 5: VHDL. Типы данных, сигналы, переменные. Атрибуты сигналов. Последовательные и параллельные операторы. Реализация схемотехнических узлов и элементов на VHDL. Пакет std_logic и разрешение сигналов. Практическая реализация задачи ”передача данных по последовательному интерфейсу и управление светодиодами”.
- Занятие 6: Управляющие автоматы. Введение. Теория конечных автоматов. Автоматы Мура и Мили. Реализация конечных автоматов на VHDL. Практическая реализация задачи ”светофор”.
- Занятие 7: Управляющие автоматы и контроллер LCD дисплея. Теория работы контроллера LCD дисплея. Применение конечного автомата для управления выдачей сигналов инициализации LCD дисплея с использованием программы из памяти.
- Занятие 8: Работа с контроллером клавиатуры. Устройство и работа контроллера клавиатуры. Прием данных с клавиатуры и отображение на LCD дисплее.
- Занятия 9: Выполнение проекта по индивидуальному заданию. Разработка структуры проекта.
- Занятия 10: Выполнение проекта по индивидуальному заданию. Создание кода проекта на языке VHDL.
- Занятия 11: Выполнение проекта по индивидуальному заданию. Отладка программы на тестовой плате.
- Занятия 12: Выполнение проекта по индивидуальному заданию. Представление выполненного проекта.
Литература
- Опадчий. Аналоговая и цифровая электроника. (1 - 2 занятия)
- Сергиенко. VHDL (3 - 5 занятия)
- Максфилд. Проектирование на ПЛИС. Курс молодого бойца. (3 занятие)
Продолжительность курсаКурс "Программирование микроконтроллеров" читается для студентов 2 курса в течение осеннего и весеннего семестров. Занятия проводятся один раз в неделю в течение 4 академических часов (5 и 6 пары). Учебная нагрузка - 60 часов/семестр. ОборудованиеОбучение производится на микроконтроллерах STM32F429. Курсовые и зачётные работы могут выполняться с использованием других микроконтроллеров STM32, а также на устройствах TI Stellaris или TI Tiva. |
STM32F429I-DISCOVERY |
Программа курса (осенний семестр)
Базовая часть
Тема 1. Введение. Программирование микроконтроллеров на языке С
Теория. Микроконтроллеры. Функции и применение микроконтроллеров. Основные параметры микроконтроллеров. Архитектура микроконтроллеров. Семейства микроконтроллеров ARM и их назначение. Устройство микроконтроллеров. Ядра Cortex-M0/M3/M4F. Периферийные блоки микроконтроллеров: ввод-вывод общего назначения, тактирование, таймеры, прерывания.
Язык С для микроконтроллеров ARM. Особенности разработки программ для микроконтроллеров по сравнению с программированием для ПК. Ввод и вывод. Адресация. Двоичное и шестнадцатеричное счисления. Среда программирования IAR EWARM. Возможности отладки программ.
Практика. Создание и настройка проекта в среде IAR. Создание прошивки, осуществляющей работу с блоком ввода-вывода общего назначения. Работа с технической документацией (поиск адресов аппаратных регистров, работа с принципиальной схемой тестовой платы).
Тема 2. Прерывания
Теория. Прерывания. Виды прерываний. Контроллер прерываний NVIC в ядре Cortex-M. Вектора прерываний. Приоритеты. Флаги прерываний в контроллерах STM. Рекомендации по написанию обработчиков прерываний.
Практика. Создание программы, реализующей асинхронный ввод-вывод сигналов. Освоение документации NVIC. Настройка прерываний блока ввода-вывода общего назначения.
Тема 3. Таймеры
Теория. Таймеры. Виды таймеров. Режимы работы таймеров. Измерение малых промежутков времени. Система тактирования микроконтроллера и методы её настройки.
Практика. Разработка программы для периодического вывода сигналов с использованием таймера и делителей частоты. Измерение параметров сигналов с помощью цифрового осциллографа.
Тема 4. Широтно-импульсная модуляция
Теория. Широтно-импульсная модуляция. Применение ШИМ для управления электронными устройствами. Особенности реализации ШИМ на микроконтроллере. Сглаживание. Специальные режимы работы таймеров.
Практика. Разработка программы для генерации ШИМ сигнала с заданными параметрами.
Тема 5. Цифро-аналоговые и аналого-цифровые преобразования
Теория. АЦП и ЦАП. Частота дискретизации и разрядность. Основные виды АЦП (АЦП прямого преобразования, АЦП последовательного приближения, сигма-дельта АЦП) и их характеристики. Режимы запуска АЦП. Дифференциальный режим измерения. Алгоритмы усреднения измеряемых величин: скользящее среднее и экспоненциальное усреднение. Библиотека для работы с периферийными блоками HAL Driver.
Практика. Разработка программы, осуществляющей измерение напряжения внешнего аналогового сигнала с помощью АЦП.
Тема 6. Обмен данными
Теория. Последовательные и параллельные интерфейсы. UART. Принцип работы шины UART, протокол передачи данных. События блока UART на микроконтроллерах STM32. Протоколы SPI и I2C, их принципы работы. Концепция ведущий-ведомые.
Практика. Разработка прошивки для микроконтроллера, осуществляющей приём и отправку данных по UART. Освоение программного обеспечения для работы с COM-портами на ПК.
Тема 7. Флеш-память
Теория. Принцип работы ячейки флеш-памяти (транзистор с плавающим затвором, чтение и запись данных). NOR и NAND конструкции флеш-памяти. Многоуровневые ячейки. Особенности работы с флеш-памятью из программ.
Практика. Разработка программы для подсчёта импульсов с использованием флеш-памяти для сохранения значения счётчика на случай перезагрузки или потери питания.
Дополнительные темы (читаются по усмотрению преподавателя)
Тема Д1. Дисплеи
Теория. Виды дисплеев. Электронно-лучевые трубки (принцип работы, развёртка). Жидкокристаллические дисплеи (принцип действия ЖК ячейки, устройство мониторов, адресация). Кодирование цветов, битность изображения. Плазменные дисплеи. Светодиодные дисплеи. Проекторы (3LCD, LC0S, DLP). Резистивные и ёмкостные сенсорные дисплеи. Перспективные виды дисплеев (OLED, интерференционные дисплеи, SED, PixelSense).
Практика. Написание программы, осуществляющей вывод графических примитивов и текста на TFT-LCD дисплей тестовой платы. Освоение высокоуровневых библиотек для работы с периферийными блоками и внешними устройствами.
Тема Д2. Система тактирования микроконтроллера
Теория. Классификация и принципы работы генераторов тактовой частоты. Кварцевые и RC-генераторы. Фазовая автоподстройка, делители и умножители частоты. Тактовые частоты шин данных и периферийных блоков микроконтроллера.
Практика. Настройка системы тактирования микроконтроллера, вывод тактового сигнала микроконтроллера. Измерение частоты тактирования с помощью осциллографа. Изучение зависимости формы сигнала от значения тактовой частоты.
Тема Д3. USB
Теория. Краткая история внедрения шины USB. Физический уровень (кабели и разъёмы, состояния шины, кодирование данных). Пакетный уровень (структура и виды пакетов). Транзакционный уровень (адреса, конечные точки). Логический уровень (виды каналов, передача данных по периодам). Дескрипторы и классы устройств. Краткий обзор спецификаций USB.
Практика. Передача данных с ПК на контроллер по USB c использованием CDC класса.
Тема Д4. Операционные системы реального времени
Теория. Операционные системы мягкого и жёсткого реального времени, а также их особенности. Диспетчеризация задач. Синхронизация задач. Операционная система FreeRTOS. Некоторые функции для управления задачами во FreeRTOS.
Практика. Настройка FreeRTOS и создание многозадачной программы для управления светодиодами.
Программа курса (весенний семестр)
- Тематические лекции
- Дополнительные разделы программирования микроконтроллеров
- Выполнение курсовой работы по программированию
Отчетность
Осенний семестр - зачет
Весенний семестр - зачет с оценкой
- В конце осеннего семестра в течение 4 занятий выполняется зачетная работа.
Примеры тем зачетных работ:
- Измерение частоты внешнего сигнала с выводом результата на дисплей.
- Генерация ШИМ сигнала с регулировкой частоты и скважности.
- Измерение ёмкости конденсатора путём анализа формы отклика RC-цепи на периодический сигнал.
- Измерение индуктивности путём анализа формы отклика RL-цепи на периодический сигнал.
- Генерация гармонического сигнала путём модуляции одиночными импульсами.
- Измерение расстояния между акустическим излучателем и микрофоном с помощью измерения задержки распространения звука.
- Измерение скорости звука импульсным методом
- Стабилизация напряжения в RC цепи с обратной связью. Напряжение задаётся с компьютера и выводится на дисплей.
- В течение весеннего семестра выполняется курсовая работа.
По согласованию с научными руководителями курсовая работа по программированию может быть совмещена с курсовой работой по физике. Для этого нужно, чтобы работа в значительной мере была посвящена автоматизации эксперимента или другим задачам, подразумевающим программированию микроконтроллеров.
Курсовые работы прошлых лет можно посмотреть здесь.
Литература
- Конспекты первых 2 лекций: лекция 1, лекция 2.
- Мартин М. Инсайдерское руководство по STM32
- Брайан Керниган, Деннис Ритчи "Язык программирования С"
- Майоров С.А., Кириллов В.В., Приблуда А.А. "Введение в микро-ЭВМ"
- Тревор Мартин, "Микроконтроллеры фирмы STMicroelectronics на базе ядра Cortex-M3. Серия STM32"
- Фрунзе А.В. "Микроконтроллеры это же просто" (Том1, Том2, Том3)
- К. Хамахер, З. Вранешич, С. Заки "Организация ЭВМ"
- Paul Scherz. Practical electronics for inventors.