Изменение состояния сигнала на линии CD регистрируется в бите CD. Но для того, чтобы узнать новое состояние CD -сигнала, пользователь должен прочитать содержимое регистра статуса SCCS.
Изменение состояния на линии приема RXD, т. е. идет прием данных или идет прием IDLE-последовательностей холостого хода, регистрируется в бите IDL. Но для того, чтобы узнать новое состояние сигналов на линии RXD, пользователь должен прочитать содержимое регистра статуса SCCS.
Событие приема по линии RXD BREAK символа будет зарегистрировано в бите BRK регистра событий SCCE. Событие начала приема по линии RXD BREAK последовательности будет зарегистрировано в бите BRKs регистра событий SCCE. Это событие регистрирует начало приема последовательности, но не регистрирует начало каждого нового BREAK-символа в последовательности. Событие обнаружения на линии RXD конца BREAK-последовательности будет зарегистрировано в бите BRKe регистра событий SCCE. Этот бит устанавливается при получении первого "1" бита после BREAK-последовательности.
Если во время передачи данных в SCC-канале возникла ошибка или потери CTS -сигнала, или незаполнения буфера (underrun), то это событие регистрируется в бите ТХЕ:=1. V.110- и Transparent-контроллеры регистрируют только возникновение ошибки underrun. Для SPI-контроллера ошибка under-run регистрируется только в slave-режиме работы.
UART-контроллер проверяет, является ли каждый принимаемый символ контрольным служебным символом. При проверке формат символа сравнивается с заданными форматами служебных символов. Если некоторый символ распознан как контрольный, и в ячейке таблицы служебных символов для него установлен, бит R=1, то символ не сохраняется в буфере памяти, а только записывается в регистре временного хранения RCCR, и это событие регистрируется в бите CCR.
В BISYNC-контроллере прием по каналу связи одного из заранее определенных служебных символов, который записывается в буфер данных в памяти, регистрируется в регистре событий установкой бита RCH. В Transparent-контроллере в этом бите регистрируется событие приема одного символа данных.
Если корректный символ данных был принят во внутренний регистр SCC-канала, но RISC-контроллер не обнаружил свободного буфера BD для передачи в него данных, то регистрируется состояние занятости и устанавливается бит события BSY:=1. При приеме символа в UART-контроллере свободный буфер должен быть подготовлен не позднее середины приема стоп-бита, иначе принятый символ будет отброшен из-за возникшего состояния занятости. Приемник при этом переходит в режим поиска следующего кадра данных (режим "охоты").
Если при приеме данных текущий буфер заполнился, то устанавливается бит RX=1 в регистре SCCE и текущий буфер закрывается. Регистрация этого события происходит в UART-контроллере и в UART SMC-контроллере не раньше середины приема первого стоп-бита последнего символа в буфере. В Transparent-контроллере событие регистрируется не раньше чем через 10 периодов тактового сигнала после приема последнего бита последнего байта данных из текущего буфера.
Событие завершения приема полного кадра данных регистрируется установкой бита RXF. В контроллерах HDLC и ASYNC HDLC этот бит устанавливается не раньше чем через 2 периода тактового сигнала после окончания приема последнего бита закрывающего флага кадра. Событие приема одного из буферов данных (но не полного кадра или не полного законченного сообщения в DDCMP-контроллере) регистрируется установкой бита RXB в регистре событий, обычно это имеет место, если в слове состояния дескриптора текущего буфера приема установлен, бит I=1 (Interrupt), т. е. пользователь настроил контроллер на прерывание после приема этого буфера данных. В контроллерах SPI и I2C это событие регистрируется, когда последний символ записан в буфер приемника, и этот буфер закрыт.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.