© Ваврук Є.Я.
Курс лекцій
"Проектування комп’ютерних засобів обробки сигналів та зображень"
Тема 4
Тема: Інтерфейси DSP-процесорів
Питання.
1. Аналіз паралельного інтерфейсу з DSP-процесорами: читання даних з АЦП, підключеного з відображенням в адресний простір пам'яті
2. Аналіз паралельного інтерфейсу з DSP-процесорами: запис даних з АЦП, підключеного з відображенням в адресний простір пам'яті
3.  Аналіз послідовного інтерфейсу з DSP-процесорами
4. Аналіз послідовного інтерфейсу між DSP-процесором і АЦП
5. Аналіз послідовного інтерфейсу між DSP-процесором і АЦП і ЦАП
6. Аналіз інтерфейсу між пристроями аналогового вводу-виводу, кодексами і DSP-процесорами
7. Аналіз високошвидкісного інтерфейсу
ВСТУП
У зв'язку з швидким розвитком технології змішаної аналогово-цифрової обробки сигналів пристрої на базі DSP з високим ступенем інтеграції, що з'явилися на ринку в даний час (наприклад ADSP-21ESP202), мають крім DSP-ядра інтегровані АЦП/ЦАП, що знімає проблему організації інтерфейсу між окремими компонентами. Дискретні АЦП і ЦАП тепер оснащуються інтерфейсами, спеціально призначеними для зв'язку з DSP, і тим самим мінімізують або усувають необхідність зовнішньої підтримки інтерфейсу або застосування інтерфейсної логіки. В лекції розглядаються проблеми, пов'язані з передачею і синхронізацією даних при організації різних інтерфейсів.
1. АНАЛІЗ ПАРАЛЕЛЬНОГО ІНТЕРФЕЙСУ З DSP-ПРОЦЕСОРАМИ: ЧИТАННЯ ДАНИХ З АЦП, ПІДКЛЮЧЕНОГО З ВІДОБРАЖЕННЯМ В АДРЕСНИЙ ПРОСТІР ПАМ'ЯТІ
Підключення АЦП або ЦАП через швидкий паралельний інтерфейс до DSP-процесору вимагає розуміння специфіки процесів читання даних DSP-процесором з периферійних пристроїв (АЦП), а також запису даних процесором в периферійні пристрої (ЦАП) при підключенні даних пристроїв в адресний простір пам'яті.
Блок-схема типового паралельного інтерфейсу DSP-процесора із зовнішнім АЦП показана на рис 1. Діаграма спрощена і показує тільки сигнали, використовувані для читання даних із зовнішнього пристрою, підключеного в адресний простір пам'яті. Часова діаграма циклу читання для процесорів сімейства ADSP-21XX показана на рис. 2.
В даному прикладі мається на увазі, що АЦП проводить вибірку з постійною частотою, яка задається зовнішнім тактовим генератором, асинхронно по відношенню до внутрішньої тактової синхронізації DSP-процесора.
Тактовий імпульс задаючого генератора на вході "старт перетворення” (convert start) АЦП ініціює процес перетворення вхідних даних (крок N 1). По передньому фронту цього імпульсу внутрішня схема вибірки-зберігання АЦП перемикається з режиму вибірки в режим зберігання і таким чином починається процес перетворення. Після виконання перетворення на виході АЦП виставляється строб перетворення виконано (крок N 2). Коли цей сигнал поступає на вхід запиту переривання DSP-процесора (IRQ), починається процес читання даних з АЦП. Далі процесор виставляє на шині адресу периферійного пристрою, що ініціював запит на переривання (крок N 3). В той самий час процесор переводить в активний стан сигнал доступу до пам'яті (DMS) (крок N 4). Сигнали вибору пам'яті початкового завантаження (BMS), вибору пам'яті даних (DMS), вибору пам'яті програм (PMS) і вибору пам'яті пристроїв вводу-виводу (IOMS) вказують, для якої пам'яті в даний момент використовуються зовнішні шини. Ці сигнали звичайно використовуються для зовнішньої дешифрації адреси, як показано на рис. 1. Вихідний сигнал дешифратора адреси подається на вхід chip select вибору периферійного пристрою (крок N 5).
Сигнал читання пам'яті (memory read, RD) виставляється через проміжок часу tASR після активації сигналу DMS (крок N 6). Щоб повністю використовувати перевагу високої швидкості DSP-процесора, сума часу затримки дешифрації адреси і часу включення периферійного пристрою після подачі сигналу вибору (chip select) не повинна перевищувати час tASR. Сигнал читання пам'яті (memory read, RD) залишається активним (низький логічний рівень) протягом часу tRP. Цей сигнал використовується для переведення в активний стан паралельного виходу даних периферійного пристрою (крок N 7). Сигнал RD звичайно підключається до відповідного виводу периферійного пристрою, що зветься сигналом дозволу виходу або читання (output enable або read). Висхідний (задній) фронт сигналу RD використовується для введення даних з шини в DSP-процесор (крок N 8). Після появи висхідного (заднього) фронту сигналу RD дані на шині повинні утримуватися периферійним пристроєм протягом часу tRDH, званого часом утримання даних.
ПІДКЛЮЧЕННЯ АЦП ДО ПРОЦЕСОРІВ СІМЕЙСТВА ADSP-21xx ЧЕРЕЗ ПАРАЛЕЛЬНИЙ ІНТЕРФЕЙС

Рис. 1. ЧАСОВА ДІАГРАМА ЧИТАННЯ З ПАМ'ЯТІ В ПРОЦЕСОРАХ СІМЕЙСТВА ADSP-21xx

Рис. 2
ОСНОВНІ ВИМОГИ ПРИ ЧИТАННІ З ПЕРИФЕРІЙНОГО ПРИСТРОЮ (ПП) ЧЕРЕЗ ПАРАЛЕЛЬНИЙ ІНТЕРФЕЙС
Шина даних периферійного пристрою повинна підтримувати високоімпедансний Z-стан
Час декодування адреси і час включення периферійного пристрою не повинен перевищувати час tASR установки процесором адреси і сигналу вибору пам'яті (0.325 нс мінімум для процесора ADSP-2189M)
Для того, щоб здійснити доступ без режиму очікування, час від спадаючого (переднього) фронту сигналу читання RD до моменту достовірного встановлення даних не повинен перевищувати tRDD (складає 1.65 нс для процесора ADSP-2189M при роботі на частоті 75 МГц), інакше необхідно програмно забезпечити режим очікування або понизити частоту роботи процесора
На виході АЦП повинні підтримуватися достовірні дані протягом часу tRDH після висхідного (заднього) фронту сигналу читання RD (час tRDH рівний нулю для процесора ADSP-2189M)
Периферійний пристрій повинен працювати при якомога меншій тривалості строба tRP (3.65 нс для процесора ADSP-2189M при роботі на частоті 75 МГц), інакше необхідно програмно забезпечити режим очікування або понизити частоту роботи процесора
Параметр tRDD визначає час, необхідний для доступу до даних периферійного пристрою. У випадку процесора ADSP-2189M мінімальна тривалість tRDD складає мінімум 1.65 нс на частоті 75 МГц. Якщо необхідний час доступу до периферійного пристрою більший, необхідно використовувати цикли очікування або зменшити тактову частоту процесора.
Процесор ADSP-2189M здатний ефективно взаємодіяти з повільними периферійними пристроями за допомогою наявних засобів програмування тривалості стану очікування. Є три спеціальні регістри для управління процесом очікування: для пам'яті початкового завантаження, для пам'яті програм і для пам'яті даних і простору вводу-виводу. Програміст може задати від 0 до 15 тактів очікування для кожного паралельного інтерфейсу пам'яті.
Спрощена схема інтерфейсу між двома пристроями (АЦП і DSP) показана на рис. 4. В якості сигналу закінчення перетворення від AD7854/AD7854L використовується сигнал BUSY. Показана конфігурація дозволяє DSP-процесору записувати дані в регістр управління паралельним інтерфейсом AD7854/AD7854L. Це необхідно для установки різних опцій в AD7854/AD7854L і виконання процесу калібрування. Проте в звичайному режимі читання даних з AD7854/AD7854L здійснюється відповідно до наведеного вище опису. Запис в периферійні пристрої, включені в адресний простір пам'яті, розглядається в подальших розділах цього розділу.
ПАРАЛЕЛЬНИЙ ІНТЕРФЕЙС МІЖ АЦП AD7854/AD7854L І ADSP-2189M

Примітки: Використовуються 5 програмних циклів очікування
Для запису в АЦП необхідні сигнали HBEN і WR
Тактові імпульси можна одержувати від процесора DSP
Рис. 4
2. АНАЛІЗ ПАРАЛЕЛЬНОГО ІНТЕРФЕЙСУ З DSP-ПРОЦЕСОРАМИ: ЗАПИС ДАНИХ В ЦАП, ПІДКЛЮЧЕНИЙ З ВІДОБРАЖЕННЯМ В АДРЕСНИЙ ПРОСТІР ПАМ'ЯТІ
Спрощена блок-схема стандартного інтерфейсу між DSP-процесором і паралельним периферійним пристроєм (наприклад ЦАП) показана на рис. 5. Діаграми циклу запису в пам'ять для сімейства ADSP-21xx показані на рис.6.
В більшості додатків реального часу ЦАП функціонує безперервно з постійною тактовою частотою. Більшість ЦАП, використовуваних для цих додатків, здійснюють подвійну буферизацію даних. Є вхідний регістр для фіксації даних, що поступають через асинхронний інтерфейс з DSP-процесором, і далі регістр (званий регістром зберігання ЦАП), який керує струмовими ключами ЦАП. Регістр зберігання ЦАП синхронізується зовнішнім стабільним генератором, що задає частоту дискретизації. Окрім тактування регістра зберігання ЦАП, даний сигнал використовується також для генерації сигналу переривання DSP-процесора, який указує на готовність ЦАП до прийому нових вхідних даних.
ПІДКЛЮЧЕННЯ ЦАП ДО ПРОЦЕСОРІВ СІМЕЙСТВА ADSP-21xx ЧЕРЕЗ ПАРАЛЕЛЬНИЙ ІНТЕРФЕЙС
Рис. 5.
ЧАСОВА ДІАГРАМА ЗАПИСУ В ПАМ'ЯТЬ В ПРОЦЕСОРАХ СІМЕЙСТВА ADSP-21xx

Рис. 6
Таким чином, процес запису ініціюється периферійним пристроєм за допомогою встановлення сигналу запиту переривання DSP-процесора, який вказує, що периферійний пристрій готовий до прийому нових даних (крок N 1). Далі DSP-процесор виставляє адресу периферійного пристрою на адресній шині (крок N 2) і переводить у активний стан сигнал вибору пам'яті DMS (крок N 3). Це приводить до того, що дешифратор адреси видає сигнал вибору (chip select) на периферійний пристрій (крок N 5). Після спадаючого (переднього) фронту сигналу DMS через проміжок часу tASW процесор переводить в активний нульовий стан сигнал запису WR (крок N 4). Тривалість імпульсу WR складає tWP нс. Дані поміщаються на шину даних (D) і утримуються протягом часу tDW, до переходу сигналу WR в неактивний одиничний стан (крок N 6). Висхідний (задній) фронт сигналу WR використовується для фіксації присутніх на шині даних (D) в зовнішню паралельну пам'ять (крок N 7). Дані на шині залишаються достовірними ще протягом часу tDH після проходження позитивного фронту сигналу WR.
Основні вимоги до часових параметрів при записі даних в периферійний пристрій показані нижче. Головним параметром тут є тривалість строба запису tWP.
ОСНОВНІ ВИМОГИ ПРИ ЗАПИСІ В ПЕРИФЕРІЙНИЙ ПРИСТРІЙ (ПП) ЧЕРЕЗ ПАРАЛЕЛЬНИЙ ІНТЕРФЕЙС
Час декодування адреси і час включення периферійного пристрою не повинен перевищувати час tASW установки процесором адреси і сигналу вибору пам'яті (0.325 нс мінімум для процесора ADSP-2189M)
Для того, щоб здійснити доступ без режиму очікування, час встановлення даних не повинен перевищувати tDW (складає 2.65 нс для процесора ADSP-2189M при роботі на частоті 75 МГц), інакше необхідно програмно забезпечити режим очікування або понизити частоту роботи процесора
Час затримки вхідних даних не повинен перевищувати tDH (складає 2.325 нс для процесора ADSP-2189M при роботі на частоті 75 МГц) Периферійний пристрій повинeн працювати при тривалості строба WR, що складає tWP (3.65 нс мін. для процесора ADSP-2189M при роботі на частоті 75 МГц), інакше необхідно програмно забезпечити режим очікування або понизити частоту роботи процесора
ПАРАЛЕЛЬНИЙ ІНТЕРФЕЙС МІЖ ЦАП AD5340 І ADSP-2189M

Примітки: Використовується 2 програмних цикли очікування
Тактові імпульси можна одержувати від процесора DSP
Рис. 8
3. АНАЛІЗ ПОСЛІДОВНОГО ІНТЕРФЕЙСУ З DSP-ПРОЦЕСОРАМИ
Структурна схема одного з двох послідовних портів процесора сімейства ADSP-21XX показана на рис. 9. Передаючий (TX) і приймаючий (RX) регістри послідовного порту визначені на рівні синтаксису мови асемблера процесорів сімейства ADSP-21XX і не відображаються в пам'яті процесора.
СТРУКТУРНА СХЕМА ПОСЛІДОВНОГО ПОРТУ ПРОЦЕСОРІВ СІМЕЙСТВА ADSP-21xx

Рис. 9
ОСОБЛИВОСТІ РОБОТИ ПОСЛІДОВНОГО ПОРТУ В ПРОЦЕСОРАХ СІМЕЙСТВА ADSP-21xx
Окремі секції прийому і передачі даних для кожного порту
Подвійна буферизація регістрів прийому і передачі даних
Тактові імпульси для послідовного обміну можуть генеруватися як всередині процесора, так і поступати ззовні
Сигнали синхронізації фреймів можуть бути внутрішніми або зовнішніми
Довжина передаваних слів може складати від 3 до 16 біт
Автоматична генерація переривань
Апаратний компандер звільняє ресурс ядра процесора
В приймальній частині послідовного порту сигнал фреймової синхронізації прийому (RFS) ініціює прийом даних. Послідовний потік даних (DR), що приймаються, від зовнішнього пристрою (АЦП), побітно прямує в приймальний регістр зсуву. Для бітової синхронізації використовуються спадаючі фронти тактових імпульсів сигналу SCLK. Після завершення прийому чергового слова, воно записується в регістр прийому даних (RX), і послідовний порт генерує запит переривання, по якому ядро процесора має можливість прочитати ухвалене слово з регістра (RX).
Запис в регістр передачі даних (TX) готує послідовний порт до передачі даних. Початок передачі даних супроводиться сигналом фреймової синхронізації передачі (TFS). Потім слово з регістра передачі даних (TX) записується у внутрішній передаючий регістр зсуву. Дані з передаючого регістра зсуву побітно посилаються на периферійний пристрій (ЦАП). Для синхронізації послідовно передаючих на зовнішній пристрій даних (DT) використовуються позитивні фронти імпульсів тактового сигналу SCLK. Після передачі першого біта послідовний порт генерує запит переривання, по якому ядро процесора може записати в регістр передачі даних нове слово, не дивлячись на те, що передача попередніх даних ще не завершена.
При нормальному режимі фреймової синхронізації сигнал фреймової синхронізації (RFS або TFS) перевіряється по низхідному фронту тактового сигналу SCLK. Якщо у цей момент сигнал фреймової синхронізації активний, то дані доступні (в режимі передачі) або дані фіксуються в приймальному регістрі зсуву (в режимі прийому) по низхідному фронту наступного тактового імпульсу сигналу SCLK. Сигнал фреймової синхронізації не перевіряється далі до закінчення передачі або прийому всього слова, що залишилося. При альтернативному режимі фреймової синхронізації сигнал фреймової синхронізації встановлюється в тому ж самому такті сигналу SCLK, що і перший біт слова. Біти даних фіксуються по низхідному фронту сигналу SCLK, але сигнал фреймової синхронізації перевіряється тільки в такті, що відповідає першому біту. Генерований всередині сигнал фреймової синхронізації залишається в активному стані на весь час прийому або передачі послідовного слова. Альтернативний режим фреймової синхронізації послідовного порту в процесорах сімейства ADSP-21XX звичайно використовується для прийому даних від АЦП або передачі даних на ЦАП.
Послідовні порти процесорів сімейства ADSP-21XX надзвичайно універсальні. Сигнали TFS, RFS або SCLK можуть або генеруватися вбудованим генератором процесора сімейства ADSP-21XX (режим master), або поступати від зовнішнього джерела (режим slave).
4. АНАЛІЗ ПОСЛІДОВНОГО ІНТЕРФЕЙСУ МІЖ DSP-ПРОЦЕССОРОМ І АЦП
Часові діаграми роботи послідовного порту процесора ADSP-2189M, працюючого в режимі прийому (альтернативний режим фреймової синхронізації), показані на рис. 10. Перший негативний (низхідний) фронт сигналу SCLK, наступний після негативного (низхідного) фронту сигналу RFS, синхронізує фіксацію старшого біта даних (MSB) від АЦП у вхідному регістрі зсуву процесора. Процес продовжується до тих пір, поки всі послідовні біти не будуть по черзі прийняті у вхідному регістрі зсуву. Основні часові характеристики, на які потрібно звернути увагу, це час встановлення послідовних даних (tSCS) і час їхнього утримання (tSCH) по відношенню до негативних фронтів сигналу SCLK. У разі використання процесора ADSP-2189M, ці значення рівні відповідно 4 і 7 нс. При використанні АЦП останнього покоління, оснащених високошвидкісними послідовними портами, звичайно не виникає труднощів в забезпеченні цих характеристик навіть при максимальній швидкості послідовної передачі даних.
ЧАСОВА ДІАГРАМА РОБОТИ ПОСЛІДОВНОГО ПОРТУ ПРОЦЕСОРА ADSP-2189M

Рис. 10
РЕЖИМ ЧЕРГУВАННЯ ФРЕЙМІВ АЦП Є ПРОВІДНИМ ПРИСТРОЄМ (MASTER)
ЧАСОВА ДІАГРАМА ЗАПИСУ В ПАМ'ЯТЬ В ПРОЦЕСОРАХ СІМЕЙСТВА ADSP-21XX

Рис. 12
На рис. 13 показана система, що складається з АЦП AD7853L і процесора ADSP-2189M, функціонуюча в режимі передачі даних від АЦП до DSP (альтернативний режим фреймової синхронізації, АЦП працює в режимі "мастер").В ІС AD7853/AD7853L є внутрішні регістри, які доступні для запису з сторони DSP-процесора через послідовний порт. Ці регістри використовуються для установки різних режимів роботи АЦП AD7853/AD7853L, а також для ініціалізації процесу калібрування. Використовувані для цього сигнали не показані на наведеній нижче діаграмі.
ПОСЛІДОВНИЙ ІНТЕРФЕЙС МІЖ АЦП AD7853/AD7853L І ADSP-2189M

Рис. 13
5. АНАЛІЗ ПОСЛІДОВНОГО ІНТЕРФЕЙСУ МІЖ DSP-ПРОЦЕССОРОМ І ЦАП
ПОСЛІДОВНИЙ ІНТЕРФЕЙС МІЖ ЦАП AD5322 І ПРОЦЕСОРОМ ADSP-2189M

Рис. 15
6. АНАЛІЗ ІНТЕРФЕЙСУ МІЖ ПРИСТРОЯМИ АНАЛОГОВОГО ВВОДУ-ВИВОДУ, КОДЕКАМИ І DSP-ПРОЦЕСОРАМИ
Оскільки більшість додатків цифрової обробки сигналів вимагає наявності одночасно АЦП і ЦАП, то широкий розвиток отримали універсальні пристрої, що інтегрують функції кодека і портів вводу-виводу на одному кристалі і забезпечують просте підключення до стандартних DSP-процесорів. Ці пристрої називають аналоговими кінцевими пристроями (далі по тексту – AFE – Analog Front End).
Частота дискретизації кодека може бути запрограмована на одне з чотирьох фіксованих значень: 64 кГц, 32 кГц, 16 кГц і 8 кГц при частоті опорного задаючого генератора 16.384 МГц. Послідовний порт дозволяє легко організувати інтерфейс одного або декількох кодеків, підключених каскадно, із стандартними DSP-процесорами, що є на ринку, наприклад процесорами сімейства ADSP-21XX. Швидкість передачі даних через послідовний порт може програмуватися, що дозволяє здійснювати інтерфейс як з швидкими, так і з повільними DSP-процесорами. Організація інтерфейсу кодека з процесором сімейством ADSP-218Х показана на рис. 17. Вивід SE (включення послідовного порту) може керуватися від програмованого виходу загального призначення, наприклад FL1, або, у випадках коли не потрібний перевід послідовного порту в енергозберігаючий режим, на цей вивід може постійно подаватися високий рівень через відповідний резистор навантаження. Вивід скиду (RESET) може бути сполучений з сигналом загального апаратного скиду системи або може керуватися будь-яким програмованим виходом загального призначення.
В режимі програмування дані передаються з DSP-процесора в керуючі регістри мікросхеми AD73322 для активації необхідного режиму роботи. Після програмування конфігурації пристрою, тобто після правильної установки різних регістрів управління, кодек може вийти з режиму програмування і перейти в режим передачі даних. Дані з двох АЦП передаються в DSP-процесор двома блоками, що складаються з 16-ти розрядних слів. Так само дані для двох ЦАП передаються з DSP-процесора до мікросхеми AD73322 аналогічними способом. Спрощені тимчасові діаграми роботи послідовного інтерфейсу показані на рис. 17.
СХЕМА ІНТЕРФЕЙСУ КОДЕКА AD73322 І ПРОЦЕСОРА СЕРІЇ ADSP-218х (РЕЖИМ ПЕРЕСИЛКИ ДАНИХ)

Рис. 17
7. АНАЛІЗ ВИСОКОШВИДКІСНОГО ІНТЕРФЕЙСУ
Програмованість DSP-процесорів робить можливим виконання різних алгоритмів на тих же самих апаратних засобах, забезпечуючи розширення функціональних можливостей системи. Показана на рис. 18 спрощена система забезпечує взаємодію процесора ADSP-21065L з швидкодійними АЦП і ЦАП за допомогою використання паралельного інтерфейсу і зовнішнього порту DSP-процесора.
СХЕМА ІНТЕРФЕЙСУ МІЖ АЦП AD9201, ЦАП AD9761 І ПРОЦЕСОРОМ ADSP-21065L

Рис. 18
СИСТЕМНИЙ ІНТЕРФЕЙС ПРОЦЕСОРА DSP
На рис. 18 показана спрощена система на базі процесора ADSP-2189M, що використовує повномасштабну модель пам'яті. Вона включає два пристрої, працюючі через послідовні інтерфейси, 8-розрядну EPROM, зовнішню оверлейну пам'ять програм і даних. Можливість програмної генерації циклів очікування дозволяє легко підключати швидкий процесор до більш повільних периферійних пристроїв. Процесор ADSP-2189M також підтримує чотири зовнішні переривання, сім універсальних сигналів вводу-виводу і два послідовні порти. Один з послідовних портів може бути сконфігурований як джерело двох додаткових сигналів переривання, один універсальний вхід і один універсальний сигнал висновку, що дасть в сумі шість зовнішніх сигналів переривання, дев'ять каналів вводу-виводу загального призначення при збереженні одного повнофункціонального послідовного порту. Процесор ADSP-2189M може також працювати в режимі доступу до хост-пам’яті (host memory mode), який дозволяє організувати доступ по всій ширині зовнішньої шини даних, але обмежує адресацію одним адресним бітом. Додаткові периферійні пристрої можуть бути підключені в режимі host memory mode при використанням зовнішніх апаратних засобів для генерації і фіксації додаткових адресних сигналів.
ПРИКЛАД СИСТЕМИ НА БАЗІ ADSP-2189M. ПОВНОМАСШТАБНА МОДЕЛЬ ПАМ'ЯТІ