Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс с 524 по 631.doc
Скачиваний:
6
Добавлен:
16.04.2019
Размер:
2.54 Mб
Скачать

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

устанавливается в соответствии с требованиями пользователя (бит DIAG). Обычно устанав­ливается GSMRJ. := ОхОООООООА.

  1. Для работы с QMC-протоколом проинициализировать основные общие парамет­ ры каналов: указатель на таблицу буферных дескрипторов MCBASE, указатель на табли­ цу прерываний INTBASE, при работе с HDLC-протоколом установить максимальный раз­ мер приемного буфера MRBLR (рекомендованное значение должно быть больше 30 байт и кратно 4 байтам), установить значение «прерывания после приема» GRFTHR кадров (обычно GRFTHR := 1), установить значение счетчика принятых кадров GRFCNT (обыч­ но GRFCNT := GRFTHR), для работы с 32-разрядной контрольной суммой записать зна­ чение константы C_MASK32 := OxDEBB20E3, а при работе с 16-разрядной контрольной суммой - C_MASK16 := OxFOBS.

  2. Скопировать значение ячейки INTBASE в ячейку указателя на пустой элемент таб­ лицы прерываний INTPTR := INTBASE.

  3. Проинициализировать TSA-таблицы TSATTx и TSATRx. Во всех рабочих ячейках установить бит V := 1, а также сбросить бит W := 0 во всех ячейках, кроме последней. Для работы со всеми восемью битами канала установить биты маски, равные OxFF. Устано­ вить требуемое значение указателя на таблицу канал-ориентированной памяти пара­ метров (channel pointer).

  4. Проинициализировать значения указателей Tx_S_PTR и Rx_S_PTR, а также значе­ ния указателей на ячейку текущего временного слота TxPTR и RxPTR. Обычно в указатели Tx_S_PTR = TxPTR записывается стартовый адрес TSA-таблицы передатчика, а в указате­ ли Rx_S_PTR = RxPTR - стартовый адрес TSA-таблицы приемника. Если используется общая TSA-таблица, то во все ячейки указателей заносится значение MCBASE+Ox20.

  5. Установить значение переменной внутреннего состояния QMCSTATE := 0x8000.

  6. Проинициализировать ячейки протокол-ориентированной памяти параметров каж­ дого логического канала для работы с выбранным коммуникационным протоколом (HDLC или Transparent). Для каждого используемого логического канала записать в их ячейки TBASE и RBASE стартовые адреса таблиц буферов дескрипторов каналов при передаче и приеме (напоминаем, что при работе стартовые адреса таблиц дескрипторов рассчи­ тываются как MCBASE+TBASE или MCBASE+RBASE). Проинициализировать значения указателей на таблицу дескрипторов RBPTR := RBASE и TBPTR := TBASE. Установить значение внутренних переменных состояния передатчика TSTATE := 0x30000000 для МРС860МН и приемника RSTATE := 0x31000000 для МРС860МН. Установить начальные значения в ячейки ZISTATE := 0x00000100, ZDSTATE := 0x80 для HDLC-протокола и ZDSTATE := 0x18000080 для Transparent-протокола. Разрешить прерывание от требуе­ мых событий, записав соответствующее значение в ячейку INTMSK, например, разре­ шить все прерывания INTMSK := OxA. При работе с HDLC-протоколом установить макси­ мальный размер кадра данных MFLR, а для Transparent-протокола установить макси­ мальный размер приемного буфера TMRBLR (рекомендованное значение должно быть больше 30 байт и кратно 4 байтам). При работе с Transparent-протоколом также следует определить значение в регистре контроля синхронизации TRNSYNC.

  7. Подготовить буферы и буферные дескрипторы приемника для каждого использу­ емого логического канала. Буферные дескрипторы должны располагаться в памяти по адресу RBASE. В их слове состояния рекомендуется установить бит готовности Е := 1, установить бит прерывания I := 1, а в последнем дескрипторе таблицы требуется устано­ вить бит W := 1.

  8. Подготовить буферы и буферные дескрипторы передатчика для каждого исполь­ зуемого логического канала. Буферные дескрипторы должны располагаться в памяти по адресу TBASE. В их слове состояния рекомендуется установить бит готовности R := 1, установить бит прерывания I := 1, а в последнем дескрипторе таблицы требуется устано­ вить бит W := 1.

580