![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 50515253545556 ... 159 когда буферный регистр передаваемых данных (TXREG) оказывас к j, пустым. Приемник является наиболее сложным их трех входящих в состцц USART компонентов. Это объясняется функциональной сложностью процессов обработки/преобразования данных при приеме а также необходимостью управления приемным буфером. При приеме оценивается корректность принимаемых данных. Структурная схема блока приема данных приведена на рис. 7.22. г- Синхроимпульсы приемника Буфер линии Synch Буферный регистр RCREG Синхроим пульсы USART {J Synch CSRC CREN Регистр сдвига RSR 1 • RCIF Фла1 ошибок Рис. 7.22 Структурная схема блока приема универсального синхронно-асинхронного приемопередатчика В режиме синхронной передачи сдвиг данных производится < помощью синхронизирующих импульсов USART или синхронизир\ ю-щих импульсов внешнего устройства. В приемнике (RX), как и в передатчике (ТХ), имеется буферньн! регистр приема (точнее, буфер приема). Для нормального функционирования приемника программа должна своевременно считыи.11 ь принятые данные, освобождая буфер для новых данных. По сч in к моменту приема очередного байта данные не будут считаны, hd.i-никнет ошибка буферизации («затирания») данных. Другая возможная проблема связана с возникновением ошибки кадрирования дпниих, которая обнаруживается в том случае, если состояние стопового бита в поступающем информационном NRZ-пакете (так называем )С кодирование без возврата к нулю) не равно 1. Указанные omnoiai отмечаются в регистре RCSTA (регистр состояния приемника), а соответствующие биты этого регистра должны обнуляться программным путем. Чтобы обеспечить правильный прием данных, распознавание информации во входном потоке осуществляется с помощью частоты, значительно превышающей скорость приема/передачи. Частота синхроимпульсов приемника, которая в 16 раз превышает скорость передачи данных, подается на схему буфера ЛИ1НН1 и управления и используется в качестве синхросигнала для соответствующих аппаратных средств. В процессе приема линия npneivia данных троекратно опрашивается, после чего по мажоритарному принципу определяется значение бита принятых данных. Подобная процедура повторяется для всех восьми пли девяти битов данных, причем последняя проверка производится для бита останова. Работа схемы начинается, когда ур1)вень сигнала в линии данных остается низким в течение трех периодов синхроимпульсов приемника, при этом производится считывание данных из «средней» части очередного бита, как показано на рис. 7.23. Стартовый бит Обработка данных Высокочастотные синхроимпульсы 1. Обнаружение стартового бита с защитой ог импульсных помех 2. Считывание бита 3. Считывание бита четности Рис. 7.23 Дчограммо, иллюстрирующая процедуру считывания информационного пакета в режиме асинхронной передачи данных в некоторых PIC-мнкроконтроллерах приемник USART можс]. использоваться для приема сразу двух асинхронно передаваемы байтов в формате «данныегадрес», где адрес предназначен для специальной идентификации устройства, связанного с шиной данных В этом случае при установке бита ADDEN регистра RCSTA инициироиа-ние прерываний от приемника изначально не разрешается, и такая ситуация сохраняется вплоть до момента завершения приема обоих байтов. Для их различения предусматривается, что девятый бпг байта адреса будет равен 1, тогда как девятый бит байта да1Н1ЫХ, па-оборот, должен быть установлен в 0. При приеме подобного запроса на прерывание программа обработки прерываний сначала проие-ряет адрес запрошенного устройства и только потом обрабатьшас! байт данных. Для управления универсальным синхронно-асинхронным н]л1-емопередатчиком применяются регистры TXSTA, SPBRG и RCSTA. Регистр TXSTA (регистр состояния передатчика), которьн! используется в PIC-микроконтроллерах среднего подсемейства, н.ме-ет адрес 0x098, а назначение битов этого регистра приводи!ся в табл. 7.II. Таблица 7.11 Назначение разрядов региара TXSTA USART
Регистры SPBRG и RCSTA имеют соответственно адреса OxO.i и 0x018.1 (азначение битов последнего указано в табл. 7.12. В Р1С-микроконтролле[)ах среднего подсемейства буферному регистру передачи TXREG обычно ставится в соответствие адрес 0x0О. 0 ... 50515253545556 ... 159 |