Осуществление обмена информацией между персональным компьютером
и микроконтроллером семейства MCS-51 фирмы Intel
Перечень сокращений
БИС — большая интегральная схема.
МК — микроконтроллер.
ОЗУ — оперативное запоминающее устройство.
ПЗУ — постоянное запоминающее устройство.
ПК — персональный компьютер.
УАПП — универсальный асинхронный приемопередатчик.
ЭВМ — электронная вычислительная машина.
Введение
Развитие микроэлектроники и широкое применение ее изделий в
промышленном производстве, в устройствах и системах управления самыми
разнообразными объектами и процессами является в настоящее время одним из
основных направлений научно-технического прогресса.
Использование микроконтроллеров в изделиях не только приводит
к повышению технико-экономических показателей (стоимости, надежности,
потребляемой мощности, габаритных размеров), но и позволяет сократить время
разработки изделий и делает их модифицируемыми, адаптивными. Использование
микроконтроллеров в системах управления обеспечивает достижение высоких
показателей эффективности при низкой стоимости.
Микроконтроллеры представляют собой эффективное средство
автоматизации разнообразных объектов и процессов.
Все это определяет необходимость изучения микропроцессорных
систем. В настоящее время в РАУ имеются учебные методические комплексы УМК ВЭФ,
базирующиеся на микропроцессоре I8080, позволяющие получить знания в
программировании микропроцессоров. К сожалению, на кафедре нет лабораторной
установки, позволяющей получить практические навыки в программировании
микроконтроллеров.
Необходимо создание новой лабораторной базы, использующей на
наиболее распространенные микроконтроллеры. Такими микроконтроллерами могут
послужить микроконтроллеры семейства MCS-51 фирмы Intel.
Такие лабораторные установки могут использоваться не только
как учебно-методическое пособие при изучении курса микропроцессоров, но и как
устройства управления другими учебно-методическими комплексами, используемыми в
других курсах.
Вышесказанное указывает на актуальность рассмотрения вопроса
организации обмена информацией между персональным компьютером и
микроконтроллером MCS-51 фирмы Intel.
Анализ состояния вопроса
В устройствах управления объектами (контроллерах) на основе
МК аппаратурные средства и программное обеспечение существует в форме
неделимого аппаратурно-программного комплекса. При проектировании контроллеров
приходиться решать одну из самых сложных задач разработки, а именно задачу
оптимального распределения функций контроллера между аппаратурными средствами и
программным обеспечением. Решение этой задачи осложняется тем, что взаимосвязь
и взаимовлияние аппаратурных средств и программного обеспечения в
микропроцессорной технике претерпевают динамические изменения. Если в начале
развития микропроцессорной техники определяющим было правило, в соответствии с
которым аппаратурные средства обеспечивают производительность, а программное
обеспечение — дешевизну изделия, то в настоящее время это правило нуждается в
серьезной корректировке. Так как МК представляет собой стандартный массовый
(относительно недорогой) логический блок, конкретное назначение которого
определяет пользователь с помощью программного обеспечения, то с ростом степени
интеграции и, следовательно, функционально-логических возможностей МК резко
понижается стоимость изделия в пересчете на выполняемую функцию, что в конечном
итоге и обеспечивает достижение высоких технико-экономических показателей
изделий на МК. При этом затраты на разработку программного обеспечения изделия
в 2 – 10 раз превышают затраты на приобретение и изготовление аппаратурных
средств.
В настоящее время наибольшее распространение получил
методологический прием, при котором весь цикл разработки контроллеров
рассматривается как последовательность трех фаз проектирования:
- анализа задачи и выбора
(и/или разработки) аппаратурных средств контроллера;
- разработка
прикладного программного обеспечения;
- комплексирования
аппаратурных средств и программного обеспечения в прототипе контроллера и
его отладки.
- Фаза разработки
программного обеспечения, т. е. фаза получения прикладных программ, в свою
очередь, разбивается на два существенно различных этапа:
- "от постановки
задачи к исходной программе";
- "от исходной
программы к объектному модулю".
Этап разработки "от исходной программы к объектному модулю"
имеет целью получение машинных кодов прикладных программ, работающих в МК. Этот
этап разработки прикладного программного обеспечения легко поддается
формализации и поддержан всей мощью системного программного обеспечения МК,
направленного на автоматизацию процесса получения прикладных программ. В состав
средств системного программного обеспечения входят трансляторы с различных
алгоритмических языков высокого уровня, ассемблеры, редакторы текстов,
программы-отладчики, программы-документаторы и т. д. Наличие всех этих
системных средств придает инженерной работе на этом этапе проектирования
контроллеров характер ремесла, а не инженерного творчества. Так как в конечном
изделии имеются только МК и его средства сопряжения с объектом, то выполнять
отладку разрабатываемого прикладного программного обеспечения на нем невозможно
(из-за отсутствия средств ввода, вывода, ОЗУ большой емкости и операционной
системы), и, следовательно, разработчик вынужден обращаться к средствам
вычислительной техники для выполнения всех формализуемых стадий разработки:
трансляции, редактирования, отладки, загрузки объектных кодов и программируемую
постоянную память МК.
Этап разработки "от постановки задачи к исходной
программе" не поддается формализации и, следовательно, не может быть автоматизирован.
Проектная работа здесь носит творческий характер, изобилует решениями, имеющими
"волевую" или "вкусовую" окраску, и решениями,
продиктованными конъюнктурными соображениями. На этом этапе разработчик
стакивается с наибольшим количеством трудностей.
На обоих этапах разработки необходимо тестировать программное
обеспечение не только на эмуляторах, но и на "живом" МК, с целью
выявления специфических ошибок (неправильная логика работы устройства, ошибки,
связанные с эмуляцией). Это требует многократного перепрограммирования МК, что
связанно с большой затратой времени (время стирания информации в ПЗУ с
ультрафиолетовым, или электрическим стиранием может достигать нескольких
десятков минут). Это время можно сократить, используя в качестве памяти программ
не ПЗУ, а ОЗУ.
Разрабатываемое устройство значительно упростит оба этапа
разработки, позволяя отлаживать программное обеспечение непосредственно на
"живом" МК и позволит сэкономить время, связанное с записью и
стиранием тестируемых программ.
При решении задач об оптимальном распределении функций между
аппаратурными средствами и программным обеспечением необходимо исходить из
того, что использование специализированных интерфейсных БИС упрощает разработку
и обеспечивает высокое быстродействие системы в целом, но сопряжено с
увеличением стоимости, объема и потребляемой мощности. Больший удельный вес
программного обеспечения позволяет сократить число компонентов системы и
стоимость ее аппаратурных средств, но это приводит к снижению быстродействия и
увеличению затрат и сроков разработки и отладки прикладных программ. При этом
еще может несколько увеличиваться число БИС внешней памяти МК — системы.
Решение о выборе того или иного варианта распределения функций между
аппаратурными и программными средствами системы принимается в зависимости от
тиражности изделия, ограничений по стоимости, объему, потребляемой мощности и
быстродействию изделия. Программная реализация основных элементов алгоритма
работы контроллера допускает его модификацию путем перепрограммирования. В то
время как возможность изменения уже существующей фиксации элементов алгоритма в
аппаратуре контроллера практически отсутствует.
После получения объектного кода программы неизбежно наступает
этап отладки, т. е. установления факта ее работоспособности, а также выявления
и устранения ошибок. Без этого этапа разработки никакое программное обеспечение
вообще не имеет права на существование.
Обычно отладка прикладного программного обеспечения
осуществляется в несколько этапов. Простые (синтаксические) ошибки выявляются
уже на этапе трансляции. Далее необходимо выполнить:
·
автономную отладку каждой процедуры в
статическом режиме, позволяющую проверить правильность проводимых вычислений,
правильность последовательности переходов внутри процедуры (отсутствие
"зацикливания") и т. п.;
·
комплексную отладку программного обеспечения в
статическом режиме, позволяющую проверить правильность алгоритма управления (по
последовательности формирования управляющих воздействий);
·
комплексную отладку в динамическом режиме без
подключения объекта для определения реального времени выполнения программы и ее
отдельных фрагментов.
Эти этапы отладки осуществляются обычно с использованием
кросс-систем. В состав кросс-систем входят программы-отладчики,
интерпретирующие выполнение программ написанных для МК. Но как бы ни был хорош
интерпретатор, он все равно не может полностью заменить реальный МК.
|