Мікропроцесорні системи

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

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

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

Рік:
2003
Тип роботи:
Курсова робота
Предмет:
Інші
Група:
СКС – 41

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ІНСТИТУТ КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ при Національному університеті "Львівська політехніка" кафедра Електронних Обчислювальних Машин  Курсова робота Мікропроцесорні системи DSP56F827 Зміст Завдання ..........................................................................................................................3 Основні характеристики процесора .............................................................................4 Короткий огляд...............................................................................................................6 Ядро цифрової обробки сигналів .............................................................................6 Пам'ять .......................................................................................................................7 Периферійні схеми для DSP56F827.........................................................................7 Технічні дані.................................................................................................8 Живлення....................................................................................................................8 “Найкраще в класі” Середовище розробки..................................................................10 Опис сигналів/ліній........................................................................................................11 Цоколівка корпуса мікросхеми.....................................................................................16 Вузол синхронізації........................................................................................................18 Вузол ресет......................................................................................................................18 Часові діаграми вузлів процесора.................................................................................20 Програма початкової ініціалізації.................................................................................22 Список використаної літератури..................................................................................27 ЗАВДАННЯ Потрібно спроектувати мікро-ЕОМ з наступними параметрами: 1. Тип мiкропроцесора – МС68330 фірми Motorola; 2. Постiйна пам’ять: 8x32kb; 3. Пiдсистема вводу-виводу: послідовний інтерфейс RS-232. Необхідно привести схему електричну функціональну та принципову, а ткож програму початкової ініціалізації. DSP56F827 Технічні дані DSP56F827 Цифровий сигнальний 16 бітний процесор • До 40 мільйонів команд за сек. при 80MHz • DSP та MCU функціональні можливості об’єднанні, C-подібна архітектура • Апаратно реалізовані DO та REP цикли • 64 КБ * 16 біт програмна флеш пам’ять • 1 КБ *16 біт програмна RAM пам’ять • 4 КБ * 16 біт флеш пам’ять даних • 4 КБ * 16 біт RAM пам’ять даних • До 64 КБ * 16 біт зовнішня пам’ять для програм та даних • JTAG/OnCE ™ для відлагодження • Таймер для загальних цілей • набір MCU- інструкцій підтримує DSP та контролер функцій: MAC, модуль операцій над бітами, 14 способів адресації. • 8 канальний програмований вибір кристалу • 10 канальний ADC на 12 біт • Синхронний послідовний інтерфейс (SSI) • Послідовний інтерфейс (SPI) • Послідовний комунікаційний інтерфейс (SCI) • (TOD) Таймер • 128 LQFP корпус  Частина 1 Короткий Огляд 1.1 DSP56F827 Особливості 1.1.1 Ядро цифрової обробки сигналів • Ефективний 16 бітний процесор сімейства DSP56800 з подвійною Гарвардською архітектурою. • 40 мільйонів команд в секунду (MIPS) при 80MHz • 16 16-розрядних паралельних суматорів (MAC) • Два суматора на 36 бітів, включаючи біти розширення • 16-розрядний двонаправлений зсувач • Паралельна система команд с унікальними способами адресації • Апаратно реалізовані DO та WHILE цикли • Три внутрішніх адресних шини і одна зовнішня адресна шина • Чотири внутрішніх шини даних і одна зовнішня шина даних • Система команд підтримує і функції контролера та відключені пристрої • різні способи адресації для компактного коду • Ефективний C компілятор та місцева підтримка • Кількість та глибина переривань обмежується тільки розміром пам’яті • JTAG/OnCE відлагодження, програмований інтерфейс 1.1.2 Пам’ять • Гарвардська архітектура надає можливість трьох одночасних доступів до програм та даних • пам’ять, має низьку ціну, великий об’єм та багато разів можна перепрограмувати — Пам’ять програм 64К — Оперативна пам’ять програм 1К — Оперативна пам’ять даних 4К — Пам'ять даних 4К • можливість розширення пам’яті зовні кристалу, програмовану для 0, 4, 8, або 12 станів очікування — 64 K пам’яті даних — 64 K пам’яті програм 1.1.3 Периферійні схеми для DSP56F827 • 10 канальний АЦП • універсальний таймер • послідовний інтерфейс з портом на чотири мультиплексованих входи-виходи • три послідовних інтерфейси передачі даних з 2 виходами кожен (або 6 додаткових GPIO виходів) • два послідовних інтерфейси з портом на чотири виходи, реконфігурований (або 4 додаткових GPIO виходи) MOTOROLA DSP56F827 Технічні дані • Один синхронний послідовний інтерфейс на 6 ліній (або 6 додаткових GPIO ліній) • Один 8 канальний програмований вибір кристалу • 16 спеціалізованих и 48 мультиплексованих GPIO лінії (64загальна кількість) • Система слідкування за коректною роботою процесора • Дві зовнішні лінії переривань • Зовнішня лінія reset для апаратного reset • JTAG/On-Chip емуляція, незалежне та швидке від лагодження • Програмно програмований, система блокування циклів • Цифрові виходи сумістимі з ТТЛ рівнями та 5V • Таймер реального часу 1.1.4 Живлення • подвійне енергоживлення 3.3V та 2.5V • Сплячий та Multiple Stop режими 1.2 DSP56F827 Опис DSP56F827 - член DSP56800 сімейства на основі ядра DSP. Сукупності пристроїв на одному кристалі, великі можливості обробки відключення пристроїв та функціональних можливостей мікро контролера з гнучким набором периферійних пристроїв для створення найбільш рентабельних рішень в універсальних пристроях. Низька ціна та гнучкість конфігурації з компактним кодом програми, DSP56F827 - пристойний процесор для задач типу: шумове подавлення, читання сигналів звукові датчики, пристрої систем захисту, віддалене вимірювання, звукові сигналізації та телефонія. Ядро DSP56800 розроблено на основі Гарвардської архітектури, що дозволяє виконувати шість операцій в секунду. Система команд ефективна для використання С/C++ компілятора, що забезпечує швидкий розвиток оптимізованих програм для керування процесором. Програма може знаходитись в пам’яті процесора, так і в зовнішній пам’яті. Також є дві спеціалізовані лінії переривань і до 64 універсальних вводів-виводів (GPIO), в залежності від конфігурації. 1.3 “Найкраще в класі” Середовище розробки SDK (Комплект розробки програмного забезпечення) забезпечує повністю готовими та відлагодженими драйверами бібліотеками та інтерфейсами, це дозволяє програмістам створювати унікальні програмні продукти з кодонезалежною архітектурою. CodeWarrior - Інтегроване середовище обробки – складний перенесення коду, компілювання та від лагодження. Закінчений набір модулів (EVMs) і плат системи розробки програм підтримує паралельну роботу. Разом, SDK, CodeWarrior та EVMs створюють закінчене, масштабоване рішення інструментальних засобів для простого, швидкого та ефективного розвитку. Частина 2. Опис сигналів/ліній 2.1 Вступ Вхідні та вихідні сигнали процесора DSP56F827 об’єднанні у функціональні групи, яке показано в таблиці 1 та проілюстровано на малюнку 2. Таблиця 1. Функціональні групи ліній Функціональна група Кількість ліній  Живлення (VDD, VDDIO, VDDA or VDDA_ADC) 3,5,1,1  Земля (VSS, VSSIO, VSSA or VSS_ADC) 3,5,1,1  VPP (ця лінія повинна бути від’єднана як відкрите коло для нормального функціонування) 1  PLL і таймер 3  Шина адреси 16  Шина керування 4  Переривання та Керування програмою 5  визначені входи/виходи загального користування 16  Порт синхронного послідовного інтерфейсу (SSI) 6  Послідовний периферійний інтерфейс (SPI) 4  Послідовний інтерфейс зв’язку1 (SCIO, SCI1) 4  Послідовний інтерфейс зв’язку2 (SCIO, SCI1) 2  Чотирьох канальний порт таймера 4  JTAG/On-Chip Симуляція (OnCE) 6  Цифровий та аналоговий перетворювач(ADC) 15  Програмований вибір кристалу(PCS) 6   2.2 Сигнали і Корпус Всі входи мають внутрішні підсилювачі, які асоціюються з ними. Ці підсилювачі завжди є. Виключення: Коли лінія означена, як GPIO, то тоді підсилювач може бути вимкнений програмно. TCK має такий підсилювач завжди активний. Таблиця 2. інформація про сигнали та корпус DSP56F827. Імя сигналу Номер ліній Тип Опис  VDD 116 VDD Живлення – ця лінія забезпечує живлення внутрішньої структури кристалу і приєднується вона до 2.5 вольт  VDD 81 VDD   VDD 19 VDD   VSS 115 VSS GND – Ці лінії забезпечують заземлення внутрішніх структур кристалу. Всі лінії повинні приєднуватись до VSS  VSS 80 VSS   VSS 20 VSS   VDDIO 113 VDDIO Живлення входів/виходів – ці лінії забезпечують живлення структур входів/виходів на кристалі і звичайно приєднані до живлення 3.3 вольта.  VDDIO 82 VDDIO   VDDIO 56 VDDIO   VDDIO 29 VDDIO   VDDIO 4 VDDIO   VSSIO 114 VSSIO GND входів/виходів – ці лінії забезпечують заземлення I/O кіл на кристалі. Всі повинні бути приєднанні до VSS  VSSIO 83 VSSIO   VSSIO 58 VSSIO   VSSIO 30 VSSIO   VSSIO 5 VSSIO   VDDA 62 VDDA Аналогове живлення – ця лінія є визначена як лінія для аналогової частини кристалу і повинна бути приєднана до живлення 3.3 вольта з низькими завадами  VSSA 61 VSSA Аналогове заземлення – ця лінія забезпечує заземлення аналогового живлення.  VDDA_ADC 69 VDDA Аналогове живлення – ця лінія є визначена як лінія для аналогової частини модуля АЦП і повинна бути приєднана до живлення 3.3 вольта з низькими завадами  VSSA_ADC 63 VSSA Аналогове заземлення – ця лінія забезпечує заземлення аналогового живлення в модулі АЦП.  VPP 90 Input Vpp – ця лінія повинна бути роз’єднана, як відкрите коло для нормальної функціональності.  EXTAL 59 Input  вихід( що подає тактові імпульси на зовнішні мікросхеми( Якщо використовується зовнішній тактовий генератор( то вихід TAL не задіяний(  XTAL 60 OutPut вихід тактових імпульсів( Якщо використовується внутрішній подільник частоти (PLL)( то частота на CLKOUT в загальному випадку рівна частоті на вході EXTAL( а якщо ні( то половині частоти EXTAL(  CLOCKIN  Input Ця лінія повинна використовуватись, коли використовується зовнішній годинник.  CLKO 57 OutPut Ця лінія виводить буферизований сигнал годинника. Запрограмувавши CLKO регістр, користувач може вибрати який сигнал буде виводитись, XTAL чи сигнал з пристрою DSP. Частота на цій лінії може бути нульовою, якщо так запрограмувати.  A0 (GPIOA0) 21 OutPut Адресна шина, 16 використовується, для доступу до даних або програм в зовнішній пам’яті GPIO – Запрограмувавши, можна використовувати, як вхідні так і вихідні лінії.  A1 (GPIOA1) 22    A2 (GPIOA2) 23    A3 (GPIOA3) 24    A4 (GPIOA4) 25    A5 (GPIOA5) 26    A6 (GPIOA6) 27    A7 (GPIOA7) 28    A8 (GPIOA9) 29    A15 (GPIOA15) 38 Input/Output   D0 (GPOIG0) 125 Input/Output Шина даних, 16 трьох станова. Для прийому/передачі даних від процесора і до нього GPIOG – лінії загального користування можуть програмуватись за потребами користувача.  D1 (GPOIG1) 126    D2 (GPOIG2) 127    D3 (GPOIG4) 1    D5 (GPOIG5) 2    D6 (GPOIG6) 3    D7 (GPOIG7) 4    D8 (GPOIG8) 5    D9 (GPOIG9) 6    D10 (GPOIG10) 7    D11 (GPOIG11) 8    D12 (GPOIG12) 9    D13 (GPOIG13) 10    D15 (GPOIG15) 14    AA0-AA3/ 56-60  додаткові адресні лінії статичної (АА) або лінії регенерації (строб рядка ) динамічної пам(яті   68  дозвіл читання даних з зовнішньої пам(яті(   94  дозвіл запису даних у зовнішню пам(ять(  - 98  вхід підтвердженя прийому даних( які передавались через зовнішню шину процесора зовнішніми пристроями  SC00 38  при асинхронному режимі цей сигнал використовується як вхід генератора прийому, а при синхронному- або як вихід передавача 1, або для прапорця 0.  PC0 39  по замовчуванню це сигнал PC0 групового порту вводу- виводу. Напрям передачі визначається регістром напрямків передачі (PRR0), а запрограмувати цю лінію як SC00 можна за допомогою регістра контролю портів (PCR0).  SC01 45  при асинхронному режимі цей сигнал використовується як вхід кадра синхронізації вводу-виводу, а при синхронному- або як вихід передавача 2, або для прапорця 1.  PC1 56  по замовчуванню це сигнал PC1 групового порту вводу- виводу. Напрям передачі визначається регістром напрямків передачі (PRR0), а запрограмувати цю лінію як SC01 можна за допомогою регістра контролю портів (PCR0)  SC02 48  використовуэться для кадру синхронізації вводу- виводу (в синхронному режимі для передавача і приймача, а в асинхронному- тільки для передавача.). При передачі даних через цю ніжку мікросхеми кадр видається назовні, а при прийомі- приймається ззовні  PC2 78  по замовчуванню це сигнал PC2 групового порту вводу- виводу. Напрям передачі визначається регістром напрямків передачі (PRR0), а запрограмувати цю лінію як SC02 можна за допомогою регістра контролю портів (PCR0).  SCK0 69  цей сигнал є входом або виходом тактового генератора побітового прийому або передачі даних.Причому частота системного тактового генератора має бути втричі більша, ніж частота SCK0.  PC3 55  по замовчуванню це сигнал PC3 групового порту вводу- виводу. Напрям передачі визначається регістром напрямків передачі (PRR0), а запрограмувати цю лінію як SCK0 можна за допомогою регістра контролю портів (PCR0).  SRD0 33  вхід послідовного прийому даних  PC4 69  по замовчуванню це сигнал PC4 групового порту вводу- виводу. Напрям передачі визначається регістром напрямків передачі (PRR0), а запрограмувати цю лінію як SRD0 можна за допомогою регістра контролю портів (PCR0).  STD0 34  вихід послідовної передачі даних  PC5 49  по замовчуванню це сигнал PC5 групового порту вводу- виводу. Напрям передачі визначається регістром напрямків передачі (PRR0), а запрограмувати цю лінію як STD0 можна за допомогою регістра контролю портів (PCR0).   Цоколівка корпуса мікросхеми(  Вузол синхронізації DSP56F827 має вбудовану систему фазової автопідстройки частоти (PLL) і систему керованого живлення внутрішнього генератора (VCO). Внутрішній генератор використовує кварц, під’єднаний до виводів EXTAL і XTAL. На рисунку 14 зображена схема під’єднання вузла синхронізації.  Рисунок 14 – Схема підключення вузла синхронізації 5.2 Вузол формування сигналу RESET МС68330 виконує операцію початкового скидання автоматично, при ввімкнені живлення і посилає сигнал RESET всій системі. Ця операція носить назву “power-on-reset”, діаграма її виконання зображена на рисунку 16. Так як підчас скиду виконується вибір джерела тактування мікроконтролера (вхід MODCK), то для забезпечення тактування внутрішнім генератором на цей вхід подається високий рівень.  Рисунок 16 – Виконання операції RESET Для виконання „ручного” скиду мікроконтролера достатньо лише під’єднати до входу RESET відповідний перемикач. Після надходження низького рівня сигналу RESET внутрішня логіка мікроконтролера утримує RESET в такому стані на протязі 512 циклів для забезпечення повного скиду системи. RESET має найвищий пріоритет з усіх переривань і перериває будь-яку операцію, що виконується. Операція скидання виконує наступні дії: Скидає біти Т0 і Т1 в регістрі SR для заборони трасування; Встановлює S-біт в регістрі SR для переходу в привілейований режим; Встановлює маску переривань на найвищий рівень (111h); Скидає регістр VBR в 00000000h; Генерує номер переривання, що відповідає сигналу RESET; Завантажує перше довге слово за адресою 00000000h в регістр SP; Завантажує друге довге слово за адресою 00000004h в регістр РС; Вибирає і виконує першу команду за адресою, вказаною в лічильнику команд РС. 5.3 Під’єднання зовнішньої пам’яті Підключення зовнішньої пам’яті є досить простим, при використанні програмованих ліній вибору кристалів. В цьому випадку відпадає необхідність в декодуванні адреси і розмірності даних. В розробляємому мікрокомп’ютері використовується дві мікросхеми RAM 8х32kb (М62256). Таким чином буде реалізовано 32kb 16-розрядних слів оперативної пам’яті. Процеси читання та запису з зовнішньої пам’яті відображені на рисунках 18 і 19, відповідно. Часові діаграми RESET   Часові діаграми переривань Часові діаграми роботи шини даних і шини адрес  Часові діаграми роботи флеш - пам’яті  Часові діаграми JTAG - тестування  Лістінг програми початкової ініціалізації мікро- ЕОМ( BOOT equ $D00000 ; this is the location in P memory AARV equ $D00409 ; AAR1 selects the EPROM as CE~ M_SSR EQU $FFFF93 ; SCI Status Register M_STXL EQU $FFFF95 ; SCI Transmit Data Register (low) M_SRXL EQU $FFFF98 ; SCI Receive Data Register (low) M_SCCR EQU $FFFF9B ; SCI Clock Control Register M_SCR EQU $FFFF9C ; SCI Control Register M_PCRE EQU $FFFF9F ; Port E Control register M_AAR1 EQU $FFFFF8 ; Address Attribute Register 1 M_HPCR EQU $FFFFC4 ; Host Polarity Control Register M_HSR EQU$FFFFC3; Host Status Register M_HRX EQU$FFFFC6; Host Receive Register HRDF EQU$0 ; Host Receive Data Full HF0 EQU$3 ; Host Flag 0 HEN EQU$6 ; Host Enable ORG PL:$ff0000,PL:$ff0000 ; bootstrap code starts at $ff0000 START clr a #$0a,X0 ; clear a and load X0 with constant 0a0000 jclr #2,omr,EPRSCILD ; If MC:MB:MA=0xx, go load from EPROM/SCI jclr #1,omr,OMR1IS0; IF MC:MB:MA=10x, go to look for ISA/HC11 options jclr #0,omr,I8051HOSTLD ; If MC:MB:MA=110, go load from 8051 Host jmp MC68302HOSTLD ; If MC:MB:MA=111, go load from MC68302 Host OMR1IS0 jset #0,omr,HC11HOSTLD ; If MC:MB:MA=101, go load from HC11 Host ; If MC:MB:MA=100, go load from ISA HOST ;============================================================================= ISAHOSTLD movep #%0101000000011000,x:M_HPCR; керуюче слово bra <HI08CONT ;============================================================================= HC11HOSTLD movep #%0000001000011000,x:M_HPCR( керуюче слово ;============================================================================= I8051HOSTLD movep #%0001110000011110,x:M_HPCR( керуюче слово bra <HI08CONT ;============================================================================= MC68302HOSTLD movep #%0000000000111000,x:M_HPCR( керуюче слово ;============================================================================= HI08CONT bset #HEN,x:M_HPCR ; Enable the HI08 to operate as host jclr #HRDF,x:M_HSR,* ; wait for the program length to be written movep x:M_HRX,a0 jclr #HRDF,x:M_HSR,* ; wait for the program starting address to be written movep x:M_HRX,r0 move r0,r1 do a0,HI08LOOP ; set a loop with the downloaded length counts HI08LL jset #HRDF,x:M_HSR,HI08NW ; If new word was loaded then jump to read that word jclr #HF0,x:M_HSR,HI08LL ; If HF0=0 then continue with the downloading enddo ; Must terminate the do loop bra <HI08LOOP HI08NW movep x:M_HRX,p:(r0)+ ; Move the new word into its destination location in the ;program RAM HI08LOOP bra <FINISH ;======================================================================== EPRSCILD jclr #1,omr,EPROMLD ; If MC:MB:MA=001, go load from EPROM ;======================================================================== SCILD movep #$0302,X:M_SCR ; Configure SCI Control Reg movep #$C000,X:M_SCCR ; Configure SCI Clock Control Reg movep #7,X:M_PCRE ; Configure SCLK, TXD and RXD do #6,_LOOP6 ; get 3 bytes for number of jclr #2,X:M_SSR,* ; Wait for RDRF to go high movep X:M_SRXL,A2 ; Put 8 bits in A2 jclr #1,X:M_SSR,* ; Wait for TDRE to go high movep A2,X:M_STXL ; echo the received byte asr #8,a,a _LOOP6 move a1,r0 ; starting address for load move a1,r1 ; save starting address do a0,_LOOP7 ; Receive program words do #3,_LOOP8 jclr #2,X:M_SSR,* ; Wait for RDRF to go high movep X:M_SRXL,A2 ; Put 8 bits in A2 jclr #1,X:M_SSR,* ; Wait for TDRE to go high movep a2,X:M_STXL ; echo the received byte asr #8,a,a _LOOP8 movem a1,p:(r0)+ ; Store 24-bit result in P mem. _LOOP7 bra <FINISH ; Boot from SCI done ;======================================================================== EPROMLD move #BOOT,r2 ; r2 = address of external EPROM movep #AARV,X:M_AAR1 ; aar1 configured for SRAM types of access do #6,_LOOP9 ; read number of words and starting address movem p:(r2)+,a2 ; Get the 8 LSB from ext. P mem. asr #8,a,a ; Shift 8 bit data into A1 _LOOP9 ; move a1,r0 ; starting address for load move a1,r1 ; save it in r1 ; a0 holds the number of words do a0,_LOOP10 ; read program words do #3,_LOOP11 ; Each instruction has 3 bytes movem p:(r2)+,a2 ; Get the 8 LSB from ext. P mem. asr #8,a,a ; Shift 8 bit data into A1 _LOOP11 ; Go get another byte. movem a1,p:(r0)+ ; Store 24-bit result in P mem. _LOOP10 ; and go get another 24-bit word. ; Boot from EPROM done ;======================================================================== FINISH ; This is the exit handler that returns execution to normal ; expanded mode and jumps to the RESET vector. andi #$0,ccr ; Clear CCR as if RESET to 0. jmp (r1) ; Then go to starting Prog addr. Список використаної літератури 1( Конспект лекцій з курсу “Мікропроцесорні системи”( 2( “Интегральные микросхемы”( Справочник под ред( Б( В( Тарабрина(- М(( Радио и связь(1984 г( 3( Інструкція до лабораторної роботи № 4 з курсу “Мікропроцесорні системи”( 4( Конспект лекцій з курсу “Схемотехніка ЕОМ”( 5( Конспект лекцій з курсу “Периферійні пристрої та механізми обчислювальних систем”( 6( Конспект лекцій з курсу “Аналогово-цифрові засоби відбору та передачі інформації”(
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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