МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
КАФЕДРА ЕЛЕКТРОННИХ ОБЧИСЛЮВАЛЬНИХ МАШИН
Курсовий проект
з курсу:
“Мікропроцесорні системи”
на тему:
“Проектування мікрокомп’ютера”
Зміст
1. Початкові дані для проектування
3
2. Загальні відомості
4
2.1.Особливості мікропроцесора TSC87251G2D
4
2.2. Опис мікросхем сімейства TSC8x251G2D
6
2.3. Структурна схема мікропроцесора
7
2.4. Цоколівка мікросхеми
8
2.5. Призначення виводів
8
2.6. Адресний простір
15
2.6.1. Пам’ять програм.
15
2.6.2. Пам’ять даних.
16
2.6.3. Спеціальні функціональні регістри
17
2.6.4. Конфігураційні байти
21
3.Проектування структури мікрокомп`ютера
23
3.1. Загальна схема системи
23
3.2. Внутрішні вузли мікропроцесора
25
3.3. Вузол синхронізації
27
3.4. Вузол початкового скидання
28
3.5. Підключення зовнішньої пам`яті
29
3.6. Підключення послідовного інтерфейсу RS-232
32
3.7. Алгоритм програмування та верифікації внутрішньої ПЗП
36
3.8. Підключення схеми індикації
39
3.9. Блок-схема алгоритму початкової ініціалізації
40
Висновки
41
Список використаної літератури
42
Додатки
A. Схема електрична функціональна
Б. Схема електрична принципова
В. Перелік елементів
Г. Текст програми початкової ініціалізації
1. Початкові дані для проектування.
1. Тип мікропроцесора: TSC87251G2D фірми Atmel;
2. Оперативна пам`ять: 8х1КБ (вбудована на кристалі);
3. Постійна пам`ять: 16х32КБ (вбудована на кристалі) та Flash-пам`ять AT29LV010 1MБ (128x8КБ);
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 КБ
32 КБ вбудованої ПЗП EPROM/OTPROM SINGLE PULSE Programming Algorithm (алгоритм програмування одиночного імпульсу)
Чотири 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.Опис мікросхем сімейства TSC8x251G2D
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-похідні оптимізовані для швидкісного і для низького споживання потужності на широкому діапазоні напруги.
Типові пристрої, які можуть бути під`єднані до даної мікросхеми:
ІSDN термінали (Integrated Services Digital Network – цифрова мережа з комплексними послугами);
Високошвидкісні модеми;
PABX (SOHO – Small office-Home office – „малий офіс-домашній офіс” –сегмент комп`ютерного ринку і продукція для нього) – телефонна система приватного користування;
Лінійні плати;
DVD ROM і програвачі;
Принтери;
Графобудівники;
Сканери;
Читачі штрих-коду;
Читачі мікропроцесорної карточки – пластикова карточка із вбудованим мікропроцесором;
Високоякісні цифрові монітори;
Високоякісні джойстики;
Високоякісні телевізори.
2.3. Структурна схема мікропроцесора TSC87251G2D.
Рис.1. Структурна схема внутрішнього представлення мікросхеми TSC87251G2D
2.4. Цоколівка мікросхеми.
Рис.2. Вигляд DIP-корпуса мікросхеми (зліва) та функціональний вигляд мікросхеми (справа)
2.5. Призначення виводів.
Табл.1.Призначення та тип виводів мікросхеми TSC87251G2D
Ім`я сигналу
Тип
Призначення, опис
Альтернативна функція
A17
O
18ий адресний біт.
Підводиться до пам`яті як 18ий зовнішній біт адреси розширеної шини, що залежить від значень бітів RD0 та RD1 в байті UCONFIG0.
P1.7
A16
O
17ий адресний біт.
Підводиться до пам`яті як 17ий зовнішній біт адреси розширеної шини, що залежить від значень бітів RD0 та RD1 в байті UCONFIG0 .
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.6. Адресний простір.
TSC80251G2D-похідні мають чотири адресних простори:
кристальна ПЗП пам`ять програм (не присутня у пристроях без ПЗП);
кристальна ОЗП пам`яті даних;
спеціальні функціональні регістри (SFRs);
масив конфігурації;
2.6.1. Пам'ять програм.
TSC83251G2D і TSC87251G2D містять 32 КБ програмної пам`яті на кристалі. Рисунок 4 показує розбивку внутрішньої і зовнішньої пам'яті програм/коду. Якщо EA# має високий рівень, то 32КБ кристальна пам'ять програми відображена у нижній частині сегмента FF: де переходи C251 ядра йдуть після пам`яті, що відповідає за оброблення скиду. Інша частина простору пам'яті програм/коду відображена на зовнішню пам'ять. Якщо EA# прив`язаний до низького рівня, то внутрішня пам'ять програм/коду не використовується, і будь-який доступ спрямований до зовнішньої пам'яті.
TSC83251G2D-продукти забезпеч-чують внутрішню пам'ять програм/коду у маскованій пам'яті ПЗП, у той час як TSC87251G2D-продукти забезпечують це в пам'яті, що дозволяє перепрограмування EPROM. Для TSC80251G2D-продуктів немає ніякої внутрішньої пам'яті програм/коду, і EA# повинний бути встановлений до низького рівня.
Рис.3.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: (це запобігає переходу у зарезервовану частину).
2.6.2. Пам'ять даних.
TSC80251G2D-похідні адресують 1КБ кристальної ОЗП пам`яті даних. Рисунок 5 показує розбивку внутрішнього і зовнішнього просторів пам'яті даних. Ця пам'ять відображена у просторі даних тільки над 32 байтами області регістрів. Отже, частина кристальної ОЗП розташована у адресному просторі від 20h до FFh. Ця кристальна ОЗП не доступна через простір пам'яті програм/коду.
Для більш швидкого обчислення з допомогою кристальної ROM / EPROM старші 16КБ коду TSC83251G2D/TSC87251G2D відображені у верхній частині області 00: якщо конфігураційний біт карти кристальної пам'яті коду очищений (EMAP# біт у UCONFІG1 байті). Однак, якщо EA# прив'язаний до низького рівня, то TSC80251G2D-похідна працює як пристрій без ПЗП, і код – фактично вибирається у відповідній зовнішній пам'яті (тобто верхні 16 КБ нижніх 32 КБ з сегмента FF:). Якщо EMAP# біт встановлений, кристальна ПЗП не доступна через область 00:.
Весь доступ до частини простору даних поза кристалом відображено перепризначенням до зовнішньої пам'яті.
Рис.3.2. Зображення адресного простору пам`яті даних
2.6.3. Спеціальні функціональні регістри
Спеціальні функціональні регістри (SFRs) TSC80251G2D-похідних детально описані в Таблиці1-Таблиці9.
SFRs розташовані в зарезервованій області кристальної пам'яті S:, що не представлений на рисунку 5. Відносні адреси в межах S: цих SFRs забезпечується сумісно разом з їхніми значеннями при скиданні в Таблиці. Вони - висхідний аналог SFRs стандарту 80C51 і Іntel сімейства 80C251Sx. Всі SFRs використовуються з побітово.
Табл.2.1. Спеціальні функціональні регістри ядра C251
Мнемоніка
Ім`я
ACC(1)
Акумулятор
B(1)
Регістр В
PSW
Програмне слово стану
PSW1
Програмне слово стану 1
SP(1)
Вказівник на стек (молодший байт)
SPH(1)
Вказівник на стек (старший байт)
DPL(1)
Вказівник на дані (молодший байт)
DPH(1)
Вказівник на дані (старший байт)
DPXL(1)
Вказівник на дані розширений,
молодший байт регістра DPX- номер області
Табл.2.2. Спеціальні функціональні регістри портів вводу/виводу
Мнемоніка
Ім.`я
P0
Порт 0
P1
Порт 1
P2
Порт 2
P3
Порт 3
Табл.2.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.4 Спеціальні функціональні регістри для послідовних портів вводу/виводу
Мнемоніка
Ім`я
SCON
Керуючий регістр послідовності
SBUF
Буфер послідовних даних
SADEN
Допоміжна (slave) адресна маска
SADDR
Допоміжна адреса
BRL
Регістр перезавантаженння генератора швидкості двійкової передачі
BDRCON
Керуючий регістр генератора швидкості двійкової передачі
Табл..2.5. Спеціальні функціональні регістри синхронного послідовного контролера зв`язування
Мнемоніка
Ім`я
SSCON
Керуючий регістр синхронної послідовності
SSDAT
Регістр синхронних послідовних даних
SSCS
Керуючий регістр синхронної послідовності та стану
SSADR
Адреса синхронної послідовності
SSBR
Біт швидкості двійкової передачі синхронної послідовності
Табл.2.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.7. Спеціальні функціональні регістри системного забезпечення
Мнемоніка
Ім`я
PCON
Регістр контролю потужності
POWM
Регістр забезпечення потужністю
CKRL
Регістр перезавантаження тактових сигналів
WCON
Регістр керування синхронним станом очікування в режимі реального часу
Табл..2.8. Спеціальні функціональні регістри переривань
Мнемоніка
Ім`я
IE0
Керуючий регістр дозволу переривання 0
IE1
Керуючий регістр дозволу переривання 1
IPH0
Керуючий регістр приорітетного переривання 0 (старший байт)
IPL0
Керуючий регістр приорітетного переривання 0 (молодший байт)
IPH1
Керуючий регістр приорітетного переривання 1 (старший байт)
IPL1
Керуючий регістр приорітетного переривання 1 (молодший байт)
Табл..2.9.Спеціальні функціональні регістри для інтерфейсу клавіатури
Мнемоніка
Ім`я
P1IE
Регістр дозволу переривання для вводу у порт 1
P1F
Регістр ознак для порту 1
P1LS
Регістр рівневого розподілення для порту 1
Примітка: Ці регістри можуть бути також доступні за відповідними адресами у регістровому файлі.
Табл.2.10. Опис спеціальних функціональних регістрів
Примітка:
1. Ці регістри описані в керівництві TSC80251 для програміста (C251 регістра ядра).
2. У TWІ і SPІ режимах, SSCON розбивається на два окремих регістра. SSCON значення скидання - 0000 0000 у TWІ режимі і 0000 0100 у SPІ режимі.
3. У режимах читання та запису, SSCS розбивається на два окремих регістра. SSCS значення скидання - 1111 1000 у режимі читання і 0000 0000 у режимі запису.
2.6.4. Конфігураційні байти
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# прив`язаний до високого рівня, конфігураційна інформація відновлюється з кристальної пам'яті замість зовнішнього адресного простору і немає обмеження у використанні зовнішньої пам'яті.
Рис.4.1. Конфігурація байта UCONFIG0
Табл.3.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# (див.табл.3.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.
Рис.4.2. Конфігурація байта UCONFIG1
Табл.3.2. Конфігурація байту UCONFIG1
Номер біту
Мнемоніка біту
Опис
7
СSIZE
Біт, що визначає розмір пам`яті програм на кристалі. Очищується для вибору 16КБ , а встановлюється для вибору 32КБ кристальної пам`яті програм.
6
-
Зарезервовано. Встановлюється,коли йде запис до UCONFIG1.