Память параметров SMC-каналов располагается во внутренней памяти параметров коммуникационного контроллера, для МРС860. Память параметров SMC-канала состоит из двух частей: протокол независимой части, в которой определены общие параметры работы SMC-контроллера (табл. 3), и протокол ориентированной, в которой содержатся параметры, определяющие работу выбранных коммуникационных протоколов. Назначение переменных в протокол независимой памяти параметров SMC-контроллера совпадает с назначением аналогичных ячеек в протокол независимой памяти параметров SCC-контроллера, описание которых было приведено ранее.
Таблица 3. Протокол независимая память параметров SMC-контроллеров в МРС860.
Адрес |
Название |
Размер, бит |
Описание |
SMC base+00 |
RBASE |
16 |
Базовый адрес таблицы RX BD |
SMC base+02 |
TBASE |
16 |
Базовый адрес таблицы TX BD |
SMC base+04 |
RFCR |
8 |
Функциональные коды Rx |
SMC base+05 |
TFCR |
8 |
Tx функциональные коды |
SMC base+06 |
MRBLR |
16 |
Максимальная длина Rx-буфера |
SMC base+08 |
RSTATE |
32 |
Rx-состояние |
SMC base+0С |
32 |
Указатель на ячейку памяти в буфере приема Rx |
|
SMC base+10 |
RBPTR |
16 |
Указатель на ячейку памяти дескриптора RX BD |
SMC base+12 |
16 |
Счетчик принятых в буфер Rx байт данных |
|
SMC base+14 |
32 |
Временная переменная Rx |
|
SMC base+18 |
TSTATE |
32 |
Тх-состояние |
SMC base+1С |
32 |
Указатель на ячейку памяти в буфере приема Tx |
|
SMC base+20 |
TBPTR |
16 |
Указатель на ячейку памяти дескриптора TX BD |
SMC base+22 |
16 |
Счетчик переданных из буфера Tx байт данных |
|
SMC base+24 |
32 |
Временная переменная Tx |
При работе с SMC-каналами пользователь может в любой момент времени произвести модификацию параметров канала, например, настроить его на работу с другим коммуникационным протоколом. Для этого канал должен быть выключен из работы, а затем снова включен. Большинство параметров настройки контроллера рекомендуется производить только при выключенных приемнике (бит REN=0) и передатчике (бит TEN=0). При этом текущие буферы данных, с которыми работает канал, закрываются, и после возобновления работы канал будет работать с другими буферами. Рекомендованная последовательность инициализации приемника SMC-канала:
1. Сбросить бит работоспособности (разрешения работы) приемника REN:= 0. Прием будет немедленно прерван и приемник будет установлен в нормальное состояние.
2. Произвести модификацию памяти параметров и регистров SMC-канала. При желании пользователь может просто сбросить все параметры в исходное состояние, передав контроллеру команду INIT RX PARAMETERS. Если команда INIT RX PARAMETERS не используется, то необходимо передать команду CLOSE RX BD или ENTER HUNT MODE.
3. Установить бит разрешения приема REN:=1 в регистре SMCMR, разрешив контроллеру начать прием информации из канала связи.
Если пользователь решил только сбросить параметры приемника SMC-канала в исходное состояние, не изменяя режимов работы, то достаточно выполнить следующие действия (короткая последовательность):
1. Сбросить бит REN:=0 в регистре SMCMR, выключив приемник из работы.
2. Передать каналу команду INIT RX PARAMETERS.
3. Разрешить работу приемника, установив бит REN:=1.
Рекомендованная последовательность инициализации передатчика SMC-канала:
1. Если контроллер в текущий момент времени выполняет передачу кадра данных, то предварительно требуется передать ему команду STOP TRANSMIT для прерывания процесса передачи.
2. Сбросить бит работоспособности (разрешения работы) передатчика TEN:= 0. Передатчик будет установлен в начальное состояние.
3. Произвести модификацию памяти параметров и регистров SMC-канала. При желании пользователь может просто сбросить все параметры в исходное состояние, передав контроллеру команду INIT TX PARAMETERS. Если команда INIT TX PARAMETERS не используется, то необходимо передать команду RESTART TRANSMIT.
4. Установить бит разрешения передачи TEN:=1 в регистре SMCMR, разрешив контроллеру начать передачу в сеть информации из буфера данных, адрес которого указан в ячейке TBPTR.
Если пользователь решил только сбросить параметры передатчика SMC-канала в исходное состояние, то достаточно выполнить следующие действия (короткая последовательность):
1. Сбросить бит TEN:=0 в регистре SMCMR, выключив передатчик из работы.
2. Передать каналу команду INIT TX PARAMETERS.
3. Разрешить работу передатчика, установив бит TEN:=1.
Если пользователь решил только изменить протокол, с которым работает в текущий момент времени SMC-контроллер, и не менять общих параметров работы канала, то он должен выполнить следующие шаги:
1. Сбросить биты разрешения работы приемника и передатчика SMC-канала REN=TEN:=0.
2. Передать каналу команду инициализации всех параметров приемника и передатчика в исходное состояние INIT TX and RX PARAMETERS. Произвести настройку регистра SMCMR и памяти параметров на работу с другим протоколом.
3. Установить биты TEN=REN:= 1, разрешив SMC-контроллеру работать с новым протоколом.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.