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

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

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

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

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

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

Міністерство освіти та науки України Національний університет “Львівська політехніка” Курсова робота з предмету: “Мікропроцесорні системи” тема: “Проектування мікрокомп’ютера” Виконав: студент групи Перевірив: Львів – 2004 Зміст  TOC \o "1-3" \h \z \u  HYPERLINK \l "_Toc73906059" 1. Загальні відомості про процесор PIC16C765  PAGEREF _Toc73906059 \h 3  HYPERLINK \l "_Toc73906060" 1.1. Основні характеристики PIC16С765 [3]:  PAGEREF _Toc73906060 \h 3  HYPERLINK \l "_Toc73906061" 1.2. Загальний опис  PAGEREF _Toc73906061 \h 4  HYPERLINK \l "_Toc73906062" 1.3. Призначення виводів  PAGEREF _Toc73906062 \h 7  HYPERLINK \l "_Toc73906063" 1.4. Організація пам'яті  PAGEREF _Toc73906063 \h 10  HYPERLINK \l "_Toc73906064" 1.5. Периферія процесора  PAGEREF _Toc73906064 \h 11  HYPERLINK \l "_Toc73906065" 2. Опис схеми електричної функціональної та основних режимів функціонування.  PAGEREF _Toc73906065 \h 13  HYPERLINK \l "_Toc73906066" 2.1. Загальна схема системи  PAGEREF _Toc73906066 \h 13  HYPERLINK \l "_Toc73906067" 2.2. Формування магістралі адреси та даних  PAGEREF _Toc73906067 \h 13  HYPERLINK \l "_Toc73906068" 2.3. Підключення зовнішнього пристрою  PAGEREF _Toc73906068 \h 14  HYPERLINK \l "_Toc73906069" 3. Опис схеми електричної принципової по вузлах з часовими діаграмами в основних режимах функціонування.  PAGEREF _Toc73906069 \h 15  HYPERLINK \l "_Toc73906070" 3.1 Вузол синхронізації  PAGEREF _Toc73906070 \h 15  HYPERLINK \l "_Toc73906071" 3.2. Вузол початкового скидання  PAGEREF _Toc73906071 \h 16  HYPERLINK \l "_Toc73906072" 3.3. Послідовний інтерфейс  PAGEREF _Toc73906072 \h 17  HYPERLINK \l "_Toc73906073" 3.4. Підключення зовнішнього пристрою  PAGEREF _Toc73906073 \h 19  HYPERLINK \l "_Toc73906074" 4. Програма початкового завантаження  PAGEREF _Toc73906074 \h 21  HYPERLINK \l "_Toc73906075" 4.1. Блок-схема алгоритму  PAGEREF _Toc73906075 \h 21  HYPERLINK \l "_Toc73906076" 4.2. Текст програми  PAGEREF _Toc73906076 \h 22  Додаток 1. Перелік елементів Лист 1. Схема електрична функціональна Лист 2. Схема електрична принципова 1. Загальні відомості про процесор PIC16C765 1.1. Основні характеристики PIC16С765 [3]: Вископродуктивний RISC-процесор; Усього 35 простих для вивчення односкладових інструкції Всі інструкції виконуються за один такт, окрім інструкцій переходу, що виконуються за два такти Підтримує переривання (12 внутрішніх та зовнішніх джерел) Пам’ять програм 8К Пам’ять даних 256 байт 8-рівневий апаратний стек пряма, непряма та відносна адресація скидання при завантаженні (power on Reset) таймер для початкового завантаження (Power up timer) та таймер початку роботи осцилятора (oscillator start-up timer) Сторожовий таймер (WDT) з власним вбудованим RC- генератором для підвищення надійності роботи Програмований захист коду Різні програмовані режими роботи осцилятора Зовнішня 24МГц Зовнішня з PLL 6МГц Кристал/резонатор 24МГц Кристал/резонатор з PLL 6МГц енегргозберігаючий режим очікування Sleep повністю статична, високошвидкісна CMOS послідовний програмований інтерфейс І2С Низьке споживання енергії Периферія: Універсальна послідовна шина USB 64байти пам’яті порту USB 33 лінії для вводу-виводу 3 таймера-лічильника: timer0 – 8-бітний таймер-лічильник timer1 – 16-бітний таймер-лічильник. Може бути задіяний зовнішнім генератором в режимі очікування timer2 – 8-бітний таймер-лічильник 8-бітний багатоканальний АЦП універсальний асинхронний приймач-передавач (UART) паралельний порт, який працює в режимі SLAVE, з зовнішніми керуючими сигналами 1.2. Загальний опис Процесор є дешевим, високопродуктивним, повністю статичним. Всі процесори РІС виконані на RISC-архітектурі. Розділені потоки інструкцій та даних (процесор побудовано на Гарвардській архітектурі) дозволяють одночасно пересилати 14-бітні інструкції з 8-бітними даними. Більший набір регістрів загального ризначення надає нові можливості по підвищенні продуктивності процесора [4]. Універсальна послідовна шина надає можливість з’єднання між шинами. Процесор містить 8-бітний АЦП, що надає можливість його виокристання в побудові дешевого аналогового інтерфейсу (термостатичний контроль, контроль тиску, тощо). Процесор має спеціальні можливості для того щоб зменшити пристуність зовнішніх компонент та зменшити схемну надлишковість. Це надає змогу підвищити надійність схеми. Режим очікування потрібний для економїї енергії. Користувач може “розбудити” процесор з режиму очікування через зовнішнє переривання а бо апаратне скидання. Процесор містить таймери Watchdog Таймер (WDT). Watchdog Таймер включає свій власний вбудований RC- сцилятор, що надає захист проти програмного зависання.  Рис. 1 – Структурна схема мікроконтролера Як вже було зазначено процесор використовує Гарвардську архітектуру, в якій програми ті код зберігаються окремо і використовують окремі шини. Це дозволяє розширити програмну перепускну здатність системи порівняно із нейманівською архітектурою, в якій програми та дані витягуються з одної пам’яті, використовуючі ожні й ту саму шину. Розділення пам’яті програм та даних дозволяє інструкціям мати розрядність іншу від 8-біт. Коди інструкцій є 14-розрядними, що дозволяє бути всім існтрукціям однослівними. З 14-бітної програмної пам’яті витягується одна інструкція за цикл. За другий цикл інструкцяя виконується. Інструкції виконуються конвеєром. Схема його роботи зображена на рисунку 2.  Рис. 2 – Конвейр програм Більшість інструкцій виконується за 1 цикл – 166,666нс при частоті 24МГц (за винятком переходів). Процесор може прямо та непрямо адресувати регістровий файл та пам’ять даних. Всі спеціальні регістри, включаючи програмний лічильник відображаються в пам’яті, тобто до них є доступ. PIC16С558 містить 8-біт ALU і робочий регістр. ALU є арифметичним пристроєм загального призначення. Він виконує арифметичні і логічні операції над даними в робочому регістрі і будь-яким регістровим файлом. ALU може виконувати додавання, віднімання, зсуви, і логічні операції. Як правило в арифметичній інструкції приймають участь два-операнди, один операнд – робочий регістр (W регістр). Інший операнд є регістровий файл або константа. В інструкції з одним операндом, операнд є або W-регістр або регістровий файл. W-регістр є 8-бітним [3]. Його не можна адресувати. Залежно від виконаної інструкції, ALU може вплинути на значення бітів у регістрі прапорців (C, DC, Z). 1.3. Призначення виводів  Рис. 3 – Умовне графічне зображення процесора РІС16С65 Таблиця 1 – Призначення та тип виводів [3] 1.4. Організація пам'яті Процесор має 13-розрядний лічильник команд, здатний до адресації 8K x 14 простору пам'яті програм. Вектор скидання знаходиться в 0000h і вектор переіривання знаходиться у 0004h [3]. Карта пам’яті програм процесора показана на рисунку 4  Рис. З – Карта програмної пам’яті мікроконтролера Організація пам'яті даних Пам'ять даних поділена на декілька банка, які містять регістри загального призначення, і спеціальні регістри. Біти RP0 і RP1 дозволяють вибирати кожен банк пам’яті. 00 – Банк0 01 – Банк1 10 – Банк2 11 – Банк3 Кожний банк розширюється до 7Fh (128 байтів). Перші комірки кожного банку зарезервовані для спеціальних функціональних регістрів. Над ними розташовується статична пам’ять RAM. Всі банки пам’яті містять регістри спеціального призначення. Деякі регістри можуть відображатися в інші банки для швидшого доступу. Регістровий файл загального призначення може адресуватися прямо чи непрямо, за допомогою регістру вибору FSR. Спеціальні регістри поділяються на 2 категорії: регістри, які асоційовані з ядром процесора, та регістри які спеціалізовані на периферійних пристроях. Регістри спеціального призначення використовуються процесором для контролю необхідних операцій у пристрої. Ці регістри є статичною RAM. 1.5. Периферія процесора Аналогово-цифровий перетворювач 8-бітний аналогово-цифровий перетворювач має 8 виводів. Він дозволяє перетворення вхідного аналогового сигналу в відповідний йому 8-бітний цифровий код. Результат на виході підраховується з деякою точністю. Цап може працювати та перетворювати напругу у цифровий код навіть тоді, коли процесор знаходиться в сплячому режимі. Для роботи, коли процесор знаходиться в стані очікування, АЦП повинен включати свій власний вбудований осцилятор. Модуль ЦАП має 3 регістри: A/D Result Register (ADRES). Контролює операції в модулі АЦП. A/D Control Register 0 (ADCON0). A/D Control Register 1 (ADCON1) Визначає функції входів порта. Входи порта можуть бути визначені як аналогові входи, або цифрові входи-виходи Універсальна послідовна шина USB було розроблено для задоволення зростаючих потреб по покращенню швидкості передачі даних через послідовний порт в специфікаці РС2000. Основними вимогами було розширення полоси пропускання та кількості пристроїв, які можуть бути під’єднані. Також цей інтерфейс підтримує підключення „на гарячу”. USB підключення представляють собою наступну топологію: хост в голові, хаби посередині та периферійні присрої на кінцях. Обмеженням є 127 пристроїв на одній лінії, та утворене дерево не може бути більшим за 6 рівнів. USB підтримує передачу даних на одній з 2 швидкостей: Повна швидкість – 12Мбіт/с Мала швидкість – 1,5Мбіт/с Повна швидкість використовується для передачі даних в системах, які призначені для переробки звуку та відео аплікацій. Мала швидкість використовується для роботи на лініях з невисоким навантаженням даних. 2. Опис схеми електричної функціональної та основних режимів функціонування. 2.1. Загальна схема системи Мікрокомп’ютер складається з наступних вузлів процесора оперативної пам'яті, підсистеми вводу-виводу, яка обслуговує один або декілька периферійних пристроїв [1] В системі використовуються 3 магістралі: даних, адрес та магістраль керування. Дані передаються по магістралі даних а адреси - по магістралі адрес По магістралі керування передаються керуючі сигнали На вузол пам’яті подається сигнал  EMBED Equation.3  (запис або читання даних) Сигнал скидання використовується для початкового скидання та ініціалізації процесора Спрощена функціональна схема мікрокомп’ютера показана на рис.5. РІС16С765 Блок синхронізації Блок початкової установки Пам’ять Периферійний пристрій  SHAPE \* MERGEFORMAT  Рис. 5 – Загальна структура мікрокомп’ютера 2.2. Формування магістралі адреси та даних Оскільки в РІС16С765 лінії порту RD є мультиплексовані для передачі молодшої частини адреси і передачі/приймання даних, то виникає необхідність використання регістру для проміжного зберігання молодшої частини адреси [1]. МА  SHAPE \* MERGEFORMAT Р2 Р0 ALE 8 8 8 16 RG D C Q  Рис.6 – Формування магістралі адреси 2.3. Підключення зовнішнього пристрою В якості зовнішнього пристрою використовується клавіатура. Підключається до системи через порт RD.  Рис.7 – Підключення зовнішнього пристрою 3. Опис схеми електричної принципової по вузлах з часовими діаграмами в основних режимах функціонування. 3.1 Вузол синхронізації PIC16С765 включає в себе вбудований осцилятор, що дає економію в ціні та в апаратній частині [4]. PIC16С765 може працювати з 4 різним варіантами синхронізації. Користувач може програмно задати конфігурацію слова (CONFIG<0>), щоб вибрати один з варіантів: Зовнішня Зовнішня з PLL Кристал/резонатор Кристал/резонатор з PLL 6МГц В мікрокомпьютері, що проектується використовується третій варіант. Цей режим синхронізації передбачає підключення кристального або керамічного осцилятора до виводів CLKIN та CLKOUT.  Рис. 8 – Схема під’єднання джерела імпульсів до процесора  Рис. 9 - Діаграма тактової частоти процесора 3.2. Вузол початкового скидання В PIC16С558 є наступні види скидання: Power-on скидання (POR) MCLR скидання протягом нормальної дії MCLR скидання протягом режиму Sleep WDT просте скидання (нормальна дія) Деякі регістри не змінюють свій стан , після скидання; їхній статус є невідомим при POR. Більшість інших регістрів скидаються при Power-on, MCLR. Вони не змінюють свій стан під час WDT Wake-up, яке розглядається як оновлення даних дії. Біти TO і PD використовуються для встановлення типу скидання [4].  SHAPE \* MERGEFORMAT Reset R1 C1 K1  Рис. 10 – Вузол скидання  Рис. 11 - Діаграма початкового скидання процесора 3.3. Послідовний інтерфейс В процесорі міститься послідовний інтерфейс для зв’язку із зовнішніми пристроями. Ці зовнішні пристрої можуть бути послідовними EEPROMs, регістрами зсуву, A/конверторами, тощо. I2C є послідовним 2-лінійним інтерфейсом. Інтерфейс може бути сконфігуровано на наступні режими роботи[2]: асинхронний (пвнодуплексний) синхронний – мастер (напівдуплексний) синхронний – слуга (напівдуплексний) I2C використовує протокол для надійного передавання та прийому даних. Коли іде передача даних, один пристрій є "майстром" (генерує тактову частоту), а інший пристрій(s) є веденим. Всі частини протоколу веденого пристрою виконані в апаратному забезпеченні. В цьому інтерфейсі протокол повинен шукати адресу пристрою, в який він хоче передати дані. Коли ведучий пристрій хоче ініціалізувати передачу даних, він встановлює адресу пристрою в який має вестися передача даних. Всі пристрої зчитують цю адресу і визначають чи ця адреса є їх власна. Всередині цієї адреси, біт конкретизує, що саме необхідно робити – читати від або писати до веденого пристрою. Майстер і ведений пристрої знаходяться завжди в протилежних режимах (transmitter/receiver) дії протягом передачі даних. Вони можуть діяти в любому цих двох режимів: Головний-відправник і ведений-одержувач Ведений-відправник і головний-одержувач В обох випадках головний генерує синхронізуючий сигнал. Зовнішні резистори натягнення використані, щоб гарантувати високий рівень, коли немає пристроя, який не використовує лінію. Сигнали START STOP визначають відповідно запуск і зупинку передачі даних. START визначається я к перехід з високого до низького рівня SDA, коли сигнал SCL є високим. STOP є перехід з низького до високого рівняв SDA, коли сигнал SCL є високим. Головний пристрій генерує ці сигнали для стартування і закінчення передачі даних. Коли дані передані, лінія може змінити свій стан тільки тоді коли SCL є низьким.  Рис. 12– Асинхронна передача даних в послідовному інтерфейсі Лінія І2С підключається до двонаправлених портів RС і при встановленні стану високого імпедансу (через резистори Rp), порти працюють на прийом, а при встановленні низького рівня – на передачу. Вся система підключається до комп’ютера за допомогою послідовного інтерфейсу RS232, як показано на рисунку 17.  Рис. 13 - Схема підключення до ПК 3.4. Підключення зовнішнього пристрою В якості зовнішнього пристрою використовується плівкова клавіатура з тактильним ефектом CK-12. Плівкова клавіатура на поліефірних плівках з тактильним ефектом. На внутрішню сторону лицьової плівки нанесений багатоколірний малюнок із зображенням клавіш і спеціальних символів. Зовнішня сторона має антивідблиск, стійка до стирання і дії агресивних середовищ. На внутрішній стороні клавіатури нанесений клейовий шар для монтажу на корпус приладу. Вона має наступні характеристики [4]: Конструкційні характеристики: Кількість клавіш 16 Розмір 80х75 мм Схема включення 4х4 Електричні характеристики: Комутована напруга не більше 36В Комутований струм не більше 100мА Максимальна потужність не більше 0.6Вт Кількість спрацьовувань клавіш не менше 1 000 000 Брязкіт контактів не більше 10мс Опір замкнутого ланцюга довжиною 500мм не більше 100Ом Опір ізоляції не менш 20МОм Умови експлуатації: Робочий температурний діапазон від -40 до +50 гр.С Відносна вогкість повітря при 25гр.С не більше 93% Стійкість лицьової плівки до агресивних середовищ - розчинники, масла і змащування, бензин і диз. паливо, миючі засоби Синусоїдальна вібрація (працездатність під час і після впливу) - 5 - 80 Гц з амплітудою прискорення 2 g і амплітудою переміщення 2 мм Багатократні механічні удари (працездатність під час і після дії) 10 g в 3-х напрямах з частотою 40 - 60 уд/ мін. - 1000 ударів Схему її підключення до системи зображено на рисунку 14.  Рис. 14 – Схема підключення клавіатури до комп’ютера 4. Програма початкового завантаження 4.1. Блок-схема алгоритму  SHAPE \* MERGEFORMAT Початок Ініціалізація функціональних регістрів Вибір режим синхронізації Ініціалізація та запуск сторожевого таймера Налаштування послідовного порту UART Налаштування АЦП Блок обробки переривань Опитування клавіатури Передача інформації через послідовний порт Робота з АЦП Кінець  4.2. Текст програми ORG 0x500 BSF PCLATH,3 ;Select page 1 (800h-FFFh) CALL SUB1_P1 ;Call subroutine in : ;page 1 (800h-FFFh) : ORG 0x900 ;page 1 (800h-FFFh) SUB1_P1 : ;called subroutine : ;page 1 (800h-FFFh) : RETURN ;return to Call subroutine ;in page 0 (000h-7FFh) ;Ініціалізація порта A BCF STATUS, RP1 ; BCF STATUS, RP0 ; CLRF PORTA ; Initialize PORTA by ; clearing output ; data latches BSF STATUS, RP0 ; Select Bank 1 MOVLW 0x06 ; Configure all pins MOVWF ADCON1 ; as digital inputs MOVLW 0xCF ; Value used to ; initialize data ; direction MOVWF TRISA ; Set RA<3:0> as inputs ; RA<5:4> as outputs ; TRISA<7:6> are always ; read as ’0’. ; Ініціалізація порта B BCF STATUS, RP1 ; BCF STATUS, RP0 ; CLRF PORTB ; Initialize PORTB by ; clearing output ; data latches BSF STATUS, RP0 ; Select Bank 1 MOVLW 0x06 ; Configure all pins MOVWF ADCON1 ; as digital inputs MOVLW 0xCF ; Value used to ; initialize data ; direction MOVWF TRISB ; Set RB<7:0> as inputs ; Ініціалізація порта C BCF STATUS, RP1 ; BCF STATUS, RP0 ; CLRF PORTC ; Initialize PORTC by ; clearing output ; data latches BSF STATUS, RP0 ; Select Bank 1 MOVLW 0x06 ; Configure all pins MOVWF ADCON1 ; as digital inputs MOVLW 0xCF ; Value used to ; initialize data ; direction MOVWF TRISC ; Set RC<7:0> as inputs ; Ініціалізація порта D BCF STATUS, RP1 ; BCF STATUS, RP0 ; CLRF PORTD ; Initialize PORTD by ; clearing output ; data latches BSF STATUS, RP0 ; Select Bank 1 MOVLW 0x06 ; Configure all pins MOVWF ADCON1 ; as digital inputs MOVLW 0xCF ; Value used to ; initialize data ; direction MOVWF TRISD ; Ініціалізація порта E BCF STATUS, RP1 ; BCF STATUS, RP0 ; CLRF PORTE ; Initialize PORTE by clearing output ; data latches BSF STATUS, RP0 ; Select Bank 1 MOVLW 0x06 ; Configure all pins MOVWF ADCON1 ; as digital inputs MOVLW 0xCF ; Value used to ; initialize data ; direction MOVWF TRISE call InitUSB ; Set up everything so we can enumerate ConfiguredUSB ; wait here until we have enumerated. idleloop call CheckSleep ; Ok, here’s a good point to put part to sleep if no activity on the bus. CheckEP1 ; Check Endpoint 1 for an OUT transaction bcf STATUS,IRP ; point to lower banks movlw buffer movwf FSR ; point FSR to our buffer movlw 1 ; check end point 1 call GetUSB ; If data is ready, it will be copied. btfss STATUS,C ; was there any data for us? goto idleloop ; Nope, check again. PutBuffer bcf STATUS,IRP ; point to lower banks movwf bufferlen ; save buffer length movlw buffer movwf FSR ; point FSR to our buffer swapf bufferlen,w ; upper nybble of W is buffer length iorlw 1 ; lower nybble of W is EndPoint number call PutUSB btfss STATUS,C ; was it successful? goto PutBuffer ; No: try again until successful goto idleloop ; Yes: restart loop end MAIN BCF STATUS,RP0 ;Установка банка 0. BTFSC PORTB,0 GOTO CHK_ZERO CHK_ONE BTFSS PORTB,0 . GOTO CHK_ONE GOTO RUN CHK_ZERO BTFSC PORTB,0 GOTO CHK_ZERO RUN bsf PORTB,4 CALL DELAY BCF PORTB,4 BSF PORTB,5 CALL DELAY BCF PORTB,5 BSF PORTB,6 CALL DELAY BCF PORTB,6 BSF PORTB,7 CALL DELAY BCF PORTB,7 GOTO RUN DELAY ;Підпрограми затримки CLRF TMR0 ;Початкове значення таймеру рівне 0. select_TMR0 ;Переключення.дільника с WDT на TMR0. clrwdt ;Скид WDT bsf STATUS, RP0 ;Установка банка 1. MOVLW b'00000101' ;Вибір коеф. ділення, Вибір джерела тактування, ;вибір режиму таймеру MOVWF OPTION_REG BCF STATUS, RP0 ;Установка банка 0. NOP GOTO DLY1 RETURN end Висновки В створеній мікропроцесорній системі використовується мікропроцесор PIC16С765. Він представляє собою завершену систему на одному чіпі, яка включає в себе пам'ять даних ЕППЗУ об'ємом 8Кбайт, 256 байт пам’яті SRAM (універсальні регістри), аналогово-цифровий перетворювач. Створена мікропроцесорна система містить зовнішню пам’ять, що надає можливість завантажування програм великих обсягів. Пам’ять під’єднано через послідовний інтерфейс. В якості зовнішнього пристрою використовується плівкова клавіатура з тактильним ефектом CK-12. Література Конспект лекцій з курсу “Мікропроцесорні системи”. “Интегральные микросхемы”. Справочник под ред. Б. В. Тарабрина.- М.:Радио и связь,1984 г. PIC16С7хх.Family. 1999 Microchip Technology Inc. Internet : http:// www.microchip.ru
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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