Проектирование микропроцессорной системы: от основ архитектуры до реализации и документирования по ГОСТ

Сегодня, когда мир вокруг нас становится всё более «умным» и взаимосвязанным, сложно найти область, где микропроцессорные системы не играли бы ключевой роли. От привычных смартфонов и бытовой техники до сложнейших промышленных комплексов, космических аппаратов и медицинского оборудования – везде бьётся электронное сердце, управляемое микропроцессором. Эта вездесущность делает понимание принципов проектирования, разработки и документирования таких систем не просто актуальным, а жизненно важным для современного инженера.

Цель данной курсовой работы – не просто дать студенту набор теоретических знаний, но и вооружить его комплексной методологией для проектирования микропроцессорной системы, начиная от выбора элементной базы и заканчивая оформлением всей необходимой документации в соответствии с действующими стандартами. Работа структурирована таким образом, чтобы читатель последовательно прошёл все этапы инженерного процесса: от погружения в фундаментальные архитектурные принципы и критерии выбора компонентов до освоения тонкостей аппаратной и программной разработки, методов отладки и тестирования, а также строгих правил документирования, без которых ни один проект не может считаться завершённым. Особое внимание будет уделено не только классическим подходам, но и современным тенденциям, включая открытые архитектуры и интеграцию искусственного интеллекта, а также практическим нюансам, таким как подавление дребезга контактов, что является частой проблемой в реальных системах.

Архитектура и принципы функционирования микропроцессорных систем

В основе любого современного электронного устройства лежит микропроцессорная система – сложный, но при этом гармоничный ансамбль компонентов, работающих как единое целое. Чтобы понять, как эта система оживает, необходимо рассмотреть её внутреннее устройство и фундаментальные принципы, заложенные в её основу.

Основные понятия и определения

Прежде чем углубляться в детали, очертим круг ключевых терминов, которые будут сопровождать нас на протяжении всего исследования.

  • Микропроцессорная система (МПС) — это функционально законченное электронное изделие, сердцевина которого — один или несколько микропроцессорных устройств: микропроцессоров и/или микроконтроллеров. Это не просто набор чипов, а полноценный механизм, способный выполнять заданные функции.
  • Микропроцессор (МП) — программно-управляемое электронное цифровое устройство, выполненное на одной или нескольких интегральных схемах с высокой степенью интеграции. Его основная задача — обработка цифровой информации и управление этим процессом. Представьте его как «мозг» системы, который умеет выполнять команды.
  • Микроконтроллер (МК) — это, по сути, микропроцессор, интегрированный на одном кристалле с периферийными устройствами (память, порты ввода/вывода, таймеры, АЦП, ЦАП и т.д.). Если микропроцессор — это мозг, то микроконтроллер — это мозг со встроенными органами чувств и руками.
  • Архитектура — это не только внешний вид, но и внутренняя логическая структура. В контексте МПС это способ организации компонентов (регистров, управляющих схем, АЛУ, шин) и принципы их взаимодействия.
  • Периферия — это все те устройства, которые окружают микропроцессор и обеспечивают его взаимодействие с внешним миром: датчики, индикаторы, модули связи, память.
  • Тактовая частота — это количество операций (тактов) в секунду, которые может выполнить микропроцессор. Чем выше частота, тем быстрее работает система, подобно тому, как чем быстрее бьётся сердце, тем активнее циркулирует кровь.
  • Дребезг контактов — это неприятное явление, возникающее при замыкании механических контактов (например, кнопки), когда вместо одного чёткого сигнала формируется последовательность кратковременных замыканий и размыканий. Это похоже на дрожание руки, которая пытается нажать на выключатель.

Базовая структура микропроцессорной системы

Современные МПС, несмотря на свою сложность, базируются на трёх фундаментальных принципах, которые обеспечивают их гибкость и масштабируемость: модульность, магистральность и микропрограммное управление. Модульность означает, что система строится из ограниченного числа стандартных, конструктивно и функционально законченных блоков, что позволяет легко комбинировать и заменять компоненты, адаптируя систему под конкретные нужды.

Магистральность является краеугольным камнем архитектуры МПС. Все основные блоки соединяются с единой системной шиной, которая служит центральной «автомагистралью» для передачи информации. Системная шина, в свою очередь, состоит из трёх ключевых подсистем:

  • Шина данных (ШД): по ней передаются сами данные между процессором, памятью и устройствами ввода/вывода.
  • Шина адреса (ША): используется для указания адреса ячейки памяти или конкретного блока ввода/вывода, к которому процессор хочет обратиться. Это как почтовый адрес для письма.
  • Шина управления (ШУ): служит для передачи сигналов, синхронизирующих всю работу МПС. Эти сигналы указывают, когда нужно читать данные, когда записывать, когда ожидать ответа и т.д. Микропроцессор выступает в роли дирижёра, координирующего работу всех устройств через эту шину.

Микропрограммное управление обеспечивает гибкость выполнения команд. Каждая сложная команда, которую «понимает» микропроцессор, на самом деле разбивается на последовательность более простых, элементарных операций – микрокоманд. Это позволяет изменять или расширять функциональность процессора без изменения его аппаратной части.

Внутри самого микропроцессора выделяют несколько ключевых функциональных блоков, которые совместно обеспечивают его работу:

  • Арифметико-логическое устройство (АЛУ): выполняет все арифметические (сложение, вычитание) и логические (И, ИЛИ, НЕ) операции. Это «калькулятор» микропроцессора.
  • Устройство управления (УУ): координирует взаимодействие всех частей компьютера, формирует управляющие сигналы, дешифрирует команды и обеспечивает их выполнение. Это «мозг» в мозге, который организует всю работу.
  • Микропроцессорная память (МПП): это набор высокоскоростных регистров внутри самого микропроцессора, предназначенных для кратковременного хранения данных и промежуточных результатов операций. Она обеспечивает максимальное быстродействие, поскольку основная память не всегда может обеспечить такую же скорость доступа.
  • Интерфейсная система: отвечает за связь микропроцессора с внешней периферией и основной системной шиной.

Работа микропроцессора – это непрерывный цикл, который можно описать как последовательную реализацию микропроцедур: выборки команды из памяти, её дешифрации (понимания, что нужно сделать) и исполнения (выполнения соответствующей операции). В процессе функционирования МПС может работать в нескольких основных режимах:

  • Выполнение основной программы.
  • Вызов подпрограммы (для выполнения часто используемых фрагментов кода).
  • Обслуживание прерываний и исключений (реакция на внешние события или ошибки).
  • Прямой доступ к памяти (DMA – для высокоскоростной передачи данных без участия процессора).

Архитектуры МПС: Фон-Неймана и Гарвардская

Когда речь заходит об организации памяти и шин, исторически сложились две основные архитектуры МПС: Фон-Неймана (или Принстонская) и Гарвардская.

Фон-Неймановская архитектура получила своё название в честь выдающегося математика Джона фон Неймана. Её ключевая особенность — общая, единая шина как для данных, так и для команд. Это означает, что процессор использует одну и ту же «дорогу» для чтения инструкции из памяти и для чтения или записи данных.

  • Преимущества: Простота реализации, меньшее количество соединений, что удешевляет и упрощает проектирование.
  • Недостатки: Главный минус — так называемое «бутылочное горлышко Фон-Неймана». Поскольку шина одна, процессор не может одновременно читать команду и данные, что ограничивает производительность. Это как однополосная дорога, по которой движется и транспорт, и пешеходы.

Гарвардская архитектура, в отличие от фон-неймановской, предполагает наличие раздельных шин и отдельной памяти для данных и для команд.

  • Преимущества: Основное преимущество — значительно более высокая производительность. За счёт разделения потоков процессор может одновременно выбирать следующую команду и обрабатывать данные, что позволяет совмещать операции и ускорять работу. Это как двухполосная дорога, где один поток движется в одном направлении, а другой — в противоположном, не мешая друг другу.
  • Недостатки: Усложнение аппаратной части, большее количество соединений.

В современных высокопроизводительных системах часто применяются гибридные архитектуры, которые сочетают в себе преимущества обеих, например, используя кэш-память для команд и данных, но сохраняя единую адресную шину для основной памяти.

Память в микропроцессорных системах используется для хранения информации в двоичном коде. Обычно она разделяется на два основных типа:

  • Оперативная память (ОЗУ, RAM): используется для хранения временных данных, которые активно используются процессором. Её содержимое теряется при выключении питания.
  • Постоянная память (ПЗУ, ROM): предназначена для хранения программ и постоянных данных, которые не должны изменяться и сохраняются даже при отключении питания.

Устройства ввода/вывода (УВВ) — это мост между МПС и внешним миром. Они могут быть источниками данных (например, переключатели, клавиатура, датчики) или их приемниками (индикаторы, дисплеи, актуаторы). Соединение УВВ с системной шиной МПС осуществляется через интерфейс ввода/вывода. Ввод и вывод информации, как правило, реализуется с помощью специальных регистров, называемых портами ввода/вывода, которые содержат схемы выборки и управления.

Пример классического микропроцессора: КР580ВМ80А

Для понимания основ микропроцессорной техники полезно рассмотреть классический пример, который заложил основы многих современных решений. Таким примером является микропроцессор КР580ВМ80А — однокристальный, 8-разрядный МП с фиксированной системой команд. Этот чип, являясь советским аналогом легендарного Intel 8080 (представленного в апреле 1974 года), стал краеугольным камнем для изучения и разработки микропроцессорных систем в СССР.

Исторически Intel 8080 работал на частоте 2 МГц, тогда как КР580ВМ80А чаще всего встречался с тактовой частотой 2,5 МГц, что даже превосходило некоторые ранние версии его американского прародителя. Система команд КР580ВМ80А насчитывает 78 инструкций, предоставляя широкие возможности для программирования, тогда как базовый Intel 8080 имел 72 инструкции.

Внутренняя архитектура КР580ВМ80А включает:

  • 8-разрядное АЛУ: выполняет арифметические, логические и сдвиговые операции над 8-разрядными двоичными числами. Результат этих операций всегда размещается в аккумуляторе (А), который является основным регистром для обработки данных.
  • Регистр признаков: содержит флаги, отражающие состояние результата последней операции (например, был ли результат равен нулю, произошёл ли перенос, был ли результат отрицательным и т.д.).
  • Программный счётчик (РС): 16-разрядный регистр, который хранит адрес следующей команды, подлежащей выполнению. После выборки каждой команды его содержимое автоматически увеличивается на 1, 2 или 3 в зависимости от длины текущей команды.
  • Указатель стека (SP): 16-разрядный регистр, хранящий адрес последней занятой ячейки в стековой памяти. Стек используется для временного хранения адресов возврата при вызове подпрограмм и прерываний, а также для временного сохранения регистров.
  • Регистр адреса (RGA): используется для формирования 16-разрядного адреса при обращении к памяти.
  • Шесть 8-разрядных регистров общего назначения (B, C, D, E, H, L): эти регистры могут использоваться для временного хранения данных. Их особенность в том, что они могут объединяться в три 16-разрядные пары: BC, DE, HL, что значительно расширяет возможности по работе с 16-разрядными адресами и данными.

Система команд МП КР580ВМ80А организована в пять основных групп:

  1. Команды пересылки: отвечают за перемещение данных между регистрами, памятью и аккумулятором.
  2. Логические команды: выполняют логические операции (AND, OR, XOR) над данными.
  3. Арифметические команды: осуществляют сложение, вычитание, инкремент и декремент данных.
  4. Команды передачи управления: включают переходы, вызовы подпрограмм и возвраты из них, а также команды обработки прерываний.
  5. Команды управления процессором: управляют режимами работы процессора, такими как включение/отключение прерываний.

Изучение такого классического процессора, как КР580ВМ80А, позволяет студенту глубоко понять фундаментальные принципы, которые, несмотря на стремительное развитие технологий, остаются актуальными и лежат в основе современных высокопроизводительных микропроцессорных архитектур. В чём же практическая ценность этого? Понимание этих основ критически важно для диагностики и оптимизации производительности даже самых передовых систем, поскольку многие их недостатки и преимущества коренятся именно в этих базовых архитектурных решениях.

Критерии выбора микропроцессора/микроконтроллера для конкретной задачи

Выбор подходящего микропроцессора (МП) или микроконтроллера (МК) — это не просто техническое решение, а стратегический шаг, который определяет успех всего проекта. От этого выбора зависят не только функциональность и производительность будущей системы, но и её стоимость, энергопотребление, сроки разработки и даже доступность на рынке. Этот этап требует тщательного анализа и компромиссов между различными параметрами.

Функциональные требования

Первым и наиболее очевидным шагом является чёткое определение функциональных требований к системе. Какие задачи она должна выполнять? Какие внешние устройства будут к ней подключаться?

  • Требуемое число контактов портов ввода/вывода (GPIO): Если система должна управлять множеством светодиодов, считывать состояние десятков кнопок или взаимодействовать с большим количеством датчиков, потребуется МК с большим числом GPIO. Например, для простой системы управления одним реле и кнопкой достаточно пары пинов, в то время как для сложного интерфейса с десятками индикаторов и кнопок потребуется МК с 30-50 и более выводами.
  • Наличие встроенных периферийных устройств: Многие задачи могут быть решены гораздо эффективнее, если МК имеет встроенные аппаратные модули.
    • Последовательные порты (UART, SPI, I²C, CAN): Для связи с другими чипами, датчиками, модулями беспроводной связи или даже с компьютером. Например, UART используется для отладочной консоли, SPI — для подключения Flash-памяти или дисплея, I²C — для датчиков температуры или акселерометров, а CAN — для автомобильной электроники.
    • Таймеры/Счётчики: Необходимы для генерации ШИМ-сигналов (для управления двигателями, яркостью светодиодов), измерения интервалов времени, создания задержек.
    • Аналого-цифровые преобразователи (АЦП): Если система должна считывать аналоговые сигналы с датчиков (температуры, давления, света). Важны такие параметры, как разрядность (например, 10-бит, 12-бит) и скорость преобразования.
    • Цифро-аналоговые преобразователи (ЦАП): Для генерации аналоговых сигналов, например, для управления аналоговыми приводами или звуковых выходов.
    • Широтно-импульсная модуляция (ШИМ): Для эффективного управления мощностью, скоростью двигателей, яркостью свечения.
  • Тип и объём внутренней памяти (Flash, SRAM):
    • Flash-память (ПЗУ): Используется для хранения программного кода. Для 8-разрядных МК, таких как AVR, типичные объёмы могут составлять от 1 до 256 КБ. Для 32-разрядных, например, STM32, этот диапазон значительно шире — от 16 КБ до нескольких мегабайт. Важно оценить не только размер кода, но и возможность будущих обновлений и расширения функционала.
    • SRAM-память (ОЗУ): Необходима для хранения временных данных, переменных, стека. Для 8-разрядных МК она может быть до 8 КБ, для 32-разрядных — от 4 КБ до сотен КБ. Часто бывает так, что для выполнения одного и того же 8-разрядного приложения на 32-разрядном МК может потребоваться в 1,5–3 раза больше SRAM, что обусловлено особенностями компиляторов и выравниванием данных.

Производительность и разрядность

Производительность — это вычислительная мощность, которая должна быть достаточной для обработки всех системных запросов и выполнения алгоритмов в реальном времени.

  • Разрядность (8-, 16-, 32-разрядные МК):
    • 8-разрядные микроконтроллеры: Проще, дешевле, потребляют меньше энергии, но имеют ограниченную производительность. Идеальны для простых задач, где не требуется высокая скорость вычислений и большой объём памяти.
    • 32-разрядные микроконтроллеры: Набирают попу��ярность благодаря высокой производительности, обширному набору периферийных модулей и удобному доступу к средствам разработки. Они отлично подходят для сложных вычислений, обработки больших объёмов данных, работы с сетевыми протоколами.
    • Разрядность процессора для компьютера обычно указывается как m/n/k, где m — разрядность внутренних регистров, n — разрядность шины данных, k — разрядность шины адреса. Эти параметры определяют, сколько данных процессор может обработать за один такт, сколько данных может передать за раз по шине и сколько памяти может адресовать.
  • Тактовая частота: напрямую влияет на скорость выполнения инструкций. Чем выше частота, тем быстрее МК будет выполнять программу. Однако высокая частота увеличивает энергопотребление.
  • Архитектура (система команд, способы адресации): RISC- или CISC-архитектура, наличие аппаратной поддержки для сложных операций (например, DSP-инструкции) может существенно повлиять на производительность в специфических задачах.

Энергопотребление

В эпоху портативных устройств и IoT энергопотребление становится одним из критически важных факторов.

  • Активный ток и ток в режиме сна:
    • 8-разрядные микроконтроллеры, такие как AVR ATmega328P, известны своим низким энергопотреблением. Например, активный ток может составлять всего 3,87 мА при 16 МГц и 5,0 В, а в режиме глубокого сна — около 1,5 мкА. Это делает их идеальными для устройств с батарейным питанием, где каждый микроампер на счету.
    • 32-разрядные микроконтроллеры, например STM32F051, могут иметь более высокий активный ток (13,3 мА при 48 МГц и 3,3 В). Однако существуют специализированные серии, такие как EFM32 Gecko, оптимизированные для ультранизкого энергопотребления (до 45 мкА/МГц в активном режиме и менее 1 мкА в режиме EM2 с активным RTC).
  • Режимы энергосбережения: Современные МК предлагают различные режимы сна (idle, power-down, standby), позволяющие значительно снизить потребление энергии, отключая неиспользуемые блоки.

Стоимость, доступность и средства разработки

Практические аспекты, которые могут стать решающими для любого проекта:

  • Стоимость компонента и бюджет проекта: 8-разрядные МК могут быть примерно на 20% дешевле 32-разрядных со схожими объёмом Flash-памяти и числом выводов. Это может быть критично для массового производства.
  • Доступность на рынке: Выбранный МК должен быть легко доступен для покупки, особенно в условиях текущей геополитической обстановки. Зависимость от одного поставщика или редкого компонента может привести к срыву сроков или удорожанию проекта.
  • Наличие программного обеспечения: Экосистема разработки включает ассемблеры, компиляторы, линкеры, интегрированные среды разработки (IDE) и отладчики. Важно, чтобы эти инструменты были доступны, хорошо документированы и имели активное сообщество поддержки.
  • Наличие средств отладки:
    • Оценочные модули и отладочные платы: Готовые платы с выбранным МК и необходимой обвязкой, позволяющие быстро начать разработку и тестирование.
    • Внутрисхемные эмуляторы (ICE): Позволяют управлять выполнением программы на реальном чипе, устанавливать точки останова, просматривать содержимое регистров и памяти.
    • Насадки для логических анализаторов: Для анализа сигналов на шинах и портах.
    • Отладочные мониторы: Программные средства, работающие на МК и передающие отладочную информацию по последовательному порту.
  • Информационная поддержка: Качественные даташиты, руководства по применению (Application Notes), форумы поддержки, примеры кода от производителя.

При выборе процессора для более сложного компьютерного оборудования, например, серверного, критерии смещаются:

  • Для файлового сервера критична производительность дисковой подсистемы.
  • Для сервера баз данных на первый план выходят производительность процессора и быстрая оперативная память.

В этом случае необходимо оценивать текущую и предполагаемую нагрузку, количество одновременно обращающихся пользователей и объем обрабатываемых данных, чтобы заложить достаточный запас прочности. Таким образом, выбор микропроцессора или микроконтроллера — это многогранный процесс, требующий глубокого анализа требований проекта и компромиссного поиска оптимального решения. Но какой важный нюанс здесь упускается? Часто забывают, что помимо технических характеристик, огромное значение имеет и долгосрочная поддержка компонента производителем, а также наличие альтернативных поставщиков, что становится особенно актуальным в условиях глобальных цепочек поставок.

Аппаратная разработка микропроцессорной системы

Аппаратная разработка микропроцессорной системы (МПС) — это фундамент, на котором строится вся её функциональность. Без надёжной и правильно спроектированной аппаратной части даже самое совершенное программное обеспечение будет бессильно. Этот процесс включает в себя несколько ключевых этапов, от детальной формализации требований до физического создания печатной платы.

Формализация требований и архитектурное проектирование

Начальный этап разработки любой сложной системы, включая МПС, требует тщательной проработки требований. Это позволяет избежать дорогостоящих ошибок на более поздних стадиях.

  • Сбор и формализация требований: Этот шаг включает в себя не только функциональные требования (что система должна делать), но и нефункциональные аспекты:
    • Производительность: Скорость отклика, пропускная способность.
    • Масштабируемость: Возможность расширения функционала в будущем.
    • Безопасность: Защита от несанкционированного доступа или сбоев.
    • Физические параметры: Размер, вес, форма.
    • Условия эксплуатации: Диапазон температур, влажность, вибрации, электромагнитная совместимость.
    • Экономические факторы: Стоимость компонентов, сроки разработки.
    • Законодательные ограничения: Соответствие стандартам и нормативам (например, ГОСТам).

    На этом этапе создаются внешние спецификации, формулируется техническое задание (ТЗ) на систему, где излагаются замыслы разработчика в официальной документации. ТЗ устанавливает основное назначение, тактико-технические характеристики, показатели качества и технико-экономические требования.

  • Разработка структуры и архитектуры системы: После сбора требований происходит концептуальное проектирование.
    • Определяются функции отдельных аппаратных устройств (процессор, память, периферия) и программных модулей.
    • Выбираются микропроцессорные наборы или отдельные микроконтроллеры, которые наилучшим образом соответствуют поставленным задачам.
    • Прорабатывается взаимодействие аппаратных и программных средств, формируются временные диаграммы и характеристики, чтобы обеспечить корректную работу всех частей системы.
    • На этом этапе происходит рассмотрение аппаратного и программного обеспечения совместно, оптимизируя систему под конкретную функцию, что является ключевым для встроенных систем.

Проектирование тактового генератора

Тактовый генератор — это сердце любой цифровой системы с памятью. Он обеспечивает цепь синхронизации, задавая ритм, в котором происходят все операции. Без него цифровые схемы не смогут функционировать.

  • Роль тактового генератора: Его основной функцией является генерация стабильных периодических импульсов (тактов), которые используются для синхронизации работы процессора, памяти и периферийных устройств.
  • Типы тактовых генераторов:
    • Внешние генераторы: Позволяют задавать любую тактовую частоту в пределах рабочего диапазона МК с высокой точностью, обычно с использованием кварцевых резонаторов.
    • Встроенные генераторы: RC-генераторы или кольцевые генераторы, интегрированные в МК. Они проще и дешевле, но менее точны.
  • Особенности МК: В некоторых микроконтроллерах частота времязадающего элемента и частота тактирования жёстко связаны коэффициентом деления встроенного делителя частоты, что упрощает проектирование, но ограничивает гибкость.

Пример: Тактовый генератор КР1810ГФ84 (i8284)

Этот специализированный чип, аналог Intel 8284, был разработан для генерации синхросигналов, адаптеров, контроллеров и управления готовностью микропроцессоров семейства Intel 8086/КР1810ВМ86.

  • Назначение: Управление микропроцессорами КР1810ВМ86 и периферийными устройствами, обеспечивая их синхронизацию.
  • Характеристики: Выпускался в корпусе типа 2104.18-5, имел массу до 1,8 г, рабочую температуру от -10 до +70 °С и напряжение питания 5 ± 5% В. Потребляемый ток составлял менее 162 мА.
  • Источник частоты: Как правило, использовался внешний кварцевый резонатор (например, РГ-05, РК8, РК45ММ), частота которого обычно в три раза выше желаемой выходной тактовой частоты CLK.
  • Выходы КР1810ГФ84:
    • OSC (мультивибратор): выход для внешнего кварцевого резонатора.
    • CLK: основной тактовый сигнал МОП-уровней с частотой fCLK = fZQ / 3, где fZQ — частота кварцевого резонатора. Этот сигнал используется для тактирования самого микропроцессора.
    • PCLK (периферийный тактовый сигнал): сигнал ТТЛ-уровней с частотой fPCLK = fCLK / 2. Он предназначен для тактирования периферийных устройств, которые работают на логических уровнях ТТЛ (Transistor-Transistor Logic).

Проектирование подсистемы памяти

Память — это хранилище для всех инструкций и данных, с которыми работает микропроцессор. Её правильный выбор и организация критичны для производительности и функциональности системы.

  • Выбор типа и объема памяти:
    • ОЗУ (RAM): для хранения временных данных и переменных. Объём выбирается исходя из потребностей программы и данных.
    • ПЗУ (ROM): для хранения программы и константных данных. В современных МК это чаще всего Flash-память, которая может быть перепрограммирована.
  • Принципы взаимодействия: Память соединяется с микропроцессором через шины адреса, данных и управления. Проектировщик должен обеспечить корректную адресацию и своевременную передачу данных.

Организация устройств ввода/вывода (УВВ)

Устройства ввода/вывода позволяют МПС взаимодействовать с окружающим миром. Их правильная организация — ключ к эффективному управлению внешними элементами и считыванию данных с датчиков.

  • Порты ввода/вывода: В микроконтроллерах ввод и вывод информации осуществляется с помощью портов ввода/вывода (GPIO — General Purpose Input/Output), которые представляют собой набор регистров.
  • Пример на AVR микроконтроллерах:
    • Регистр DDRx (Data Direction Register): Определяет направление работы каждого пина порта. Если бит в DDRx установлен в 1, соответствующий пин работает как выход; если 0 — как вход.
    • Регистр PORTx (Port Output Register): Если пин настроен как выход, запись 1 или 0 в соответствующий бит PORTx устанавливает логический уровень сигнала на этом пине. Если пин настроен как вход, запись 1 в PORTx активирует внутренний подтягивающий резистор.
    • Регистр PINx (Port Input Pin Register): Позволяет прочитать текущий логический уровень сигнала на ножках, настроенных на вход.

Таким образом, для считывания состояния кнопки, подключенной к пину PA0, необходимо настроить PA0 как вход (DDRА.0 = 0), затем прочитать состояние регистра PINA.0. Для включения светодиода, подключенного к PA1, его нужно настроить как выход (DDRA.1 = 1) и записать логическую единицу в PORTA.1.

Разработка печатной платы (ПП)

После того как выбраны компоненты и разработана принципиальная электрическая схема, наступает этап физического воплощения — проектирование печатной платы. Это один из самых ответственных этапов, требующий внимания к деталям и соблюдения правил схемотехники.

  • Использование САПР: Современное проектирование ПП невозможно без специализированных систем автоматизированного проектирования (САПР), таких как Eagle PCB, Altium Designer, KiCad. Эти инструменты позволяют создавать схемы, размещать компоненты и трассировать проводники.
  • Рекомендации по компоновке и трассировке:
    • Стабильное питание и заземление: Крайне важно обеспечить надёжное питание и заземление для всех компонентов. В многослойных платах часто используются внутренние слои для земли и питания, что минимизирует помехи. Для двухслойных плат рекомендуется выделять один слой полностью под землю, а другой — под питание и сигналы.
    • Ширина проводников: Правильный расчёт ширины проводников позволяет избежать падения напряжения на силовых цепях, перегрева, а также искажения высокочастотных сигналов. Более широкие проводники используются для силовых цепей и земли, более тонкие — для сигнальных линий.
    • Разделение аналоговых и цифровых цепей: Аналоговые части схемы, особенно чувствительные, рекомендуется максимально отделять от высокоскоростных цифровых цепей, чтобы избежать взаимных помех. Для этого могут использоваться отдельные «земляные» полигоны, соединённые в одной точке.
    • Трассировка критических сигналов: Высокочастотные тактовые линии, силовые линии импульсных преобразователей, чувствительные аналоговые цепи требуют приоритетной и максимально короткой трассировки. Желательно избегать излишних изгибов и виасов (переходов между слоями), которые могут создавать индуктивности и емкости.
    • Расположение разъёмов: Для упрощения монтажа и предотвращения помех, все соединительные разъёмы желательно располагать на одной стороне платы или в одном углу.

Соблюдение этих принципов и рекомендаций на этапе аппаратной разработки позволяет создать надёжную, эффективную и помехоустойчивую микропроцессорную систему, готовую к дальнейшей программной реализации. Что же из этого следует для современного инженера? Это означает, что качественное аппаратное проектирование на ранних этапах значительно снижает риски и издержки на последующих стадиях разработки, предотвращая дорогостоящие переделки и обеспечивая стабильность работы всей системы.

Разработка программного обеспечения для микропроцессорных систем

Разработка программного обеспечения (ПО) для микропроцессорных систем — это не менее сложный и ответственный этап, чем аппаратное проектирование. В современном мире, по некоторым оценкам, свыше 90% затрат при создании МПСУ приходится именно на ПО. Оно определяет логику работы устройства, его реакцию на внешние события и способность выполнять бизнес-функции.

Структура программного обеспечения

Программа для встроенной системы, как правило, имеет чёткую модульную структуру, что облегчает её разработку, отладку и сопровождение. Типичная программа состоит из нескольких основных частей:

  • Блок начальной инициализации системы: Это первая часть кода, которая выполняется после включения или сброса микроконтроллера. Его задача — привести все аппаратные компоненты в рабочее состояние:
    • Настройка тактового генератора.
    • Инициализация портов ввода/вывода (направление, начальные состояния).
    • Настройка периферийных модулей (таймеров, UART, SPI, АЦП).
    • Инициализация стека и других системных регистров.
    • Включение прерываний (если используются).
  • Блок обработчиков прерываний: Содержит подпрограммы, которые автоматически вызываются при возникновении определённых событий (прерываний) — например, нажатия кнопки, приёма данных по UART, срабатывания таймера.
  • Блок обработки режимов микроконтроллера: Реализует основную логику работы устройства, переключая его между различными состояниями (например, режим ожидания, режим измерения, режим передачи данных).
  • Блок служебных подпрограмм: Включает часто используемые функции, такие как задержки, математические вычисления, управление дисплеем, чтение датчиков. Эти подпрограммы могут вызываться из любого другого блока.

Встроенное ПО в целом содержит алгоритм работы встроенного устройства и реализует его бизнес-функции, то есть те специфические задачи, ради которых система создаётся.

Языки программирования

Выбор языка программирования для встроенных систем — это компромисс между производительностью, объёмом кода, удобством разработки и возможностью доступа к аппаратному обеспечению.

  • C и C++: Являются предпочтительными языками для подавляющего большинства встроенных систем.
    • Преимущества: Прямой доступ к аппаратному обеспечению (регистрам, памяти), высокая производительность, эффективное управление памятью, развитая экосистема инструментов (компиляторы, отладчики), широкие возможности для оптимизации. C++ добавляет к этому объектно-ориентированные возможности, что улучшает модульность, удобство сопровождения и повторное использование кода.
    • Применение: Идеальны для bare-metal программирования (когда код напрямую взаимодействует с «голым» железом) и для операционных систем реального времени (RTOS).
  • Ассемблер: Язык низкого уровня, который напрямую соответствует машинным инструкциям процессора.
    • Применение: Используется в критически важных по времени или размеру кода секциях, а также для прямого управления специфическими регистрами аппаратного обеспечения, где требуется максимальная оптимизация.
    • Недостатки: Значительно сложнее в разработке, отладке и поддержке из-за низкой абстракции. Объём кода на ассемблере гораздо больше, чем на C/C++.
  • Python: Хотя Python популярен для высокоуровневых приложени��, его применение в «классических» встроенных системах с ограниченными ресурсами памяти и производительности ограничено.
    • Причины ограниченного применения: Интерпретируемость Python приводит к значительно более низкому быстродействию и большему объёму занимаемой памяти по сравнению с компилируемыми C/C++. Он чаще используется на встроенных системах с Linux или другими полноценными ОС, а не для программирования микроконтроллеров без ОС или с RTOS (bare-metal).

Картирование памяти

Картирование памяти МПСУ — это очень важный этап, связанный с распределением различных частей программного обеспечения в адресном пространстве запоминающего устройства. Компилятор и линкер (связующий редактор) отвечают за то, чтобы код, данные, стек и куча были правильно размещены в Flash- и SRAM-памяти. Неправильное картирование может привести к сбоям, переполнению памяти или невозможности запуска программы. Разработчик должен чётко понимать, где и какие данные будут храниться, чтобы эффективно использовать ограниченные ресурсы микроконтроллера.

Обработка прерываний и исключений

Прерывание (interrupt) — это механизм, позволяющий процессору немедленно реагировать на важные внешние или внутренние события. При возникновении прерывания процессор приостанавливает выполнение текущей программы и переходит к выполнению специальной подпрограммы — обработчика прерывания.

  • Механизм работы:
    1. При возникновении прерывания микроконтроллер автоматически сохраняет в стеке содержимое программного счётчика (PC), а иногда и других регистров (контекст).
    2. Затем в PC загружается адрес соответствующего вектора прерывания. Вектор прерывания — это адрес, по которому находится начало подпрограммы-обработчика для данного типа прерывания.
    3. Процессор начинает выполнять код обработчика прерывания.
    4. После завершения работы обработчика для возвращения к основной программе используется специальная команда, например, RETI (Return From Interrupt) в AVR или BX LR с флагом I в ARM. Эта команда восстанавливает сохранённый контекст из стека и возвращает управление в точку прерывания.
  • Типы систем прерываний:
    • Одноуровневые: Процессор аппаратно переходит к подпрограмме обработки прерываний по фиксированному адресу. Разработчику приходится самостоятельно определять источник прерывания внутри обработчика.
    • Векторные/многоуровневые: Каждому источнику прерывания соответствует свой определённый вектор (адрес процедуры обработки). Это позволяет процессору напрямую переходить к нужному обработчику, значительно упрощая логику и сокращая время реакции.
  • Маскирование прерываний: Это механизм, позволяющий выборочно включать или отключать реакцию микроконтроллера на определённые типы прерываний. С помощью битов в специальных регистрах разработчик может «маскировать» (игнорировать) те прерывания, которые в данный момент неактуальны или нежелательны.

Подавление дребезга контактов

Дребезг контактов — это фундаментальная проблема в электромеханических коммутационных устройствах, таких как кнопки, реле или переключатели. Вместо одного чёткого замыкания или размыкания контакты могут многократно, неконтролируемо замыкаться и размыкаться в течение короткого промежутка времени. Время дребезга варьируется от 0,5–2 мс у миниатюрных герконов до сотен миллисекунд у мощных контакторов. Если микроконтроллер считывает состояние такого контакта без подавления дребезга, он может ошибочно зарегистрировать множество нажатий вместо одного.

Методы устранения дребезга:

  1. Программный метод:
    • Заключается в добавлении задержки после первого изменения состояния кнопки. Идея в том, чтобы после обнаружения изменения состояния подождать некоторое время, пока контакт стабилизируется, а затем повторно считать его состояние.
    • Пример для Arduino:
      const int buttonPin = 2; // Пин, к которому подключена кнопка
      int buttonState = 0;     // Текущее состояние кнопки
      int lastButtonState = 0; // Предыдущее состояние кнопки
      long lastDebounceTime = 0; // Время последнего изменения состояния
      long debounceDelay = 50;   // Задержка подавления дребезга (мс)
      
      void setup() {
        pinMode(buttonPin, INPUT_PULLUP); // Кнопка подключена к земле
        Serial.begin(9600);
      }
      
      void loop() {
        int reading = digitalRead(buttonPin); // Считываем текущее состояние
      
        if (reading != lastButtonState) {
          lastDebounceTime = millis(); // Запоминаем время изменения
        }
      
        if ((millis() - lastDebounceTime) > debounceDelay) {
          // Если прошло достаточно времени, и состояние стабильно
          if (reading != buttonState) {
            buttonState = reading;
            if (buttonState == LOW) { // Если кнопка нажата (LOW, из-за INPUT_PULLUP)
              Serial.println("Кнопка нажата!");
            }
          }
        }
        lastButtonState = reading; // Сохраняем текущее для следующего цикла
      }
      
    • В этом примере используется задержка в 50 мс. Только если состояние кнопки остаётся стабильным на протяжении этого времени, оно считается действительным.
  2. Аппаратный метод:
    • Включает изменение схемы подключения путём установки дополнительных электронных элементов.
    • RC-фильтр с триггером Шмитта: Один из наиболее эффективных аппаратных методов. RC-цепочка (резистор-конденсатор) сглаживает быстрые перепады напряжения, вызванные дребезгом, а триггер Шмитта обеспечивает чёткий логический уровень на выходе, игнорируя медленные изменения напряжения.
      • Типичные значения: подтягивающий резистор (Rподтягивающий) 1 кОм и конденсатор (C) 1 мкФ. Или последовательный резистор (R) 10 кОм с конденсатором (C) 1 мкФ.
      • Расчёт времени подавления: Время подавления дребезга определяется постоянной времени RC-цепочки (τ = R × C). Для указанных значений, если используется RC-фильтр на входе, время подавления дребезга обычно составляет около 10 мс. Например, при R = 10 кОм и C = 1 мкФ, τ = 10 мс. Этого времени, как правило, достаточно для большинства механических контактов.
      • Принцип работы: Конденсатор заряжается или разряжается через резистор. При дребезге контактов конденсатор не успевает полностью зарядиться или разрядиться до тех пор, пока контакты не стабилизируются, что обеспечивает «чистый» сигнал на входе триггера Шмитта.

Операционные системы реального времени (ОСРВ)

Для сложных встроенных систем, которым необходима быстрая и предсказуемая реакция на внешние изменения, часто используются операционные системы реального времени (ОСРВ, RTOS).

  • Принципы работы ОСРВ:
    • Многозадачность: Позволяет выполнять несколько задач «одновременно» (на самом деле, процессор быстро переключается между ними).
    • Приоритетность потоков: Задачи с более высоким приоритетом получают доступ к процессору раньше, чем задачи с низким приоритетом, гарантируя своевременный отклик на критические события.
    • Управление памятью: Эффективное распределение памяти между задачами.
    • Синхронизация: Механизмы для безопасного взаимодействия задач (семафоры, мьютексы, очереди).
    • Обработка прерываний: ОСРВ интегрируют обработку прерываний, позволяя им запускать высокоприоритетные задачи.
  • Преимущества использования ОСРВ:
    • Абстракция кода: Разработчик может сосредоточиться на логике каждой задачи, не вдаваясь в низкоуровневые детали планирования.
    • Повторное использование программ: Модульность, обеспечиваемая ОСРВ, способствует созданию переиспользуемых программных компонентов.
    • Управление проектом: ОСРВ упрощают управление сложными проектами, позволяя разбивать их на независимые задачи.
    • Отладка: Многие ОСРВ предоставляют средства для отладки многозадачных систем, такие как просмотр состояния задач, очередей и семафоров.
  • FreeRTOS: Является одной из наиболее популярных ОСРВ с открытым исходным кодом, специально разработанной для микроконтроллеров с небольшим объёмом ОЗУ. Она предоставляет основные функции многозадачности и синхронизации, будучи при этом компактной и эффективной.

Таким образом, разработка программного обеспечения для микропроцессорных систем — это сложный, но увлекательный процесс, требующий глубоких знаний как аппаратной части, так и принципов программирования, включая особенности работы с прерываниями, управления внешними устройствами и обеспечения надёжности системы. Способна ли эта комплексная методология обеспечить не только функциональность, но и безопасность критически важных приложений?

Современные тенденции и технологии в микропроцессорных системах

Микропроцессорные системы (МПС) стремительно развиваются, становясь не просто компонентами, а интеллектуальными центрами, интегрированными практически во все сферы нашей жизни. От бытовой электроники до сложнейших промышленных комплексов — везде заметны новые веяния, которые меняют подход к проектированию и разработке.

Энергоэффективность и архитектуры процессоров

В условиях роста числа мобильных и автономных устройств энергоэффективность процессора стала ключевым фактором при выборе вычислительных систем, что отражает соотношение между производительностью и потребляемой электроэнергией: как получить максимум вычислений при минимуме затрат энергии.

Исторически развитие микропроцессоров шло по двум основным направлениям:

  • RISC-процессоры (Reduced Instruction Set Computer): Процессоры с сокращенным набором команд. Их философия — выполнять много простых, быстродействующих инструкций. Это позволяет оптимизировать конвейер, снизить сложность аппаратной части и, как следствие, уменьшить энергопотребление.
  • CISC-процессоры (Complex Instruction Set Computer): Процессоры с полным набором команд. Они способны выполнять сложные инструкции за один такт, что может упростить программирование, но усложняет аппаратную реализацию и часто ведёт к более высокому энергопотреблению.

Методы снижения энергопотребления в современных МПС включают:

  • Оптимизация за счет нескольких режимов работы системы: Переключение процессора в режимы пониженного энергопотребления (idle, sleep, deep sleep), когда нет активных задач.
  • Оптимизация ресурсов: Отключение неиспользуемых компонентов (таких как датчики, блоки памяти, периферийные устройства) в определённые моменты времени.
  • Энергоэффективный код: Оптимизация алгоритмов и программного кода для минимизации количества операций и времени активной работы процессора.
  • Самосинхронные (асинхронные) микропроцессоры: Эти процессоры потребляют энергию только во время выполнения вычислений, в отличие от синхронных систем, которые постоянно тактируются, даже если нет активной работы. Это особенно важно для применений, где критичны надёжность и низкое потребление, например, в космических системах.

Открытые архитектуры: RISC-V

На фоне доминирования проприетарных архитектур (таких как x86 и ARM) активно набирает обороты RISC-V — открытая архитектура набора команд (ISA).

  • Преимущества RISC-V:
    • Гибкость: Открытость позволяет адаптировать архитектуру под конкретные задачи.
    • Экономичность: Отсутствие дорогостоящих лицензионных сборов делает её привлекательной для стартапов и небольших компаний.
    • Расширяющаяся экосистема: Быстрое развитие сообщества, поддержка инструментов разработки (toolchains), например, для систем искусственного интеллекта (есть даже поддержка CUDA).
    • Производительность: Новые реализации RISC-V демонстрируют впечатляющие показатели производительности.
  • Прогнозируемое распространение: К 2025 году прогнозируется использование более 20 миллиардов ядер RISC-V, что вдвое больше, чем за два года до этого. Это подчёркивает её растущую значимость.
  • Применение: RISC-V активно используется для bare-metal программирования, а также лежит в основе новейших российских микроконтроллеров. Например, К1921ВГ5Т и К1921ВГ7Т от НИИ электронной техники представляют собой одноядерные 32-разрядные МК на архитектуре RISC-V.
    • Они оснащены 512 КБ Flash-памяти программ.
    • Имеют богатый набор интерфейсов: UART (два приёмопередатчика для К1921ВГ5Т), SPI (два контроллера), I²C (один контроллер) и CAN 2.0b (один контроллер).
    • Включают 12-битные АЦП (четырёхканальный для К1921ВГ5Т, восьмиканальный для К1921ВГ7Т), поддержку ШИМ, 16-канальный контроллер прямого доступа к памяти (DMA) для К1921ВГ5Т и четыре 32-разрядных таймера.

Эти разработки показывают, что RISC-V становится не просто академическим проектом, а реальной основой для коммерческих и промышленных продуктов.

Интеграция Искусственного Интеллекта и IoT

Симбиоз Интернета вещей (IoT) и Искусственного Интеллекта (ИИ) является одной из самых мощных движущих сил в развитии МПС.

  • ИИ в IoT-устройствах:
    • Принятие решений в реальном времени: ИИ позволяет IoT-устройствам обрабатывать данные непосредственно на периферии (edge computing) и быстрее принимать решения, что повышает эффективность в здравоохранении, производстве и других областях.
    • Обнаружение аномалий и профилактическое обслуживание: ИИ анализирует потоки данных с датчиков, выявляя отклонения от нормы и предсказывая возможные поломки, что позволяет проводить обслуживание до возникновения критических сбоев.
  • Периферийные вычисления (Edge Computing): Обработка данных происходит ближе к источнику (на самом IoT-устройстве или в локальной сети), а не в облаке. Это уменьшает задержки, снижает нагрузку на сеть и повышает конфиденциальность.
  • 5G: Высокоскоростные и низколатентные сети 5G являются идеальной инфраструктурой для массового внедрения IoT-устройств, позволяя им эффективно взаимодействовать и передавать огромные объёмы данных.
  • Цифровые двойники: Виртуальные копии физических объектов или систем, которые постоянно обновляются данными с IoT-устройств и могут использоваться для моделирования, анализа и оптимизации.
  • Кибербезопасность IoT: С ростом числа подключённых устройств возрастает и риск кибератак. ИИ применяется для обнаружения угроз и защиты IoT-систем.
  • Использование ИИ в проектировании процессоров: ИИ уже активно используется в самой разработке чипов. Например, Google AlphaChip применяет ИИ для разработки тензорных процессоров TPU, способных создавать высококачественные макеты за часы, что значительно превосходит человеческие возможности по скорости и эффективности.
  • Применение ИИ в специфических МПС:
    • Микропроцессорные комплексы релейной защиты и автоматики: ИИ используется для непрерывной самодиагностики и адаптации к изменяющимся условиям в энергосистемах.
    • Экомониторинг: ИИ анализирует данные, поступающие от множества датчиков (качество воздуха, воды, уровень шума), для оценки состояния окружающей среды и прогнозирования изменений.

Многоядерные архитектуры и другие актуальные технологии

  • Многоядерные архитектуры: Стали нормой даже в компактных встроенных системах. Требования к производительности в высоконагруженных системах критичны, и параллельная обработка данных на нескольких ядрах позволяет достичь необходимой скорости.
  • Архитектура ARM: Процессоры на основе архитектуры ARM используются в миллиардах устройств — от смартфонов и планшетов до встроенных систем, сетевого оборудования и даже серверов (например, Google Axion, которые показывают на 65% лучшее соотношение цены и производительности и до 60% более высокую энергоэффективность по сравнению с x86 аналогами). Основные преимущества ARM — крайне низкое энергопотребление и достаточная производительность для большинства мобильных и встроенных применений. Huawei активно способствует развитию её экосистемы.

Эти тенденции показывают, что микропроцессорные системы продолжают эволюционировать, интегрируя новые технологии и адаптируясь к меняющимся требованиям рынка и задачам, оставаясь при этом одним из самых динамичных и перспективных направлений в электронике. В чем же заключается ключевой аспект этой эволюции? Прежде всего, это переход от простого управления к интеллектуальному взаимодействию с окружающей средой, что открывает новые горизонты для автономных и самообучающихся систем.

Тестирование и отладка микропроцессорных систем

Создание микропроцессорной системы – это лишь половина дела. Чтобы быть уверенным в её надёжности и корректной работе, необходимо провести тщательное тестирование и отладку. Отладка программ заключается в проверке правильности работы как самой программы, так и аппаратной части. Если вопросы тестирования не продуманы на стадии проектирования, они могут стать трудноразрешимой проблемой в процессе эксплуатации. Ошибки в работе системы могут быть обусловлены как неисправностями аппаратной части, так и ошибками в программном обеспечении.

Цели и виды тестирования

Тестирование и отладка преследуют несколько ключевых целей:

  • Проверка качества функционирования: Убедиться, что система выполняет свои функции в соответствии с требованиями.
  • Диагностика и отыскание неисправностей: Выявление причин сбоев и ошибок.
  • Логические ошибки: Могут быть связаны с некорректным алгоритмом программы или с неправильным пониманием работы аппаратуры, подключенной к портам микроконтроллера.
  • Аппаратные неисправности: От проблем с компонентами до ошибок в разводке печатной платы. Сложность и неразделимость аппаратуры МПС затрудняют автономную проверку функциональных узлов.

Различают два основных подхода к контролю:

  • Функциональный контроль: Использует алгоритм функционирования МПС в качестве исходной информации для построения тестовой программы. Проверяется, соответствует ли поведение системы её предназначению.
  • Структурный контроль: Ориентируется на принципиальную схему проверяемого устройства. Проверяется корректность взаимодействия отдельных блоков и компонентов.

Существуют пять основных приемов комплексной отладки МПС:

  1. Остановка функционирования системы при определенном событии: Использование точек останова (breakpoints).
  2. Чтение/изменение содержимого памяти или регистров: Непосредственный доступ к внутренним состояниям МПС.
  3. Пошаговое отслеживание: Выполнение программы инструкция за инструкцией.
  4. Отслеживание в реальном времени: Мониторинг работы системы без её остановки.
  5. Временное согласование программ: Анализ синхронности и последовательности выполнения различных частей кода.

Средства отладки программного обеспечения

Для эффективной отладки ПО используются различные инструменты:

  • Внутрисхемные эмуляторы (In-Circuit Emulator, ICE): Предоставляют удобную среду для остановки программы, контроля выполнения по исходному тексту, состояния внешних портов и внутренних переменных. Современные микроконтроллеры часто имеют встроенный внутрисхемный эмулятор, что значительно упрощает отладку.
  • JTAG (Joint Test Action Group) и SWD (Serial Wire Debug): Это стандартизированные интерфейсы, изначально разработанные для тестирования печатных плат, но ставшие жизненно важными инструментами для отладки встроенных систем.
    • JTAG: Обеспечивает прямой доступ к внутренним регистрам и памяти МК, позволяя устанавливать точки останова, пошагово выполнять инструкции, читать и записывать данные.
    • SWD: Более оптимизированная альтернатива JTAG для ARM-микроконтроллеров. Использует меньшее количество контактов (всего два), но предлагает схожие функции отладки.
    • Примеры отладочных зондов:
      • SEGGER J-Link: Высокоскоростной отладчик, обеспечивающий быструю загрузку в ОЗУ (до 4 МБ/с) и позволяющий устанавливать неограниченное количество точек останова во Flash-памяти. Поддерживает широкий спектр ARM-архитектур (от 8051 до Cortex-A 32- и 64-битных).
      • ST-Link/V2: Внутрисхемный отладчик/программатор для микроконтроллеров STM8 и STM32, поддерживающий пошаговое выполнение, точки останова и просмотр регистров.
      • Black Magic Probe: Отладочный инструмент нового поколения для ARM Cortex MCU со встроенным GDB-сервером, позволяющий напрямую подключаться к GDB без использования промежуточного ПО, такого как OpenOCD или STLink Server.
  • Программные отладчики-симуляторы: Эмулируют работу выбранного типа микроконтроллера на компьютере, позволяя тестировать программу без реального железа.
  • Комплексные пакеты разработки ПО: Современные IDE (например, Keil μVision, STM32CubeIDE, Atmel Studio) включают в себя компиляторы, редакторы, менеджеры проектов, симуляторы и интеграцию с аппаратными отладчиками.

Средства отладки аппаратного обеспечения

Для выявления и устранения проблем на уровне железа используются специализированные инструменты:

  • Отладочные платы: Это готовые печатные платы с установленным микроконтроллером и необходимой обвязкой, схемами связи с компьютером, разводкой для плат расширения и макетной областью.
    • Применение: Используются для отладки кода, прошивки нового устройства, проверки новых приложений и даже для мелкосерийного производства.
    • Примеры: Многие производители предлагают недорогие отладочные платы, такие как STM32 Discovery, с мощными процессорами и богатой периферией, что делает их доступными для студентов и разработчиков.
  • Логические анализаторы: Позволяют наблюдать за состоянием множества цифровых сигналов одновременно, анализируя протоколы обмена данными (SPI, I²C, UART).
  • Осциллографы (в том числе цифровые осциллографы смешанных сигналов): Необходимы для анализа временных диаграмм, измерения уровней напряжения, частот, поиска шумов и помех. Осциллографы смешанных сигналов объединяют функциональность осциллографа и логического анализатора.
  • Программаторы: Используются для записи двоичного кода программы (прошивки) в энергонезависимую память микроконтроллера (Flash).
  • Дополнительные каналы обмена информацией:
    • Передача данных через терминал: Часто используется UART для вывода отладочных сообщений на компьютер.
    • Визуализация данных: Например, вывод графиков или числовых значений на дисплей.
    • Измерение тока потребления: Некоторые отладочные средства могут измерять потребляемый ток микроконтроллера и внешней периферии, отображая график потребления тока с привязкой к выполняемым командам, что критически важно для энергоэффективных систем.

Тест-менеджмент и автоматизация тестирования

Для систематизации процесса тестирования применяются специальные подходы и инструменты:

  • Тест-менеджмент системы (TMS): Это инструменты для организации и управления тестированием. Они позволяют вести учет тест-кейсов, отслеживать приоритеты, контролировать результаты, формировать отчёты и интегрироваться с баг-трекерами.
  • Инструменты для автоматизации тестирования ПО:
    • SoapUI: Для тестирования веб-сервисов, использующих протоколы SOAP и REST API.
    • Ranorex: Для автоматизации тестирования десктопных и мобильных приложений.
    • Sahi, Selenium: Широко используются для автоматизации тестирования веб-приложений.
    • LoadNinja: Применяется для тестирования производительности веб-приложений под нагрузкой.
  • UEFI Shell: Интерпретатор командной строки, работающий до загрузки операционной системы. Он полезен для низкоуровневой диагностики и отладки системы, например, для тестирования памяти или периферийных устройств.

Комплексный подход к тестированию и отладке, включающий как программные, так и аппаратные средства, а также систематизированное управление тестами, позволяет обеспечить высокое качество и надёжность микропроцессорных систем на всех этапах их жизненного цикла.

Методология документирования проекта микропроцессорной системы

Документирование — это не просто формальность, а неотъемлемая часть инженерного процесса, обеспечивающая прозрачность, воспроизводимость и возможность дальнейшего сопровождения проекта. В России методология документирования проектов микропроцессорных систем (МПС) строго регламентируется Государственными стандартами (ГОСТами) и постановлениями правительства, что обеспечивает единообразие и высокое качество технической документации.

Нормативная база

Основой для документирования служат следующие ключевые нормативные акты:

  • ГОСТ Р 51904-2002 «Программное обеспечение встроенных систем. Общие требования к разработке и документированию»: Этот стандарт устанавливает общие требования к разработке и документированию программного обеспечения (ПО) встроенных систем реального времени. Он охватывает весь жизненный цикл ПО, включая процессы планирования, разработки, верификации, управления конфигурацией, обеспечения качества и сертификационного сопровождения. Стандарт применяется ко всему поставляемому ПО, включая среду разработки, если контрактом не предусмотрены специальные стандарты.
  • Постановление Правительства РФ №87 от 16.02.2008 «О составе разделов проектной документации и требованиях к их содержанию»: Определяет структуру и содержание разделов проектной документации для строительства, реконструкции и капитального ремонта различных видов объектов капитального строительства. Это постановление регулярно обновляется (например, последние редакции датированы 3 октября 2025 года и 21 октября 2025 года) и имеет срок действия до 1 сентября 2028 года. Хотя оно ориентировано на строительную сферу, принципы структурирования документации могут быть применены и к крупным электронным проектам.
  • ГОСТ Р 2.504-2021 «Единая система конструкторской документации. Электронная конструкторская документация. Правила внесения изменений»: Этот ГОСТ устанавливает порядок внесения изменений в электронную конструкторскую документацию (ЭКД) и электронную технологическую документацию. Он регламентирует создание новых версий документов, их обозначений и управляется автоматизированными системами управления данными об изделии (АС УДИ).

Этапы проектирования и соответствующая документация

Процесс проектирования МПС и её документирования тесно связаны и представляют собой последовательность этапов:

  1. Формализация требований к системе:
    • Документ: Техническое задание (ТЗ). Это основной документ, который описывает назначение, функции, поведение и другие требования к будущему устройству. В ТЗ формализуются технические характеристики, показатели качества и экономические требования.
  2. Разработка структуры и архитектуры системы:
    • Документ: Техническое предложение. Обосновывает целесообразность разработки изделия на основании анализа ТЗ и сравнительной оценки возможных решений.
    • Документ: Эскизный проект. Содержит принципиальные конструктивные решения, дающие общее представление об устройстве и принципе действия, а также данные, определяющие назначение и основные параметры. Определяются функции отдельных устройств и программных средств, выбираются микропроцессорные наборы, прорабатывается взаимодействие аппаратных и программных средств, временные характеристики.
  3. Разработка и изготовление аппаратных средств и программного обеспечения системы:
    • Документ: Технический проект. Содержит окончательные технические решения, дающие полное представление об устройстве разрабатываемого изделия, и исходные данные для разработки рабочей документации.
    • Документ: Рабочая документация. Совокупность текстовых и графических документов, обеспечивающих реализацию технических решений, необходимых для производства строительных и монтажных работ, а также обеспечения строительства оборудованием, изделиями и материалами. Включает основные комплекты рабочих чертежей, спецификации оборудования, изделий и материалов.
  4. Комплексная отладка и приемосдаточные испытания:
    • Документ: Программа и методика испытаний, Протоколы испытаний.

Основные виды документации

Рассмотрим более подробно содержание ключевых видов документации:

  • Техническое задание (ТЗ):
    • Назначение и область применения системы.
    • Требования к функциональности, производительности, надёжности, безопасности.
    • Условия эксплуатации.
    • Требования к аппаратной и программной части.
    • Требования к документации.
  • Техническое предложение:
    • Анализ существующих аналогов.
    • Обоснование выбора концепции и основных технических решений.
    • Предварительная оценка стоимости и сроков.
  • Эскизный проект:
    • Описание принципа действия.
    • Структурные схемы.
    • Основные параметры.
    • Эскизы конструкций.
  • Технический проект:
    • Принципиальные электрические схемы.
    • Схемы расположения элементов.
    • Описание алгоритмов.
    • Перечень элементов.
    • Технические описания на ключевые узлы.
  • Рабочая документация:
    • Рабочие чертежи: Схемы электрические принципиальные, схемы электрические соединений, чертежи печатных плат, сборочные чертежи.
    • Спецификации оборудования, изделий и материалов: Полный перечень компонентов с указанием их характеристик и количества.
    • Программы и методики испытаний.
  • Проектная документация (согласно Постановлению Правительства РФ №87):
    • Пояснительная записка: Общие сведения, обоснование принятых решений.
    • Схема планировочной организации земельного участка.
    • Архитектурные решения.
    • Конструктивные и объёмно-планировочные решения.
    • Сведения об инженерном оборудовании: Подразделы по электроснабжению, водоснабжению, сетям связи и др.
    • Проект организации строительства.
  • Документация на аппаратное/программное обеспечение:
    • Каталог комплектации: Является основным контрольным документом для каждой самостоятельной версии программно-математического обеспечения. Содержит информацию о составе всех файлов, входящих в ПО.
    • Руководство для программистов: Излагает информацию, достаточную для понимания принципов работы и программирования вычислителя.
  • Электронная конструкторская документация (ЭКД):
    • ГОСТ Р 2.504-2021 регулирует правила внесения изменений в ЭКД, включая ремонтные и эксплуатационные документы. Важно соблюдать процедуры управления версиями и обозначениями документов в автоматизированных системах.

Оформление курсовой работы

Применительно к курсовой работе студента, методология документирования принимает вид академического оформления:

  • Форматирование текста: Соблюдение требований к шрифту (например, Times New Roman, 14 пт), интервалам (1,5), отступам.
  • Оформление заголовков: Чёткая иерархия заголовков (H1, H2, H3), их нумерация.
  • Нумерация страниц: В соответствии с методическими рекомендациями вуза или ГОСТами.
  • Оформление таблиц, рисунков, схем: Наличие номеров, наименований, ссылок в тексте.
  • Список источников: Строго по ГОСТу.

Компетентное документирование проекта микропроцессорной системы — это залог его успешной реализации, долговечности и соответствия высоким инженерным и академическим стандартам. А что из этого следует для практического инженера? Это означает, что чёткое следование стандартам документации не просто упрощает сдачу проекта, но и значительно снижает риски при эксплуатации, модернизации и передаче проекта другим командам, обеспечивая его жизнеспособность на протяжении всего жизненного цикла.

Заключение

Проектирование микропроцессорной системы — это многогранный и сложный процесс, требующий глубоких знаний в области электроники, программирования и системной инженерии. В рамках данной курсовой работы мы последовательно рассмотрели все ключевые этапы этого процесса, от фундаментальных архитектурных принципов до тонкостей практической реализации и строгого документирования.

Мы начали с погружения в архитектуру и принципы функционирования микропроцессорных систем, где определили базовые понятия, разобрали модульную и магистральную структуру, изучили работу АЛУ, УУ и памяти. Сравнительный анализ архитектур Фон-Неймана и Гарвардской позволил понять компромиссы между простотой и производительностью, а детальный обзор классического микропроцессора КР580ВМ80А продемонстрировал основы, на которых строится вся современная микропроцессорная техника.

Затем мы перешли к критериям выбора микропроцессора/микроконтроллера, подчеркнув критическую важность таких факторов, как функциональные требования, необходимая производительность и разрядность, энергопотребление, а также стоимость и доступность средств разработки. Примеры из мира 8- и 32-разрядных МК, включая AVR ATmega328P, STM32F051 и EFM32 Gecko, помогли проиллюстрировать конкретные параметры выбора.

Этап аппаратной разработки был рассмотрен с акцентом на формализацию требований, проектирование тактового генератора (на примере КР1810ГФ84), подсистемы памяти и устройств ввода/вывода с использованием регистров DDRx, PORTx, PINx. Особое внимание было уделено принципам проектирования печатных плат, включая рекомендации по компоновке, трассировке и обеспечению стабильного питания.

Раздел, посвящённый разработке программного обеспечения, осветил структуру встроенного ПО, сравнительные преимущества языков C и C++ для встроенных систем, важность картирования памяти, а также механизмы обработки прерываний. Отдельное внимание было уделено практической проблеме дребезга контактов и исчерпывающим методам её подавления — как программным, так и аппаратным, с конкретными примерами и значениями компонентов. Внедрение операционных систем реального времени (ОСРВ), таких как FreeRTOS, было представлено как средство для повышения эффективности и абстракции сложных проектов.

Мы также исследовали современные тенденции и технологии, включая энергоэффективность процессоров, открытую архитектуру RISC-V и её применение в новейших российских микроконтроллерах (К1921ВГ5Т, К1921ВГ7Т), а также глубокую интеграцию искусственного интеллекта и Интернета вещей в МПС. Были рассмотрены многоядерные архитектуры и роль ARM-процессоров в современном мире.

Наконец, мы детально изучили тестирование и отладку микропроцессорных систем, описав цели, виды контроля и широкий спектр средств отладки ПО (JTAG, SWD, внутрисхемные эмуляторы, SEGGER J-Link, ST-Link/V2, Black Magic Probe) и аппаратного обеспечения (отладочные платы, логические анализаторы, осциллографы). Важность тест-менеджмента и автоматизации тестирования также была подчеркнута.

Завершающий раздел был посвящён методологии документирования проекта, где были представлены ключевые российские стандарты (ГОСТ Р 51904-2002, Постановление Правительства РФ №87, ГОСТ Р 2.504-2021), этапы проектирования и соответствующие виды документации, а также академические требования к оформлению курсовой работы.

Таким образом, данная работа не только обобщает ключевые теоретические знания по проектированию микропроцессорных систем, но и предоставляет практическое руководство, позволяющее студенту выполнить курсовой проект, соответствующий высоким академическим и инженерным требованиям. Освоенные навыки и знания станут прочной основой для дальнейшего профессионального роста в динамично развивающейся области встроенных систем.

Список использованной литературы

  1. Хоровиц П., Хилл У. Искусство схемотехники. Т. 2. М.: Мир, 1986.
  2. 8-bit Microcontroller with 2K Bytes of Flash ATtiny28L, ATtiny28V. Проспект Atmel.
  3. Долгий А. Клавиатура IBM PC // Радио. 1997. № 4, 6.
  4. Фигурнов В.Э. IBM PC для пользователя. 2-е изд., перераб. и доп. М.: Финансы и статистика, Юнити, 1992. 228 с.
  5. КР580ВМ80А // Википедия. URL: https://ru.wikipedia.org/wiki/%D0%9A%D0%A0580%D0%92%D0%9C80%D0%90 (дата обращения: 30.10.2025).
  6. Микропроцессорные системы // Школа для электрика. URL: https://electric-school.ru/osnovy-elektrotehniki/mikroprocessornye-sistemy.html (дата обращения: 30.10.2025).
  7. Основы микропроцессорной техники // Электронная библиотека СПбПУ. URL: https://elib.spbstu.ru/dl/2/236.pdf (дата обращения: 30.10.2025).
  8. Микропроцессор: зачем нужен и как устроен // GeekBrains. URL: https://gb.ru/blog/mikroprotsessor/ (дата обращения: 30.10.2025).
  9. Архитектура микропроцессоров. Лекция 8: Структура микропроцессорной системы // Интуит. URL: https://www.intuit.ru/studies/courses/2307/582/lecture/12476?page=8 (дата обращения: 30.10.2025).
  10. Библиотека БГУИР. Белорусский государственный университет информатики и радиоэлектроники. URL: https://elib.bsuir.by/bitstream/123456789/42827/1/Kompyuternye_sistemy_i_seti_CH1.pdf (дата обращения: 30.10.2025).
  11. Методы ввода/вывода и их классификация // Studfile.net. URL: https://studfile.net/preview/4561022/page:18/ (дата обращения: 30.10.2025).
  12. Микропроцессорная система // Википедия. URL: https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0 (дата обращения: 30.10.2025).
  13. Система ввода-вывода (Лекция) // МПС — Mc-Plc.Ru. URL: http://mc-plc.ru/index.php/mps/sistema-vvoda-vyvoda (дата обращения: 30.10.2025).
  14. Образовательный портал КГТУ им. И. Раззакова. URL: http://www.kstu.kg/index.php?option=com_content&view=article&id=32&Itemid=121&lang=ru (дата обращения: 30.10.2025).
  15. Как выбрать микропроцессор: 5 ключевых шагов для правильного решения // Elcomag.ru. URL: https://www.elcomag.ru/kak-vybrat-mikroprotsessor-5-kluchevyh-shagov-dlya-pravilnogo-resheniya/ (дата обращения: 30.10.2025).
  16. Выбор микроконтроллера — как найти и подобрать под ваши нужды // Aurora Evernet. URL: https://auroraevernet.ru/blog/vybor-mikrokontrollera/ (дата обращения: 30.10.2025).
  17. Лучшие микроконтроллеры для встраиваемых систем // Altium Resources. URL: https://www.altium.com/ru/resources/engineering-essentials/best-microcontrollers-for-embedded-systems (дата обращения: 30.10.2025).
  18. Выбор микроконтроллера: 8- или 32-разрядный? // Compel.ru. URL: https://www.compel.ru/lib/50346/ (дата обращения: 30.10.2025).
  19. Выбор микроконтроллера и другие решения для встраиваемой системы // Compel.ru. URL: https://www.compel.ru/lib/12836/ (дата обращения: 30.10.2025).
  20. Как выбрать процессор для компьютера в 2025 году // Т—Ж. URL: https://journal.tinkoff.ru/cpu-guide-2025/ (дата обращения: 30.10.2025).
  21. Как выбрать процессор для встраиваемой мультимедийной системы? Часть 1 // Compel.ru. URL: https://www.compel.ru/lib/12716/ (дата обращения: 30.10.2025).
  22. Микропроцессоры: устройство, основные параметры, применение // Kampus.ai. URL: https://kampus.ai/referat/mikroprotsessory-ustroystvo-osnovnye-parametry-primenenie (дата обращения: 30.10.2025).
  23. Intel vs AMD в 2025 году: какой процессор купить для игр и работы // Habr. URL: https://habr.com/ru/companies/xcom/articles/775176/ (дата обращения: 30.10.2025).
  24. Choosing a CPU: What You Need to Know? How to Avoid Making a Wrong Choice? Top 5 Tips // YouTube. URL: https://www.youtube.com/watch?v=kGgLq-40q0A (дата обращения: 30.10.2025).
  25. Intel® Chipset Software and Drivers. URL: https://www.intel.com/content/www/us/en/developer/articles/technical/intel-chipset-software-and-drivers.html (дата обращения: 30.10.2025).
  26. GIGABYTE CONTROL CENTER // GIGABYTE Global. URL: https://www.gigabyte.com/Software/GIGABYTE-CONTROL-CENTER (дата обращения: 30.10.2025).
  27. Drivers and Support for Processors and Graphics // AMD. URL: https://www.amd.com/en/support (дата обращения: 30.10.2025).
  28. Сборка ПК — КАК ВЫБРАТЬ ПРОЦЕССОР В 2025 ГОДУ? ВЫБОР CPU ДЛЯ ИГР! // YouTube. URL: https://www.youtube.com/watch?v=02l71rWc7O8 (дата обращения: 30.10.2025).
  29. КОМПАС-3D Учебная версия: О программе // Kompas.ru. URL: https://kompas.ru/kompas-3d-home/about/ (дата обращения: 30.10.2025).
  30. Pimp my RAM или превращаем оперативную память в фотографическую // Habr. URL: https://habr.com/ru/articles/865239/ (дата обращения: 30.10.2025).
  31. Обзор PCIe 5.0-накопителя Crucial P510: когда быстрый интерфейс не помог // 3DNews. 2025. URL: https://3dnews.ru/1097241/obzor-pcie-50-nakopitelya-crucial-p510 (дата обращения: 30.10.2025).
  32. Новые российские микроконтроллеры будут доступны для тестирования // Elec.ru. 2025. URL: https://www.elec.ru/news/2025/10/29/novye-rossiyskie-mikrokontrollery-budut-dostupny-dl.html (дата обращения: 30.10.2025).
  33. Разработка электропривода. Часть 1. Вводная // Habr. 2025. URL: https://habr.com/ru/articles/865181/ (дата обращения: 30.10.2025).
  34. API платёжного шлюза Сбербанка (1.1.5.1). URL: https://securepayments.sberbank.ru/wiki/doku.php/sberbank_ecom:api:api_doc (дата обращения: 30.10.2025).
  35. Как правильно выбрать серверное оборудование для конкретных задач бизнеса // Tproger.ru. URL: https://tproger.ru/articles/kak-pravilno-vybrat-servernoe-oborudovanie-dlya-konkretnyh-zadach-biznesa/ (дата обращения: 30.10.2025).
  36. Goldman Sachs ожидает снижения ставки Банком Англии в ноябре // Investing.com. 2025. URL: https://ru.investing.com/news/economy/goldman-sachs-expects-bank-of-england-to-cut-rates-in-november-3236240 (дата обращения: 30.10.2025).
  37. Техническая проблема при запуске: r/starcitizen // Reddit. URL: https://www.reddit.com/r/starcitizen/comments/17iw0m8/%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_%D0%BF%D1%80%D0%B8_%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B5/ (дата обращения: 30.10.2025).
  38. Конвейерное производство могло бы снизить стоимость судового оборудования минимум на 30% — Глава РЭО // Медиапалуба. 2025. URL: https://paluba.media/news/17924 (дата обращения: 30.10.2025).
  39. Ультимативный гайд по HDR // StopGame. URL: https://stopgame.ru/blogs/topic/119934 (дата обращения: 30.10.2025).
  40. Тактовые генераторы МК // Основы микропроцессорной техники — Bstudy. URL: https://bstudy.net/605929/tehnika/taktovye_generatory_mk (дата обращения: 30.10.2025).
  41. Проектирование печатной платы на реальном примере. Этапы работы над проектом. // YouTube. URL: https://www.youtube.com/watch?v=FjIuK2-519A (дата обращения: 30.10.2025).
  42. Цифровые регистры ввода/вывода AVR микроконтроллера // YouTube. URL: https://www.youtube.com/watch?v=D-n5u-gI5X4 (дата обращения: 30.10.2025).
  43. AVR 2# Порты ввода вывода. Теория. // YouTube. URL: https://www.youtube.com/watch?v=9o-U7kYj3d8 (дата обращения: 30.10.2025).
  44. STM32. Урок 8. GPIO. Схемотехника портов ввода-вывода микроконтроллера // YouTube. URL: https://www.youtube.com/watch?v=0hX0I4uR07k (дата обращения: 30.10.2025).
  45. Микроконтроллеры Порты ввода вывода Урок 10 // YouTube. URL: https://www.youtube.com/watch?v=LqN6K8G3mXA (дата обращения: 30.10.2025).
  46. Как подготовить проект печатной платы к производству? // Highleap Electronic. URL: https://highleap.ru/kak-podgotovit-proekt-pechatnoy-platy-k-proizvodstvu/ (дата обращения: 30.10.2025).
  47. Изготовление печатных плат по индивидуальному заказу: этапы от проектирования до производства // PCB Board — SQPCB. URL: https://sqpcb.com/ru/pcb-board/ (дата обращения: 30.10.2025).
  48. Изготовление печатных плат — НЕ ЛУТ! — БЕЗ ПРОБЛЕМ — БЕЗ ОБОРУДОВАНИЯ // YouTube. URL: https://www.youtube.com/watch?v=680wL_l7y9U (дата обращения: 30.10.2025).
  49. Схемотехника: Что это такое и для чего она нужна // Habr. 2023. URL: https://habr.com/ru/articles/731114/ (дата обращения: 30.10.2025).
  50. Новые российские микроконтроллеры будут доступны для тестирования // Sostav.ru. 2025. URL: https://sostav.ru/publication/novye-rossijskie-mikrokontrollery-budut-dostupny-dlya-testirovaniya-68212.html (дата обращения: 30.10.2025).
  51. Обзор смартфона Apple iPhone 17 Pro Max: батя в городе // 3DNews. 2025. URL: https://3dnews.ru/1097067/obzor-smartfona-apple-iphone-17-pro-max-batya-v-gorode (дата обращения: 30.10.2025).
  52. 50 отличных игр для детей и взрослых, которые пригодятся в долгой дороге // Pedsovet.org. URL: https://pedsovet.org/article/50-otlicnyh-igr-dla-detej-i-vzroslyh-kotorye (дата обращения: 30.10.2025).
  53. Обзор планшета HONOR Pad X9a // Интернет-магазин МТС. URL: https://www.mts.ru/product/planshety/honor-pad-x9a/obzor (дата обращения: 30.10.2025).
  54. Ульянов, Александр Ильич // Википедия. URL: https://ru.wikipedia.org/wiki/%D0%A3%D0%BB%D1%8C%D1%8F%D0%BD%D0%BE%D0%B2,_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%98%D0%BB%D1%8C%D0%B8%D1%87 (дата обращения: 30.10.2025).
  55. Обрушение эскалатора на «Авиамоторной» // Википедия. URL: https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D1%83%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D1%8D%D1%81%D0%BA%D0%B0%D0%BB%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%BD%D0%B0_%C2%AB%D0%90%D0%B2%D0%B8%D0%B0%D0%BC%D0%BE%D1%82%D0%BE%D1%80%D0%BD%D0%BE%D0%B9%C2%BB (дата обращения: 30.10.2025).
  56. 15 лучших бюджетных смартфонов в 2025 году // Hi-Tech Mail. 2025. URL: https://hi-tech.mail.ru/review/82071-luchshie-byudzhetnye-smartfony-2025-goda/ (дата обращения: 30.10.2025).
  57. Любимый россиянами бренд смартфонов пошел по стопам OnePlus. Выпущен ультрадешевый флагман с огромной батареей и крутой камерой // CNews. 2025. URL: https://www.cnews.ru/news/top/2025-10-21_lyubimyj_rossiyanami_brend (дата обращения: 30.10.2025).
  58. Дребезг контактов, и как с ним бороться // RadioProg. URL: https://radioprog.ru/post/1000 (дата обращения: 30.10.2025).
  59. Операционные системы реального времени // chipenable.ru. URL: http://chipenable.ru/index.php/article/item/188-operacionnye-sistemy-realnogo-vremeni.html (дата обращения: 30.10.2025).
  60. Arduino: Дребезг — программное и аппаратное устранение // Codius.ru. URL: https://codius.ru/articles/Arduino-%D0%94%D1%80%D0%B5%D0%B1%D0%B5%D0%B7%D0%B3-%E2%80%94-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5-%D0%B8-%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BD%D0%BE%D0%B5-%D1%83%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5 (дата обращения: 30.10.2025).
  61. Операционная система реального времени против обычной: как выбрать RTOS // Kedr.solutions. URL: https://kedr.solutions/blog/rtos-vs-general-purpose-os-how-to-choose-the-right-one/ (дата обращения: 30.10.2025).
  62. Программное обеспечение микропроцессорных систем // Электронный учебник. URL: http://www.electrosad.ru/mps/po.htm (дата обращения: 30.10.2025).
  63. Микропроцессорные системы. Разработка программного обеспечения для микроконтроллеров семейства AVR: учебное пособие // ЭБС Лань. URL: https://e.lanbook.com/book/298453 (дата обращения: 30.10.2025).
  64. FreeRTOS — операционная система реального времени // Habr. 2022. URL: https://habr.com/ru/articles/667798/ (дата обращения: 30.10.2025).
  65. Прерывания // GAW.ru. URL: https://gaw.ru/html.cgi/txt/app/micros/avr/05.htm (дата обращения: 30.10.2025).
  66. ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ // КиберЛенинка. URL: https://cyberleninka.ru/article/n/operatsionnye-sistemy-realnogo-vremeni (дата обращения: 30.10.2025).
  67. Введение в встроенные системы: основы и применение // AI-FutureSchool. URL: https://ai-futureschool.ru/articles/vvedenie-v-vstroennye-sistemy-osnovy-i-primenenie (дата обращения: 30.10.2025).
  68. Прерывания. Объяснялки. Сайт о микроконтроллерах AVR.RU. URL: http://avr.ru/uroki-s-avr/urok-5-prepyvaniya (дата обращения: 30.10.2025).
  69. Методы и принципы разработки ПО для встраиваемых устройств // курс «Embedded Developer» // YouTube. URL: https://www.youtube.com/watch?v=S2f1b_y4w7I (дата обращения: 30.10.2025).
  70. Что такое SDLC и как работает жизненный цикл разработки ПО // Skillbox. URL: https://skillbox.ru/media/code/chto_takoe_sdlc_i_kak_rabotaet_zhiznennyy_tsikl_razrabotki_po/ (дата обращения: 30.10.2025).
  71. Навсегда избавляемся от дребезга и дружим микроконтроллер с кнопкой // Habr. 2023. URL: https://habr.com/ru/articles/746404/ (дата обращения: 30.10.2025).
  72. Программирование встроенных систем на С++ 17. ДМК Пресс, 2021. URL: https://dmkpress.com/catalog/computer/programming/978-5-97060-705-4/ (дата обращения: 30.10.2025).
  73. Урок 8. Arduino: Дребезг — программное устранение. Нажатие кнопки без ложных срабатываний. // Arduino.ru. URL: https://arduino.ru/tutorial/urok-8-drebezg-programmnaya-otladka (дата обращения: 30.10.2025).
  74. Учебник по встроенным системам // Guru99. URL: https://www.guru99.com/ru/embedded-system-tutorial.html (дата обращения: 30.10.2025).
  75. Принципы построения программ МПС // Ppt-online.org. URL: https://ppt-online.org/472659 (дата обращения: 30.10.2025).
  76. Очередной проект для себя или что такое MPS // Habr. 2023. URL: https://habr.com/ru/articles/723824/ (дата обращения: 30.10.2025).
  77. Что такое встроенные системы, где они применяются и как разрабатываются // ВКонтакте. 2025. URL: https://vk.com/@ali_tech-chto-takoe-vstroennye-sistemy-gde-oni-primenyautsya-i-kak (дата обращения: 30.10.2025).
  78. Встраиваемые системы и программирование микроконтроллеров // Демо-занятие курса «Программист С» // YouTube. URL: https://www.youtube.com/watch?v=QxK7a3W3x-Y (дата обращения: 30.10.2025).
  79. Многопоточное программирование на C++ // Курс «Специализация C++ Developer» // YouTube. URL: https://www.youtube.com/watch?v=Kz6M8z63z68 (дата обращения: 30.10.2025).
  80. Архитектура ИТ решений. Часть 4. Архитектура приложений. 4.1. Область разработки прикладных систем // Habr. 2025. URL: https://habr.com/ru/articles/864985/ (дата обращения: 30.10.2025).
  81. Structured programming // YouTube. URL: https://www.youtube.com/watch?v=uT9J93Q06yM (дата обращения: 30.10.2025).
  82. Пошаговое руководство. Компиляция машинной программы на языке C++ из командной строки // Microsoft Learn. URL: https://learn.microsoft.com/ru-ru/cpp/build/walkthrough-compiling-a-native-cpp-program-on-the-command-line?view=msvc-170 (дата обращения: 30.10.2025).
  83. Как повысить энергоэффективность процессорных систем // Время электроники. URL: https://www.russianelectronics.ru/developer/article/1749/doc/31206/ (дата обращения: 30.10.2025).
  84. Что Такое Энергоэффективность Процессора // Habr. 2025. URL: https://habr.com/ru/companies/selectel/articles/864380/ (дата обращения: 30.10.2025).
  85. КОСМОДРОМ — Электронные компоненты для разработки и производства. URL: http://kosmodrom.com.ua/modules/article/view.php?carticleid=2083 (дата обращения: 30.10.2025).
  86. What is RISC V, and why is it popular in embedded design // YouTube. URL: https://www.youtube.com/watch?v=Xh0l0j8o3Xg (дата обращения: 30.10.2025).
  87. Методы снижения энергопотребления в строго самосинхронных микропроцессорах // Elibrary.ru. 2011. URL: https://www.elibrary.ru/item.asp?id=16262450 (дата обращения: 30.10.2025).
  88. ОПТИМИЗАЦИЯ ЭНЕРГОПОТРЕБЛЕНИЯ МИКРОКОНТРОЛЛЕРНЫХ СИСТЕМ // South Ural State University. 2019. URL: https://www.elibrary.ru/item.asp?id=38198759 (дата обращения: 30.10.2025).
  89. Home // RISC-V International. URL: https://riscv.org/ (дата обращения: 30.10.2025).
  90. ИИ СОЗДАЕТ ПРОЦЕССОРЫ БУДУЩЕГО – Google AlphaChip // YouTube. URL: https://www.youtube.com/watch?v=Yp5J4iQ10x4 (дата обращения: 30.10.2025).
  91. Introducing the RISCstar toolchain for RISC-V // RISC-V International. 2025. URL: https://riscv.org/blog/2025/10/introducing-the-riscstar-toolchain-for-risc-v/ (дата обращения: 30.10.2025).
  92. Comprehensive roadmap for aspiring Embedded Systems Engineers, featuring a curated list of learning resources // GitHub. URL: https://github.com/m3y54m/Embedded-Engineering-Roadmap (дата обращения: 30.10.2025).
  93. RISC-V EdgeAI // VLSI System Design. URL: https://www.vlsisystemdesign.com/risc-v-edge-ai/ (дата обращения: 30.10.2025).
  94. Python через 10 лет: Гонка за производительностью или закат эпохи? // Habr. 2025. URL: https://habr.com/ru/companies/skillbox/articles/864697/ (дата обращения: 30.10.2025).
  95. Как в Чувашии готовят инженеров, которым работодатели платят еще во время учебы // Pravdapfo.ru. URL: https://pravdapfo.ru/articles/kak-v-chuvashii-gotovyat-inzhenerov-kotorym-rabotodateli-platyat-eshche-vo-vremya-ucheby/ (дата обращения: 30.10.2025).
  96. Официальный сайт Huawei (Хуавэй) в России. URL: https://consumer.huawei.com/ru/ (дата обращения: 30.10.2025).
  97. ЭУ КГЭУ. URL: https://portal.kgeu.ru/course/view.php?id=80 (дата обращения: 30.10.2025).
  98. Microsoft Copilot теперь помогает сотрудникам создавать приложения // Startpack. 2025. URL: https://startpack.ru/news/microsoft-copilot-teper-pomogaet-sotrudnikam-sozdavat-prilozheniya (дата обращения: 30.10.2025).
  99. Третья молодость Zen 2 и Zen 3+: AMD опять перевыпустила старые процессоры под новыми именами // 3DNews. 2025. URL: https://3dnews.ru/1097223/tretya-molodost-zen-2-i-zen-3-amd-opyat-perevipustila-stariye-protsessori-pod-novimi-imenami (дата обращения: 30.10.2025).
  100. 5 революционных тенденций IoT, на которые стоит обратить внимание в 2025 году // Habr. 2023. URL: https://habr.com/ru/articles/731114/ (дата обращения: 30.10.2025).
  101. «Микропроцессорные системы»: современно и своевременно // КиберЛенинка. URL: https://cyberleninka.ru/article/n/mikroprotsessornye-sistemy-sovremenno-i-svoevremenno (дата обращения: 30.10.2025).
  102. От нейропроцессоров до AI-решений. Что важно знать бизнесу? Опыт NVIDIA и советы для бизнеса. // YouTube. URL: https://www.youtube.com/watch?v=gT_qNl3aC9c (дата обращения: 30.10.2025).
  103. Закрома Дядюшки Ляо: стоит ли покупать e.mini NUC PC в 2025 году. Разбираем и изучаем // Habr. 2025. URL: https://habr.com/ru/articles/863673/ (дата обращения: 30.10.2025).
  104. Казахстан и Германия развивают промышленное партнерство в железнодорожной отрасли // Vera.kz. URL: https://vera.kz/kazaxstan-i-germaniya-razvivayut-promyslennoe-partnerstvo-v-zheleznodorozhnoj-otrasli/ (дата обращения: 30.10.2025).
  105. Нефоннеймановская архитектура, до 192 ГБ памяти и производительность в разы выше, чем у Nvidia HGX B200. Представлен необычный ИИ-ускоритель NextSilicon Maverick-2 // iXBT. 2025. URL: https://www.ixbt.com/news/2025/10/22/nefonnejmanovskaja-arhitektura-do-192-gb-pamjati-i-proizvoditelnost-v-razy-vyshe-chem-u-nvidia-hgx-b200-predstavlen-neobychnyj-ii-uskoritel-nextsilicon-maverick-2.html (дата обращения: 30.10.2025).
  106. Александр Мугла: «Новый уровень экомониторинга: как смарт-шлюз меняет стандарты умных технологий // IT-World.ru. URL: https://it-world.ru/new-level-of-ecomonitoring-how-a-smart-gateway-changes-the-standards-of-smart-technologies.html (дата обращения: 30.10.2025).
  107. Оказывается, это заразно. AMD начала массово выпускать древние процессоры под видом новейших. Пример подала Intel // CNews. 2025. URL: https://www.cnews.ru/news/top/2025-10-27_okazyvaetsya_eto_zarazno_amd (дата обращения: 30.10.2025).
  108. Ученые из Зеленограда создали «цифрового часового» для защиты данных и здоровья людей // ComNews. 2025. URL: https://www.comnews.ru/content/243673/2025-10-28/2025-w44/uchenye-zelenograda-sozdali-cifrovogo-chasovogo-zaschity-dannyh-zdorovya-lyudey (дата обращения: 30.10.2025).
  109. Готовы к революции: IBM запускает платформу, которая перевернёт мир финансовых технологий // Moneytimes.Ru. 2025. URL: https://moneytimes.ru/news/item/5243 (дата обращения: 30.10.2025).
  110. Цифровая платформа МСП — сервисы для бизнеса. URL: https://xn--l1aej.xn--p1ai/ (дата обращения: 30.10.2025).
  111. Отладочные платы // Микроконтроллеры. Studfile.net. URL: https://studfile.net/preview/6075908/page:21/ (дата обращения: 30.10.2025).
  112. Средства разработки микроконтроллеров // Чип и Дип. URL: https://www.chipdip.ru/catalog/mc-development-tools (дата обращения: 30.10.2025).
  113. Отладочная плата купить на OZON по низкой цене. URL: https://www.ozon.ru/category/otladochnaya-plata-15638/ (дата обращения: 30.10.2025).
  114. Оценочные и отладочные платы на основе микроконтроллера // Чип и Дип. URL: https://www.chipdip.ru/catalog/mc-development-boards (дата обращения: 30.10.2025).
  115. Купить отладочные платы и контроллеры в Санкт-Петербурге // RoboParts. URL: https://roboparts.ru/catalog/otladochnye-platy-i-kontrollery (дата обращения: 30.10.2025).
  116. Отладка программ // Виртуальный компьютерный музей. URL: http://www.computer-museum.ru/histdev/12-1.htm (дата обращения: 30.10.2025).
  117. Средства разработки и отладки микроконтроллеров. Отладчики. URL: http://kbfiton.ru/index.php?option=com_content&view=article&id=16&Itemid=16 (дата обращения: 30.10.2025).
  118. ТЕСТИРОВАНИЕ И ОТЛАДКА МИКРОПРОЦЕССОРНЫХ СИСТЕМ // Studfile.net. URL: https://studfile.net/preview/6075908/page:19/ (дата обращения: 30.10.2025).
  119. Способы отладки ПО микроконтроллеров в электроприводе // Habr. 2016. URL: https://habr.com/ru/articles/274487/ (дата обращения: 30.10.2025).
  120. JTAG debugging some Atmega microcontrollers with JTAG ICE (avarice, avr-gdb, avrdude) // YouTube. URL: https://www.youtube.com/watch?v=0h2h4u0gK7g (дата обращения: 30.10.2025).
  121. БАКАЛАВРСКАЯ РАБОТА на тему МИКРОПРОЦЕССОРНАЯ СИСТЕМА ДИАГНОСТИКИ И — РЕПОЗИТОРИЙ ТОЛЬЯТТИНСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА. URL: https://repo.tltsu.ru/handle/424/13926 (дата обращения: 30.10.2025).
  122. Отладка приложений // Микроконтроллеры — Сайт Паяльник. URL: http://radiopay.ru/otladka-prilozheniy (дата обращения: 30.10.2025).
  123. Расширенные возможности отладки микроконтроллеров AVR и ARM/Cortex // Compel.ru. URL: https://www.compel.ru/lib/124231/ (дата обращения: 30.10.2025).
  124. What Are JTAG And SWD And How Do They Debug Embedded Systems? // YouTube. URL: https://www.youtube.com/watch?v=S0YkS_f51oQ (дата обращения: 30.10.2025).
  125. Отладка встроенных систем с помощью цифровых осциллографов // Испанский журнал электроники — Revista Española de Electrónica. URL: https://ree.es/ru/news/debugging-embedded-systems-with-digital-oscilloscopes (дата обращения: 30.10.2025).
  126. Какие способы тестирования и отладки микропроцессорных систем существуют? // Вопросы к Поиску с Алисой (Яндекс Нейро). URL: https://yandex.ru/q/question/kakie_sposoby_testirovaniia_i_otladki_mikrop_4123d135/ (дата обращения: 30.10.2025).
  127. Методы тестирования микропроцессорных систем измерительных приборов, Специфика контроля и диагностики // Studwood. URL: https://studwood.net/1004118/tehnika/metody_testirovaniya_mikroprotsessornyh_sistem_izmeritelnyh_priborov_spetsifika_kontrolya_diagnostiki (дата обращения: 30.10.2025).
  128. Embedded Recipes 2019 — Introduction to JTAG debugging // YouTube. URL: https://www.youtube.com/watch?v=S0ZkS_f51oQ (дата обращения: 30.10.2025).
  129. Отладчик, поддержка JTAG и SWD, для разработчиков микроконтроллеров // OZON. URL: https://www.ozon.ru/product/otladchik-podderzhka-jtag-i-swd-dlya-razrabotchikov-mikrokontrollerov-1293309605/ (дата обращения: 30.10.2025).
  130. Архитектура микропроцессоров. Лекция 17: Методы и средства отладки микропроцессорных систем // Интуит. URL: https://www.intuit.ru/studies/courses/2307/582/lecture/12476?page=17 (дата обращения: 30.10.2025).
  131. 20+ инструментов, сервисов и приложений для тестирования сайтов и ПО // Tproger.ru. URL: https://tproger.ru/articles/20-luchshih-instrumentov-dlya-testirovaniya-saytov-i-po/ (дата обращения: 30.10.2025).
  132. Изпитни въпроси за придобиване на правоспособност за управление на МПС. URL: https://www.rta.government.bg/index.php/bg/izpitni-vprosi (дата обращения: 30.10.2025).
  133. 10 лучших инструментов для автоматизации тестирования ПО // Habr. 2020. URL: https://habr.com/ru/company/alfa/articles/480922/ (дата обращения: 30.10.2025).
  134. Топ-12 лучших систем управления тестированием 2020 // Habr. 2020. URL: https://habr.com/ru/company/skillbox/articles/522506/ (дата обращения: 30.10.2025).
  135. 30 лучших инструментов для тестирования программного обеспечения в 2024 году (бесплатные + корпоративные) // ZAPTEST. URL: https://zaptest.com/ru/blog/best-software-testing-tools/ (дата обращения: 30.10.2025).
  136. UEFI Shell: быстрый старт // Habr. 2025. URL: https://habr.com/ru/articles/864386/ (дата обращения: 30.10.2025).
  137. ГОСТ Р 51904-2002. Программное обеспечение встроенных систем. Общие требования к разработке и документированию. URL: https://docs.cntd.ru/document/1200028246 (дата обращения: 30.10.2025).
  138. Какие правила или стандарты всегда нужно соблюдать в разработке встраиваемых систем? : r/embedded // Reddit. URL: https://www.reddit.com/r/embedded/comments/16x4d7w/%D0%BA%D0%B0%D0%BA%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0_%D0%B8%D0%BB%D0%B8_%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D1%8B_%D0%B2%D1%81%D0%B5%D0%B3%D0%B4%D0%B0_%D0%BD%D1%83%D0%B6%D0%BD%D0%BE_%D1%81%D0%BE%D0%B1%D0%BB%D1%8E%D0%B4%D0%B0%D1%82%D1%8C_%D0%B2_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B5_%D0%B2%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC/ (дата обращения: 30.10.2025).
  139. ГОСТ Р 2.504— 2021. ЭЛЕКТРОННАЯ КОНСТРУКТОРСКАЯ ДОКУМЕНТАЦИЯ. URL: https://docs.cntd.ru/document/1200179929 (дата обращения: 30.10.2025).
  140. Как проектировать встроенные системы и что следует учитывать? // Teknik Servis. URL: https://teknik-servis.online/ru/kak-proektirovat-vstroennye-sistemy-i-chto-sleduet-uchityvat/ (дата обращения: 30.10.2025).
  141. ГОСТ Единая система конструкторской документации. ЭЛЕКТРОННЫЕ ДОКУМЕНТЫ. URL: https://docs.cntd.ru/document/1200104689 (дата обращения: 30.10.2025).
  142. Проектирование встроенных систем: трудности разработки аппаратного и программного обеспечения // КЕДР Solutions. URL: https://kedr.solutions/blog/embedded-system-design-challenges-in-hardware-and-software-development/ (дата обращения: 30.10.2025).
  143. Состав проектно-сметной документации. Требования Законодательства // Doka-consult.ru. URL: https://www.doka-consult.ru/services/proektirovanie-i-soglasovanie/sostav-proektnoj-dokumentatsii/ (дата обращения: 30.10.2025).
  144. Центральный банк РФ: Письмо № 38-3-4/3287 от 25.10.2021 // Клерк.ру. 2021. URL: https://www.klerk.ru/doc/548398/ (дата обращения: 30.10.2025).
  145. Документация для информационных систем по ГОСТ // DocPlace.ru. URL: https://docplace.ru/documentaciya-dlya-informacionnyx-sistem-po-gost/ (дата обращения: 30.10.2025).
  146. ГОСТ Р 59192-2020. Электронная технологическая документация. Основные положения. URL: https://docs.cntd.ru/document/1200174092 (дата обращения: 30.10.2025).
  147. ГОСТ Р 7.0.95-2015. Система стандартов по информации, библиотечному и издательскому делу. Электронные документы. Основные виды, выходные сведения, технологические характеристики. URL: https://docs.cntd.ru/document/1200127271 (дата обращения: 30.10.2025).
  148. Состав проектной документации для строительства объекта капитального строительства // Блог компании ПИР. URL: https://pir.group/articles/sostav-proektnoj-dokumentacii-dlya-stroitelstva-obekta-kapitalnogo-stroitelstva/ (дата обращения: 30.10.2025).
  149. Как оформить работу по ГОСТу // YouTube. URL: https://www.youtube.com/watch?v=F_YmYyq1k-g (дата обращения: 30.10.2025).
  150. Состав проектной документации // ПромМаш Тест. URL: https://prommashtest.ru/sostav-proektnoj-dokumentacii/ (дата обращения: 30.10.2025).
  151. Документирование проекта внедрения корпоративных информационных систем — Дмитрий Степанов // МИРЭА, ERP, КИС, 1C, SAP и логистика. URL: https://www.mirea.ru/upload/medialibrary/469/dmitriy-stepanov-dokumentirovanie-proekta-vnedreniya-korporativnyh-informatsionnyh-sistem.pdf (дата обращения: 30.10.2025).
  152. Проектная документация для строительства // Википедия. URL: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BD%D0%B0%D1%8F_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%B0 (дата обращения: 30.10.2025).
  153. Установка PowerShell в Windows // Microsoft Learn. URL: https://learn.microsoft.com/ru-ru/powershell/scripting/install/install-powershell-on-windows?view=powershell-7.4 (дата обращения: 30.10.2025).
  154. Все статьи подряд // Разработка — Habr. URL: https://habr.com/ru/articles/all/ (дата обращения: 30.10.2025).
  155. СГУ обучит школьников Саратова и области технологическому лидерству // СГУ. 2025. URL: https://www.sgu.ru/news/2025-10-28/sgu-obuchit-shkolnikov-saratova-i-oblasti-tehnologicheskomu-liderstvu (дата обращения: 30.10.2025).
  156. Национальный исследовательский университет «МИЭТ». URL: https://miet.ru/ (дата обращения: 30.10.2025).
  157. Центральный банк Республики Узбекистан. URL: https://www.cbu.uz/ru/payment-systems/ (дата обращения: 30.10.2025).
  158. Корпоративные карты для бизнеса от Альфа Банка // Alfabank.by. URL: https://www.alfabank.by/corporate/cards/corporate/ (дата обращения: 30.10.2025).
  159. Как мы делаем Neko — гаджет, чтобы кайфовать от игры на гитаре в XXI веке // Habr. 2025. URL: https://habr.com/ru/companies/neko/articles/864388/ (дата обращения: 30.10.2025).
  160. AIR Music Technology — Iona v1.0.0 STANDALONE, SAL, AAX, VSTi3, VSTi2 x86 х64 JBridge [TCD] — аналоговый синтезатор // Pluginvst.ru. 2025. URL: https://www.pluginvst.ru/2025/10/air-music-technology-iona-v100-standalone-sal-aax-vsti3-vsti2-x86-x64-jbridge-tcd-analogovyi-sintezator.html (дата обращения: 30.10.2025).
  161. Главные научные новости с 13 по 19 октября 2025: что произошло в мире науки, самые интересные события // Scientificrussia.ru. 2025. URL: https://scientificrussia.ru/articles/glavnye-nauchnye-novosti-s-13-po-19-oktyabrya-2025-chto-proizoshlo-v-mire-nauki-samye-interesnye-sobytiya (дата обращения: 30.10.2025).

Похожие записи