О. Л. Нечипорук „
Вид материала | Реферат |
Рисунок 1.8 — Підключення контролера до мікросхеми EEST
Правила підключення контролера SCC1 приведені у додатку Д.
1.3.3.2 Ініціалізація SCC1 як Ethernet-контролера
- Включення DPLL блоку відбувається встановленням бітів RENC для приймача або TENC для передавача у 110 регістра GSMR-L1.
- Контролер SCC1 ініціалізується встановленням бітів MODE регістра GSMR-L1 у стан 1100.
- Вивід 1 порту А сконфігурувати для роботи з сигналом TXD1. Для цього у біти 0 та 1 регістра конфігурації PAODR адреса $954 треба записати 0, у регістр PADIR у ті самі біти також записати 0 (рис. В.6), а у регістр PADАR у біти RA14 та PA15 записати 1 (табл. Д.1). Тим самим задається, що “зовнішніми” контактами буде працювати внутрішній периферійний пристрій.
- Виводи 0 та 1 порту програмується на використання внутрішнім інтерфейсним пристроєм (CLK7/TIN4) та CLK8/L1TCLKb.
- З метою конфігурування виводів паралельного порту С для роботи з сигналами (зовнішній сигнал CLSN (вивід 4)) та (зовнішній сигнал RENA (вивід 5)) від контролера SSC1, у регістрі конфігурації PСPAR встановити 4-й та 5-й біти у „0”, у регістрі PADIR у біти 4, 5 також записати „0”, а у біти 4 та 5 регістра PADIR необхідно записати „1” (табл. Д.1, 2), а у регістрі опцій PCSO встановити 4-й та 5-й біти у „1” (рис. Д.1, а).
- Біти регістра PCSO 10-11 встановлюються у „1”, забезпечуючи режим роботи контактів CD1 та CTS1 з виводами паралельного порту С.
- Забезпечення роботи з зовнішнім тактовим сигналом через контакти CLK1 (вивід 7) та CLK2 (вивід 6) порту А реалізується програмуванням регістрів задається бітами PАPAR та PАDIR. Біти 6 та 7 регістра PADIR встановлюються у „0”, а біти 8 та 9 регістра PАPAR встановлюються у „1”.
- Джерело тактування приймача SСC1-каналу через вивід CLK1 і передавача SСC1 каналу через вивід CLK2 задається бітами TICS = 101 та RICS = 100 у регістрі конфігурації інтерфейсу SICR (рис. Д.2).
- Для налаштування контролера SСC1 для роботи у режимі NMSI у регістрі SICR необхідно встановити біт SСC1 = 0.
- У комірки TBASE та RBASE протокол-незалежної пам’яті параметрів SСC1-контролера занести стартові адреси таблиць буферних дескрипторів для передачі та прийому. Адреса base для контролю SСC1 обрана $3С00 для таблиці AXBD та $3С02 для таблиці ТXBD. Змінні можуть мати значення $3С38 та $3С48, кратні 8.
- У комірки функціональних кодів RFCR та TFCR з адресами $3С04 та $3С05 треба записати код 0118, який встановлює мережний порядок передавання байтів (big endian).
- У комірки пам’яті параметрів MRBLR з адресою $3С06 записати максимальну довжину буферу прийому – 1520 байт.
- Контрольна сума обирається 32-розрядною, тому у комірках пам’яті C_MASK та C_PRES пам’яті параметрів записується відповідно значення $0хDЕВВ20Е3 та $0хFFFFFFFF (табл. Д.4).
- Скинути лічильники помилок у комірках пам’яті параметрів DISFC = CRCEC = ALEC = 0 у стан 01хFFFFFFFF.
- Записати у комірку PADS формат PAD символів-заповнювачів 0х8888.
- У комірці RET_LIM задати максимальне число повторних спроб виходу у мережу у разі колізії, яке дорівнює 0х000F.
- Для контролю у комірку MFLR пам’яті параметрів занести максимальний розмір кадру даних, наприклад, 1518 байт, MFLR = 0х05ЕЕ.
- Для контролю у комірку пам’яті параметрів MINFLR занести мінімальний розмір даних, наприклад, байт MINFLR = 0х0040.
- У комірки пам’яті МАХD1, МАХD2 записати код 0х05ЕЕ, тобто встановити значення лічильника DМА = 1518 байт.
- Онулити комірки 6АDDR1 – 6АDDR4 для заборони хеш-таблиці групових адрес.
- У комірку РАDDR занести фізичну адресу станції.
- Онулити комірку Р_РЕR.
- Онулити комірки ІАDDR1 – ІАDDR4 для заборони таблиці індивідуальних адрес не буде виконуватись.
- Онулити комірки ТАDDR для заборони хеш-таблиці.
- Налаштувати буферні дескриптори у таблицях R1ВD та Т1ВD: встановити розмір буфера, видавши адресу першої комірки буфера, а також доповнити комірки слова керування-стану буферних дескрипторів ВD.
Якщо вистачає по одному буферу для прийому та передачі, то ці слова дорівнюватимуть відповідно 0хВ000 та 0хFС00.
- Записати у регістр подій каналу SCCЕ1 код 0хFFFF, скинувши біти регістрації усіх подій.
- У регістр маски SCCЕ1 записати код 0х001А, дозволивши переривання від ТХЕ, RХF, ТХВ бітів подій.
- У регістр маски контролера переривань СІМR занести код 0х40000000 для дозволу переривань від SСC1-контролера.
- Записати у регістр загальних режимів GSMR_L каналу SСC1 код 0Х000С для налаштування контролера на нормальний режим Ethernet-протоколом. Сигнали (CLSN) та (RENA) автоматично контролюються при прийомі та передачі. Пасивний стан лінії „1”. Стандартна преамбула Ethernet-протоколу. Блок DPLL не використовується.
- Біт ТСІ регістра GSMR_L встановлюється у „1”, для забезпечення мікросхемі EEST достатнього часу на перед установку.
- Біти ENR, ENT встановлюються у 0, що підтримує приймач та передавач у вимкненому стані.
- У регістр синхронізації DSR (рис В.8) записати код 0хD555.
- У регістр режиму Ethernet-контролера PSMR каналу SCC1 записати код 0х0А0А для вибору 32-бітної контрольної суми, режиму прийому кадрів без перевірки адреси, пошук початкового обмежувача у каналі починається через 22 бітових інтервали після виявлення сигналу RENA.
- З метою конфігурації виводів паралельного порту С для роботи з сигналом (зовнішній сигнал ТENA, вивід 0) від контролера SCC1 у регістри конфігурації записати значення: у біт 0 регістра РСРАD – „1”, у біт 0 регістра РСDІR – “0”, активний рівень сигналу ТENA є нульовий.
- Дозволити роботу приймача та передавача, встановивши біти ENR = ENT = 1 та записавши код 0х1088003С у регістр GSMR_L.
1.3.4 Налаштування контролера за протоколом ISDN
Згідно з рис. 1.6 у режимі Basic-ISDN контролери комутаційних каналів SCC2, SCC3 та SCC4 працюють у мультиплексованому режимі через S/T трансівер МС145574. Контролер SСС2 забезпечує канал В1, SCC3 – канал В2, а SCC4 – канал D. Мультиплексований режим (Time Slot Assigned, TSA) об’єднує передавання даних від кількох каналів введення/виведення у режимі часового мультиплексування на загальні виводи, – власні контакти для двох каналів TDMa та TDMb (Time Division Multiplexed). Фізичний інтерфейс SI (Serial Interface) показано на рис. Е.1.
Налаштовування режимів роботи послідовного інтерфейсу складається з таких кроків:
- Встановити біти SDMa та SDMb, які визначають режим контролю каналів SDMa та SDMb, регістра SIMODE (рис. 1.7) у стан – без контролю.
- Встановити біти DSCa та DSCb у 00, що визначає роботу з нормальною частотою синхронізації.
- Встановити біти FEa та FEb у стан 00, що забезпечує аналіз наявності стробуючого сигналу по негативному перепаду тактового сигналу при роботі з IDL-інтерфейсом.
- Встановити значення бітів RFSDa та RFSDb, TFDa та TFSDb у стан 01, що задасть затримку при передаванні-прийомі на обраному каналі TDMa та TDMb в один такт згідно з табл. Е.2.
- Встановити біти CEa та CEb у 0, забезпечуючи передавання даних за позитивним перепадом тактового сигналу і їх зчитування за негативним, що використовується при роботі з IDL-інтерфейсом.
- Встановити біти GMa та GMb у 0, забезпечивши фізичний інтерфейс IDL підтримкою grant-механізму.
- Встановити біти GR2, GR3, GR4 у регістрі SICR у 1, забезпечуючи канали SСС2, SСС3, SСС4 механізмом підтвердження при роботі з протоколами ISDN.
- У комірці пам'яті маршрутизації встановлюють біти CSEL у стан 010, 011 або 100 залежно від поточного фрагменту програми.
- Розмір часового слоту при значенні біта BYT = 0 та CNT = 0 або 1111 встановлюється від 1 до 32 біт.
- Розмір часового слоту при значенні біта BYT = 1 встановлюється відповідно від 1 до 32 байт.
- Для контролера SCC2 біт SEL2 = 1 (0010) під час часового слоту встановлюється стробування від сигналу LISTA2.
- Для контролера SCC3 біт CSEL3 = 1 (0011) під час часового слоту стробування відбувається від сигналу LISTB1.
- Для контролера SCC4 біт CSEL4 = 1 (1000) під час часового слоту стробування відбувається від сигналу LISTB2.
- Біт SWTR скидається у "0".
- Біти RDM регістра режиму SIGMR встановлюються у 00. Забезпечується режим 1 – один TDM-канал з постійними часовими каналами.
- У регістрі GSMR_L для контролера SCC4 встановити біти поля MODE у стан 0011 для роботи з протоколом SS#7.
1.3.5 Налаштовування ISDN-интрефейсу
IDL-інтерфейс — повнодуплексний ISDN-интрефейс, призначений для підмикання мережних пристроїв до комунікаційного контролера. Для виходу на S/T-інтерфейс потрібно на виводах контролера підімкнути спеціальний S/T трансівер.
Контролер МРС860 підтримує всі канали IDL-протоколу у режимах basic ISDN та primary ISDN. У режимі basic ISDN дані передаються по трьох часових каналах: В1 та В2 — 3-бітні інформаційні канали, D — 2-бітний канал керування.
Комунікаційні контролери працюють як пасивні (slave) ISDN-пристрої, тому тактова частота і сигнал стробу початку кадру повинні поступати від зовнішнього активного (master) пристрою. наприклад, Motorola MC145474.
Контролер підтримує повнодуплексний режим обміну і має незалежні лінії прийому та передачі даних. Для синхронізації та стробування кадру використовуються ті ж самі сигнали для приймача та передавача. СРМ може обробляти IDL-протокол одночасно на двох TDM-каналах, але для побудови на контролері мосту між мережами Ethernet та ISDN достатньо використати один TDM-канал. СРМ виявляє та підтримує кожний IDL-канал та забезпечує виробітки зовнішніх стробуючих сигналів для керування пристроями, які не підтримують IDL-інтерфейс. Призначення сигналів IDL-інтерфейсу приводиться у табл. Ж.1.
Налаштовування basic IDL-інтерфейсу складається з таких кроків:
1 Оберемо 10-бітний формат кадру, який складається з трьох каналів. Канал В1 обслуговується контролером SCC2, канал В2 — контролером SCC3, канал D — контролером SCC4.
2 Комірки маршрутизації приймача розташовані у пам’яті SIRAM, починаючи з адреси 0 (табл. Ж.2)
3 Комірки маршрутизації передавача розташовані у пам’яті SIRAM, починаючи з адреси 64 (табл. Ж.3)
4 З метою виключення з роботи решти комірок пам’яті в них записати код 0х0001, це призводить до встановлення біта останньої комірки LST.
5 У регістр SIMODE записати керувальне слово 10х00000145, яке встановлює канали у такий режим роботи:
Канал TDMb не використовується; канал TDMа працює у нормальному режимі, між стробуючим сигналом SYNG та прийомом/передаванням вводиться затримка у 1 біт. Канал TDMа працює з нормальною швидкістю, одна тактова частота та один стробуючий сигнал використовуються для тактування і приймача, і передавача. Вивід L1TXD працює у нормальному режимі, дані виставляються по позитивному перепаду тактового сигналу та зчитуються по негативному перепаду тактового сигналу CLK. Для IDL-інтерфейсу включено механізм запиту/підтвердження (grant). Канали SMC2 включений, SMC1 — вимкнений.
6 У регістр SICR записати число 0х400040С0 для визначення режиму синхронізації каналів: у мультиплексованому режимі працюють канали SCC2, SCC3, SCC4 на один TDMа-канал, і контролери використовують одну зовнішню синхронізацію CLK. Канал SCC1 працює у немультиплексованому режимі. Для каналу SCC4 включено механізм запиту-підтвердження.
7 У регістрі SIGMR встановити біти RDM у стан “00”, а біти Enb та Ena у стан “01”.
8 Задати біти CSRRa, CSRTa, CSRRb, CSRTb такими, які дорівнюють 0 — постійний часовий канал для приймача та передавача.
9 Встановити у регістрі PAPAR біти 6, 7, 8 у “1”, що забезпечить роботу комунікаційного контролера з зовнішніми контактами порту А. На ці контакти будуть передаватися сигнали L1TXDa, L1RXDa та L1RCLKa.
10 У регістрі PCPAR встановити у “1” біти 3, 10 та 11, що забезпечить роботу комунікаційного контролера з зовнішніми контактами 3, 10, 11 порту С. На ці контакти будуть передаватися сигнали L1RQa, L1TSYNCa та L1RSYNCb.
11 У регістрі PADIR біти 6 та 7 встановити у “1”, а біт 8 — скинути у “0”. Контакти L1TXDa та L1RXDa визначені як виходи, а контакт L1RCLKa — як вхід.
12 У регістрі PСDIR скинути біт 3 у “0” для визначення контакту L1RQa як вхід. Контакт L1TSYNCa виконує функцію сигналу L1GRa і використовується як вихід; у регістрі PСDIR він не визначається. L1RSYNCа використовується як вхід.
13 У регістрі PAODR встановлюється біт 6 у “1” для роботи виводу L1TXDa у режимі з відкритим колектором (open-drain).
14 У регістр SIMGR записати число 0х04 для налаштовування послідовного інтерфейсу на роботу з одним статичним TDMa-каналом.
15 Регістр SICMR не використовується через обраний режим одного постійного каналу.
16 Регістри SISTR та SIRP можуть використовуватися при налаштовуванні роботи каналів.
17 Контролери SCC2, SCC3, SCC4 налаштовані вже раніше на протокол ISDN.
18 Контролер SCC1 налаштований на протокол Ethernet.
19 У бітах MODE регістрів GSMR_L контролерів SCC2 та SCC3 встановити 0000.
20 Дозволити роботу передавача та приймача, встановити біти ENT = ENR = 1 у регістрі GSMR.
1.3.6 Налаштовування контролера SMC з протоколом UART
SMC (Serial Management Controler) – контролер з UART-протоколом це повнодуплексний порт, який підтримує спрощену версію UART-протоколу, і може використовуватись для керування та налагодження роботи контролера і дозволяє звільнити від цих задач основні SСC-канали. Кожний SMC-контролер підтримує UART-протокол тільки у режимі NMSІ, використовуючи для його реалізації свої власні зовнішні контакти. Тактування роботи SMC-контролера виконується від внутрішнього генератора BRG1 або від зовнішнього генератора. Передача ведеться зі швидкістю 9600 біт/с при тактовій частоті 25 МГц. Налаштовування SMC UART-контролера складається з таких кроків:
- Сконфігурувати виводи паралельного порту В з сигналами SMRXD1 (вивід 25) та SMRXD1 (вивід 24), для чого у регістри конфігурації PBODR та PBDІR (біти 24, 25) записати код “0”.
- Записати у біти 24, 25 регістру PBРАR код “1” з метою визначення, що з зовнішніми контактами буде працювати внутрішній периферійний пристрій.
- Встановити біти 24, 25 регістра PBODR у “0” для роботи у нормальному режимі.
- Завантажити код $000C4150 у регістр BRGC1 (рис. З.1) з метою налаштовування режиму роботи BRG1 генератора. Попереднє ділення частоти на 16 не використовується (біт DIV 16 = 0); у лічильник попереднього дільника завантажується код $162 (25000000/(9600*16)); це забезпечує необхідну швидкість передачі при коефіцієнті збільшення частоти 16х.
- Встановити біти регістра SIMODE SMC1 = 0 — немультиплексований режим.
- Встановити біти регістру SIMODE SMC1СS = 000 з метою підключення BRG1-генератора до SMC1-контрлера.
- Занести стартові адреси таблиць буферних дескрипторів у комірки RBASE та ТBASE протокол-незалежної пам’яті параметрів SMC1-конролера (табл. Д.1) відповідно за адресами base 1 + 00 та base 1 + 02, де base = $3ЕС0.
- Занести у комірки функціональних кодів RFCR та ТFCR у пам’яті параметрів записати код 0х18 для забезпечення нормальної роботи з мережними пристроями, які підтримують стандартний для фірми Motorola порядок передачі байтів у словах.
- У комірці пам’яті параметрів МRBLR встановити максимальну довжину буферу прийому. При довжині кадру, яка дорівнює 16 байтам, достатньо одного буфера — МRBLR = $0х0010.
- У комірку пам’яті МАХ_IDL (табл. З.2) занести код $0х0000 для виключення механізму обробки IDLЕ – символів при прийомі.
- Скинути лічильник помилок у комірці пам’яті параметрів BRКЕС = 0, а також лічильник прийнятих BRЕАК-символів у комірці BRКСN = 0.
- У комірку BRКСR занести код 0х0001 з метою видачі у мережу одного BRЕАК-символу при отриманні команди STOP TRANSMIT.
- Записати код 0хB000 у слово стану буферів прийому та передавання, якщо достатньо по одному буферу.
- Записати у регістр подій SMCЕ1 (рис. З.3) код FF з метою скидання бітів реєстрації усіх попередніх подій.
- Записати у регістр маски SMCМ (рис. З.3) код 0х17, щоби дозволити переривання від усіх подій у SMC-каналі.
- Записати у регістр маски СІМR контролера переривань код 0х00000010, дозволивши переривання від SMC1-контролера.
- У регістр конфігурації SMCМR записати код 0х3830 для налаштовування каналу на нормальний режим (8-бітні символи, без біту контроля, з одним стоповим бітом).
- Записати у регістр SMCМR каналу SMC1 код 0х00003833 для виключення приймача та передавача (біти TEN та REN встановлюються у “1”).
1.3.7 Реалізація мосту ETHERNET-PRI ISDN на основі контролера МРС 860МН
Структурна схема мосту
Контролер МРС 860МН підтримує QMC-протокол (QUICC Multichannrel Controller). QMC-протокол забезпечує підтримку до 64 логічних каналів в одному SCC-каналі, використовуючи ТDM-інтерфейс часового мультиплексування. QMC-протокол реалізується за рахунок оптимального використання апаратури і не є завантажуванним мікрокодом. У версії МРС 860МН з частотою 50 МГц реалізується 64-канальний QMC-контролер при використанні двох SCC-каналів, кожний з яких працює з 32-канальним QMC-протоколом. Кожний QMC-канал забезпечує передачу даних з швидкістю 64кбіт/с та сумарну перепускну спроможність 64×64 кбіт/с = 4 Мбіт/с. Будь-який SCC-канал може працювати у QMC режимі незалежно від режимів роботи інших SCC-контролерів.
Структурна схема мосту приведена на рис. 1.9.
Протокол PRI ISDN – це швидкісний та відносно дешевий інтерфейс. У Північній Америці стандарт передбачає реалізацію фізичного з’єднання по лініях Т1. У Європі з’єднання реалізуються з використанням фізичного з’єднання по лініях Е1 (CEPT) з використанням 32 каналів по 64 кбіт/с кожний. Для кожного каналу при обміні призначається свій часовий слот у кадрі. Початок кадру відмічається стробуючим сигналом з частотою 8 кГц. Перепускна спроможність лінії обчислюється як (8 кГц × довжина кадру даних у бітах). Так, на лінії Е1 ця величина складає 2048 кбіт/с. Загальна довжина кадру даних ділиться для лінії Е1 між 32 каналами. У лінії Е1 часові слоти 0 та10 є виділені для синхронізації.