Проектування мікрокомп’ютера

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2006
Тип роботи:
Курсова робота
Предмет:
Мікропроцесорні системи
Група:
КСМ

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Курсова робота з курсу „ Мікропроцесорні системи ” Проектування мікрокомп’ютера Львів – 2006 Зміст 1. Початкові дані на проектування 3 2.1. Основні технічні харакетристики мікроконтролера 56F8323 4 2.2. Внутрішня структура 8 2.3. Реалізація в різних корпусах 18 2.4. Функціональне призначення виводів 18 3. Розробка схеми електричної функціональної 25 3.1. Загальна схема мікрокомп'ютера 25 3.2. Підключення зовнішніх пристроїв вводу/виводу 25 4. Проектування принципової схеми мікрокомп'ютера 26 4.1. Вузол синхронізації 26 4.2. Вузол формування сигналу RESET 26 4.3. Пам'ять програм 26 4.4. Пам'ять даних 27 4.5. Зовнішня пам'ять 27 4.6. Вузли вводу/виводу 27 5. Початкова ініціалізація мікрокомп'ютера 31 5.1. Набір команд 31 5.2. Опис алгоритму 31 Висновки 32 Використана література та інші джерела 33 Додатки Додаток А. Програма початкової ініціалізації Додаток B. Схема функціональна Додаток C. Електрична принципова схема Додаток D. Перелік елементів 1. Початкові дані на проектування 1. Тип мікропроцесора: 56F8323 (на ядрі DSP56800E). 2. Постійна пам’ять: вбудована на кристалі. 3. Оперативна пам’ять: вбудована на кристалі. 4. Підсистема вводу-виводу (периферійні пристрої): - сенсор магнітного поля, - послідовний інтерфейс RS-232 на основі мікросхеми MAX232, - рідкокристалічний дисплей на основі контролера HD44780. 2. Архітектура мікроконтролера 2.1. Основні технічні харакетристики мікроконтролера 56F8323 Загальний опис мікроконтролера 56F8323: • До 60 MIPS при частоті ядра 60MHz • Функціональність сигнального процесора (DSP) та мікроконтролера (MCU) • 32KB Flash пам’яті програм • 4KB ОЗП пам’яті програм • 8KB Flash пам’яті даних • 8KB ОЗП пам’яті даних • 8KB Flash пам’яті початкового завантаження • Один 6-канальний модуль PWM • Два 4-канальних 12-розрядних АЦП • Температурний сенсор • Один квадратурний декодер • Один модуль FlexCAN • До двох послідовних комунікаційних інтерфейсів (SCI) • До двох послідовних периферійних інтерфейсів (SPI) • Два лічильника загального призначення • Модуль Комп’ютер працює правильно (COP) / Сторожовий таймер • Вбудований тактовий генератор • JTAG/Enhanced On-Chip Emulation (OnCE™) для незалежної відладки в реальному часі • До 27 ліній вводу/виводу загального призначення (GPIO) • 64-контактний корпус LQFP Мікропроцесор MC56F8323 – це 16-розрядний цифровий сигнальний процесор побудований на ядрі DSP56800E – дешевий, малопотужний мікропроцесор, який поєднує силу DSP та паралелізм з MCU-сумісною простотою програмування. Ядро DSP56800E - це універсальний центральний процесор, розроблений для ефективної обробки цифрових сигналів та для великої кількості управляючих операцій. Основні характеристиками мікропроцесорів з ядром DSP56800E: 1. Швидкодія - DSP56800E підтримує більшість програм цифрової обробки сигналів. 2. Точність – дані, якими оперує DSP56800E є 16-розрядними, що забезпечує 96 dB динамічного діапазону; проміжні результати зберігаються в 36-розрядних акумуляторах, це дозволяє зберігати дані діапазону до 216 dB. 3. Паралелізм – кожен операційний блок вбудований на кристалі, пам’ять, та периферія оперують незалежно і паралельно з іншими блоками через складну систему шин. Арифметико-логічний пристрій (ALU), пристрій генерації адрес (AGU) та програмний контролер оперують паралельно дому наступні дії можуть бути виконані паралельно за одну інструкцію: - Попередня вибірка інструкції - Множення двох 16-розрядних операндів - 36-розрядне додавання - Дві операції переміщення даних - Дві операції зміни адресних вказівників - Відсилання та отримання даних по послідовних портах у повнодуплексному режимі - Всі таймери продовжують рахувати паралельно 4. Гнучкість – в той час, коли багато процесорів цифрової обробки сигналів потребують зовнішні кола комунікації для взаємодії з периферією (такою як АЦП, ЦАП або головним процесором), DSP56800E містить вбудовані послідовні та паралельні інтерфейси, які можуть підтримувати різні конфігурації пам’яті та периферійних модулів. Периферія взаємодіє з ядром DSP56800E через інтерфейсну шину периферії, яка розроблена для забезпечення загального інтерфейсу для багатьох різних периферійних пристроїв. 5. Великі можливості відладки – вбудована технологія емуляції (OnCE) дає можливість простого та незалежного від швидкості доступу до внутрішніх регістрів для виконання відладки. OnCE дає розробникам програмного забезпечення для DSP56800E точну інформацію про стан та вмістиме регістрів, областей пам’яті і навіть останню команду, яка була виконана. 6. Синхронізація, базована на системі фазової автопідстройки частоти (PLL) - дозволяє мікропроцесору використовувати майже будь-які доступні зовнішні системи синхронізації для роботи на повній швидкості, в той же час видаючи вихідні синхроімпульси до синтезованого внутрішнього генератора ядра. 7. Невидимий конвейер – трьохстановий конвейер інструкцій є недоступним програмісту, що дозволяє пряму розробку програм як в асемблерних мовах так і в мовах високого рівня, таких як C або C++. 8. Набір інструкцій – мнемоніка команд є MCU-подібною, що робить перехід від програмування процесорів до програмування мікросхем дуже простим. 9. Низька споживана потужність – базовані на компліментарних металооксидних напівпровідниках КМОН (CMOS), мікропроцесори DSP56800E мають дуже малу споживану потужність. Два додаткових режими пониженого споживання, зупинка та очікування, додатково зменшують розхід енергії. Режим очікування мікропроцесора DSP56800E полягає в тому, що ядро є виключеним, але периферія та контролер переривань продовжують оперувати, тому переривання може вивести мікропроцесор зі стану очікування. В режимі зупинки більшість модулів DSP56800E є відключеними від живлення для найменшого споживання. Гібридне ядро контролера: • Ефективне 16-розрядне ядро сімейства 56800E з подвійною гарвардською архітектурою • До 60 мільйонів команд за секунду (MIPS) на частоті ядра 60MHz • Одно-цикловий 16х16-розрядів паралельний Помножувач-Акумулятор (MAC) • Чотири 36-розрядні акумулятори, в тому числі з розрядами розширення • Пристрій багаторозрядного арифметичного і логічного зсуву • Паралельна система команд з унікальними способами адресації • Апаратно реалізовані цикли DO і REP • Три внутрішні адресні шини • Чотири внутрішні шини даних • Система команд підтримує як функції сигнального процесора так і контролера • Ефективний компілятор C з підтримкою локальних змінних • Програмний стек для процедур та переривань, глибина якого обмежується тільки пам'яттю • Інтерфейси JTAG/EOnCE для відлагоджування та програмування Пам’ять • Гарвардська архітектура дозволяє до трьох паралельних звертань до пам’яті програм і даних • Захист Flash пам’яті від несанкціонованого доступу до її вмісту • Вбудована пам’ять, зокрема дешеві рішення великого об’єму на основі Flash — 32KB Flash пам’яті програм — 4KB ОЗП пам’яті програм — 8KB Flash пам’яті даних — 8KB ОЗП пам’яті даних — 8KB Flash пам’яті початкового завантаження • Вся пам’ять працює на частоті 60Мгц (нуль станів очікування) поза температурним діапазоном (-40° до +125°C), без будь-яких додаткових програмних чи апаратних засобів • Можливість емуляції EEPROM Живлення • Виготовлено на високо інтегрованому КМОН з 5 В, ТТЛ-сумісними рівнями цифрових входів • Вбудований перетворювач напруги з 3.3V до 2.6V для живлення внутрішньої логіки та пам’яті • Вбудовані в кристалі регулятори цифрових та аналогових електричних схем для зниження ціни та рівня шумів • Доступні режими енергозбереження Wait і Stop • «Розумне» керування потужністю АЦП • Кожен периферійний пристрій можна окремо відключати для збереження енергії 2.2. Внутрішня структура Подвійна гарвардська архітектура пам’яті DSP56800E має подвійну Гарвардську архітектуру із окремими пам’яттю програм і пам’яттю даних, що показано на Рис 2.2.1. Така архітектура дозволяє одночасне звертання до пам’яті програм і пам’яті. В той же час інтерфейс пам’яті даних також підтримує дві одночасних операції читання, що в сумі забезпечує до трьох паралельних операцій звертання до пам’яті.  Рис 2.2.1. Подвійна гарвардська архітектура пам’яті DSP56800E Блок пам’яті, що містить вектори скиду і переривань, може бути будь-якого розміру і міститися у довільному місці пам’яті програм. Периферійні регістри відображаються в пам’яті у області розміром 64 слова у довільному місці пам’яті даних. Зазвичай область периферійних регістри для IP-BUS розміщають так, щоб вона не перетиналась з пам’яттю даних ПЗП і ОЗП. Програмна модель ядра DSP56800E Регістри є частиною програмної моделі ядра DSP56800E, яка зображена на Рис. 2.2.2. Опис регістрів подано в таблиці 2.2.1. Регістри для вбудованих периферійних пристроїв відображаються на 64-позиційний блок пам’яті даних.  Рис. 2.2.2. Програмна модель ядра DSP56800E Регістри ядра DSP56800E Таблиця 2.2.1  Пристрій Назва регістру Розмір (розр.) Опис  ALU (АЛП – Арифметико-логічний пристрій) Y1 16 Регістр даних (старші 16 розрядів 32-розрядоного регістра Y).   Y0 16 Регістр даних (молодші 16 розрядів 32-розрядного регістра Y).   Y 32 Один довгий регістер, що містить 2 конкатенованих 16-розрядних регістрів, Y1:Y0. Цей регістр поміщається у стек при обробці швидкого переривання.   X0 16 Регістр даних.   A2 4 Регістр розширення акумулятора А—розряди акумулятора від 35 до 32.   A1 16 Найбільш вагома частина регістру акумулятора (MSP)—розряди акумулятора від 31 до 16.   A0 16 Найменш вагома частина регістру акумулятора (LSP)— розряди акумулятора від 15 до 0.   A10 32 Довга частина акумулятора—від розряда акумулятора 31 до 0, містить конкатеновані регістри: A1:A0.   A 36 Акумулятор —Містить три конкатенованих регістри: A2:A1 :A0.   B2 4 Регістр розширення акумулятора В—розряди акумулятора від 35 до 32.   B1 16 Найбільш вагома частина регістру акумулятора (MSP)—розряди акумулятора від 31 до 16.   BO 16 Найменш вагома частина регістру акумулятора (LSP)— розряди акумулятора від 15 до 0.   B10 32 Довга частина акумулятора—від розряда акумулятора 31 до 0, містить конкатеновані регістри: B1:B0.   B 36 Акумулятор —Містить три конкатенованих регістри: B2:B1 :B0.   C2 4 Регістр розширення акумулятора С—розряди акумулятора від 35 до 32.   C1 16 Найбільш вагома частина регістру акумулятора (MSP)—розряди акумулятора від 31 до 16.   C0 16 Найменш вагома частина регістру акумулятора (LSP)— розряди акумулятора від 15 до 0.   C10 32 Довга частина акумулятора—від розряда акумулятора 31 до 0, містить конкатеновані регістри: C1:C0.   C 36 Акумулятор —Містить три конкатенованих регістри: C2:C1:C0.   D2 4 Регістр розширення акумулятора D—розряди акумулятора від 35 до 32.   D1 16 Найбільш вагома частина регістру акумулятора (MSP)—розряди акумулятора від 31 до 16.   DO 16 Найменш вагома частина регістру акумулятора (LSP)— розряди акумулятора від 15 до 0.   D10 32 Довга частина акумулятора — розряди акумулятора 31 від 0, містить конкатеновані регістри: D1:D0.   D 36 Акумулятор — містить три конкатенованих регістри: D2:D1:D0.  AGU (Пристрій формування адреси) R0 24 Регістр адреси—Цей регістр також затінено для швидкої обробки переривань.   R1 24 Регістр адреси—Цей регістр також затінено для швидкої обробки переривань.   R2 24 Регістр адреси.   R3 24 Регістр адреси.   R4 24 Регістр адреси.   R5 24 Регістр адреси.   N 24 Регістр зміщення, також може використовуватись як вказівник або індекс — цей регістр також затінено для швидкої обробки переривань.   SP 24 Вказівник стеку.   N3 16 Регістр зміщення для другого читання — знак поширюється на 24 розряди і використовується як зміщення для оновлення вказівника R3 в операціях подвійного читання.   M01 16 Регістр модифікатор—Використовується для включення модульної арифметики для R0 і R1  Program Controller (Контролер виконання програми) PC 21 Програмний лічильник—Складений із спеціалізованого 16-розрядного регістру (розряди 15-0 програмного лічильника) і 5 розрядів, які зберігаються в старшому байті регістра снану.   LA 24 Адреса циклу—Містить адресу останнього слова команди в апаратному циклі DO.   LA2 24 Адреса циклу 2—Зберігає адреса циклу для зовнішнього циклу.   HWS 24 Апаратний стек—Забезпечує доступ до апаратного стеку як двонаправлений LIFO буфер.   OMR 16 Регістр режиму роботи—Встановлює режим роботи ядра.   SR 16 Регістр стану — містить біти стану, контролю, і 5 старших бітів регістра програмного лічильника.   LC 16 Лічильник циклів—містить кількість циклів при апаратному зацикленні.   LC2 16 Лічильник циклів 2—Зберігає кількість циклів для зовнішнього зациклення.   Типи даних та способи адресації DSP56800E містить великий набір регістрів і типів даних, що надає можливість реалізації ефективних алгоритмів цифрової обробки сигналів та алгоритмів керування загального призначення. Доступні звертання до пам’яті по байтам, словам та довгим. Великий набір режимів адресування покращує швидкість виконання та скорочує розмір коду. Типи даних DSP56800E Архітектура DSP56800E підтримує цілі типи даних байт (8 розрядів), слово (16 розрядів), і довге слово (32 розряди). Також підтримує дробові типи даних слово, довге слово та слово акумулятора (36 розрядів). Дробове і ціле зображення числа відрізняються в розташуванні десяткової (або двійкової) крапки. Для дробової арифметики, десяткова (або двійково) крапка завжди знаходиться відразу справа за старшим розрядом вагомішої частини. Для цілих значень, десяткова крапка завжди знаходиться справа від молодшого розряду. Формати даних 16-розрядне ядро DSP підтримує 4 типи двокомпонентних формати даних: • ціле зі знаком • ціле без знаку • дробове зі знаком • дробове без знаку Цілочисельні типи даних придатні для обчислень загального призначення, вони відомі для програмістів мікропроцесорів та мікроконтролерів. Дробові типи даних дозволяють реалізацію потужних чисельних алгоритмів та алгоритмів цифрової обробки сигналів. Архітектура системи і периферійний інтерфейс Програмний контролер, пристрій формування адреси (AGU) і арифметико-логічний пристрій даних (ALU) містять свої власні набори регістрів і контролюючу логічну схему, що дозволяє їм діяти незалежно і паралельно, що збільшує продуктивність. Є також незалежний пристрій розрядного маніпулювання, який реалізує ефективні операції маніпулювання розрядами. Кожні функціональний вузол взаємодіє з іншими пристроями, пам’яттю, і периферією, відображеною на пам’ять через внутрішні шини адреси і даних ядра. Див. рис. 2.2.3.  Рис. 2.2.3. Блок-схема ядра 56800E Виконання команд конвеєризується щоб скористатись перевагами паралельних пристроїв, що суттєво знижує час виконання кожної команди Основні компоненти ядра: • Шини адрес • Шини даних • Арифметико логічний пристрій (ALU) • Пристрій формування адреси (AGU) • Програмний контролер (Program Controller) • Пристрій порозрядних маніпуляцій (Bit-Manipulation Unit) • Покращений вбудований пристрій емуляції (Enhanced OnCE Unit) 1) Адресні шини (address buses) Адреси надаються внутрішній пам’яті даних X по двум однонаправленим 16-розрядним шинам, шині 1 адрес пам’яті X (XAB1) та шині 2 адрес пам’яті X (XAB2). Адреси програмної пам’яті подаються по 16-розрядній шині адрес програм (PAB). Шина XAB1 може подавати адреси для доступу як до внутрішньої, так і зовнішньої пам’яті, в той час коли шина XAB2 може подавати тільки адреси для доступу до внутрішньої пам’яті. 2) Шини даних (data buses) Всередині мікропроцесора дані передаються одним з наступними шинами: • Дві однонаправлені 32-розрядні шини: — Шина даних ядра для читання (CDBR) — Шина даних ядра для запису (CDBW) • Дві однонаправлені 16-розрядні шини: — Другорядна шина даних пам’яті X (XDB2) — Програмна шина даних (PDB) • Інтерфейс IP-BUS Передача даних між АЛП та пам’ятю даних X використовує шини CDBR і CDBW коли виконується один доступ до пам’яті. Коли виконуються два одночасних читання з пам’яті, передача виконується по шинам CDBR та XDB2. Всі інші передачі даних використовують шини CDBR і CDBW, за виключенням передачі до периферійних пристроїв та з них, останні використовують шину даних периферійних пристроїв IP-BUS. Вибірка слова інструкції виникає одночасно по PDB. Структура шин даних підтримує основні операції переміщень типу регістр-регістр, регістр-пам’ять, а також пам’ять-регістр та може передавати до трьох 16-розрядних слів в одному командному циклі. Передачі даних між шинами виконуються в пристрої порозрядного керування шинами. При читанні будь-якого регістра меншого за 16 розрядів невикористані розряди заповнюються нулями. 3) Арифметико-логічний пристрій (ALU) ALU виконує всі логічні та арифметичні операції над даними. Він складається з наступних частин: • Трьох 16-розрядних вхідних регістра (X0, Y0 та Y1) • Чотирьох 32-розрядних акумуляторних регістра (A, B, C і D) • Одного блоку помножувача-акумулятора (MAC) • Однорозрядного пристрою зсуву акумулятора • Одного багаторозрядного пристрою арифметичного та логічного зсуву • Двох 4-розрядних акумуляторних розширюючих регістра (A2 та B2) • Одного обмежувача виходу MAC • Одного обмежувача даних Арифметико-логічний пристрій допускає виконання операцій множення, множення з накопиченням (з позитивним або негативним накопиченням), додавання, віднімання, зсуву та логічних операцій за один командний цикл. Операнди, що подаються до АЛП можуть бути 16, 32 або 36-розрядними та можуть братися з вхідних регістрів, областей пам’яті, безпосередніх даних або акумуляторів. Результати отримані в АЛП зберігаються в одному з акумуляторів. Додатково, деякі арифметичні інструкції зберігають свої 16-розрядні результати в одному з трьох вхідних регістрів або примо в пам’яті 4) Блок генерування адрес (address generation unit - AGU) Блок генерування адрес (AGU) виконує всі операції обрахунків ефективних адрес та зберігання адрес. AGU працює паралельно з іншими блоками для зменшення накладки генерування адреси. Блок генерування адрес вміщує два АЛП, що дозволяє генерування двох 16-розрядних адрес за кожен командний цикл: одну для шини адрес пам’яті X1 (XAB1) або програмної шини адрес (PAB) та одну для шини адрес пам’яті X2 (XAB2). АЛП може напряму проадресувати 65,536 комірок в XAB1 або XAB2 та 65,536 комірок в PAB, він підтримує повний набір режимів адресування. Блок генерування адрес вміщує наступні регістри: • Чотири адресних регістри (R0-R3) • Вказівник на стек (SP) • Регістр зміщення (N) • Регістр модифікатора (M01) • Блок модульної арифметики • Блок інкрементування/декрементування Адресні регістри – це 16-розрядні регістри, котрі можуть містити адресу або дані. Кожен адресний регістр може містити адресу як для шини адрес пам’яті Х1 (XAB1) так і для програмної шини адрес (PAB). Регістри модифікатора та зміщення є 16-розрядними та контролюють модифікацію адресних регістрів. Регістр зміщення може також використовуватись для зберігання 16-розрядних даних. 5) Програмний контролер та блок апаратного циклу Програмний контролер виконує наступні дії: • Попередню вибірку інструкцій • Декодування інструкцій • Контролювання апаратного циклу • Обробку переривання та виключних ситуацій Програмний контролер складається з: • Блоку лічильника команд • Блоку вибірки та декодування інструкцій • Логічних схем контролю за апаратним циклом • Логічних схем контролю за перериваннями • Регістрів контролю та статусу Також всередині програмного контролера знаходиться: • Чотири доступних користувачу регістра: - Регістр циклічної адреси (LA) - Регістр лічильника циклу (LC) - Регістр статусу (SR) - Регістр режиму роботи (OMR) • Програмний лічильник (PC) • Апаратний стек (HWS) В додаток до перелічених операцій, програмний контролер контролює відображення пам’яті та режим роботи.Апаратний стек (HWS) це окремий внутрішній LIFO буфер, який складається з двох 16-розрядних слів, що зберігають адресу першої інструкції в апаратному циклі DO. Коли починається новий апаратний цикл, після виконання інструкції DO, адреса першої інструкції циклу заштовхується в вершину HWS, та встановлюється розряд LF в регістрі статусу SR. 6) Пристрій маніпулювання розрядами (bit-manipulation unit) Передача даних між внутрішніми шинами виконується в пристрої маніпулювання шиною. Пристрій маніпулювання шинами схожий на матричний перемикач та може з’єднати будь-які з трьох внутрішніх шин без вводу затримок. Це дає можливість переміщення даних з програмної пам’яті в пам’ять даних. Пристрій маніпулювання шиною використовується також для передачі даних до PGDB на пристрої, що використовують його для під’єднання до вбудованої периферії. Пристрій маніпулювання розрядами виконує операції над розрядними полями в словах пам’яті даних X, регістрах периферії, та всіх регістрах всередині ядра мікропроцесора DSP56800E. Пристрій маніпулювання розрядами допускає тестування, встановлення, очищення, або інвертування будь-яких розрядів, зазначених в 16-розрядній масці. Для інструкції “перехід по розрядному полю” (branch-on-bit-field), цей блок тестує розряди верхнього або нижнього байта 16-розрядного слова. 7) Покращений вбудований пристрій емуляції (Enhanced On-Chip Emulation unit - Enhanced OnCE) Вбудований пристрій емуляції (Enhanced OnCE) дає користувачу можливість взаємодіяти за допомогою засобів відлагодження з ядром мікропроцесора DSP56800E та його периферійними пристроями. Його можливості включають перевірку регістрів, регістрів вбудованих периферійних пристроїв або пам’яті, встановлення точок переривання в пам’яті даних або програм, а також покрокове виконання або трасування інструкцій. Вбудований пристрій емуляції забезпечує простий, дешевий та незалежний від швидкості доступ до внутрішніх блоків ядра мікропроцесора DSP56800E шляхом взаємодії з користувацьким інтерфейсом програми запущеної на робочій станції для складної відладки та економічного проектування системи. Зовнішні блоки ядра DSP56800E Пристрої на основі ядра DSP56800E містять кілька додаткових блоків пам’яті і периферійних пристроїв. Ці блоки забезпечують функціональнісь, необхідну для повної працездатної системи на одному кристалі. Блок-схему мікропроцесора 56F8323 із всіма внутрішніми периферійними вузлами подано на рис. 2.2.3. Рис. 2.2.3. Блок-схема мікропроцесора 56F8323 Program Memory (Пам’ять програм) Програмна пам’ять (RAM або ROM) може бути надана на кристалі в архітектурі DSP56800E. Шина PAB використовується для вибору адрес програмної пам’яті, вибірка інструкцій виконується через шину PDB. Запис 16-розрядних даних в програмну пам’ять виконується через шину CDBW. Таблиця векторів переривань та перезавантаження може бути будь-якого розміру та розміщена будь-де в програмній пам’яті. Розмір таблиці визначається номером периферійних пристроїв та вимогами виконуваної пристроєм задачі. Програмна пам’ять може бути розширена за межами кристалу, з максимальною адресацією 221 (2Mб) комірок (не доступно в 56F8323). Data Memory (Пам’ять даних) Вбудована на кристалі програмна пам’ять (RAM або ROM) може бути надана в архітектурі пристрою DSP56800E. Адреси в пам’яті даних вибираються по шинам XAB1 та XAB2. Передача даних розміром в байт, слово, та довге слово виконується по шинам CDBR та CDBW. Друга операція 16-розрядного читання може бути виконана паралельно по шині XDB2. Регістри периферійних пристроїв відображені в адресний простір пам’яті даних. Набір інструкцій оптимізує доступ до регістрів периферійних пристроїв за допомогою спеціального режиму периферійного адресування, котрий робить можливим зробити доступ до 64-розрядних ділянок адресного простору периферійних пристроїв більш ефективним. Типовий діапазон адрес периферійних пристроїв лежить в адресах від $00FFC0 до $00FFFF, але деякі пристрої на основі мікропроцесора DSP56800EE можуть розмістити їх будь-де в області адрес пам’яті даних. Верхні 12 комірок адресного простору периферійних пристроїв зарезервовані архітектурою системи для ядра, пріоритету переривання та для регістрів конфігурування контролю за шинами. Спеціальний режим адресації також існує для перших 64 комірок пам’яті даних. Так же як і в режимі адресації периферійних пристроїв, доступ до цих комірок може бути організований за допомогою використання одного слова, одного командного циклу. Пам’ять даних може бути розширена за межами кристалу, з максимальною адресацією 224 комірок (16Mб) (не доступно в 56F8323). Bootstrap Memory (Пам’ять для зберігання програми початкового завантаження) Пам’ять ROM для зберігання програми початкового завантаження зазвичай надається для пристроїв, що виконують програми з вбудованої пам’яті RAM а не з пам’яті ROM. Дана пам’ять використовується для завантаження прикладної програми в пам’ять RAM після сигналу Reset. Архітектура мікропроцесора DSP56800E забезпечує режим зберігання програми початкового завантаження, який вибирає інструкції з пам’яті ROM і конфігурує пам’ять RAM в режим тільки для читання. Регістр режиму роботи може бути потім перепрограмований на вибірку інструкцій з пам’яті RAM. Інтерфейс зовнішньої шини Інтерфейс зовнішньої шини в даній моделі мікроконтролера відсутній. 2.3. Реалізація в різних корпусах Мікроконтролер 56F8323 поставляється в низькопрофільному квадратному плоскому (планарному) корпусі LQFP із 64-ма виводами, напруга живлення 3.0 - 3.6 В, номінальна частота ядра 60 МГц. Випускається два варіанти даного мікропроцесора із різними дозволеними температурними режимами роботи: Звичайний діапазон від -40° до + 105° C (код для замовлення MC56F8323VFB60) Розширений діапазон від -40° до + 125° C (код для замовлення MC56F8323MFB60) Зображення корпуса подано на Рис. 2.3.1.  Рис. 2.3.1. 64-котактний LQFP-корпус 56F8323, вигляд зверху 2.4. Функціональне призначення виводів Номери, назви і призначення виводів, їх типи та стан після скиду подано в таблиці 2.4.1. Після скиду кожен вивід автоматично конфігурується на виконання своєї основної функції (записана першою). Будь-яка інша функція повинна програмуватися. Функціональне призначення виводів 56F8323 Таблиця 2.4.1  Назва сигналу Номер ніжки Тип Стан під час скиду Опис сигналу  VDD_IO 6 живлення  Живлення входів/виходів — постачає живлення 3.3V до інтерфейсу вводу/виводу, а також до ядра процесора через вбудований стабілізатор напруги, якщо він дозволений.  VDD_IO 20     VDD_IO 48     VDD_IO 59     VDDA_OSC_PLL 42 живлення  Живлення кварцового генератора і PLL — постачає 3.3V до OSC і до внутрішнього стабілізатора, що в свою чергу живить PLL. Повинно бути під’єднано до чистого аналогового джерела живлення.  VDDA_ADC 41 живлення  Живлення АЦП — постачає 3.3V до модулів АЦП. Повинно бути під’єднано до чистого аналогового джерела живлення.  VSS 11 живлення  Земля — виводи забезпечують заземлення для логіки та пристрою керування портами вводу/виводу.  VSS 17     VSS 44     VSS 60     VSSA_ADC 39 живлення  Аналогова земля АЦП — забезпечує аналогове заземлення для модулів АЦП.  VCAP1 57 живлення живлення VCAP1-4 — Коли OCR_DIS підключено до VSS (стабілізатор дозволено), треба під’єднати кожен вивід до шунтуючих конденсатторів (2.2мкФ або більше), щоб шунтувати стабілізатор напруги ядра, що вимагається для належної роботи мікросхеми. Коли OCR_DIS підключено до VDD, (стабілізатор заборонено), ці виводи стають VDD_CORE і повинні бути під’єднаними до стабілізованого джерела живлення 2.5V. Зауваження: Цей шунт потрібний, навіть якщо мікросхема живиться від зовнішнього джерела.  VCAP2 23     VCAP3 5     VCAP4 43     OCR_DIS 45   Заборона вбудованого стабілізатора — підключити цей вивід до VSS, щоб дозволити вбудований стабілізатор, до VDD — щоб заборонити його використання. Потенціял на цьому виводі повинен бути сталим. Не пробуйте перемикати цей вивід під час роботи для збереження енергії.  EXTAL 46 вхід Шмітта вхід Вхід зовнішнього кварцового генератора — вхід може бути підключено до зовнішнього генератора 8MHz. Якщо зовнішній генератор використовується, то XTAL має використовуватись як вхід і EXTAL має бути підключеним до VSS. Вхідний генератор може бути обраним для подачі сигналу прямо до ядра, а також до вбудованого PLL.  (GPIOCO)  вхід/вихід вхід Порт C GPIO — може бути незалежно запрограмовано як вхід чи вихід.  XTAL 47 вихід Шмітта вихід Вихід тактового генератора — може бути підключено до зовнішнього генератора 8MHz. Якщо зовнішній генератор використовується, то XTAL має використовуватись як вхід і EXTAL має бути підключеним до VSS.  (GPIOC1)  вхід/вихід вхід Порт C GPIO — може бути незалежно запрограмовано як вхід чи вихід.  TCK 53 вхід Шмітта вхід, вн. підтягнутий до низького рівня Вхід тестового генератора синхроімпульсів — вхід забезпечує синхроімпульси, щоб синхронізувати випробувальну логічну схему і змістити послідовні дані в порт JTAG/EOnCE. Вхід через тригер Шмітта використовується для захисту від шумів.  TMS 54 вхід Шмітта вхід, внутрішньо підтягнутий до високого рівня Вхід вибору тестового режиму — використовується щоб керувати машиною станів контролера JTAG TAP. Вибірка проводиться по зростаючому фронту TCK.  TDI 55 вхід Шмітта вхід, внутрішньо підтягнутий до високого рівня Вхід тестових даних — забезпечує ввід потоку послідовних даних до порту JTAG/EOnCE. Вибірка проводиться по зростаючому фронту TCK.  TDO 56 вихід 3-ій стан Вихід тестових даних — цей трьох-становий вихід забезпечує вивід потоку послідовних даних з порту JTAG/EOnCE. Керується станами shift-IR і shift-DR контролера і змінюється по спадаючому фронту TCK.  TRST 58 вхід Шмітта вхід, внутрішньо підтягнутий до високого рівня Тестовий скид — низький рівень на цьому вході передає сигнал скиду контролеру JTAG TAP. Щоб забезпечити повний апаратний скид, TRST треба встановлювати, щоразу, коли встановлено RESET. Єдине виключення – режим відлагодження – треба встановити RESET, але не встановлювати TRST. Щоб відключити внутрішній підтягуючий резистор, встановіть біт JTAG в регістрі SIM_PUDR.  PHASEAO 52 вхід Шмітта вхід Phase A — Квадратурний декодер 0, вхід PHASEA  (TAO)  вхід/вихід Шмітта вхід TAO — лічильник A, канал 0  (GPIOB7)  вхід/вихід Шмітта вхід Порт B GPIO — може бути незалежно запрограмовано як вхід чи вихід.  (oscillator_ clock)  вихід вихід Вивід синхроімпульсів – може використовуватись для спостерігання за синхроімпульсами внутрішнього генератора (регістр вибору CLKO, SIM_CLKOSR).  PHASEB0 51 вхід Шмітта вхід Phase B — Квадратурний декодер 0, вхід PHASEB  (TA1)  вхід/вихід Шмітта вхід TA1 — лічильник A , канал 1  (GPIOB6)  вхід/вихід Шмітта вхід Порт B GPIO — може бути незалежно запрограмовано як вхід чи вихід.  (SYS_CLK2)  вихід вихід Вивід синхроімпульсів – може використовуватись для спостерігання за внутрішнім сигналом SYS_CLK2.  INDEX0 50 вхід Шмітта вхід Index — Квадратурний декодер 0, вхід INDEX  (TA2)  вхід/вихід Шмітта вхід TA2 — лічильник A, канал 2  (GPIOB5)  вхід/вихід Шмітта вхід Порт B GPIO — може бути незалежно запрограмовано як вхід чи вихід.  (SYS_CLK)  вихід вихід Вивід синхроімпульсів – може використовуватись для спостерігання за внутрішнім сигналом SYS_CLK.  HOMEO 49 вхід Шмітта вхід Home — Квадратурний декодер 0, вхід HOME  (TA3)  вхід/вихід Шмітта вхід TA3 — лічильник A, канал 3  (GPIOB4)  вхід/вихід Шмітта вхід Порт B GPIO — може бути незалежно запрограмовано як вхід чи вихід.  (prescaler_ clock)  вихід вихід Вивід синхроімпульсів – може використовуватись для спостерігання за внутрішнім сигналом prescaler_clock  SCLKO 25 вхід/вихід Шмітта 3-ій стан Синхроімпульси SPI 0 — в режимі master, цей вивід видає синхроімпульси підпорядкованим слухачам. В режимі, це вивід служить входом для синхроімпульсів.  (GPIOB3)  вхід/вихід Шмітта вхід Порт B GPIO — може бути незалежно запрограмовано як вхід чи вихід.  MOSIO 24 вхід/вихід Шмітта 3-ій стан SPI 0 Master Out/Slave In — цей послідовний контакт даних є виходом від master-пристрою і входом для slave-пристрою. Master-пристрій встановлює дані на лінії MOSI за півтакту до фронту імпульсу, який slave-пристрій використовує, щоб закріпити дані.  (GPIOB2)  вхід/вихід Шмітта вхід Порт B GPIO — може бути незалежно запрограмовано як вхід чи вихід.  MISOO 22 вхід/ихід Шмітта вхід SPI 0 Master In/Slave Out — цей послідовний контакт даних є входом для master-пристрою і виходом від slave-пристрою. Лінія MISO slave-пристрою встановлюється у високоімпедансний стан якщо slave-пристрій не вибрано. Slave-пристрій встановлює дані на лінію MISO за пів півтакту до фронту імпульсу, який master-пристрій використовує, щоб закріпити дані.  (RXD1)  вхід Шмітта вхід Вхід приймання даних SCI1  (GPIOB1)  вхід/вихід Шмітта вхід Порт B GPIO — може бути незалежно запрограмовано як вхід чи вихід.  SSO 21 вхід Шмітта вхід SPI 0 Slave Select — SSO використовується, щоб вказати модулю SPI, що поточна передача зараз буде прийнята.  (TXD1)  вихід 3-ій стан Вихід передачі даних — SCI1  (GPIOBO)  вхід/вихід Шмітта вхід Порт B GPIO — може бути незалежно запрограмовано як вхід чи вихід.  PWMAO 3 вихід 3-ій стан PWMAO — це 1 з 6 виходів PWMA.  (GPIOAO)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  PWMA1 4 вихід 3-ій стан PWMA1 — це 1 з 6 виходів PWMA.  (GPIOA1)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  PWMA2 7 вихід 3-ій стан PWMA2 — це 1 з 6 виходів PWMA.  (SS1)  вхід Шмітта вхід SPI1 Slave Select — використовується, щоб вказати модулю SPI, що передача зараз буде прийнята.  (GPIOA2)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  PWMA3 8 вихід 3-ій стан PWMA3 — це 1 з 6 виходів PWMA.  (MIS01)  вхід/вихід Шмітта вхід SPI1 Master In/Slave Out — цей послідовний контакт даних є входом для master-пристрою і виходом від slave-пристрою. Лінія MISO slave-пристрою встановлюється у високоімпедансний стан якщо slave-пристрій не вибрано. Slave-пристрій встановлює дані на лінію MISO за пів півтакту до фронту імпульсу, який master-пристрій використовує, щоб закріпити дані.  (GPIOA3)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  PWMA4 9 вихід 3-ій стан PWMA4 — це 1 з 6 виходів PWMA.  (MOSI1)  Шмітта вхід/вихід 3-ій стан SPI1 Master Out/Slave In — цей послідовний контакт даних є виходом від master-пристрою і входом для slave-пристрою. Master-пристрій встановлює дані на лінії MOSI за півтакту до фронту імпульсу, який slave-пристрій використовує, щоб закріпити дані.  (GPIOA4)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  PWMA5 10 вихід 3-ій стан PWMA5 — це 1 з 6 виходів PWMA.  (SCLK1)  вхід/вихід Шмітта вхід SPI1 Serial Clock — в режимі master, цей вивід видає синхроімпульси підпорядкованим слухачам. В режимі, це вивід служить входом для синхроімпульсів.  (GPIOA5)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  FAULTAO 13 вхід Шмітта вхід FAULTAO — цей вхід збою використовується для відключення вибраних виходів PWMA у випадках, коли in збій відбувся поза мікросхемою.  (GPIOA6)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  FAULTA1 14 вхід Шмітта вхід FAULTA1 — цей вхід збою використовується для відключення вибраних виходів PWMA у випадках, коли збій відбувся поза мікросхемою.  (GPIOA7)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  FAULTA2 15 вхід Шмітта вхід FAULTA2 — цей вхід збою використовується для відключення вибраних виходів PWMA у випадках, коли in збій відбувся поза мікросхемою.  (GPIOA8)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  ISA0 16 вхід Шмітта вхід ISAO — цей контакт поточного стану ніжки використовується для корекції ширини нижніх/верхніх імпульсів у додатковому режимі роботи каналу для PWMA.  (GPIOA9)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  ISA1 18 вхід Шмітта вхід ISA1 — цей контакт поточного стану ніжки використовується для корекції ширини нижніх/верхніх імпульсів у додатковому режимі роботи каналу для PWMA.  (GPIOA10)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  ISA2 19 вхід Шмітта вхід ISA2 — цей контакт поточного стану ніжки використовується для корекції ширини нижніх/верхніх імпульсів у додатковому режимі роботи каналу для PWMA.  (GPIOA11)  вхід/вихід Шмітта вхід Порт A GPIO — може бути незалежно запрограмовано як вхід чи вихід.  ANAO 26 вхід вхід ANA0 - 3 — аналогові входи АЦП ADCA, канал 0.  ANA1 27     ANA2 28     ANA3 29     ANA4 30 вхід вхід ANA4 - 7 — аналогові входи АЦП ADCA, канал 1.  ANA5 31     ANA6 32     ANA7 33     VREFH 40 вхід Шмітта вхід VREFH — висока аналогова опорна напруга.  VREFP 37 вхід/вихід вхід/ вихід VREFP, VREFMID і VREFN — внутрішні виводи для опорної напруги, виведені назовні для можливості їх шунтування. Під’єднати до керамічного ESR-конденсатора 0.1 нФ.  VREFMID 36     VREFN 35     VREFLO 38 вхід Шмітта вхід VREFLO — низька аналогова опорна напруга. Звичайно повинно під’єднуватись до низько-шумової землі VSS.  TEMP_ SENSE 34 вихід вихід Температурний сенсор діод — цей вивід підключено до внутрішнього термодіода, що може підключатися до одного з входів АЦП і використовуватись для спостерігання за температурою кристалу. Повинен шунтуватися конденсатором 0.01 нФ  CAN_RX 61 вхід Шмітта вхід Приймання даних FlexCAN — це вхід CAN. Цей вхід має внутрішній.  (GPIOC2)  вхід/вихід Шмітта вхід Порт C GPIO — може бути незалежно запрограмовано як вхід чи вихід.  CAN_TX 62 вихід 3-ій стан FlexCAN передача даних — вихід CAN.  (GPIOC3)  вхід/вихід Шмітта вхід Порт C GPIO — може бути незалежно запрограмовано як вхід чи вихід.  TCO 1 вхід/вихід Шмітта вхід TCO — лічильник C, канал 0.  (TXDO)  вхід 3-ій стан Вихід передачі даних SCIO.  (GPIOC6)  вхід/вихід Шмітта вхід Порт C GPIO — може бути незалежно запрограмовано як вхід чи вихід.  TC1 64 вхід/вихід Шмітта вхід TC1 — лічильник C, канал 1.  (RXDO)  Шмітта вхід вхід Вхід приймання даних SCIO.  (GPIOC5)  вхід/вихід Шмітта вхід Порт C GPIO — може бути незалежно запрограмовано як вхід чи вихід.  TC3 63 вхід/вихід Шмітта вхід TC1 — лічильник C канал 3.  (GPIOC4)  вхід/вихід Шмітта вхід Порт C GPIO — може бути незалежно запрограмовано як вхід чи вихід.  IRQA 12 вхід Шмітта вхід Запит на зовнішнє переривання A — вхід IRQA є асинхронним запит на зовнішнє переривання у режимах Stop і Wait. У інших режимах роботи, вхід є синхронізованим і показує, що зовнішній пристрій вимагає обслуговування. Він може бути перепрограмованим на чутливість до рівнів сигналу, або на спрацювання по задньому фронту.  (VPP)  вхід н/д VPP — для відлагодження Flash-пам’яті.  RESET 2 вхід Шмітта вхід Reset — цей вхід є прямим апаратним скидом процесора. Коли RESET встановлюється у низький рівень, пристрій ініціалізується і встановлюється у стан скиду. Вхід через тригер Шмітта використовується для захисту від шумів. Внутрішній сигнал скиду буде знято синхронно з внутрішніми синхроімпульсами після встановленого числа імпульсів. Щоб забезпечити повний апаратний скид, RESET і TRST повинні встановлюватись разом. Єдине виключення – режим відлагодження, необхідний апаратний скид пристрою, але модуль JTAG/EOnCE скидати не потрібно. В цьому випадку треба встановити RESET, а...
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!