Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС для АТП (ЛЕК).doc
Скачиваний:
33
Добавлен:
26.09.2019
Размер:
2.38 Mб
Скачать

7.3.3.Передача данных

Передаваемые данные - последовательные данные которые передаются с внутренней шины через последовательный интерфейс на линию вывода. Передатчик формирует бит, используя RT-импульсы, что обеспечивает скорость передачи, равной 1/16 скорости синхронизации приемника.

Когда бит разрешения передатчика установлен, выход сдвигового регистра передатчика подключен к TxD линии. В зависимости от состояния бита M (в SCCR) передается заголовок из 10 (M=0) или 11 (M=1) последовательных бит когда программно устанавливается бит TE из 0 в 1. После загрузки последнего байта в регистр данных и получения флага TDRE можно сбросить TE. Передача последнего байта будет окончена перед тем, как передатчик отключится от линии TxD. Все время, пока передатчик активен, бит 1 в регистре направления порта D установлен и линия используется как выход.

Передача данных начинается при записи в регистр данных (SCDR). При условии, что передача разрешена, данные из SCDR перемещаются в сдвиговый регистр передаваемых данных. Перемещение данных устанавливает бит TDRE в регистре статуса SCI (SCSR) и может вызывать прерывание если прерывания разрешены. Перемещение данных в сдвиговый регистр синхронизируется с частотой передачи бит (). При передаче первым следует младший бит. По завершении передачи данных в SCSR устанавливается бит завершения передачи (TC) (при отсутствии данных, ожидающих обработки, заголовка или сигнала останова которые должны быть переданы), а также может генерироваться прерывание, если разрешено прерывание по завершению передачи. Если передатчик не активизирован, но были посланы данные, заголовок, или сигнал останова, то TC-бит также будет установлен, и будет сгенерировано прерывание, если установлен бит TCIE. Если передатчик запрещен в середине передачи, то символ будет передан до того как передатчик отключится от линии TxD.

В момент чтения SCDR, его содержимым является последний принятый байт, при условии, что приемник активизирован. В регистре SCSR устанавливается бит RDRF, чтобы показать что байт данных перемещен из входного сдвигового регистра в SCDR, этот бит может вызвать прерывание, если разрешены прерывания от приемника. Перемещение данных из сдвигового регистра в SCDR синхронизируется с частотой скорости обмена приемника. Флаги ошибок: переполнения (OR), шума (NF), кадрирования (FE) устанавливаются в SCDR, если происходят соответствующие ошибки при приеме.

Прерывание по свободной линии генерируется если оно разрешено и бит IDLE (который определяет наличие свободной линии) установлен в регистре SCSR. Это позволяет приемнику (если он не в режиме ожидания) определять конец сообщения, заголовок нового сообщения, или пересинхронизироваться с передатчиком. Правильный символ должен быть принят перед тем как будет установлен IDLE бит и сгенерировано прерывание.

Если SBK установлен и сразу сброшен, то передатчик посылает 10 (M=0) или 11 (M=1) нулей и затем возвращается к передаче данных или в режим свободной линии. Если SBK остается установленным, передатчик будет посылать полные блоки нулей (из 10 или 11) до тех пор, пока SBK не будет сброшен. По завершении сигнала останова передатчик посылает по крайней мере один единичный бит, чтобы обеспечить распознавание стартового бита. Если передатчик пуст и находится в состоянии свободной линии, то установка - сброс SBK приведет к генерации двух последовательных сигналов останова, поскольку первый сигнал останова помещается практически непосредственно в сдвиговый регистр и второй затем помещается в параллельный буфер передачи.