Смекни!
smekni.com

Сигнальні мікропроцесори (стр. 2 из 2)

Таймер-лічильник забезпечує періодичну генерацію переривань.

Послідовні порти забезпечують послідовний інтерфейс із більшістю стандартних послідовних пристроїв, а також з апаратними засобами відбудови-стиснення-відновлення даних, що використають А і μ - закони компандирування.

Порт інтерфейсу з хост-процесором дозволяє без додаткових інтерфейсних схем взаємодіяти з головним процесором системи, у якості якого може використатися як процесор даного сімейства, так і інший мікропроцесор, наприклад Motorola або Intel8051.

Малюнок 3 Узагальнена структура мікропроцесора ADSP21хх

МП даного типу відрізняє високий ступінь паралелізму внутрішніх операцій. За один такт процесор виконує:

- генерацію адреси наступної команди;

- завантаження з пам'яті наступної команди;

- виконання однієї або двох пересилань даних;

- відновлення одного або двох покажчиків на дані;

- виконати операцію.

МП, що має периферійні пристрої у своєму змінному составі, може одночасно з виконанням команди виконати й наступні операції:

- прийняти й/або передати дані через послідовні порти;

- прийняти й/або передати дані хост-процесору;

- прийняти й/або передати дані через аналоговий інтерфейс.

Внутрішні функціональні модулі зв'язані між собою за допомогою п'яти шин: шина адреси пам'яті даних (DMA), шина адреси пам'яті команд (РМА), шина даних пам'яті даних (DMD), шина даних пам'яті команд (РМ), шина внутрішніх результатів ( R ). Перші чотири шини мають мультиплексірований зовнішній інтерфейс у вигляді шини адреси й шини даних.

мультикомпресорна процесор сигнал цифровий

3.2 Функціонування хост-порта ADSP-2181

Порт інтерфейсу хост-машини можна представити як область загальної чи пам'яті регістрів поштової скриньки, за рахунок яких здійснюється комунікація між хост-машиной і цифровим сигнальним процесором. Хост-машина звертається до порту інтерфейсу хост-машини (далі – ХИП), як до області пам'яті, що містить 8- чи 16-розрядні слова. Для процесора ХИП виступає як група з восьми регістрів, відображених у карті пам'яті даних.

ХИП складається з чотирьох функціональних блоків:

- керуючий блок інтерфейсу хост-машини;

- блок із шести регістрів даних (HDR0 – HDR5);

- блок, що складається з двох регістрів стану (HSR6-HSR7);

- регістр HMASK, призначений для маскування переривань, сгенерованих ХИП.

Керуючий блок забезпечує керування записом регістрів хост-машини і зчитуванням з них. Два регістри стану представляють статусну інформацію, як хост-машині так і цифровому сигнальному процесору.

Регістри даних можна представити як блок двухпортовой пам'яті. Ні для одного з цих регістрів не заданий напрямок роботи: як хост-машина так і цифровий сигнальний процесор можуть зчитувати і записувати інформацію в ці регістри. Коли хост-машина зчитує дані з регістрів даних, генерується маскуєме переривання зчитування ХИП. Коли здійснюється операція запису від хост-машины, генерується маскуємий сигнал переривання запису.

Стану зчитування/запису зберігаються в регістрах стану. Формат регістрів стану наступний:

HSR6 – з 0 по 5 розряди – відображення стану запису з хост-машины у відповідний буфер даних ХИП Приклад – 0 розряд = 1 – проведена операція запису в буфер HDR0 c хост-машини; 1 розряд = 1 – проведена операція запису в буфер HDR1 з хост-машини і т.д. З 8 по 15 розряди – відображення стану запису з цифрового сигнального процесора у відповідний буфер даних ХИП.

Тому що ХИП, як правило, сполукається з більш повільною хост-машиною, сигнальний процесор виконує свої команди незалежно від роботи хип-порта.

Тому що хост-машина, для якої потрібно квитирування встановлення зв'язку, повинна очікувати підтвердження від сигнального процесора, то вона може зависнути. Якщо перезапуск сигнального процесора відбувається, коли хост-машина инициалізувала передачу, але ще не одержала підтвердження, то таке підтвердження не може бути потім сгенеровано, і, таким чином, хост-машина може знаходитися в стані чекання невизначений час.

У ХИП не передбачено ніякого апаратного забезпечення для запобігання ситуації, коли хост-машина здійснює запис у регістр, стан якого в цей момент зчитується цифровим сигнальним процесором ( і навпаки). Коли хост-машина і сигнальний процесор намагаються одночасно записати дані в той самий регістр, перевагою в такій операції користається хост-машина.

Опитування є одним з методів передачі даних між хост-машиной і сигнальним процесором. Щораз, коли хост-машина записує дані в регістр HDR, встановлюється один біт у молодшому байті регістра HSR6. Цей біт залишається встановленим доти, поки цифровий сигнальний процесор не зчитує вміст даного регістра HDR. Подібним чином, коли сигнальний процесор записує дані в регістр HDR, у старшому байті регістра HSR6 (і в молодшому байті регістра HSR7) установлюється відповідний біт. Цей біт автоматично скидається при зчитуванні вмісту регістра HDR хост-машиной.

Наприклад: сигнальний процесор може очікувати в циклі під час зчитування біта HSR, щоб упевнитися, що хост-машина записала нові дані. Коли сигнальний процесор виявляє, що відповідний біт установлений, він виходить з циклу по команді умовного переходу, обробляє нові дані, а потім повертається в цикл. При передачі даних на хост-машину сигнальний процесор очікує, поки та не вважає останні записані дані, щоб можна було передавати нові дані. Хост-машина опитує біти регістра HSR, щоб упевнитися, що нові дані є доступними.

Використання протоколу з керуванням по перериваннях звільняє хост-машину і сигнальний процесор від опитування стану регістрів стану. Для керованих перериваннями передач на сигнальний процесор хост-машина записує дані в регістри даних, а ХИП автоматично генерує при цьому внутрішнє переривання. Обслуговування цього переривання аналогічно всім іншим.

Для передачі на хост-машину сигнальний процесор записує дані в регістри даних, потім установлює висновок прапора, зв'язаний із входом переривань хост-машины, повідомляючи в такий спосіб останню про те, що дані готові для передачі . Якщо сигнальний процесор передає дані на хост-машину тільки через один регістр даних, то вміст цього регістра може бути безпосередньо злічено хост-машиной при одержанні нею сигналу переривання. Якщо для пересилання даних використовуються кілька регістрів даних, хост-машина повинна прочитати регістр стану, щоб визначити через які регістри передається інформація.

Крім передачі інформації для хост-машины існує ще режим завантаження через ХИП. При цьому можна завантажити внутрішнє ОЗУ програмою функціонування сигнального процесора.

Початкове завантаження здійснюється двома способами:

- із зовнішньої пам'яті (звичайно ППЗУ ) з використанням інтерфейсу пам'яті;

- з хост-машины з використанням ХИП.

При використанні якого-небудь конкретного способу необхідно формувати відповідні файли завантаження, користаючись відповідними утилітами програмного забезпечення.

3.3 Функціонування циклічних буферів

Для більш повного визначення поняття обертового (циклічного) буфера (регістра) необхідно розглянути функціонування циклічних буферів у сигнальних процесорах фірми ADSP.

Є три реєстрових файли:

1.Файл регістрів модифікації (М);

2.Файл індексних регістрів (I);

3.Файл регістрів довжини (L).

Зчитування і запис даних здійснюється через окрему шину,називаний шиною дані пам'яті даних. Індексні регістри містять дійсні адреси, використовувані для доступу до пам'яті ( як до пам'яті даних так і до пам'яті програм). Крім прямої адресації використовується також битреверсна адресація, при якій біти адреси на виході генератора адреси можуть бути переставлені в зворотному порядку за рахунок установки відповідного біта режиму в регістрі станів чи режиму з використанням спеціальної команди асемблера сигнального процесора. Цей особливий вид адресації полегшує виконання операцій швидкого перетворення Фур'є. Генератори адреси даних використовують так названу пост-модифікацію, а саме після доступу до даних при використанні непрямої адресації вміст заданого регістра М додається до вмісту заданого регістра I. У межах пар I0-I3, M0-M3 ( генератор адреси - даних 1) і пара I4-I7, M4-M7 (генератор адреси – даних 2) можливі будь-які комбінації індексних регістрів і регістрів модифікації. Адресація генератора адреси – даних 1 поширюється на пам'ять даних, а адресація генератора адреси - даних 2 – на пам'ять програм. Це також є особливістю архітектури сигнальних процесорів, тому що в пам'яті даних зберігаються перемінні значення одержуваних сигналів у дискретному еквіваленті, а в пам'яті програм – коефіцієнти для обчислення формули Фур'є.

Значення, що містяться в регістрах модифікації М є цілими числами зі знаком, так що наступна адреса може бути більше чи менше попереднього.

Генератори адреси – даних підтримують адресацію як з лінійним так і з циклічним буфером. Цей режим забезпечується регістром L, що відповідає номеру регістра I. Для нециклічного буфера вміст L = 0, а для циклічного буфера дорівнює довжині буфера. Розглянемо використання такої адресації на прикладах.

Ініціалізація регістрів довжини L для здійснення нециклічної адресації (лінійної непрямої адресації):

I3 = 0 x 3800;

M2 = 0;

L3 = 0;

AX0 = DM (I3,M2)

Перемінна пам'яті використовується для збереження покажчика адреси

VAR/DM/RAM add_prt (0x3800);

I3 = DM (addr_prt);

L3 =0;

M1 = 0;

AX0 = DM(I3,M1);

Адресація по модулю ( циклічні буфери). Логічний пристрій адресації по модулю виконує автоматичну адресацію по модулю для досягнення доступу до вмісту циклічних буферів. Для обчислення наступного адреси використовується – поточна адреса комірки пам'яті, що знаходиться в індексному регістрі (без знака), що модифікується значенням , що знаходиться в регістрі М ( зі знаком) і довжина буфера в регістрі L (без знака). Базова адреса циклічного буфера довжини L дорівнює 2n чи кратний 2n , де n задовольняє умові 2n-1< L ≤ 2n . Іншими словами базова адреса є округлення вмісту L до найближчого ступеня чи двійки кратної йому числа. Дане правило припускає, що визначене число біт базової адреси повинне дорівнювати 0. Це поняття аналогічне поняттю вирівнювання адрес для процесорів фірми INTEL. На практиці редактор зв'язків сам розміщає буфера, обумовлені як циклічні по правильних адреса.


Література

1. Ю-Чжен Лю, Г.ГибсонМикропроцессоры семейства 8086/8088М.: Радио и связь, 1987.

2. Б.В.Шевкопляс Микропроцессорные структуры. Инженерные решения М.: Радио и связь, 1990

3. В.Шевкопляс Микропроцессорные структуры. Инженерные решения. Дополнение первое.М.: Радио и связь, 1993

4. М.Гук Аппаратные средства IBMPC С.Петербург ²Питер² 2000

5. В.Корнеев, А.КиселевСовременные микропроцессорыСанкт-Петербург ²БХВ–Петербург² 2003

6. Локазюк В.М. и дрМикропроцессоры и микроЭВМ в производственных системахКиев Издательский центр ² Академия ² 2002

7. Гуржий А.М. и дрАрхитектура, принципы функционирования и управления ресурсами IBMPCХарьков, 2003

8. В.В.Сташин, А. В. Урусов, О.Ф. МологонцеваПроектирование цифровых устройств на однокристальных микроконтроллерахЛ. Энергоатомиздат

9. Под ред.А.Д.Викторова Руководство пользователя по сигнальным микропроцессорам семейства ADSP-2100 Санкт- Петербургский государственный электротехнический университет. Санкт- Петербург 1997

10. М.Предко Руководство по микроконтроллерам в 2-х томах М: Постмаркет, 2001