Дата последнего обновления файла 09.11.2017

Проектирование цифровых устройств на микроконтроллерах

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

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

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

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

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

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

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

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

Разработка структурной схемы часов

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

Структурная схема устройства часов
Рисунок 1. Структурная схема устройства измерения времени (часов)

В простейшем случае генератор импульсов эталонной длительности должен вырабатывать минутные импульсы. В качестве генератора эталонных импульсов мог бы подойти кварцевый генератор, так как этот тип генераторов обладает высокой стабильностью колебаний. Но кварцевые генераторы вырабатывают колебания в диапазоне от 1 до 30 МГц. Это соответствует временным интервалам от 0.03 до 1 мкС. Тем не менее, если воспользоваться делителем частоты, выполненном на двоичном счетчике, то можно получить импульсы с периодом 1 минута.

Выберем частоту работы кварцевого генератора. Мы предполагаем использовать микроконтроллер семейства MCS-51, поэтому выберем частоту кварцевого генератора обычную для этих микроконтроллеров &mbrash; 12 МГц. Тогда для формирования секундных импульсов (частота 1 Гц) потребуется делитель частоты на 12000000. Для формирования минутных импульсов потребуется ещё один делитель частоты. Так как в минуте содержится 60 секунд, то нам потребуется делитель на 60.

Уточнённая структурная схема разрабатываемого микропроцессорного устройства приведена на рисунке 2.


Рисунок 2. Уточнённая структурная схема устройства измерения времени

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

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

Структурная схема часов с учётом блока индикации и блока коррекции времени приведена на рисунке 3.


Рисунок 3. Структурная схема часов

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

Теперь можно приступить к разработке принципиальной схемы устройства.


Понравился материал? Поделись с друзьями!


Литература:

  1. Микушин А.В. Занимательно о микроконтроллерах. СПб, БХВ-Петербург, 2006.
  2. Микушин А.В., Сажнев А.М., Сединин В.И. Цифровые устройства и микропроцессоры. СПб, БХВ-Петербург, 2010.
  3. часы-будильник из жесткого диска

Вместе со статьей "Проектирование цифровых устройств на микроконтроллерах" читают:

Разработка принципиальной схемы микропроцессорного устройства
http://digteh.ru/MCU/princsx.php

Написание программы для разрабатываемого микропроцессорного устройства
http://digteh.ru/MCU/progr.php


Автор Микушин А. В. All rights reserved. 2001 ... 2023

Предыдущие версии сайта:
http://neic.nsk.su/~mavr
http://digital.sibsutis.ru/

Поиск по сайту сервисом Яндекс
Поиск по сайту сервисом ГУГЛ
Об авторе:
к.т.н., доц., Александр Владимирович Микушин

Кандидат технических наук, доцент кафедры САПР СибГУТИ. Выпускник факультета радиосвязи и радиовещания (1982) Новосибирского электротехнического института связи (НЭИС).

А.В.Микушин длительное время проработал ведущим инженером в научно исследовательском секторе НЭИС, конструкторско технологическом центре "Сигнал", Научно производственной фирме "Булат". В процессе этой деятельности он внёс вклад в разработку систем радионавигации, радиосвязи и транкинговой связи.

Научные исследования внедрены в аппаратуре радинавигационной системы Loran-C, комплексов мобильной и транкинговой связи "Сигнал-201", авиационной системы передачи данных "Орлан-СТД", отечественном развитии системы SmarTrunkII и радиостанций специального назначения.

А.В.Микушин является автором 130 научных и научно-методических работ, в том числе 21 монография и 26 учебников и учебных пособий.

Top.Mail.Ru

Яндекс.Метрика