на тему: «Исследование системы преобразования и передачи информации удалённому получателю с помощью отладчика-эмулятора микропроцессора К1816ВЕ48»
Выполнил: ст. гр. АКТ – 31д.
Ружицкий И.И.
Проверил: Карташов Л.Е.
Севастополь 2012
Цель работы:Исследовать способы передачи информации в последовательном коде посредством микропроцессора К1816ВЕ48, составить и отладить программу, реализующую передачу информации удаленному получателю в последовательном коде в асихронном режиме, при отладке програмы изучить использование контрольных точкек.
Введение.
Последовательная связь - это передача или прием, при котором данные передаются последовательно бит за битом, в противоположность параллельной передаче, при которой данные передаются побайтно или пословно.
Передать данные от микропроцессора к какому-либо другому устройству системы можно параллельно или последовательно. При параллельной передаче микропроцессор передает к внешнему устройству одновременно 8 бит данных по 8 линиям. При последовательной (не одновременной) передаче данных для передачи 8 бит данных используется одна линия.
Скорость передачи данных. Для передачи данных по одной линии необходимо определить частоту или скорость передачи данных. Скорость передачи v определяется как число битов данных, передаваемых по линии в 1 с.
Обычно скорость передачи данных составляет 110 и 300 бит/с (бод) при передаче данных к телетайпу и 1200, 2400, 4800 и 9600 бод при передаче между контроллерами и ЭВМ и наоборот. Предположим, что скорость передачи данных 1200 бод. Длительность импульса, соответствующая передаче 1 бит данных, определяется по формуле:
На рисунке показано, что три логические 1, передаваемые последовательно, воспринимаются как логическая 1 длительностью, равной утроенной длительности передачи 1 бит данных.
Длительность передачи 1 байта данных со скоростью 1200 бод составит:
При параллельной передаче данных информация передается за несколько микросекунд.
Параллельно-последовательное преобразование данных. Для последовательной передачи данных вырабатываемое микропроцессором 8-разрядное слово нужно преобразовать в последовательность из 8 бит, передаваемых, например, со скоростью 9600 бод. Для этого нужно: выработать 8-разрядное слово; записать его в сдвиговый регистр (параллельно 8 бит); сдвигая 8-разрядное слово с выбранной частотой, выдавать с выхода регистра последовательно по одному биту. Структурная схема параллельно-последовательного преобразования показана на рисунке:
Вырабатываемое микропроцессором 8-разрядное слово вводится в сдвиговый регистр, а затем последовательно сдвигается. Биты данных выдаются по одному с тактовой частотой, начиная с DO и кончая D7. Скорость передачи данных зависит от тактовой частоты сдвигового регистра. Используя микропроцессор, операцию преобразования параллельного кода в последовательный можно организовать, используя его средства.
Биты "старт", "стоп" и "паритет". Рассмотрим, как осуществляется прием и распознавание переданных данных. Предположим, что передается следующая кодовая комбинация:
D7
D6
D5
D4
D3
D2
D1
D0
Первым к какому-либо приемнику передается бит DO. Приемные устройства должны определить начало передачи данных. Предположим, например, что прием первой логической 1 или 0 воспринимается приемным устройством как момент начала передачи данных. Однако при этом не учитываются некоторые условия.
Во-первых, нужно предположить, что линия последовательной передачи данных находится в состоянии логической 1 или 0 тогда, когда на шине данных нет информации. Предположим, что когда нет передачи данных, эта линия находится в состоянии логической 1. Чтобы определить момент начала передачи, приемное устройство должно зафиксировать изменение состояния этой линии с логической 1 в логический 0 и наоборот.
Однако если первый передаваемый бит DO равен логической 1, то момент начала передачи будет пропущен, поскольку состояние линии передачи данных, не изменится после передачи бита DO. В худшем случае передаваемая кодовая комбинация может состоять из одних единиц. Тогда ни один бит данных не будет принят приемным устройством.
Решить эту проблему можно, добавив к передаваемому цифровому слову дополнительные стартовые биты. Стартовые биты, вырабатываемые передающим устройством, информируют принимающее устройство о начале передачи новой кодовой последовательности.
Когда нет передачи данных, последовательная линия связи должна находиться в одном из двух логических состояний. Предположим, что это состояние логической 1. Состояние стартового бита должно быть противоположно состоянию линии в режиме ожидания передачи. Приемное устройство воспринимает стартовый бит и начинает прием данных. Временная диаграмма передачи данных со стартовым битом показана на рисунке:
Кроме стартового бита, к передаваемой кодовой комбинации добавляется еще один разряд — бит паритета. Этот бит вырабатывается передающим устройством и используется приемником для контроля правильности приема кодовой комбинации. Передаваемое 8-разрядное цифровое слово может иметь четное или нечетное число логических 1. Например, в слове 1A(16) три логических 1, а в слове 3F(16) шесть логических 1. Приемное устройство не только принимает данные, но и настроено на прием нечетного или четного числа логических 1.
Предположим, что приемник настроен на прием четного числа логических 1. Передающее устройство всегда должно передавать цифровые слова с четным числом логических 1. Не все 8-разрядные слова содержат четное число 1, поэтому при передаче цифрового слова передающее устройство должно вырабатывать дополнительный бит - бит паритета. Использование бита паритета для контроля правильности приема данных при последовательной передаче позволяет обнаруживать одиночные ошибки, т. е. такие ошибки, когда одна из переданных логических 1 была неверно принята как логический 0 или наоборот.
Бит паритета имеет такое логическое состояние, что передаваемое 8-разрядное слово всегда содержит четное число логических 1. Если передаваемое слово содержит нечетное число единиц, то бит паритета будет установлен в логическую 1, а если четное - в логический 0. Бит паритета дополняет число передаваемых 1 до четного или нечетного, в зависимости от типа контроля, реализованного в приемном устройстве.
На рисунке показана передача 8-разрядного слова 8C(16) с контролем по четности. Общее число передаваемых разрядов кодовой комбинации теперь равно 11: 2 стартовых бита, 8 бит данных, 1 бит паритета.
Последний бит передаваемой кодовой комбинации называется стоповым битом. Стоповый бит используется для обозначения окончания передачи кодовой комбинации и вырабатывается передающим устройством. Приемное устройство ожидает прихода стопового бита в конце каждого передаваемого цифрового слова. Если этот бит не пришел, приемное устройство может выдать сигнал ошибки передачи данных. Стоповый бит, так же как и бит паритета, служит для обнаружения ошибок передачи данных.
При различных типах последовательной передачи данных используется различное число стоповых битов: 1; 1,5 или 2. Полное цифровое слово, содержащее один стоповый бит, показано на рисунке:
Общее число передаваемых битов данных равно 12. Длительность передачи этого слова со скоростью 2400 бод:
Поскольку при разработке программы в данной работе будет присутствовать большое количество циклов, и поскольку эмулятор не позволяет исследовать состояние портов ввода-вывода в реальном времени, то необходимо воспользоваться точками прерываний. Как указывалось в предыдущих работах, процедура пошагового выполнения программы оказывается слишком медленной и бесполезной в случае, когда программа должна выполняться в рабочем режиме. Желательно поэтому иметь возможность безостановочного выполнения программы до тех пор, пока не встретится какая-то определенная команда. Для обеспечения останова программы в заданных точках пользователь может включать в программу специальные команды, вызывающие приостановку работы процессора. При выполнении команды останова программы в заданной точке управление будет передано управляющей программе отладчика, и пользователь сможет проанализировать состояние процессора, что позволит оценить правильность выполнения программы.
Существуют два способа реализации останова программы в заданной точке: аппаратный и программный. В первом случае производится аппаратный анализ состояния адресной шины системы. Точка останова обнаруживается аппаратными средствами в тот момент, когда адрес на адресной шине совпадает с заданным адресом останова программы. После обнаружения точки останова формируемые аппаратурой сигналы управления процессором либо останавливают процессор, обеспечивая возможность анализа его состояния, либо запускают соответствующую программу обработки прерывания. Аппаратный способ организации остановов применим для отладки программ, записанных как в ПЗУ, так и в ОЗУ. Если же применяется программный способ реализации останова программ в заданных контрольных точках, то программа, подлежащая отладке, должна обязательно располагаться в ОЗУ. Это вызвано тем, что специальные команды, вызывающие останов процессора, должны "встраиваться" в отлаживаемую программу.
Средства обеспечения контрольных остановов в заданных точках программ очень полезны для организации их отладки, поскольку до момента останова участки программы любого размера могут прогоняться с максимальной скоростью. Например, некоторая подпрограмма может быть выполнена целиком, а затем в точке останова можно проанализировать состояние регистров процессора с целью установления правильности выполнения подпрограммы. После завершения отладки программы из нее удаляются все средства организации контрольных остановов.
Задание:
Разработать программу вычисление арифметического выражения: M = (i + j) · 8, где i, j — последние цифры номера зачетной книжки. (М=(4+1) ·8)
Разработать программу, реализующую передачу результата удаленному получателю по двухпроводной линии передачи информации. Передачу информации осуществляется в последовательном коде, при асинхронном режиме обмена. Предполагается, что линия передачи информации подключена к четвертому разряду порта Р2, а оставшиеся разряды могут быть использованы для подключения датчиков и внешиних исполнительных устройств.
Измерить действительную скорость передачи информации, определить относительную погрешность действительной скорости относительно теоретической.
Примечание к выполнению задания:
Скорость передачи информации по линии связи выбрать из таблицы в соответствии с последней цифрой номера зачетной книжки.