Контроллеры коммуникационных каналов SCС, страница 8

Если SPI-контроллер, работая в режиме master, обнаружил активный сиг­нал SPISEL от другого master-устройства, то регистрируется ошибка режима multimaster и устанавливается бит МIМЕ:= 1.

2.2.6.2. Регистры статуса.

Для того чтобы пользователю было более удобно опрашивать состояние не­которых линий SCC-канала, в состав коммуникационного контроллера введен регистр статуса линий SCCS (рис. 7). Контроль состояния этих линий выполняется при передаче/приеме данных для обнаружения различных ошибок некорректной работы канала связи. Этот регистр позволяет контро­лировать текущее состояние сигнала на линии RXD, а также показывает состояние линий CTS и CD, но эта информация не является информацией реального времени (real-time), поскольку измерение состояния линии CTS производится после включения передатчика в работу (установлен бит ЕNT=1) и только по положительному фронту тактового сигнала TCLK. Измерение состояния линии CD производится только после включения при­емника в работу (бит ENR=1) и только по положительному перепаду такто­вого сигнала RCLK. Состояние линии RXD выдается в реальном масштабе времени и позволяет регистрировать сигналы несущей частоты и последовательности символов IDLE и Flag.

После включения приемника в работу (бит ENR=1) бит CD отражает со­стояние линии CD (Carrier Derect). Если SCC-контроллер работает в мультиплексируемом  режиме, то бит CD имеет значение 0.

После включения передатчика в работу (бит ENT=1) бит CTS отражает со­стояние сигнала на линии CTS (Clear-to-Send). Бит CTS имеет значение 0, если канал работает с РСМ-интерфейсом, и если он работает с другими ин­терфейсами, но не с D-каналом. Если же SCC-контроллер работает с ин­терфейсами IDL или GCI и передает данные по D-каналу, то бит CTS отра­жает состояние линии сигнала CTS.

Регистрация последовательностей IDLE на линии RXD производится только при включенном приемнике выбранного SCC-канала и используется только для контроллеров UART и HDLC. В HDLC-контроллере бит ID=1 устанав­ливается лишь после получения из канала связи 15 последовательных еди­ничных битов "1" и сбрасывается (ID=0) после прихода первого нулевого бита. Если между кадрами передаются последовательности IDLE, то изме­нение значения бита ID может означать и начало, или конец кадра данных. В UART-контроллере бит ID устанавливается в 1 после приема хотя бы од­ного IDLE-символа, состоящего из 9—13 последовательных единичных би­тов, и сбрасывается в 0 после приема первого нулевого бита. Если SCC-канал запрограммирован на работу в режиме программного управления (биты D1AG=11), то бит ID всегда отражает состояние линии RXD независимо от состояния сигнала на линии CD .

Бит CS устанавливается в 1, когда блок DPLL обнаружит в канале несущую частоту (перепады сигнала). Если DPLL-блок в текущий момент времени не обнаруживает в канале перепады сигналов, то бит CS сбрасывается.

Бит FG устанавливается, если HDLC-контроллер получит хотя бы один символ флага (формат Ох7Е). Значение бита FG обновляется каждые 8 пе­риодов тактовой частоты приемника. Если принят другой символ, отличный от символа флага, бит FG сбрасывается на ближайшие 8 битовых интервалов.

Если SCC-контроллер работает в режиме программного управления внеш­ними контактами CTS и CD, то состояние сигналов на линиях CTS и CD ' не оказывает влияния на работу контроллера, и пользователь может запро­граммировать внешние контакты этих сигналов в портах ввода/вывода для работы с другими сигналами, например для реализации модемных сигналов DTR (Data Terminal Ready) и DSR (Data Set Ready), и управлять измене­ниями сигналов на этих контактах из своей программы. Регистрация изме­нений сигналов на этих линиях будет производиться через регистр событий SCCE выбранного SCC-контроллера.