О. Л. Нечипорук „
Вид материала | Реферат |
Рисунок 1.9 — Приклад реалізації мосту Ethernet-PRI ISDN на основі контролеру МРС860МН
Для ініціалізації QMC-контролера треба виконати такі кроки:
- Записати у комірки LISTATE та TSTATE коректні початкові значення, а саме: LISTATE = 0х00000080, TSTATE = 0х30000000 (табл. І.2).
- Встановити біт V = 1 у таблиці ТSАТТх.
- Встановити біт ENT = 1 у регістрі CHAMR.
- Підготувати нові буферні дескриптори передавача.
- Встановити біт POL = 1 у регістрі режиму CHAMR.
- Підготувати нові буферні дескриптори приймача.
- При роботі з HDLC протоколом записати у комірку LDSTATE число 0х080, а при роботі з Transparent — 0x18000080.
- При роботі з HDLС-протоколом записати у комірку RSTATE число 0х39000000. При зупині роботи передавача у каналі будуть передаватися символи IDLE або символи FLAG, як це визначено у регістрі CHAMR обраного каналу. Для зупину роботи каналу треба:
- Встановити біт V = 0 у комірках таблиці TSATTx;
- Встановити біт ENT = 0 у регістрі CHAMR. Зупинка роботи приймача виконується командою STOP RX.
- Встановити біт V = 0 у комірках таблиці TSATTx;
Ініціалізація QМC-протоколу виконується за такими кроками:
- Записати у біти регістра SIMODE послідовного інтерфейсу такі значення: біти SDMa = SDMb = 00 (нормальний режим роботи); біт GMa = GMb = 0 (вимкнути механізм grant); скинути біт STZ2; CRTa = RFCDa = TFSDa = 1; біти SMC1 = SMC2 = 0; біти DSCa = DSCb = 0; біти CEa та CEb = 0; біти FEa та FEb = 00; ці значення визначають спільну синхронізацію для приймача та передавача.
- Встановити біти регістра синхронізації SICR послідовного інтерфейсу CPI; GR1 = 0 (вимкнути механізм grant); встановити біт SCa = 1, підключивши канал SCС2 до мультиплексора ТSA; біти RІCS = TІCS = 000 (тактування від генератора BRG1).
- Сконфігурувати виводи паралельного порту А для роботи з сигналами TDMa: LІTDX1 (передача даних), LІPXDa (прийом даних), LІTCLKa (тактовий сигнал передавача), LІRCLK1 (тактовий сигнал приймача): PAPAR = 0xA5F0 та PADIR = 0x00F0.
- Сконфігурувати виводи паралельного порту В для роботи з вихідним сигналом тактового генератора LІCLKOa інтерфейсу TDMa, а також з вихідними стробуючими сигналами LІSТ1 – LІSТ4: PBPAR = 0xFC00, PBDIR = 0x0C00.
- Сконфігурувати виводи паралельного порту С для роботи з сигналами інтерфейсу TDMa LІТSYCa, LІТSYNCa, LІSТ1 – LІSТ4: PСPAR = 0х0F0F, PСDIR = 0х000F. Сигнали LІТSYNCa та LIRSYNCa – сигнали зовнішніх стробів початку кадрів при передаванні та прийомі, а сигнали LІSТ1 – LІSТ4 використовуються як вихідні стробуючі сигнали для тактування периферійних пристроїв.
- Програмно задати, які часові слоти, якими SСC-каналами будуть оброблятися. Для SСC2 контролера кожний байтовий часовий інтервал у комірках пам’яті SIRAM програмується для комірок приймача так: SIRAM [0] = 0x0082,…, SIRAM [n-1] = 0x0082, SIRAM [n] = 0x0083 через те, що у останній комірці додатково встановлюється біт (AST = 1).
Для комірок передавача це дані: SIRAM [32] = 0х0032, SIRAM [32+n-1] = 0х0082, ..., SIRAM [32+n] = 0х0083, де n = 8.
- У регістрі загальних режимів пам’яті маршрутизації SIGMR встановити біти ENA = 1, ENB = 0, біт RDM = 00 (робота з одним постійним часовим каналом).
- Вимкнути Transparent – режим обміну, скинувши у “0” біти TRX, TTX, TCRC та RSYN у регістрі загальних режимів каналу SCC1, GSMR_Н2.
- Включити режим розпізнавання імпульсу сигналів та , встановити біти СDP = CTCP = CDS = CTSS = 1, у регістрі GSMR_H2.
- Встановити біт REVD = 0 для заборони інвертування даних регістра GSMR_H1.
- Встановити біти ЕDGE у регістрі GSMR_H1 у 0 з метою включення схеми розпізнавання паразитних перепадів на лініях тактового сигналу, біт IRP скинути.
- Встановити біти TFL = 0 та RFW = 0 регістра GSMR_H2 з метою встановлення нормальної довжини буфера FIFO передавача та розміру комірки пам’яті буфера FIFO приймача у 32 біти.
- Вимкнути взаємну синхронізацію приймача та передавача, встановивши біт TXSY y 0, синхронізацію задати від зовнішнього сигналу (біти SYNL = 00) у регістрі GSMR_H2.
- Задати режим передавання IDLE-символів між кадрами; для цього біт RTSM у регістрі GSMR_H2 встановити у 0. Таким чином у регістр GSMR_H2 треба записати число 0х00000780.
- Для обраного каналу SСC2 налаштувати регістр загальних режимів GSMR_L: біт SIR = 0, біти ЕDGE = 00 – сигнали будуть аналізуватись за фронтом та спадом тактового сигналу; біт ТСІ = 0 – сигнал передавача не інвертується; біти TSNC = 00 – частота завжди є присутня у каналі; біти RINN = TINV = 0, блок DPLL не інвертує дані, біти RENZ = TENZ = 100 (манчестерський код); внутрішнє збільшення частоти тактового сигналу не виконується – біти TDCR = RDCR = 000; біт TEND = 0 – пасивний стан лінії задається „1”; преамбула відсутня TPL = TPP = 000; обраний режим роботи з QMC-протоколом біти MODE = 1010; біт DIAG = 0; біти ENT та ENR скинуті. Таким чином, у регістр GSMR_L1 записується число 0х00240А, враховуючи, що старший біт є 0-й.
- Задати вказівник на таблицю буферних дескрипторів MCBASE, вказівник на таблицю переривань INTBASE (табл. І.1).
- Встановити максимальний розмір прийомного буферу MRBLR 32 байти (табл. І.1).
- Встановити біт GRFTHR = 1 – дозволити переривання після прийому (табл. І.1).
- Встановити лічильник прийнятих кадрів GRFCNT = GRFTHR = 1 (табл. Е.1).
- Записати значення константи C_MASK 16 = 0xF0B8 (табл. І.1).
- Задати INTPTPTR = INTBASE (табл. І.1).
- У таблицях TSATT2, TSATR1 встановити біти V = 1, W = 0 у всіх комірках, окрім останньої.
- Встановити біти маски для роботи з усіма 8 бітами каналу, у комірці TSA-таблиці (рис. І.2) MASK = 0xFF.
- Встановити біти Channel Pointer для приймача та передавача такими, що дорівнюють RBASE та ТBASE у старших 6 бітах, а молодші у комірці ТSA треба онулити (рис. І.2).
- У всі комірки вказівників Ta_S_PTR, Ra_ S_PTR, TaPTR та RaPTR занести значення МСBASE+0х20, оскільки використовується одна TSA-таблиця.
- Вставити значення змінної QMCSTATE = 0x8000.
Згідно з табл. І.2 виконати наступні настанови:
- Для кожного використованого логічного каналу записати в комірки ТBASE та RBASE стартові адреси таблиць буферів дескрипторів каналів при прийомі та передачі.
- Задати значення вказівників на таблицю дескрипторів RBPTR = RBASE та ТBPTR = ТBASE.
- Встановити значення внутрішніх змінних передавача TSTATE = 0х30000000 і приймача 0х31000000.
- Встановити початкові значення у комірки ZISTATE = 0x00000100 та ZDSTATE = 0X80 відповідно для приймача та передавача.
- Дозволити всі переривання: INTMASK = 0xA.
- Встановити максимальний розмір кадру даних MFLR.
- У слові стану буферних дескрипторів встановити біт готовності Е=1, переривань І = 1, в останньому дескрипторі таблиці встановити W = 1 (табл.І.3, а), б)).
- Для кожної таблиці переривань встановити V = W = 0 для кожної комірки.
- Для кожного логічного каналу проініціалізувати регістр CHAMR з метою налаштовування його на роботу з HDLC-протоколом: CHAMR = 0х9187.
- Проініціалізувати регістр подій SCCE – каналу SCC2: SCCE = 0xF.
- Записати у регістр маски SCCМ SCC2-каналу код 0xF. Для SCC2-каналу у регістрі SIMR записати “1” у другий біт (SCC2).
- Дозволити роботу приймача та передавача, встановивши біти ENT = ENR = 1.
Налаштовування QMC-протоколу з транспарент-протоколом відрізняється від роботи з HDLC-протоколом тим, що на дев’ятому кроці біти TRX = TTX = 1, тобто режим Transparent не забороняється. На 11 кроці значення MRBLR також встановлюються таким, яке дорівнює 32 байтам. На 30 кроці встановити значення ZDSTATE = 0x18000080 та TMRBLR = 32 байти. Крім того, встановити значення у регістрі контролю синхронізації TRNSYNC = 0. На 31 кроці встановити вміст регістра CHAMR таким, що дорівнює 0х1187.
Література до розділу 1
- Шагурин И.И. Современные микроконтроллеры и микропроцессоры Motorola: Справочник. – М.: Горячая линия – Телеком, 2004. –952 с.: ил.
- Куприянов М.С., Мартынов О.Е., Панфилов Д.И. Коммуникационные контроллеры фирмы Motorola. – СПб.: БХВ-Петербург, 2001 – 560 с.: ил.
- Дмитрий Ганьба. Судьба коммутатора. Журнал сетевых решений LAN, сентябрь 2004 г.
- Мариус Нимпель. Сетевая инфраструктура со встроенными средствами безопасности. CAN сентябрь 2004
- Герман Штрасс. Больше интеллекта в ядре SAN (LAN сентябрь 2004
- Беспроводные сети как часть инфраструктуры ИТ. Штефан Муглер LAN июнь 2004
- Вторая молодость SDH. Сергей Орлов. LAN. Октябрь 2004
- Штефан Муглер. Беспроводные сети переходят в деловой режим. LAN. Март 2005
- Вильгельм Грайнер. Дополнительный шериф в сети. LAN, май 2005