В.Т. Рябов - Устройство и программирование однокристальных микроконтроллеров (1054006), страница 14
Текст из файла (страница 14)
Если токпитания выйдет из диапазона 4..20 мА, это указание на неисправность линии связи, либо на неисправность датчика. Датчики с токовым выходным сигналом не критичны к напряжению питания, оно может меняться от 10..12 В до 36..48 В. Пожалуй, единственный минус датчиков с токовым выходом, это большая внутренняя схемотехническая сложность, отсюда – иногда, большая стоимость. Хотя, востребованность таких аналоговых датчиков увеличивает серийность выпуска, что приводит к снижению цен.На рис.4.12. показана схема подключения датчика с токовым выходным сигналом.
Изрисунка видно, как упростилась схема. Если АЦП микроконтроллера МС (точнее коммутатор АЦП) принимает толькосигнал напряжения, на входнужно добавить внешний токовый резистор R1. Этот резистор должен иметь малыйтемпературный коэффициентсопротивления и высокуюточность, хотя требования кточности могут быть сниженыза счет индивидуальной тариРис. 4. 12. Схема подключения датчика с токовым выходнымровки каналов измерения.
Весигналом к локальному микроконтроллеру.личина сопротивления рассчитывается по формуле:R3 =U н − U кэ − U б 24 - 0,5 - 0,6=≅ 1,2 кОм .Iл0,02Здесь UADC – диапазон преобразования АЦП, который зависит от величины сигнала источника опорного напряжения, IMAX – максимальное значение выходного тока датчика (у датчиков сунифицированным выходным сигналом IMAX=20 мА).Линия связи датчика и локального микроконтроллера выполняется в виде отлично зарекомендовавшей себя витой пары. Она компенсирует внешние электромагнитные наводки, не излучает сама, в большинстве случаев позволяет обойтись без экранировки, поэтому позволяет исключить проблемы с возникновением замкнутых контуров экранов.Сигналы аналогового управления (АУ) используются реже, чем сигналы контроля. Полиниям АУ, в отличие от линий дискретного управления, никогда не передаются энергети-45ческие потоки.Линии АУ так же, как и линии контроля бывают потенциальные и токовые.
Все рассмотренные ранее проблемы и решения и выводы для линий аналогового контроля относятсяи к линиям аналогового управления.Контрольные вопросы.1. Исполнение выходов датчиков дискретного контроля.2. Явление дребезга контактов и методы его устранения.3. Подключение активных датчиков ДК с различным выходом. Расчет элементов оптроннойразвязки.4. Устройство и линия связи для выдачи дискретного управления. Расчет элементов.5.
Сравните схемы транзисторных ключей на рис. 4.7 и 4.8. Могут ли транзисторы входить в состояние глубокого насыщения.6. Импульсные линии управления: обоснование применения и схемотехническое решение.7. Причины возникновения погрешностей при контроле выходного сигнала аналоговыхдатчиков с потенциальным выходом.8. Способы уменьшения погрешностей при контроле выходного сигнала аналоговых датчиков с потенциальным выходом.9.
Токовые и потенциальные датчики и линии аналогового контроля: преимущества и недостатки.10. Расчет токовых резисторов для контроля сигнала датчиков с токовым выходом.46Гл. 5. ОСНОВЫ ПОСТРОЕНИЯ ПРОГРАММНОГООБЕСПЕЧЕНИЯ ЛОКАЛЬНЫХ МК5.1. Основы программирования и отладки программногообеспечения.Разработка и отладка программного обеспечения (ПО) является одним из самыхтрудоемких и ответственных этапов разработки локального микроконтроллера и имеетряд характерных особенностей, рассмотренных ранее в разделах 1.4 и 1.5 первой части настоящего учебного пособия [3].
Ведется разработка и отладка ПО локальных МК в соответствии с «Единой системой программной документации» (ЕСПД), определяющей пятьстадий разработки. Изложим их применительно к рассматриваемой задаче.1. Техническое задание: здесь проводится определение требований к ПО ЛМК, определяются стадии, этапы и сроки разработки, проводится согласование и утверждениетехнического задания.2. Эскизный проект: разработка и утверждение эскизного проекта, предварительнаяразработка структуры входных и выходных данных, уточнение методов решения, разработка общего описания алгоритмов программного обеспечения.3.
Технический проект: разработка и утверждение технического проекта, разработка структуры программы, окончательное определение конфигурации технических средств.4. Рабочий проект: программирование, компиляция и отладка программы, разработка и проведение предварительных приёмо-сдаточных и других видов испытаний, корректировка программы и программной документации по результатам испытаний.5. Внедрение: подготовка и передача программы и программной документации дляизготовления и сопровождения локального МК.Разработчик технологического оборудования обычно выступает здесь в качествеквалифицированного заказчика, знающего суть и умеющего оценить трудоемкость проводимых работ.Решающее значение при разработке оказывает знание предметной области: чем икак следует управлять.
Поэтому, поскольку алгоритм работы ЛМК сравнительно прост,инженер-механик может стать и разработчиком программного обеспечения. Основнаяцель этой главы: дать начальные «стартовые» сведения, опираясь на которые и на знанияи умения, полученные в общих курсах информатики и программирования, разработчиктехнологического оборудования электронной техники сможет проводить работы по программированию локальных микроконтроллеров.Рассмотрим ключевые отличия программ общего применения, основы разработкикоторых изучались ранее и программ для локальных МК технологического оборудования.Процесс разработки программ для персональных компьютеров, компиляция, отладка ипоследующая работа программы опирается на поддержку операционной системы компьютера.
У специального локального микроконтроллера операционной системы нет.Размер оперативной памяти (памяти данных) у микроконтроллера невелик. Так, урассмотренного нами ранее представителя семейства MCS-51 память данных пользователясоставляет всего 128 байт. Это заставляет разработчика ПО экономно ее использовать итщательно размещать переменные.Другой особенностью программного обеспечения для элементов технологическогооборудования является привязка его работы к, так называемому, «жесткому реальномувремени».
Термин «жесткое реальное время» означает, что контроллер должен выполнятьсвои действия строго в предписанные моменты.Структурно, управляющая программа представляет собой некий универсальныйдиспетчер процессов, основной задачей которого является запуск набора синхроквантов,интерквантов и экстраквантов пользователя [3], собственно и составляющих пользова-47тельскую управляющую программу, заставляющую объект работать предписанным емуобразом.Синхрокванты запускаются через предписанные интервалы времени.
Например:− каждые 10 миллисекунд выполнить шаг шагового двигателя,или:− каждую секунду измерить фактическую температуру печи Тф, рассчитывать заданную температуру Тз , по рассогласованию Тф - Тз рассчитать и подать управляющее воздействие (включить или отключить нагреватель).Интеркванты запускаются диспетчером в соответствии с их приоритетом при наступлении предписанного внешнего события, например, при появлении единицы на выводе порта Р1.1, экстракванты запускаются при наступлении предписанного внешнего события вне очереди и используются обычно для отработки аварийных ситуаций. Их обычнопишут, как подпрограмму обработки прерывания, возникающего при наступлении внешнего события.Кванты управляющей программы описывают обычно как функции диспетчера наязыке С или подпрограммы диспетчера на ассемблере.Язык С или Раsсаl применяют для описания сложных алгоритмов в системах, гденет жесткого ограничения в объемах памяти и быстродействия.
Язык Ассемблер по своему уровню близок к машинным кодам и поэтому эффективен при реализации несложныхалгоритмов. Его используют в системах, где существенно ограничен объем памяти и быстродействие. Существенным преимуществом ассемблера является возможность активного управления распределением собственно кода управляющей программы и переменных впамяти микроконтроллера. Коды программы и константы можно разместить в РПЗУ, ответственные переменные – в энергонезависимом ОЗУ, содержимое которого сохраняетсяпри выключении питания, в том числе и несанкционированного. Ряд локальных переменных, содержимое которых нет необходимости сохранять при выключении, можно разместить в обычном ОЗУ микроконтроллера.После разработки программы на одном из алгоритмических языков переходят кследующему шагу - исправлению синтаксических ошибок и получению текста программы- в загрузочных кодах.
На этом шаге используют программные средства автоматизации –кросc-средства, работающие на инструментальной ЭВМ. В качестве инструментальнойЭВМ используют обычно офисный РС компьютер. К кросс-средствам на этом шаге относятся:а) для ассемблера: кросс-ассемблер (ассемблер, работающей не на микроконтроллере,на который он ориентирован, а на инструментальной машине); редактор связей; библиотеки языка Ассемблер.б) для языка С: транслятор с языка С на ассемблер; библиотеки С; кросс-ассемблер;редактор связей.Транслятор языка высокого уровня позволяет преобразовать программу, написанную на нем (файлы с расширением *.С, *.РАS и др.) в программу на языке Ассемблер(файлы с расширением *.АSМ).
Кросс-ассемблер переводит программу с языка Ассемблерв объектные коды микропроцессора (файлы с расширением *.ОВJ).Исполняемая программа, размещенная в памяти, бывает жестко привязана к адресам. Каждый оператор по своему адресу. Особенно это необходимо, если используютсяпереходы с абсолютной адресацией. Каждый модуль управляющей программы в объектных кодах начинается с нулевого адреса.Редактор связей (линковщик) используют в следующих случаях:− для объединения нескольких написанных по отдельности программ в одну;− для присоединения библиотечных подпрограмм;− для получения общего файла в загрузочном формате (файл с расширением *.НЕХ).На этапе трансляции выявляются и могут быть устранены синтаксические ошибки написания программ.48Следующий шаг разработки программного обеспечения - исправление ошибок налогическом и физическом уровне.