Дані про регістри мікросхеми та деякі інші її характеристики висвітлено в пункті 2.3.
1.3 Розробка та обґрунтування схеми електричної структурної
Структурна схема МР3- програвача – приставки до ПК зображена на рисунку 1.3.1.
Рисунок 1.3.1 – Структурна схема МР3- програвача – приставки до ПК
З рисунка 1.3.1 видно, що розроблюваний пристрій підключається до ПК через паралельний порт. Це створює деякі проблеми: при передачі музики з якістю передаваного сигналу 128 Кбіт/с можливе ехо-подібне спотворення сигналу через малу пропускну спроможність порту. На схемі також зображено блок перетворювача логічних рівнів та МР3-декодер, що дозволяє декодувати отримуваний сигнал. Пристрій споживає 5 В, підключається до підсилювача ЗЧ
2 Спеціальний розділ
2.1 Вибір і обґрунтування елементної бази
При розробці МР3-програвача –приставки до ПК було використано ноутбук, після проведеного підбору потрібної моделі було встановлено, що можна використовувати ноутбук з процесором що має невисокі характеристики (286, 386, 486). Це дозволяє при виготовленні пристрою значно зекономити на мікроконтролері та LCD-дисплеї.
Пристрій передбачається підключати до паралельного порту ПК, але, оскільки, це дещо зменшить максимальну якість прогріваної музики, можна використати і порт ISA, для чого потрібно буде лише перепрограмувати мікросхеми, але в такому випадку його можна буде підключити лише до стаціонарних ПК (ноутбуки такої шини зазвичай не мають).
Основною частиною схеми проектуємого пристрою є фінська мікросхема VS1001k компанії VLSI Oy, яка являє собою цифровий сигнатурний процесор для апаратного декодування MPEG layer 1, 2, 3.
Для керування мікросхемою і передачею потоку МР3 даних використовуються 2 шини: SCI (Serial Control Interface) та SCI (Serial Data Interface), дані про які зведено до таблиці в пункті 1.2.
VS1001k вміщує 15 SCI – регістрів, дані про які зведено до таблиці в пункті 2.2. Регістр MODЕ надзвичайно зручно використовувати для керування операціями VS1001k. Назви його бітів та їх функцій зведено до таблиці 2.1.2.
В бітах 8-0 регістра AUDАTA зберігається значення швидкості потоку даних в кілобітах за секунду (в випадку коли вона змінна вказується швидкість потоку), в бітах 12-9 індекс частоти дискретизації (таблиця 2.1.1).
Таблиця 2.1.1 – Індекси частоти дискретизації регістру AUDATA
Біти 12-9 | Частота дискритизації |
0b0000 | - |
0b0001 | 44100 |
0b0010 | 48000 |
0b0011 | 32000 |
0b0l00 | 22050 |
0b0101 | 24000 |
0b0110 | 16000 |
0b0111 | 11025 |
0bl000 | 12000 |
0b1001 | 8000 |
Таблиця 2.1.2 – Назви бітів регістру та їх характеристика
Біт | Назва | Функція | Значення |
0 | SM._DIFF | Диференціал | 0 – нормальний стан 1 – інвертовано лівий канал |
1 | SM.FFWD | Прискорена перемотка вперед | 0 – нормальне виконання 1 – прискорена перемотка вперед |
2 | SM_RESET | Програмне скидання | 0 – нормальний стан 1 - скидання |
3 | SM UNUSED1 | Встановлення в 0 | 0 – встановлення в 0 |
4 | SM_PDOWN | Режим енергозбереженння | 0 – живлення ввімкнено 1 – живлення вимкнено |
5 | SM UNUSED2 | Установка в 0 | 0 – встановлення в 0 |
6 | SM UNUSED3 | Установка в 0 | 0 - встановлення в 0 |
7 | SM_BASS | Частотне расширення | 0 - ввімкнено 1 - вимкнено |
8 | SM_DACT | Активний рівень DCLK | 0 - зростаючий 1 - спадаючий |
9 | SMBYTEORD | Порядок бітів на вході послідовної шини | 0 – молодший біт перший 1 – старший біт перший |
10 | SM IBMODE | Режим SDI | 0 – ведомий 1 – ведучий |
11 | SM IBCLK | Частота DCLK в режимі ведучого | 0 – 512 кГц 1 – 1024 кГц |
Дані, наведені вище дозволяють зробити висновок про те, що використання в проектованому пристрої цифрового сигнатурного процесора VS1001k цілком обґрунтоване.
2.2 Принцип роботи окремих ВІС з використанням часових діаграм та алгоритмів роботи
В даному розділі представлено дані про роботу типового сигнального процесора та розглянуто характеристики роботи сигнального процесора VS1001k.
Структуру типового представника сім'ї з фіксованою комою МП TMS320xC5x наведено на рисунку 2.2.1.
Процесор виконано за гарвардською архітектурою, основаною на розподілі шин доступу до вбудованої пам'яті програм і даних. Це дозволяє зробити вибірку команди і даних в одному машинному циклі і забезпечує виконання більшості команд за один цикл.
Сигнальний процесор TMS320xC5x складається з центрального процесорного пристрою (CPU), вбудованої пам'яті програм і даних, багатофункціональних периферійних пристроїв, що здебільшого дозволяють позбутися додаткової зовнішньої апаратури.
Процесор містить шини: PDATA - шина даних пам'яті програм; PADDR - шина адреси пам'яті програм; DDATA - шина даних пам'яті даних; DADDR - шина адреси пам'яті даних для незалежного доступу до пам'яті програм і даних.
Центральний процесорний пристрій CPU. До його складу входять:
- 32-розрядний АЛЛ, який виконує більшість команд за один цикл;
- акумулятор АСС, розділений на два сегменти по 16 розрядів (АССН і ACCL);
- акумуляторний буфер АССВ;
- арифметичний пристрій допоміжних регістрів ARA U;
- регістровий файл AR0-AR7 і регістр INDR;
- незалежний логічний блок PLU;
- апаратний помножувач 16x16;
- регістри зсуву: регістр масштабування і зсуву SPL, який виконує зсув ліворуч на 0-16 розрядів і призначений для вирівнювання та перетворення даних, узятих з пам'яті; регістр зсуву SFL на виході помножувача; регістр зсуву SR;
- стек STACK;
- покажчик команд PC;
- мультиплексори MUX.
Рисунок 2.2.1 – Архітектура цифрових сигнальних процесорів
Арифметико-логічний пристрій АЛП. На перший вхід АЛП надходять дані одного з таких пристроїв:
· регістра масштабування і зсуву SPL;
· регістра зсуву SFL на виході регістра помножувача PREG;
акумуляторного буфера АССВ.
На другий вхід АЛП дані завжди надходять з акумулятора АСС, а результат виконання операцій надходить також в АСС. Регістр зсуву SR, з'єднаний з виходом АСС, виконує зсув ліворуч на 0-7 розрядів, що відбувається в циклі пересилання даних з АЛП на внутрішню шину даних.
Апаратний помножувач 16x16. Виконує операції над числами зі знаком і без знака. Операнди надходять з пам'яті даних. Один з операндів може бути константою, поданою безпосередньо в команді. Для тимчасового збереження одного з операндів використовують 16-розрядний регістр TREG. У 32-розрядний регістр PREG завантажується результат множення.
Регістровий файл, що складається з восьми допоміжних регістрів (AR0-AR1) та індексного регістра (INDR) використовують для формування адреси при непрямій адресації. Якщо треба, AR0-AR7 можна використовувати для тмчасового збереження, даних, Для щфесації до допоміжних регістрів слугує покажчик допоміжних регістрів (ARP). Регістри AR0-AR1 завантажуються з пам'яті даних, акумулятора АСС чи операндом, поданим у команді. Уміст AR0-AR7 можна зберегти в пам'яті чи використати для обчислень в АЛП.
Арифметичний пристрій ARAU. Разом з регістрами AR0-AR7 і INDR його призначено для генерації адреси. Зазвичай AR0-AR7 використовують для зберігання адреси, a INDR містить зсув. Прості арифметичні операції (додавання, віднімання; інкрементування, декрементування), виконувані в ARA(/з умістом AR0-AR1 і INDR, дозволяють реалізувати кілька видів непрямої адресації. Операції в ARAU виконуються одночасно з адресацією до поточної комірки пам'яті. Блок ARA U звільняє АЛП від роботи з обчислення адрес.
Логічний блок PLU виконує операції незалежно від АЛП Результат операцій у PLU не впливає на біти стану АЛП. Перший операнд надходить у PLU з пам'яті даних, другий - з пам'яті чи програм регістра маніпуляції бітами (DBMR). Спеціальні логічні команди, виконувані тільки PLU, дозволяють у 16-розрядному слові встановлювати та очищувати будь-яку кількість біт у довільній комбінації. Результат операцій у PLU зберігається в тій самій комірці пам'яті, звідки було обрано перший операнд. Отже, логічні операції можна виконувати безпосередньо зі змістом будь-якої комірки пам'яті даних, зокрема зі змістом перших 16 портів введення-виведення, що можуть адресуватися як пам'ять даних (адреси 50H-5FH).
Пам'ять. МП TMS32QxC5x передбачає роздільну адресацію до пам'яті програм, даних і портів введення-виведення. Ємність кожної області пам'яті 64 кбайт 16-розрядних слів. Вбудована в кристалі пам'ять - ROM, SARAM, DARAM знаходиться в загальному адресному просторі пам'яті і може використовуватися як пам'ять програм чи даних.