Временной контроль сигналов управления. Управление сигналами
, и .
Когда SCC-канал запрограммирован на работу в нормальном режиме (биты DIAG = 00), сигналы и находятся под автоматическим контролем SCC-кон-троллера. Биты CDP, CDS, CTSP, CTSS определяют, как SCC-контроллер воспринимает и работает с сигналами и . Если бит CDP = 0, то сигнал на линии должен контролироваться в течение приема всего кадра данных. Если во время приема кадра сигнал будет сброшен в пассивное состояние = 1, то регистрируется ошибка потери CD-сигнала и прием кадра прерывается. Если бит CDP = 1, то сигнал на линии появляется в виде импульса,_который синхронизирует начало кадра, и дальнейшие изменения сигнала на линии не влияют на прием текущего кадра данных.
Если бит CDS = 0, то сигнал на линии должен контролироваться в течение передачи всего кадра данных. Если во время передачи кадра сигнал будет сброшен в пассивное состояние = 1, то регистрируется ошибка потери CTS-сигнала и передача кадра прерывается. Если бит CDS = 1, то сигнал на линии появляется в виде m импульса, который синхронизирует начало передачи кадра, и дальнейшие изменения сигнала на пинии не влияют на передачу текущего кадра данных.
Бит CTSP определяет взаимную синхронизацию внешних сигналов на линиях и RXD. Если бит CTSP равен 0, то два этих сигнала поступают асинхронно. SCC-контроллер внутренне синхронизирует их, а затем принимает данные с линии RXD, Если бит CTSP = 1, то сигнал синхронизирован с появлением данных на линии RXD, а это позволяет контроллеру проводить их быструю обработку, В этом случае состояние сигнала изменяется во время нулевого «0» полупериода тактового сигнала, и сигнал остается активным = 0 в течение приема всего кадра данных. Часто синхронизированный режим работы используется для соединения двух коммуникационных контроллеров в прозрачном режиме передачи, у которых выход одного из них соединен со входом другого.
Бит CTSS определяет взаимную синхронизацию внешних сигналов на линиях и TXD. Если бит CTSS равен 0, то два этих сигнала поступают асинхронно. SCC-контроллер внутренне синхронизирует их, а затем данные выставляются на линию TXD после нескольких периодов задержки. Если бит CTSS = 1, то сигнал синхронизирован с передачей данных по линии TXD. В этом случае состояние сигнала изменяется во время нулевого «0» полупериода тактового сигнала. Как только сигнал стал активным = 0, данные начинают немедленно передаваться по линии TXD. Часто синхронизированный режим работы используется для соединения двух коммуникационных контроллеров в прозрачном режиме передачи, у которых выход одного контроллера соединен со входом другого контроллера.
Бит RTSM используется для контроля режимов работы внешнего сигнала при передаче данных. Если бит RTSM = 0, то сигнал активен только при передаче кадра данных, а в промежутке между кадрами передаются IDLE/Flag-символы и сигнал становится пассивным. Если бит RTSM = 1, то сигнал всегда активен после включения выбранного SCC-контроллера в работу, и в промежутке между кадрами данных передаются символы IDLE или Flag, как определено в выбранном коммуникационном протоколе.
Временной контроль сигналов управления для синхронных протоколов. При работе в нормальном режиме для синхронных протоколов сигнал становится активным, когда данные для передачи загружены в буфер FIFO и наступает отрицательный перепад тактового сигнала TCLK. Если при этом сигнал = 0 или вывод используется как контакт параллельного порта, то данные начнут сразу же передаваться в сеть. Если вывод запрограммирован на использование как контакт параллельного порта ввода/вывода, то для SCC-контроллера он будет всегда восприниматься как активный сигнал. Задержка между выставлением активного сигнала = 0 и выставлением на линию TXD первого бита данных (рис. 5.34) составляет или нуль периодов тактового сигнала - если бит CTSS = 1 в регистре GSMR, или один период тактового сигнала - если бит CTSS = 0. Сигнал сбрасывается, т. е. становится пассивным = 1, через один период тактового сигнала после начала передачи последнего бита данных, т. е. сразу после окончания передачи кадра данных. Если при выставлении активного сигнала = 0, сигнал остается пассивным = 1, то задержка начала передачи данных зависит от момента появления активного сигнала = 0. Изменение состояния сигнала всегда контролируется по отрицательному перепаду тактового сигнала передатчика TCLK. После появления активного сигнала первый бит данных будет выставлен на линию TXD сразу же по тому же перепаду тактового сигнала TCLK, по которому был обнаружен активный сигнал = 0, если бит CTSS = 1 в регистре GSMR, или с задержкой от 0,5 до 1 периода тактового сигнала (т. е. по следующему отрицательному перепаду тактового сигнала после обнаружения активного сигнала ), если бит CTSS = 0.
Если бит CTSP = 0, то сигнал должен оставаться активным в течение всей передачи кадра данных, иначе будет зарегистрирована ошибка «потери CTS-сигнала».
Если при передаче данных сигнал станет пассивным, то это вызовет установку сигнала тоже в пассивное состояние, немедленное прерывание передачи данных и начало передачи IDLE-символов. Но если при этом бит CTSS = 0, то перед регистрацией ошибки «потери сигнала CTS» и прерыванием передачи SCC-контроллер должен по положительному перепаду тактового сигнала (рис. 5.35) опросить состояние сигнала на линии . Если бит CTSS = 1, то все изменения сигнала могут производиться, только когда тактовый сигнал TCLK = 0 (рис. 5.36).
Задержка приема данных определяется состоянием сигнала на входе . Если бит CDS = 0, то состояние -сигнала опрашивается по каждому положительному перепаду тактового сигнала RCLK, и, если обнаружен активный сигнал = 0, то прием данных начинается по следующему отрицательному перепаду тактового сигнала. Если бит CDS = 1, то изменение пассивного состояния сигнала на активное по любому фронту тактового сигнала вызывает немедленное начало приема данных.
Если бит СDР = 0, то сигнал со должен оставаться в активном состоянии до конца приема кадра данных, иначе будет зарегистрирована ошибка «потери CD-сигнала» и прием данных будет немедленно прерван. Но если при этом бит CDS =0 , то перед регистрацией ошибки «потери сигнала CD» и прерыванием приема SCC-контроллер должен по положительному перепаду тактового сигнала опросить состояние сигнала на линии . Если бит CDS = 1, то все изменения сигнала могут производиться, только когда тактовый сигнал RCLK = 0.