Разработка программного обеспечения для микропроцессорных систем МК51, интерфейсы в системах связи, основы асинхронной связи. Этапы решения задачи на ЭВМ, принципы тестирования программ и их отладка. Расчет затрат на разработку программного продукта.
При низкой оригинальности работы "Программное обеспечение управления автоматизированным комплексом многоканальной связи", Вы можете повысить уникальность этой работы до 80-100%
Данный дипломный проект выполнен на актуальную для предприятий-производителей устройств связи тему, тесно связанную с реальными планами исследований и производства, решая практическую задачу по разработке и внедрению программного обеспечения управления автоматизированным комплексом многоканальной связи. В процессе решения задачи создания программного продукта детально были рассмотрены особенности разработки программного обеспечения для микропроцессорных систем, устройство и принципы работы микропроцессоров серии МК51 вообще, интерфейсы в системах связи, основы асинхронной последовательной связи, общие методы ввода / вывода через коммуникационный порт и изучен информационный обмен контроллер-ЭВМ с использованием интерфейса RS-232. Подробное описание структуры программы, алгоритмов построения и работы всех трех ее частей дает полное представление о ее создании, использовании и принципах работы. В технологической части разработки программных систем и программной документации освещены этапы решения задачи на ЭВМ, принципы тестирования программ и их отладка. В состав средств системного программного обеспечения входят трансляторы с различных алгоритмических языков высокого уровня, ассемблеры, редакторы текстов, программы - отладчики, программы - документаторы, и т.д.Когда состояние указывает, что имеется готовый для работы символ, программа считывает его из соответствующего регистра устройства ввода / вывода. Предположим, что мы читаем символы со скоростью 300 бод и имеем следующие связные параметры: длина слова 7 бит, проверка на четность и один стоповый бит, который вместе со стартовым битом, добавляет до 10 бит на символ. В подходе, основанном на управлении прерываниями, программа предоставляет возможность прерываниям устройства ввода / вывода поступать непосредственно на центральный процессор, который продолжает выполнять свою работу, не связываясь с устройством. При передаче девятый бит может принимать значение 0 или 1, или, например, для повышения достоверности передачи путем контроля по четности в него может быть помещено значение признака паритета из слова состояния программы. После 10 импульса СДВИГ блок управления приемом загружает биты D0-D7 из регистра сдвига приемника в SBUF, переписывает 9 разряд регистра сдвига приемника в бит RB8 регистра SCON и устанавливает флаг прерывания приемника RI в регистре SCON.Для таких программ эффективность и достоверность отладки не является столь жизненно необходимой, и обнаружение серьезных ошибок в ходе эксплуатации программы не приводит к столь печальным последствиям, как для больших систем, так как автор программы обычно бывает в состоянии исправить их в приемлемые сроки. Исходя из такого представления о своих способностях, этот программист и строит свою работу над программой, и каждый неверный результат, каждая найденная ошибка вызывают у него изумление и считаются, конечно, последними. Таким образом, в результате отладки программа должна соответствовать некоторой фиксированной совокупности правил и показателей качества, принимаемой за эталонную для данной программы. В этом случае программист получает тестовые данные путем анализа логики программы. Алгоритмическое тестирование применяется программистом для контроля этапов алгоритмизации и программирования.
План
2.4.2 Развернутый план проекта системы
Введение
Данный дипломный проект выполнен на актуальную для предприятий-производителей устройств связи тему, тесно связанную с реальными планами исследований и производства, решая практическую задачу по разработке и внедрению программного обеспечения управления автоматизированным комплексом многоканальной связи. По своему характеру проект является опытно-конструкторским. Разработанное обеспечение для изделия ТС16Е1 полностью удовлетворяет техническому заданию. По своему содержанию дипломный проект соответствует современному уровню науки и техники.
В процессе решения задачи создания программного продукта детально были рассмотрены особенности разработки программного обеспечения для микропроцессорных систем, устройство и принципы работы микропроцессоров серии МК51 вообще, интерфейсы в системах связи, основы асинхронной последовательной связи, общие методы ввода / вывода через коммуникационный порт и изучен информационный обмен контроллер-ЭВМ с использованием интерфейса RS-232. Подробное описание структуры программы, алгоритмов построения и работы всех трех ее частей дает полное представление о ее создании, использовании и принципах работы.
В технологической части разработки программных систем и программной документации освещены этапы решения задачи на ЭВМ, принципы тестирования программ и их отладка. Целый раздел посвящен вопросам надежности программного обеспечения.
В организационно-экономической части расчета затрат на разработку программного продукта после подробного анализа составляющих затрат приведен расчет конкретно для этого программного продукта.
1. Специальная часть
1.1 Постановка задачи проекта
Целью представленного дипломного проекта является разработка программного обеспечения управления автоматизированным комплексом многоканальной связи, построенного на базе микроконтроллера AT89C51, представляющего собой высокопроизводительный микропроцессор, особенности которого будут рассмотрены ниже. Комплекс представляет собой 16 линейных интерфейсов, обеспечивающих связь через мультиплексор на входе и демультиплексор на выходе общего высокоскоростного канала связи. Каждый интерфейс является коммутатором связи еще нескольких десятков устройств связи. Структурная схема основных частей автоматизированного комплекса многоканальной связи представлена на рисунке 1.1.
Е1 Е3, Е4
Рис. 1.1. Структурная схема основных частей комплекса
Блок линейных интерфейсов состоит из 16 независимых коммутаторных устройств, работающих с сигналами на скорости Е1. Каждый интерфейс имеет в своем составе 8 управляющих регистров, которые отображают состояние его работы. При изменении условий работы интерфейса, состояния линии связи или неполадок в самом устройстве регистры изменяют свое содержимое, благодаря чему можно однозначно определить причину неисправности.
Блок управления обеспечивает передачу данных регистров линейных интерфейсов на внешнюю ПЭВМ. Основной частью блока управления является микроконтроллер АТ89С51. Связь организуется через последовательный порт процессора Р3 по RS-232-му интерфейсу.
Мультиплексор и демультиплексор являются блоками передачи сгруппированного сигнала со скоростью Е3, Е4, работая в режиме дуплекса. На принимающей стороне стоят зеркально такие же демультиплексор и мультиплексор соответственно.
Внешняя ПЭВМ, общаясь через последовательный порт микроконтроллера АТ89С51 с блоком управления, получает необходимую информацию о состоянии работы всех 16-ти линейных интерфейсов, контролируя таким образом весь комплекс удаленно. Для самой ПЭВМ таких комплексов может быть несколько.
Разработанное программное обеспечение позволит контролировать нормальную работу комплекса, взаимодействуя с внешней ПЭВМ по RS-232-му интерфейсу. К данному программному продукту предъявляются следующие требования: Программное обеспечение для процессора АТ89С51 должно быть разработано в соответствии с общим алгоритмом ПО изделия ТС16Е1;
Использовать ОЗУ данных процессора АТ89С51 для хранения карты памяти состояний части битов регистров CR1, CR2, TSR и PSR 16-ти линейных интерфейсов по заданным адресам в заданном порядке;
Обеспечить своевременное обновление карты памяти состояний части битов регистров CR1, CR2, TSR и PSR всех интерфейсов;
Обеспечить передачу карты памяти состояний оговоренных регистров, взаимодействуя с внешней ПЭВМ, используя интерфейс RS-232, через последовательный порт Р3.
1.2 Особенности разработки программного обеспечения для микропроцессорных систем
В устройствах управления объектами на основе МП аппаратные средства и программное обеспечение существуют в форме неделимого аппаратно-программного комплекса. При проектировании контроллеров приходится решать одну из самых сложных задач разработки, а именно задачу оптимального распределения функций контроллера между аппаратными средствами и программным обеспечением. Решение этой задачи осложняется тем, что взаимосвязь и взаимовлияние аппаратных средств и программного обеспечения в микропроцессорной технике претерпевают динамичные изменения. Если в начале развития МП - техники определяющим было правило, в соответствии с которым аппаратные средства обеспечивают производительность, а программное обеспечение - дешевизну изделия, то в настоящее время это правило нуждается в серьезной корректировке. Так как МП представляет собой стандартный массовый логический блок, конкретное назначение которого определяет пользователь с помощью программного обеспечения, то с ростом степени интеграции и, следовательно, функционально-логических возможностей МП резко понижается стоимость изделия в пересчете на выполняемую функцию, что в конечном итоге и обеспечивает достижение высоких технико-экономических показателей изделий на МП. При этом затраты на разработку программного обеспечения изделия в 2 - 10 раз превышают затраты на приобретение и изготовление аппаратных средств.
В настоящее время наибольшее распространение получил методологический прием, при котором весь цикл разработки контроллеров рассматривается как последовательность трех фаз проектирования: Анализ задачи и выбора аппаратных средств контроллера;
Разработка прикладного программного обеспечения;
Комплексирование аппаратных средств и программного обеспечения в прототипе контроллера и его отладки.
Фаза разработки программного обеспечения, т.е. Фаза прикладных программ, в свою очередь, разбивается на два существенно различных этапа: От постановки задачи к исходной программе;
От исходной программы к объектному модулю.
Этап разработки «от исходной программы к объектному модулю» имеет целью получение машинных кодов прикладных программ, работающих в МП. Этот этап разработки прикладного программного обеспечения легко поддается формализации и поддержан всей мощью системного программного обеспечения МП, направленного на автоматизацию процесса получения прикладных программ. В состав средств системного программного обеспечения входят трансляторы с различных алгоритмических языков высокого уровня, ассемблеры, редакторы текстов, программы - отладчики, программы - документаторы, и т.д. Наличие всех этих системных средств придает инженерной работе на этом этапе проектирования контроллеров характер простого конструирования, без большого объема творческой инженерной деятельности. Так как на конечном изделии имеются только «голый» МП и средства его сопряжения с объектом, то выполнять отладку разрабатываемого прикладного программного обеспечения на нем невозможно, и, следовательно, разработчик вынужден обращаться к средствам вычислительной техники для выполнения всех формализуемых стадий разработки: трансляции, редактирования, отладки, загрузки объектных кодов в программируемую постоянную память МП. Попутно отметим, что системные средства автоматизации разработки прикладных программ МП на этапе «от исходной программы к объектному модулю» широко распространены и существуют в среде операционных систем МИКРОЭВМ и присутствуют в операционных системах персональных компьютеров как отдельные пакеты инженерных программ.
Совсем по другому выглядит инженерный труд на этапе разработки программного обеспечения «от постановки задачи к исходной программе», так как он практически не поддается формализации и, следовательно, не может быть автоматизирован. Проектная работа здесь носит творческий характер, изобилует решениями, имеющими сугубо субъективную окраску, и решениями, продиктованными конъюнктурными соображениями. В силу перечисленных обстоятельств именно на этапе проектирования «от постановки задачи к исходной программе» разработчик сталкивается с наибольшим количеством трудностей.
Качество получаемого прикладного программного обеспечения контроллера всецело зависит от уровня проектных решений, принятых на этапе «от постановки задачи к исходной программе». Уровень проектных решений, в свою очередь, изза отсутствия теории проектирования программируемых контроллеров определяется только опытом, квалификацией и интуицией разработчика. Однако накопленный опыт убеждает в том, что систематический подход к процессу разработки прикладных программ для контроллеров обеспечивает достижение хороших результатов даже начинающими разработчиками.
1.3 Использование контроллера АТ89С51
На данный момент широко применяются микроконтроллеры серии МК51. Существует обширная техническая документация и что самое главное широкий выбор отладочных средств от эмулятора ПЗУ и отладочного монитора до внутрисхемного эмулятора. Процессоры данной серии достаточно универсальны для успешного применения в микроэлектронике, что позволяет их использовать как при разработке простых систем, так и при создании сложных модулей электронной аппаратуры.
Рассмотрим МИКРОЭВМ серии МК51 более подробно.
1.3.1 Основные программно-доступные устройства микроконтроллера АТ89С51
Основными программно-доступными устройствами микроконтроллера AT89C51 являются: 8-разрядный аккумулятор А;
триггеры выбора банка рабочих регистров RS0 и RS1;
триггер программно-управляемого флага F0;
16-разрядный счетчик команд PC;
16-разрядный регистр указателя данных DPTR;
8-разрядный регистр указателя стека SP;
внутренняя память программ емкостью 4 Kb, расширяемая внешними устройствами до 64 Kb;
внутренняя память данных емкостью 128 байт, в которой размещается от одного до четырех банков рабочих регистров R0-R7, область стека и побитово адресуемая область памяти;
внешняя память данных емкостью до 64 Kb;
два программируемых 16-разрядных таймера-счетчика;
программируемый двунаправленный последовательный порт ввода-вывода и соответствующие устройства управления;
четыре 8-разрядных двунаправленных параллельных порта ввода-вывода;
двухуровневую приоритетную систему прерываний с пятью векторами и двумя уровнями;
последовательный интерфейс;
тактовый генератор.
1.3.2 Структурная схема МИКРОЭВМ серии МК51
Система команд МИКРОЭВМ серии МК51 содержит 111 базовых команд с форматом 1, 2 или 3 байта. Микроконтроллер имеет: 32 РОН;
РОН и определяемые пользователем программно-управляемые флаги расположены в адресном пространстве внутреннего ОЗУ данных.
Важнейшей и отличительной чертой архитектуры семейства МК51 является то, что АЛУ может наряду с выполнением операций над 8-разрядными типами данных манипулировать одноразрядными данными. Отдельные программно-доступные биты могут быть установлены, сброшены или заменены их дополнением, могут пересылаться, проверяться и использоваться в логических вычислениях. Тогда как поддержка простых типов данных может с первого взгляда показаться шагом назад, это качество делает МИКРОЭВМ семейства МК51 особенно удобным для применений, в которых используются контроллеры. Алгоритмы работы последних по своей сути предполагают наличие входных и выходных булевых переменных, которые сложно реализовывать при помощи стандартных микропроцессоров. Все эти свойства в целом называются булевым процессором семейства МК51. Благодаря такому мощному АЛУ набор инструкций МИКРОЭВМ семейства МК51 одинаково хорошо подходит как для применений управления в реальном масштабе времени, так и для алгоритмов с большим объемом данных.
Рис. 1.2а. Структурная схема МК51
Рис. 1.2б. Структурная схема МК51
Блок управления предназначен для выработки синхронизирующих и управляющих сигналов, обеспечивающих координацию совместной работы блоков МИКРОЭВМ семейства МК51 во всех допустимых режимах ее работы. В состав блока управления входят устройство выработки временных интервалов, логика ввода-вывода, регистр команд, регистр управления потреблением, дешифратор команд, ПЛМ и логика управления ЭВМ.
Устройство выработки временных интервалов предназначено для формирования и выдачи внутренних синхросигналов фаз, тактов и циклов.
Логика ввода-вывода предназначена для приема и выдачи сигналов, обеспечивающих обмен информацией ОМЭВМ с внешними устройствами через порты ввода-вывода Р0-Р3.
Регистр команд предназначен для записи и хранения 8-разрядного кода операции выполняемой команды, который с помощью дешифратора команд преобразовывается в 24-разрядный код для ПЛМ, с помощью которой вырабатывается набор микроопераций в соответствии с микропрограммой выполнения команды. Регистр команд программно недоступен.
Регистр управления потреблением PCON управляет скоростью передачи последовательного порта SMOD.
Логика управления ЭВМ в зависимости от режима работы МИКРОЭВМ СЕМЕЙСТВА МК51 вырабатывает необходимый набор управляющих сигналов.
АЛУ представляет собой параллельное восьмиразрядное устройство, обеспечивающее выполнение арифметических и логических операций, а также операции логического сдвига, обнуления, установки и т.п.
Регистр аккумулятора и регистр временного хранения - восьмиразрядные регистры, предназначенные для приема и хранения операндов на время выполнения операций над ними. Программно недоступны.
ПЗУ констант обеспечивает выработку корректирующего кода при двоично-десятичном представлении данных, кода маски при битовых операциях и кода констант.
Параллельный восьмиразрядный сумматор представляет собой схему комбинационного типа с последовательным переносом, предназначенную для выполнения арифметических операций сложения, вычитания и логических операций сложения умножения неравнозначности и тождественности.
Регистр В-восьмиразрядный регистр, используемый во время операций умножения и деления. Для других инструкций он может рассматриваться как дополнительный сверхоперативный регистр.
Аккумулятор представляет собой восьмиразрядный регистр, предназначенный для приема и хранения результата, полученного при выполнении арифметико-логических операций или операций пересылки.
Регистр состояния программы предназначен для хранения информации о состоянии АЛУ при выполнении программы.
Таймеры / Счетчики предназначены для подсчета внешних событий, для получения программно-управляемых временных задержек и выполнения времязадающих функций ОМЭВМ.
Блок последовательного интерфейса и прерываний предназначен для организации ввода-вывода последовательных потоков информации и организации системы прерывания программ.
Счетчик команд предназначен для формирования текущего 16-разрядного адреса внешней памяти данных.
Порты Р0, Р1, Р2, Р3 являются двунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией МИКРОЭВМ семейства МК51 с внешними устройствами.
Память данных предназначена для приема, хранения и выдачи информации, используемой в процессе выполнения программы. Память данных, расположенная на кристалле ОМЭВМ, состоит из регистра адреса ОЗУ, дешифратора, ОЗУ и указателя стека.
Память программ предназначена для хранения программ и имеет отдельное от памяти данных адресное пространство объемом до 64 Кбайт.
1.3.3 Адресные пространства АТ89С51
В AT89C51 имеются следующие адресные пространства: Пространство адресов регистров специальных функций, таких как аккумулятор А, вспомогательный регистр АВ, старший и младший регистры указателя данных DPTR, фиксаторы портов ввода-вывода P0-P3, регистр слова состояния программы PSW, регистр указателя стека SP и др. Диапазон адресов регистров специальных функций находится в пределах от 128 до 255. При записи данных по адресу регистра несуществующей специальной функции данные теряются, при считывании из регистра несуществующей специальной функции данные не определенны;
Пространство адресов триггеров специальных функций, таких как триггеры признаков переноса C, переполнения OV, четности P, отрицательности N, нуля Z, триггеры выбора банка рабочих регистров RS0 и RS1; триггер программно-управляемого флага F0 и другие. Все триггеры специальных функций физически размещаются в регистрах специальных функций. Наличие триггеров специальных функций определяется типом микроконтроллера. Диапазон адресов триггеров специальных функций находится в пределах от 128 до 255. Части адресов соответствуют несуществующие триггеры. При записи бита по адресу несуществующего триггера этот бит теряется, при считывании бита из несуществующего триггера его значение неопределенно;
Пространство адресов памяти программ. Диапазон адресов этого пространства находится в пределах от 0 до 65535. Память программ с адресами от 0 до 4096 может реализоваться внутренним запоминающим устройством. В пространстве адресов памяти программ размещаются коды команд и, возможно, данные. Часть адресов пространства памяти программ зарезервирована для точек входа в программу начального запуска и программы обслуживания прерываний. Адрес команды, подлежащей выполнению, хранится в счетчике команд PC. Обращение к данным в памяти команд осуществляется по адресу равному сумме содержимого счетчика команд PC и аккумулятора A или регистра указателя данных DPTR и аккумулятора A;
Пространство адресов внешней памяти данных. Диапазон адресов этого пространства находится в пределах от 0 до 65535. Во внешней памяти данных могут размещаться только данные, обращение к которым осуществляется посредством содержимого рабочего регистра-указателя R0, R1 или регистра указателя данных DPTR;
Пространство прямых адресов внутренней памяти данных. Диапазон адресов этого пространства находится в пределах от 0 до 127. Обращение к данным в пространстве прямых адресов осуществляется посредством второго байта кода команды. Пространство адресов регистров специальных функций является продолжением данного пространства;
Пространство косвенных адресов внутренней памяти данных. Диапазон адресов этого пространства находится в пределах от 0 до 127. Пространство косвенных адресов от 0 до 127 физически совпадает с пространством прямых адресов;
Пространство поразрядных прямых адресов внутренней памяти данных. Диапазон адресов этого пространства находится в пределах от 0 до 127. Данное пространство физически совпадает с пространством прямых адресов ячеек от 32 до 47. Пространство адресов триггеров специальных функций является продолжением пространства поразрядных прямых адресов;
Пространство адресов стека. Диапазон адресов этого пространства находится в пределах от 0 до 127. Данное пространство физически совпадает с пространством косвенных адресов. Произвольный адрес верхушки стека можно установить, например, с помощью команды: MOV SP, #;
Пространство рабочих регистров, которое разделено на 4 банка. Каждый из банков содержит восемь 8-разрядных рабочих регистров R0 - R7. Диапазоны адресов пространства рабочих регистров во внутренней памяти данных следующие: Для нулевого банка: 0 - 7;
Для первого банка: 8 - 15;
Для второго банка: 16 - 23;
Для третьего банка: 24 - 31.
Выбор текущего банка рабочих регистров определяется содержимым триггеров специальных функций RS0 и RS1: Банк
Нулевой 0 0
Первый 0 1
Второй 1 0
Третий 1 1
Установить триггеры в требуемое состояние можно, например, посредством команд CLR RS0, CLR RS1, SETB RS0 и SETB RS1. Рабочие регистры R0 и R1 текущего банка могут использоваться при косвенной адресации внутренней и внешней памяти данных.
Адресам памяти текущего банка рабочих регистров R0-R7 в языке ассемблера присвоены символические имена AR0-AR7 соответственно. Распределение памяти ОЗУ процессора АТ89С51 представлено на рисунке 1.3.
Рис. 1.3. Распределение памяти ОЗУ процессора АТ89С51
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы