Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Курсова робота
з курсу „Мікропроцесорні системи”
на тему:
„Проектування мікрокомп`ютера”
Зміст
1.Завдання
3
2.Загальні відомості
4
2.1.Особливості мікросхеми TSC87251G2D
4
2.2.Опис мікросхеми
5
2.3.Типові пристрої
6
2.4.Блокова діаграма
7
2.5.Вигляд мікросхеми
8
2.6.Призначення виводів
8
2.7.Адресний простір
14
2.8.Спеціальні функціональні регістри
16
2.9.Конфігураційні байти
20
3.Проектування структури мікрокомп`ютера
23
3.1.Внутрішні вузли мікропроцесора
23
3.2.Часові діаграми
25
3.3.Підключення зовнішньої пам`яті
34
3.4.Підключення послідовного інтерфейсу RS-232
40
3.5.Алгоритм програмування та верифікації внутрішньої ПЗП
43
3.6.Блок-схема алгоритму початкової ініціалізації
47
3.7.Підключення схеми індикації
47
Список використаної літератури
49
Додатки
Схема електрична функціональна
Схема електрична принципова
Перелік елементів
Текст програми початкової ініціалізації
1.Завдання
1.Тип мікропроцесора: TSC87251G2D фірми Atmel;
2.Оперативна пам`ять: 8х1КБ (вбудована на кристалі);
3.Постійна пам`ять: 16х32КБ (вбудована на кристалі);
4.Підсистема вводу-виводу: послідовний інтерфейс RS-232.
Визначити та описати основні технічні характеристики мікросхеми TSC87251G2D; розробити схему електричну функціональну; описати структуру та особливості функціонування основних вузлів; розробити схему електричну принципову; описати особливості схемної реалізації та функціонування основних вузлів та з їх відображенням в записці; навести часові діагами функціонування вузлів в основних режимах функціонування: початкова установка, програмування пам`яті програм та даних, звертання до зовнішньої пам`яті, звертання до зовнішніх пристроїв; розробити блок-схему алгоритму та програму початкової ініціалізації; описати в записці основні модулі програми початкової ініціалізації.
2.Загальні відомості
2.1.Особливості мікросхеми TSC87251G2D:
Сумісність за програмним забезпеченням та виводами із стандартом 80C51 Products і 80C51Fx/Rx/Rx+
Знімна заміна, що підключаються до Іntel 8x251Sx
C251 Ядро: Іntel`s MCS 251 D-step Compliance
Регістровий файл ємністю 40 байт
Доступ до регістрів як до байту, слова, подвійного слова.
Триступеневий конвеєр команд
16-бітна внутрішня вибірка команд
Надлишкова система команд C51
16-бітне та 32 бітне АЛП
Порівняльні та умовні команди переходів
Додатковий набір команд переміщення (move)
Лінійна адресація
1 КБ кристальної ОЗП
Зовнішній простір пам'яті (КОД / ДАНІ) програмований від 64 КБ до 256 КБ
TSC87251G2D: 32 КБ кристальної EPROM/OTPROM SINGLE PULSE Programming Algorithm (алгоритм програмування одиночного імпульсу)
TSC83251G1D: 16 КБ кристальна маскована ROM
TSC83251G2D: 32 КБ кристальна маскована ROM
TSC80251G2D: версія без ПЗП
Чотири 8-бітних порта вводу-виводу ( Порти 0, 1, 2 і 3 зі Стандарту 80C51 )
Послідовний порт вводу-виводу: повний Дуплекс UART ( 80C51 сумісний ) з незалежним генератором швидкостей передачі
SSLC: Синхронний послідовний контролер компонування
TWІ Multі-master протокол
μWire (мікро-з`єднання) і SPІ Master і Slave протоколами
Три 16-бітні ТАЙМЕР/ ЛІЧИЛЬНИК ( Таймери 0, 1 і 2 зі Стандарту 80C51 )
EWC: Контролер події та часової діаграми
Сумісний з Іntel програмований масив лічильника PCA
Розширений 16-бітний ТАЙМЕР/ ЛІЧИЛЬНИК з чотирма можливими частотними джерелами
(Fosc/4, Fosc/12, Таймер 1 і зовнішній ввід )
П'ять модулів, кожний з чотирма програмованими режимами:
- 16-бітний програмний ТАЙМЕР / ЛІЧИЛЬНИК
- 16-бітний ТАЙМЕР/ ЛІЧИЛЬНИК вводу збору даних і вимірювання Імпульсу
- високошвидкісний вивід і 16-бітна модуляція ширини програмного імпульсу PWM
- 8-бітне апаратне PWM без службових сигналів
16-бітна спостерігаюча можливість ТАЙМЕРА/ЛІЧИЛЬНИКА
14-бітний апаратний спостерігаючий захищений таймер
Керування потужністю.
Скид при подачі живлення ( інтегрований на чипі)
Прапорець на виключення ( холодний і теплий скид)
Програмований системний годинник
Неактивний Режим (режим очікування, холостого ходу, неробочий режим)
Режим відключення живлення
Інтерфейс переривання від клавіатури заведений на Port 1
Ввід немаскованого переривання (NMI)
Очікування стану вводу у реальному часі (WAIT#/AWAIT#)
ONCE-режим і високошвидкісна підтримка внутрішньо схемного емулятора у режимі реального часу (третя сторона)
Високошвидкісні Версії:
- 4.5V до 5.5V;
- 16 MHz і 24 MHz;
Типовий діючий варіант: 35 мА на 24 MГц
24 мА на16 MГц
Типовий відключений варіант: 2мкА
Варіант з використанням низької напруги:
- 2.7V до 5.5V;
-16 MHz
Типовий діючий варіантt: 11мА на 3В;
Типовий відключений варіант 1мкА;
Температурний діапазон: комерційний ( 0 C до + 70 C), індустріальний ( -40 C до + 85 С)
Опції: розширений Діапазон ( -55 C до + 125 C);
Пакети: PDІL 40, PLCC 44 і VQFP 44, CDІ 40 і CQPJ 44 з вікном;
Опції: справний кристал і керамічний корпус.
2.2.Опис мікросхеми
TSC80251G2D продукти - похідні сімейства Atmel Microcontroller, що базується на архітектурі 8/16-bіt C251. Це сімейство продуктів, що пристосовується до прикладних програм мікроконтролера 8/16-bіt, які потребують продуктивності команди, що збільшується, коли зменшується діюча частота або збільшується адресний простір пам'яті. Архітектура може забезпечувати значне зменшення розміру коду при компілюванні програм C при цілковитому збереженні діючих C51 підпрограм трансляції (блоку).
TSC80251G2D похідні є сумісними за програмним забезпеченням та виводами із стандартним 80C51/Fx/Rx/Rx + з розширеною пам'яттю даних на кристалі ( 1 КБ ОЗП) і до 256 КБ зовнішнього коду і даних. Додатково, TSC83251G2D і TSC87251G2D забезпечують пам'ять коду на кристалі :
ROM - 32 КБ і EPROM/OTPROM 32 КБ відповідно.
Вони забезпечують прозорі розширення до Іntel`s 8x251Sx сімейства з додатковим Синхронним Послідовним Контролером Компонування ( SSLC підтримує TWІ, мікро-з`єднання і SPІ протоколи ), інтерфейсом переривання від клавіатури, спеціалізований (виділений) незалежний генератор швидкостей передачі для UART, і особливостями керування потужностю.
TSC80251G2D-похідні оптимізовані для швидкісного і для низького споживання потужності на широкому діапазоні напруги.
2.3.Типові пристрої, що можуть бути під`єднані
ІSDN термінали (Integrated Services Digital Network – цифрова мережа з комплексними послугами);
Високошвидкісні модеми;
PABX (SOHO – Small office-Home office – „малий офіс-домашній офіс” –сегмент комп`ютерного ринку і продукція для нього) – телефонна система приватного користування;
Лінійні плати;
DVD ROM і програвачі;
Принтери;
Графобудівники;
Сканери;
Блокові машини
Читачі штрих-коду;
Читачі мікропроцесорної карточки – пластикова карточка із вбудованим мікропроцесором;
Високоякісні цифрові монітори;
Високоякісні джойстики;
Високоякісні телевізори.
2.4.Структурна схема
Рис.2.4.1. Структурна схема внутрішнього представлення мікросхеми TSC87251G2D
2.5.Цоколівка мікросхеми
Рис.2.5.1. Вигляд DIP-корпуса мікросхеми (зліва) та функціональний вигляд мікросхеми (справа)
2.6.Призначення виводів
Табл..2.6.1.Призначення виводів мікросхеми TSC87251G2D
Ім`я сигналу
Тип
Опис
Альтернативна функція
A17
O
18ий адресний біт.
Підводиться до пам`яті як 18ий зовнішній біт адреси розширеної шини, що залежить від значень бітів RD0 та RD1 в байті UCONFIG0 (див. Таблицю 13).
P1.7
A16
O
17ий адресний біт.
Підводиться до пам`яті як 17ий зовнішній біт адреси розширеної шини, що залежить від значень бітів RD0 та RD1 в байті UCONFIG0 (див. Таблицю 13).
P3.7
A15:8(1)
O
Старші лінії адреси для зовнішньої шини.
P2.7:0
AD7:0(1)
I/O
Мультиплексовані молодші адресні лінії та лінії даних для зовнішньої пам`яті.
P0.7:0
ALE
O
Дозвіл адресного блокування.
ALE повідомляє про початок циклу зовнішньої шини та вказує на те, що правильна адресна інформація знаходиться на лініях A16/A17 та А[7:0]. Зовнішній „замок” може використовувати ALE для демультиплексування адреси з шини адреси/даних. В загальному використовується як строб адреси на лініях адреси/даних.
-
AWAIT#
I
Асинхронне очікування стану вводу в режимі реального часу
Коли вивід (pin) є активним (низький рівень), цикл пам`яті продовжується, доки рівень не стає високим. Коли використовується назва продукту як заміна типу «pin-for-pin» для виробу 8хС51, AWAIT може бути від`єднаним без втрати сумісності або збільшення споживання потужності (кристальне роз`єднання). Не застосовується у DIP(Dual-in-Line Package- корпус з двохстороннім розташуванням виводів)-корпусах.
-
CEX4:0
I/O
PCA контакти вводу/виводу.
CEXx це сигнали вводу для PCA режиму збору даних та сигнали виводу для PCA порівняння та PWM (Pulse Width Modulator – модулятор ширини імпульсу) режимів.
P1.7:3
EA#
I
Дозвіл зовнішнього доступу
EA# напрямляє доступ програмної пам`яті до кристальної пам`яті команд або «позакристальної».
Для ЕА# =0, всі доступи програмної пам`яті є «позакрис-тальними». Для ЕА3=1 є доступ до кристальної ROM, якщо адреса належить до діапазону адрес цієї ROM, інакше відбувається „позакристальний” доступ. Значення сигналу ЕА блокується при скиді. Для пристроїв без кристальної ROM ЕА# заземлюється.
-
ECI
O
PCA зовнішній ввід для синхроімпульсів
ECI це зовнішній тактовий сигнал для 16-бітного PCA таймера.
P1.2
MISO
I/O
SPI (Serial Peripheral Interface – послідовний інтерфейс периферійних пристроїв) головна(master) лінія вводу та допоміжна (slave) лінія виводу.
Коли SPI є в головному(master) режимі, MISO отримує дані від допоміжного(slave) обладнання, коли SPI знаходиться у режимі slave, то MISO виводить дані на головний (master) контролер.
P1.5
MOSI
I/O
SPI (Serial Peripheral Interface – послідовний інтерфейс периферійних пристроїв) головна(master) лінія виводу та допоміжна (slave) лінія вводу.
Коли SPI є в головному(master) режимі, MOSI видає дані на допоміжне (slave) обладнання, коли SPI знаходиться у режимі slave, то MOSI приймає дані від головного (master) контролера.
P1.7
INT1:0#
I
Зовнішні запити INT0# та INT1#
Сигнали INT1#/INT0# встановлюють IE1:0 на регістрі TCON. Якщо біти IT1:0 на TCON регістрі встановлені, біти IE1:0 встановляться падаючим рівнем на INT1#/INT0#. Якщо біти IT1:0 очищені (невстановлені, дорівнюють 0), то біти IE1:0 встановлюютьсянизьким рівнем на INT!#/INT0#.
P3.3:2
NMI
I
Немасковане переривання
Тримається на високому рівні 24 періоди осцилятора. . Коли використовується назва продукту як заміна типу «pin-for-pin» для виробу 8хС51, NMI може бути від`єднаним без втрати сумісності або збільшення споживання потужності (кристальне роз`єднання). Не застосовується у DIP(Dual-in-Line Package- корпус з двохстороннім розташуванням виводів)-корпусах.
-
P0.0:7
I/O
Порт 0
Р0 – це 8-бітний двонаправлений порт вводу/виводу з „відкритим стоком”. Контакти Р0, що мають 1 секунду запису до них дійсного числа і можуть бути використані як виводи з високим імпедансом. Треба уникати будь-якого біжучого споживання струму, „плаваючі” Р0 виводи мають бути поляризовані на VDD або VSS.
AD7:0
P1.0:7
I/O
Порт 1
Р1 – це 8-бітний двонаправлений порт вводу/виводу з внутрішнім кабруваннями. Р1 забезпечує можливість переривання від інтерфейсу клавіатури.
-
P2.0:7
I/O
Порт 2
Р2 – це 8-бітний двонаправлений порт вводу/виводу з внутрішнім кабруваннями
A15:8
P3.0:7
I/O
Порт 3
Р3 – це 8-бітний двонаправлений порт вводу/виводу з внутрішнім кабруваннями
-
PROG#
I
Програмований імпульсний ввід
Програмований імпульс застосовується для програмування кристальних EPROM/OTPROM (Erasable[Electrically] Programmable Read-Only Memory – ПЗП, що стирається і програмується;One-Time Programmable Read-Only Memory-однократно програмоване ПЗП).
-
PSEN#
O
Сигнал дозволу читання програмної пам`яті.
PSEN# затверджений для діапазону адрес пам`яті, що залежать від бітів RD0 та RD1 в байті UCONFIG0.
-
RD#
O
Сигнал читання або 17ий адресний біт(А16).
Сигнал читання для зовнішньої пам`яті даних, що залежить від бітів RD0 та RD1 в байті UCONFIG0.
P3.7
RST
I
Сигнал скиду для кристалу
Цей сигнал тримається високим рівнем протягом 64 періоди осцилятора, доки осцилятор виконується скид. Виводи портів встановлюються до умов скиду, коли застосовується напруга більша ніж VIH1, коли осцилятор працює чи ні. Цей вивід має внутрішній резистор, що дозволяє пристроє бути перезавантаженим , завдяки під`єднаному конденсатору між цим виводом та VDD.
Призначення RST, коли кристал знаходиться в режимі холостого ходу або в режимі відключення, - повернення кристалу(мікросхеми) до нормального функціонування.
-
RXD
I/O
Отримання послідовних даних
RXD посилає та отримує дані у послідовному режимі вводу/виводу 0 і отримує дані в послідовних режимах вводу/виводу 1,2,3.
P3.0
SCL
I/O
TWI послідовні такти
Коли TWI-контролер знаходиться у головному (master) режимі, SCL виводить послідовні імпульси у підлеглі (slave) периферійні пристрої, коли TWI-контролер знаходиться у підлеглому (slave) режимі, SCL отримує послідовні імпульси з головного (master) контролера.
P1.6
SCK
I/O
SPI послідовні імпульси
Коли SPI-контролер знаходиться у головному (master) режимі, SCK виводить послідовні імпульси у підлеглі (slave) периферійні пристрої, коли SPI-контролер знаходиться у підлеглому (slave) режимі, SCK отримує послідовні імпульси з головного (master) контролера.
P1.6
SDA
I/O
TWI послідовні дані
SDA – це двонаправлена TWI-лінія даних.
P1.7
SS#
I
SPI slave (підлеглий) вибірковий ввід
Коли знаходиться у підлеглому (slave) режимі, то SS# дозволяє підлеглий (slave) режим.
P1.4
T1:0
I/O
Таймер T1:0 на зовнішні синхроімпульси.
Коли таймер 1:0 працює як лічильник, спадаючий рівень на контактах Т1:0 збільшує індекс.
-
T2
I/O
Таймер 2 синхроімпульсний контакт вводу/виводу
Для таймера 2 можливий режим збору даних Т2 (це зовнішній синхроімпульсний ввід), а також режим видачі синхроімпульсів.
P1.0
T2EX
I
Таймер 2 зовнішній ввід
Для таймера 2 можливий режим збору даних по спадаючому рівню, що ініціює регістри. У режимі автоматичного перезавантаження спадаючий рівень вказує на потребу регістрів таймера 2 бути пере завантаженими. В режимі додаючого/віднімаючого лічильника, цей сигнал визначає напрямок лічби 1=вверх, 0=вниз.
P1.1
TXD
O
Передача послідовних даних
TXt виводить „зсунуті” такти у послідовному режимі вводу/виводу 0 і передає дані у послідовних режимах вводу/виводу 1,2,3.
P3.1
VDD
PWR
Цифрове постачання живлення
Цей контакт під`єднаний до +5В або +3В вузла постачання напруги.
-
VPP
I
Програмоване постачання напруги
Контакт застосовується для програмування кристальних EPROM/OTPROM.
-
VSS
GND
Заземлення мікросхеми
Під`єднаний до „землі” (лог.нуль).
-
VSS1
GND
Вторинне заземлення 1
Це заземлення забезпечує зниження ефекту „повернення заземлення” та підвищення режим транзитної передачі потужності. Під`єднання цього контакту рекомендується. Але при використанні TSC80251G2D, як заміни типу “pin-for-pin” для продукту 8хС51, VSS1 може бути від`Єднаний без втрати сумісності. Для DIP-корпусів не застосовується.
-
VSS2
GND
Вторинне заземлення 2
Це заземлення забезпечує зниження ефекту „повернення заземлення” та підвищення режим транзитної передачі потужності. Під`єднання цього контакту рекомендується. Але при використанні TSC80251G2D, як заміни типу “pin-for-pin” для продукту 8хС51, VSS2 може бути від`Єднаний без втрати сумісності. Для DIP-корпусів не застосовується.
-
WAIT#
I
Синхронне очікування стану вводу в режимі реального часу
Очікування вводу в реальному часі є доступним завдяки встановленню біта RTWE у WCON(S:A7h). Протягом шинного циклу, система зовнішньої пам`яті може повідомляти мікроконтролеру „система готова” в реальному часі для контролювання сигналу WAIT#.
P1.6
WCLK
O
Вивід тактового сигналу очікування
Сигнал виводу WCLK в режимі реального часу є доступ-ним завдяки встановленню біта RTWСE у WCON(S:A7h). Коли є доступ, WCLK виводить прямокутні сигнали з періодом ½ від частоти осцилятора.
P1.7
WR#
O
Запис
Сигнал запису до зовнішньої пам`яті.
P3.6
XTAL1
I
Ввід до кристального інвертуючого підсилювача осцилятора(генератора)
Для використання внутрішнього осцилятора кристал/резонатор мікросхеми під`єднується до цього контакту. Якщо використовується зовнішній осцилятор, то його вихід під`єднається до цього контакту. XTAL1 – це джерело тактових імпульсів для внутрішньої синхронізації.
-
XTAL2
O
Вивід до кристального інвертуючого підсилювача осцилятора(генератора)
Для використання внутрішнього осцилятора кристал/резонатор мікросхеми під`єднується до цього контакту. Якщо використовується зовнішній осцилятор, то контакту XTAL2 лишається не під`єднаним.
-
Позначення, що були застосовані в таблиці:
О – вихідний сигнал (від output);
I – вхідний сигнал (від input);
I/O – двонаправлений сигнал (від in/out);
PWR – рівень логічної одиниці;
GND – рівень логічного нуля (від GROUND-земля).
SPPA: Single Pulse Programming Algorithm (алгоритм програмування одиночного імпульсу);
SSLC: Synchronous Serial Link Controller (синхронний послідовний контролер компонування);
EWC: Event and Waveform Controller (контролер події та часової діаграми);
ІSDN термінали: Integrated Services Digital Network (цифрова мережа з комплексними послугами);
PABX (SOHO – Small office-Home office – „малий офіс-домашній офіс” –сегмент комп`ютерного ринку і продукція для нього) – телефонна система приватного користування;
DIP: Dual-in-Line Package (корпус з двохстороннім розташуванням виводів);
PWM: Pulse Width Modulator ( модулятор ширини імпульсу);
SPI: Serial Peripheral Interface (послідовний інтерфейс периферійних пристроїв);
EPROM/OTPROM: Erasable[Electrically] Programmable Read-Only Memory ( ПЗП, що стирається і програмується;One-Time Programmable Read-Only Memory-однократно програмоване ПЗП);
UART: Universal Asynchronous Receiver/Transmitter (універсальний асинхронний приймач/передавач);
2.7.Адресний простір
TSC80251G2D-похідні мають чотири адресних простори:
кристальна ПЗП пам`ять програм (не присутня у пристроях без ПЗП);
кристальна ОЗП пам`яті даних;
спеціальні функціональні регістри (SFRs);
масив конфігурації;
Пам'ять програм
TSC83251G2D і TSC87251G2D містять 32 КБ програмної пам`яті на кристалі. Рисунок 4 показує розбивку внутрішньої і зовнішньої пам'яті програм/коду. Якщо EA# має високий рівень, то 32КБ кристальна пам'ять програми відображена у нижній частині сегмента FF: де переходи C251 ядра йдуть після пам`яті, що відповідає за оброблення скиду. Інша частина
простору пам'яті програм/коду відображена на зовнішню пам'ять. Якщо EA# прив`язаний до низького рівня, то внутрішня пам'ять програм/коду не використовується, і будь-який доступ спрямований до зовнішньої пам'яті.
TSC83251G2D-продукти забезпеч-чують внутрішню пам'ять програм/коду у маскованій пам'яті ПЗП, у той час як TSC87251G2D-продукти забезпечують це в пам'яті, що дозволяє перепрогра-мування EPROM. Для TSC80251G2D-продуктів немає ніякої внутрішньої пам'яті програм/коду, і EA# повинний бути встановлений до низького рівня.
Рис.2.8.1 Зображення адресного простору пам`яті програм
Особливу увагу слід звернути на лічильник команд (Program counter) в режимі збільшення: якщо програма виконується винятково з кристальної пам'яті коду (не від зовнішньої пам'яті), треба остерігатися виконавчого коду з верхніх восьми байтів кристальної ПЗП (FF:7FF8h-FF:7FFFh). Через можливість застосування конвеєра TSC80251G2D-похідні можуть робити спробу попередньої вибірки коду з зовнішньої пам'яті (в адресах вище FF:7FFFH) і в такий спосіб зруйнує (перерве) роботу Портів вводу/виводу 0 і 2. Вибірка коду констант з цих 8 байтів не впливає на Порти 0 і 2.
Коли PC збільшується та досягає кінця сегмента FF:, це призводить до скидання адрес FF:0000H (для сумісність з C51 Архітектурою). Коли PC збільшується поза кінцем сегмента FE: це призводить до скидання адреси FF:0000H (властивість лінійності). Коли збільшення PC відбувається поза кінцем сегмента 01: це призводить до переходу на початок сегмента 00: (це запобігає переходу у зарезервовану частину).
Пам'ять даних
TSC80251G2D-похідні адресують 1КБ кристальної ОЗП пам`яті даних. Рисунок 5 показує розбивку внутрішнього і зовнішнього просторів пам'яті даних. Ця пам'ять відображена у просторі даних тільки над 32 байтами області регістрів. Отже, частина кристальної ОЗП розташована у адресному просторі від 20h до FFh. Ця кристальна ОЗП не доступна через простір пам'яті програм/коду.
Для більш швидкого обчислення з допомогою кристальної ROM / EPROM старші 16КБ коду TSC83251G2D/TSC87251G2D відображені у верхній частині області 00: якщо конфігураційний біт карти кристальної пам'яті коду очищений (EMAP# біт у UCONFІG1 байті). Однак, якщо EA# прив'язаний до низького рівня, то TSC80251G2D-похідна працює як пристрій без ПЗП, і код – фактично вибирається у відповідній зовнішній пам'яті (тобто верхні 16 КБ нижніх 32 КБ з сегмента FF:). Якщо EMAP# біт встановлений, кристальна ПЗП не доступна через область 00:.
Весь доступ до частини простору даних поза кристалом відображено перепризначенням до зовнішньої пам'яті.
Рис.2.8.2. Зображення адресного простору пам`яті даних
2.8.Спеціальні функціональні регістри
Спеціальні функціональні регістри (SFRs) TSC80251G2D-похідних детально описані в Таблиці1-Таблиці9.
SFRs розташовані в зарезервованій області кристальної пам'яті S:, що не представлений на рисунку 5. Відносні адреси в межах S: цих SFRs забезпечується сумісно разом з їхніми значеннями при скиданні в Таблиці. Вони - висхідний аналог SFRs стандарту 80C51 і Іntel сімейства 80C251Sx. Всі SFRs використовуються з побітово.
Табл.2.8.1. Спеціальні функціональні регістри ядра C251
Мнемоніка
Ім`я
ACC(1)
Акумулятор
B(1)
Регістр В
PSW
Програмне слово стану
PSW1
Програмне слово стану 1
SP(1)
Вказівник на стек (молодший байт)
SPH(1)
Вказівник на стек (старший байт)
DPL(1)
Вказівник на дані (молодший байт)
DPH(1)
Вказівник на дані (старший байт)
DPXL(1)
Вказівник на дані розширений,
молодший байт регістра DPX- номер області
Табл.2.8.2. Спеціальні функціональні регістри портів вводу/виводу
Мнемоніка
Ім.`я
P0
Порт 0
P1
Порт 1
P2
Порт 2
P3
Порт 3
Табл.2.8.3. Спеціальні функціональні регістри таймерів
Мнемоніка
Ім.`я
TL0
Молодший байт таймера/лічильника 0
TH0
Старший байт таймера/лічильника 0
TL1
Молодший байт таймера/лічильника 1
TH1
Старший байт таймера/лічильника 1
TL2
Молодший байт таймера/лічильника 2
TH2
Старший байт таймера/лічильника 2
TCON
Керуючий регістр для таймерів/лічильників 0 та 1
TMOD
Регістр режимів для таймерів/лічильників 0 та 1
T2CON
Керуючий регістр для таймера/лічильника 2
T2MOD
Регістр режимів для таймера/лічильника 2
RCAP2L
Регістр завантаження/фіксування значення таймера/лічильника 2
(молодший байт)
RCAP2H
Регістр завантаження/фіксування значення таймера/лічильника 2
(старший байт)
WDTRST
Регістр скиду для „сторожового таймера”
Табл..2.8.4 Спеціальні функціональні регістри для послідовних портів вводу/виводу
Мнемоніка
Ім`я
SCON
Керуючий регістр послідовності
SBUF
Буфер послідовних даних
SADEN
Допоміжна (slave) адресна маска
SADDR
Допоміжна адреса
BRL
Регістр перезавантаженння генератора швидкості двійкової передачі
BDRCON
Керуючий регістр генератора швидкості двійкової передачі
Табл..2.8.5. Спеціальні функціональні регістри синхронного послідовного контролера зв`язування
Мнемоніка
Ім`я
SSCON
Керуючий регістр синхронної послідовності
SSDAT
Регістр синхронних послідовних даних
SSCS
Керуючий регістр синхронної послідовності та стану
SSADR
Адреса синхронної послідовності
SSBR
Біт швидкості двійкової передачі синхронної послідовності
Табл.2.8.6.Спеціальні функціональні регістри контролера подій та часових діаграм
Мнемоніка
Ім`я
CCON
Керуючий регістр таймера/лічильника EWC-PCA
CMOD
Регістр режимів таймера/лічильника EWC-PCA
CL
Регістр таймера/лічильника EWC-PCA (молодший байт)
CH
Регістр таймера/лічильника EWC-PCA (старший байт)
CCAPM0
Регістр режиму 0 таймера/лічильника EWC-PCA
CCAPM1
Регістр режиму 1 таймера/лічильника EWC-PCA
CCAPM2
Регістр режиму 2 таймера/лічильника EWC-PCA
CCAPM3
Регістр режиму 3 таймера/лічильника EWC-PCA
CCAPM4
Регістр режиму 4 таймера/лічильника EWC-PCA
CCAPP0L
Регістр порівняння модуля 0 вводу EWC-PCA (молодший байт)
CCAP1L
Регістр порівняння модуля 1 вводу EWC-PCA (молодший байт)
CCAP2L
Регістр порівняння модуля 2 вводу EWC-PCA (молодший байт)
CCAP3L
Регістр порівняння модуля 3 вводу EWC-PCA (молодший байт)
CCAP4L
Регістр порівняння модуля 4 вводу EWC-PCA (молодший байт)
CCAP0H
Регістр порівняння модуля 0 вводу EWC-PCA (старший байт)
CCAP1H
Регістр порівняння модуля 1вводу EWC-PCA (старший байт)
CCAP2H
Регістр порівняння модуля 2 вводу EWC-PCA (старший байт)
CCAP3H
Регістр порівняння модуля 3 вводу EWC-PCA (старший байт)
CCAP4H
Регістр порівняння модуля 4 вводу EWC-PCA (старший байт)
Табл.2.8.7. Спеціальні функціональні регістри системного забезпечення
Мнемоніка
Ім`я
PCON
Регістр контролю потужності
POWM
Регістр забезпечення потужністю
CKRL
Регістр перезавантаження тактових сигналів
WCON
Регістр керування синхронним станом очікування в режимі реального часу
Табл..2.8.8. Спеціальні функціональні регістри переривань
Мнемоніка
Ім`я
IE0
Керуючий регістр дозволу переривання 0
IE1
Керуючий регістр дозволу переривання 1
IPH0
Керуючий регістр приорітетного переривання 0 (старший байт)
IPL0
Керуючий регістр приорітетного переривання 0 (молодший байт)
IPH1
Керуючий регістр приорітетного переривання 1 (старший байт)
IPL1
Керуючий регістр приорітетного переривання 1 (молодший байт)
Табл..2.8.9.Спеціальні функціональні регістри для інтерфейсу клавіатури
Мнемоніка
Ім`я
P1IE
Регістр дозволу переривання для вводу у порт 1
P1F
Регістр ознак для порту 1
P1LS
Регістр рівневого розподілення для порту 1
Примітка: Ці регістри можуть бути також доступні за відповідними адресами у регістровому файлі.
Табл.2.8.10. Опис спеціальних функціональних регістрів
Примітка:
1. Ці регістри описані в керівництві TSC80251 для програміста (C251 регістра ядра).
2. У TWІ і SPІ режимах, SSCON розбивається на два окремих регістра. SSCON значення скидання - 0000 0000 у TWІ режимі і 0000 0100 у SPІ режимі.
3. У режимах читання та запису, SSCS розбивається на два окремих регістра. SSCS значення скидання - 1111 1000 у режимі читання і 0000 0000 у режимі запису.
2.9.Конфігураційні байти
TSC80251G2D-похідні забезпечують гнучкість проекту користувача, конфігуруючи деякі особливості операцій при скиданні пристрою. Ці особливості відносяться до наступних категорій:
• інтерфейс зовнішньої пам`яті (сторінковий режим, адресні біти, запрограмовані стани
очікування і адресний інтервал для RD#, WR#, і PSEN#);
• вихідний режим коду операції або бінарний режим коду операції;
• вибір байтів, збережених у стеку перериванням;
• відображення верхньої частини кристальної пам'яті коду до області(регіону) 00:.
Два конфігураційні байти UCONFІG0 та UCONFІG1 забезпечують інформацію. Коли EA# прив'язаний до низького рівня, конфігураційні байти вибираються з зовнішнього адресного простору. TSC80251G2D-похідні резервують верхні вісім байт адресного простору пам'яті (FF:FFF8h-FF:FFFFh) для зовнішнього 8-байтового конфігураційного масиву. Тільки два байти фактично використовуються: UCONFІ0 у FF:FFF8H і UCONFІ1 у FF:FFF9h.
Для пристрою ROM конфігураційна інформація збережена в кристальній пам'яті Коли EA# прив`язаний до високого рівня, конфігураційна інформація відновлюється з кристальної пам'яті замість зовнішнього адресного простору і немає обмеження у використанні зовнішньої пам'яті.
Рис.2.9.1. Конфігурація байта UCONFIG0
Табл.2.9.1. Конфігурація байту UCONFIG0
Номер біту
Мнемоніка біту
Опис
7
-
Зарезервовано. Цей біт встановлюється у „1”, коли йде запис до UCONFIG0
6
WSA1#
Біти стану очікування А
Вибір номеру стану очікування для сигналів RD#,WR# та PSEN# для доступу до зовнішньої пам`яті (всі області, крім 2)
WSA1#
WSA0#
Номер стану
0
0
3
0
1
2
1
0
1
1
1
0
5
WSA0#
4
XALE#
Розширений біт ALE. Очищується для розширення проміжку часу імпульсу ALE з Tosc до 3*Tosc; встановлюється для мінімізації проміжку часу імпульсу ALE до Tosc.
3
RD1
Біти вибору сигналів до пам`яті. Обумовлюють 18-бітну,17-бітну або 16-бітну адресу зовнішньої пам`яті та використання сигналів RD#, WR# та PSEN# (див.табл.2.9.3)
2
RD0
1
PAGE#
Біт вибору сторінкового режима.Очищується для вибору швидкого сторінкового режиму з A15:8/D7:0 у порті 2 та A7:0 у порті 0; встановлюється для вибору не сторінкового режиму з А15:8 у порті2 та A7:0/D7:0 у порті 0.
0
SRC
Біт вибору режиму джерела або двійкового режиму. Очищується для вибору двійкового режиму і встановлюється для вибору режиму джерела.
Примітка: 1. UCONFIG0 вибирається двічі, тому він може бути читатися у обидвох режимах – сторінковому і несторінковому. Якщо P2.1 скинутий протягом першої вибірки даних, використовується сторінковий режим конфігурації, інакше наступна вибірка прадставлена у несторінковому режимі.
2. Ця вибірка забезпечує сумісність зі стандартом апаратури 80С51, що мультиплексує адресу LSB(Low State Byte) та даних з порту 0.
Рис.2.9.2. Конфігурація байта UCONFIG1
Табл.2.9.2. Конфігурація байту UCONFIG1
Номер біту
Мнемоніка біту
Опис
7
СSIZE
Біт, що визначає розмір пам`яті програм на кристалі. Очищується для вибору 16КБ , а встановлюється для вибору 32КБ кристальної пам`яті програм.
6
-
Зарезервовано. Встановлюється,коли йде запис до UCONFIG1.
5
-
Зарезервовано. Встановлюється,коли йде запис до UCONFIG1
4
INTR
Біт режиму переривання.Очищується, коли переривання „кладе” два байти у вершину стеку (два нижчих байта по адресі програмного лічильника) і встановлюється, коли переривання „кладе” чотири байта у стек (три байта лічильника команд та регістр PSW1).
3
WSB
Біт стану очікування В. Скидається для генерації одного стану очікування для регіону пам`яті 2 і встановлюється для відмови від очікування для регіону пам`яті 2.
2
WSB1#
Біти стану очікування В
Вибір номеру стану очікування для сигналів RD#,WR# та PSEN# для доступу до зовнішньої пам`яті (тільки для області 2)
WSВ1#
WSВ0#
Номер стану
0
0
3
0
1
2
1
0
1
1
1
0
1
WSB0#
0
EMAP#
Біт відображення кристальної пам`яті програм. Скидається для відображення верхніх 16КБ кристальної пам`яті програм (FF:4000h-FF:7FFFh) у простір даних (00:C000h-00:FFFFh) і встановлюється для відмови від цього відображення.
Примітка: 1. CSIZE є доступним лише у EPROM/OTPROM продуктах.
2. Два або чотири байти „кладуться” у вершину стеку згідно INTR, коли використовується інструкція RETI. INTR може бути встановлений, якщо переривання використовує код, який виконується зовні регіону FF.
3. Використовується лише для сумісності з станом А; встановлюється біт, коли використовується WSB1:0#.
Табл.2.9.3. Адресні діапазони та використаннясигналів RD#, WR# та PSEN#
RD1
RD0
P1.7
P3.7/RD#
PSEN#
WR#
External memory
0
0
А17
А16
Читається сигнал для всієї зовнішньої пам`яті
Записується сигнал для всієї зовнішньої пам`яті
256КБ
0
1
Контакти вводу/виводу
А16
Читається сигнал для всієї зовнішньої пам`яті
Записується сигнал для всієї зовнішньої пам`яті
128КБ
1
0
Контакти вводу/виводу
Контакти вводу/виводу
Читається сигнал для всієї зовнішньої пам`яті
Записується сигнал для всієї зовнішньої пам`яті
64КБ
1
1
Контакти вводу/виводу
Читається сигнал для регіонів 3 і 2
Читається сигнал для регіонів FF та FE
Записується сигнал для всієї зовнішньої пам`яті
2х64КБ(1)
Примітка: Ці виборки забезпечують сумісність зі стандартом апаратури 80C51, що розділяє простір зовнюшньої пам`яті для даних і коду.
3.Проектування
3.1.Внутрішні вузли мікропроцесора
Вузол початкової установки представлений блоком „сторожовий” таймер та інтегрованими на кристал блоками початкового скиду та блоком „гарячого” і „холодного” скиду при вимкненні живлення. „Сторожовий” таймер – це спеціальний таймер, що перезапускає процесор при апаратних і програмних зависаннях. Їх присутні два види: 16-бітний „сторожовий” таймер/лічильник та 14-бітний апаратний „сторожовий” таймер. Після подачі сигналу скиду на центральний процесор, починається вибірка першого слова команди з заданої комірки пам`яті по певній адресі
Вузол синхронізації призначений для формування тактових сигналів, що забезпечують функціонування мікропроцесора, може бути побудований на базі внутрішнього тактового генератора (кварцовий резонатор з частотою 16 МГц або R-C чи L-C ланки). XTAL1 та XTAL2 – це вхід та вихід до зовнішнього вузла синхронізації, що побудований на базі кварцового резонатора. Його вигляд поданий нижче.
Вузол переривань призначений для прийому запитів по внутрішніх та зовнішніх лініях та забезпечує перемикання мікро процесора на виконання програм обробки переривань.Запити на переривання можуть бути як масковані, так і не масковані. Лінії маскованого переривання (INT[1:0]) можуть бути заборонені програмним шляхом, на відміну від ліній немаскованого переривання (NMI).
Вузол інтерфейсу клавіатури під`єднаний до зовнішнього порту мікропро-цесора Port1. Він забезпечує обробку переривань від клавіатури, тобто ввід інформації через зовнішній пристрій.
Вузол керування потужністю контролює напругу живлення, тобто, якщо напруга виходить за програмовані межі, видається переривання.
Вузол таймерів містить три таймери- програмованих лічильника, що можуть працювати від подільника частоти (тактових сигналів) чи внутрішнього вузла синхронізації. Вони також формують масковані запити переривань типу INT.
Вузол паралельних портів Ports 0-3 інтегрований для прийому/передачі дискретної інформації. Є можливість побітового управління і кожен біт має свою адресу.
Вузол послідовного інтерфейсу UART (Universal Asynchronous Receiver/ Transmitter ) – універсальний асинхронний приймач/передавач призначений для послідовного обміну дискретною інформацією.
Вузол формування шин адрес/даних (на схемі представлений як блок інтерфейсних шин) призначений для формування відповідних магістралей адресу, даних та керування.
Вузол пам`яті програм існує для зберігання кодів програм, реалізований як ПЗП (з перепрограмуванням). Тут зберігається програма початкової ініціалізації. Звертання відбувається після початкового скиду при виконанні певних умов. Має об`єм 32 КБ по 16 розрядів кожна комірка, є відносно повільною.
Вузол пам`яті даних присутній для зберігання постійної інформації, яка може бути змінена у процесі функціонування мікропроцесорної системи. Вона є найбільш швидкодіюча, її розмір 1 КБ по 8 розрядів кожна комірка.
Опис роботи пристроїв був взятий також з конспекту лекцій „Мікропроцесорні системи”
3.2.Часові діаграми
Рис.3.2.1.Часова діаграми для вибірки кода/читання даних:
Рис.3.2.2.Часова діаграма для запису даних
Табл.3.2.1. Опис символів, що використовуються у у часових діаграмах синхронного режима очікування в реальному часі
Табл.3.2.2. Опис параметрів, що використовуються у режимі очікування в реальному часі
Рис.3.2.3. Часові діаграми вибірки коду/читання даних для синхронного стану очікування в режимі реального часу
Рис.3.2.4. Часові діаграми запису даних для синхронного стану очікування в режимі реального часу
Табл.3.2.3. Опис символів, що використовуються у у часових діаграмах асинхронного режима очікування в реальному часі
Табл.3.2.4. Опис параметрів, що використовуються у режимі очікування в реальному часі
Примітка: N – номер стану очікування (N≥1).
Рис.3.2.5. Часова діаграма асинхронного стану очікування в режимі реального часу
Табл.3.2.5. Опис символів, що використовуються у у часових діаграмах послідовного порта
Табл.3.2.6. Опис параметрів, що застосовуються для послідовного порту
Примітка: Дані дійсні тільки для високошвидкісних версій
Рис.3.2.6. Часова діаграма роботи послідовного порту у режимі зсувного регістра
Примітка: TI та RI встановлюються протягом виконання зсуву восьмого біта
Табл.3.2.7. Опис параметрів, що використовуються у TWI інтерфейсі
Примітка: 1. 100Кбіт/с. На інших швидкостях значення є обернено пропорційними до
швидкості двійкової передачі 100Кбіт/с.
Визначається ємністю зовнішньої шини та „підтягуючим” резистором
зовнішньої шини, параметр повинен бути менше 1мкс.
Гострий імпульс на лініях SDA та SCL з тривалістю менше ніж 3•Tosc буде
відфільтрований. Максимальна ємність на шинах SDA та SCL дорівнює
400пкФ.
Tclcl=Tosc=одному тактовому періоду осцилятора.
Рис.3.2.7. Часова діаграма роботи TWI інтерфейсу
Табл.3.2.8. Опис символів, що використовуються у часових діаграмах SPI інтерфейсу
Табл.3.2.9. Опис параметрів, що використовуються у SPIінтерфейсі
(продовження)
Примітка: 1. У підпорядкованому режимі (slave) на всі контакти завантажується ємність
розміром 200пкФ.
Значення параметра залежить від програмного забезпечення.
3. У головному режимі (master) на всі контакти завантажується ємність
розміром 100пкФ.
Рис.3.2.8. Часова діаграма роботи контролера SPI у головному (master) режимі (SSCPHA=0)
Примітка: сигналом SS# керує програмне забезпечення
Рис.3.2.9. Часова діаграма роботи контролера SPI у головному (master) режимі (SSCPHA=1)
Примітка: не визначений для нормального старшого байту (MSB), що був щойно отриманий.
Рис.3.2.10. Часова діаграма роботи контролера SPI у підпорядкованому(slave) режимі (SSCPHA=0)
Примітка: не визначений для нормального молодшого байту (LSB), що був щойно отриманий.
Рис.3.2.11. Часова діаграма роботи контролера SPI у підпорядкованому(slave) режимі (SSCPHA=1)
Табл.3.2.10. Опис символів, що використовуються у часових діаграмах пристрою перепрограмування та верифікації
Табл.3.2.11. Опис параметрів, що використовуються у пристрої перепрограмування
Табл.3.2.12. Опис параметрів, що використовуються у пристрої верифікації
Рис.3.2.12. Часова діаграма роботи пристроя перепрограмування
Рис.3.2.13. Часова діаграма роботи пристроя верифікації
Табл.3.2.13. Опис символів, що використовуються у часових діаграмах блоку зовнішньої синхронізації
Табл.3.2.14. Опис параметрів, що використовуються у блоці зовнішньої синхронізації
Рис.3.2.14. Часова діаграма роботи пристроя зовнішньої синхронізації
Примітка: 1. На протязі тестування змінним струмом всі контакти були встановлені у
Vdd= -0.5В для логічної одиниці та у 0.45В для логічного нуля.
2. Розміри синхронізації для всіх виходів встановлені у VIH мін для логічної
одиниці та VIL макс для логічного нуля.
Рис.3.2.15. Часова діаграма тестування входу/виходу
Рис.3.2.16. Часова діаграма завантаження параметрів
Рис.3.2.17. Схема під`єднання кварцового резонатора (а) та формування скиду (б)
3.3.Підключення зовнішньої пам`яті
Для підключення використаю дві мікросхеми Flash-пам`яті AT29LV010. Принцип підключення поданий нижче.
Рис.3.3.1. Підключення зовнішньої пам`яті
Flash-пам`ять має таку особливість, що читання здійснюється як з оперативної пам`яті, а запис при функціонуванні без спеціального обладнання (не треба виймати з панелі). Час зберігання інформації у мікросхемі – до 100 років (мінімум без перепрограмування 10 років). Є обмежене...