Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
Курсова Робота
з курсу «Мікропроцесорні системи»
на тему:
«Проектування Мікрокомп’ютера»
Варіант № 16
АНОТАЦІЯ
В даній курсовій роботі спроектовано мікрокомп'ютер на базі мікропроцесора C8051F320 фірми Silicon Labs. Подано опис мікропроцесора C8051F320, мікросхем зовнішньої пам'яті 23K256 програм та даних, а також заданого периферійного пристрою – порту UART. В даній роботі розроблено електричну функціональну і принципову схеми пристрою, граф-схему алгоритму його роботи, а також програму драйвер.
ЗМІСТ
ВСТУП 4
ТЕХНІЧНЕ ЗАВДАННЯ 5
1. ОСНОВНІ ХАРАКТЕРИСТИКИ ВУЗЛІВ СИСТЕМИ 6
1.1 МП С8051F320 6
1.1.1 Основні технічні характеристики МП С8051F320 6
1.1.2 Структура МП С8051F320 7
1.1.3 CIP-51 (8051 сумісне ядро) 8
1.1.4 Структура пам’яті 10
1.1.5 Програмна модель 11
1.1.6 Характеристика системи команд 14
1.1.7 Функціональне призначення виводів мікросхеми 16
1.1.8 Вузол початкової установки 18
1.1.9 Вузол синхронізації 19
1.2 Пам’ять ОЗУ 20
1.2 Підсистема вводу/виводу 22
2. РОЗРОБКА СХЕМИ ЕЛЕКТРИЧНОЇ ФУНКЦІОНАЛЬНОЇ 23
2.1 Загальна структурна схема системи 23
2.2 Формування магістралі адрес та даних 24
3. РОЗРОБКА СХЕМИ ЕЛЕКТРИЧНОЇ ПРИНЦИПОВОЇ 25
3.1 Блок синхронізації 25
3.2 Блок початкового скиду 26
3.3 Підключення зовнішньої пам’яті 26
3.4 Підключення зовнішньої периферії 27
4. РОЗРОБКА ПРОГРАМНОЇ ЧАСТИНИ СИСТЕМИ 28
ВИСНОВКИ 30
СПИСОК ЛІТЕРАТУРИ 31
ДОДАТКИ 32
ВСТУП
Розробка мікрокомп’ютерів є дуже важливою складовою галузі розробки комп’ютерів в цілому. Основною перевагою використання мікрокомп’ютерів є низькі споживані витрати і можливість виконання різних спеціалізованих задач. Тому вони використовуються в найрізноманітніших галузях.
Мікрокомп’ютери можна зустріти в багатьох сучасних приладах, таких як телефони, пральні машини, вони відповідають за роботу двигунів і систем гальмування сучасних автомобілів, з їх допомогою створюються системи контролю і системи збору інформації, а переважна більшість процесорів, що випускаються у світі це – мікроконтролери.
ТЕХНІЧНЕ ЗАВДАННЯ
Спроектувати мікрокомп’ютер на базі мікропроцесора C8051F32х.
Розробити функціональну та принципову електричні схеми мікрокомп’ютера.
Розробити програму ініціалізацію та керування мікрокомп’ютером.
Основні вузли мікрокомп’ютера:
Центральний процесор – C8051F320 (Silicon Labs)
Оперативна пам’ять (ОЗП) – 23K256 (Microchip)
Підсистема вводу/виводу (ПВВ) - UART
1. ОСНОВНІ ХАРАКТЕРИСТИКИ ВУЗЛІВ СИСТЕМИ
1.1 МП С8051F320
1.1.1 Основні технічні характеристики МП С8051F320
Аналогова периферія
АЦП 10 біт, два компаратори; джерело внутрішньої опорної напруги; POR/Brown - Out Detector.
Контролер USB
Специфікація USB 2.0; підтримка швидких(12 Мб/с) чи повільних (1,5 Мб/с) операцій; комплексне відновлення синхронізації - не потрібно зовнішнього кристалу для підтримки різних швидкостей; підтримка 8 різних кінцевих пристроїв; 1 КБ буферної пам’яті для USB; інтегрований трансівер - не потрібно зовнішнього опору.
Вбудований відлагоджувач
Відлагоджувач вбудований в кристал (дозволяє обійтися без емулятора); забезпечує точки переривання, покрокове виконання, перегляд пам’яті і регістрів; найвища ефективність досягається для систем емуляції, які використовують ICE чіпи і сокети.
Регулятор вхідної напруги Від 4.0 до 5.3 вольт.
Високошвидкісне 8051-сумісне ядро
Конвеєрна архітектура комнд – 70% команд віиконуюються за 1 чи 2 такти; швидкодія до 25 MIPS при частоті 25МГц; розширений обробник переривань.
Пам’ять
2304 байта внутрішній ОЗП (1КБ + 256Б + 1КБ буфер USB); 16 КБ флеш пам’яті блоками по 512 Б.
Цифрова периферія
25 портів вводу/виводу з прямою логікою; апаратно розширювані UART, SPI і SMBus послідовні інтерфейси; 4 16-бітні лічильники загального призначення; 16-бітний програмований лічильник з 5 модулями захоплення; підтримка режиму реального часу з використанням зовнішнього таймера і програмованого лічильника.
Джерела тактової частоти
Внутрішнє джерело тактовох частоти: 0,25% точності з відновленням частоти. Підтримка USB і UART режимів; Зовнішні джерела: Crystal, RC, C, Clock(режим на 1 чи 2 виводи); підримка преключення між джерелами частоти на-льоту (корисно для стратегій економії живлення).
Діапазон температур -40 до +85 ˚С.
Основні технічні характеристики МП С8051F320 показані на Рис 1.1.
Рис. 1.1.Основні технічні характеристики МП С8051F320
1.1.2 Структура МП С8051F320
Схема розміщена вузлів МП показана на Рис 1.2. А його структурна схема на Рис 1.3. Структуру МП можна розділити на 2 частини: аналогову та цифрову.
Рис. 1.2.Схема розміщення вузлів МП
В аналоговій частині розміщені аналогова периферія
АЦП 10 біт;
два компаратори;
джерело внутрішньої опорної напруги;
POR/Brown - Out Detector.
В цифровій частині розміщені:
Цифрова периферія;
USB контролер;
прецесійне внутрішнє джерело опорної частоти;
ядро CIP51.
Рис. 1.3. Структурна схема МП
1.1.3 CIP-51 (8051 сумісне ядро)
Ядро CIP-51 має такі характеристики:
повна сумісність з набором інструкцій MSC-51
швидкодія до 25 MIPS на 25 МГц;
тактова частота від 0 до 25 МГц;
256 байт внутрішнє ОЗП;
25 портів вводу/виводу;
розширений обробник переривань;
перевантаження вводу;
підтримка різних режимів споживання електроенергії;
вбудований відлагоджувач;
безпека роботи з пам’яттю програм та даних.
Структурна схема мікроконтролерного ядра представлена на Рис 1.4.
Рис. 1.4. Структурна схема ядра CIP-51
Основні елементи схеми:
ALU – арифметико – логічний пристрій;
Stack pointer – вказівник стеку;
B reg. – В регістр;
Accumulator – акумулятор;
PC increment – інкремент лічильника;
Program counter – лічильник;
Data pointer – вказівник даних;
Buffer – буферні регістри;
Program address reg. – рег. адреси команд;
Power control reg. – рег. контролю живлення;
Interupt int. – інтерфейс переривань;
Memory int. – інтерфейс пам’яті;
SFR Bus int. – шина регістрів спеціального призначення;
Data Bus – шина даних;
1.1.4 Структура пам’яті
Організація пам’яті C8051F320 подібна до організації пам’яті стандартного контролера 8051. Пам’ять поділена на дві частини: пам’ять програм та пам’ять даних. Вони знаходяться в одному адресному просторі, але доступ до них здійснюється різними типами інструкцій. Структура пам’яті показана на рис 1.5
Рис 1.5 Структура пам’яті мікропроцесора.
Пам’ять програм має розмір 256 байт. Старші 128 байт є продубльованими. До старших 128 байт можна доступитися непрямою адресацією, а непрямою до 128 байт адресного простору SFR. Млодші 128 байт доступні прямою та непрямою адресацією. Адресація перших чотирьох байт здійснюється, як звертання до 4 блоків регістрів загального призначення. До наступних 16 байт можливо доступатися, як до байт адресах так і по адресах біт.
Пам’ять програм складається з 16 КБ флеш пам’яті. Вона може бути запрограмована блоками по 512 байт і не потребує спеціального програматора.
Також C8051F32 включає 2048 байт зовнішньої XRAM. Вона є розбитою на пам’ять користувача (адреси: 0х0000 – 0х03FF) і простір USB FIFO (адреси: 0х0400 – 0х07FF). Решта 1 КБ дублює молодші 1 КБ.
1.1.5 Програмна модель
Молодші 32 байти пам’яті даних(адреси від 0х00 до 0x1F) можуть бути адресовані як 4 блоки регістрів загального призначення . Кожен банк складається з вісьмох регістрів R0-R7. Лиш один з цих блоків може використовуватися при роботі. Блок вибирається двома бітами слова статусу програми RS0 і RS1. Наявність банків дозволяє швидке переключення контексту при обробці переривань чи використанні підпрограм. Додатково пам’ять даних від 0х20 до 0x2F можна адресувати побітно як 128 біт (наприклад MOV C, 22h.3 ) Програмна модель МП показана на Рис. 1.6
Рис 1.6 Програмна модель мікропроцесора C8051F320
В Таблиці 1.1 подані спеціальні функціональні регістри.
Таблиця 1.1. Спеціальні функціональні регістри МП C8051F320
Символ
Адреса
Функція
ACC
0xE0
Акумулятор
ADC0CF
0xBC
ADC конфігурація
ADC0CN
0xE8
ADC контроль
ADC0GTH
0xC4
ADC Greater-Than Data Word (High Byte)
ADC0GTL
0xC3
ADC Greater-Than Data Word (Low Byte)
ADC0H
0xBE
ADC Data Word (High Byte)
ADC0L
0xBD
ADC Data Word (Low Byte)
ADC0LTH
0xC6
ADC Less-Than Data Word (High Byte)
ADC0LTL
0xC5
ADC Less-Than Data Word (Low Byte)
AMX0N
0xBA
ADC MUX конфігурація
AMX0P
0xBB
ADC MUX вибір каналу
B
0xF0
B регістр
CKCON
0x8E
Контроль частоти
CLKSEL
0xA9
Вибір джерела частоти
CLKMUL
0xB9
Контроль помножувача частоти
CPT0CN
0x9B
Контроль компаратора0
CPT0MD
0x9D
Вибір режиму компаратора0
CPT0MX
0x9F
Вибір мультиплексора компаратора0
CPT1CN
0x9A
Контроль компаратора1
CPT1MD
0x9C
Вибір режиму компаратора1
CPT1MX
0x9E
Вибір мультиплексора компаратора1
DPH
0x83
Data Pointer (High Byte)
DPL
0x82
Data Pointer (Low Byte)
EIE1
0xE6
DSR Options
EIE2
0xE7
Extended Interrupt Enable
EIP1
0xF6
Extended Interrupt Enable
EIP2
0xF7
External Interrupt Priority 1
EMI0CN
0xAA
Інтерфейс контролю зовнішньої пам’яті
FLKEY
0xB7
Флеш блокування і ключ
FLSCL
0xB6
Флеш масштаб
IE
0xA8
Дозвіл переривань
IP
0xB8
Пріоритет переривання
IT1CF
0xE4
INT0 конфігурація
OSCICL
0x B3
Калібрування внутрішнього джерела частоти
OSCICN
0xB2
Контроль внутрішнього джерела частоти
OSCXCN
0xB1
Контроль зовнішнього джерела частоти
P0
0x80
Port0(P0) Latch
P0MDIN
0xF1
P0 конфігурація режиму вводу
P0MDOUT
0xA4
P0 конфігурація режиму виводу
P0SKIP
0xD4
P0 Skip
P1
0x90
Port1(P1) Latch
P1MDIN
0xF2
P1 конфігурація режиму вводу
P1MDOUT
0xA5
P1 конфігурація режиму виводу
P1SKIP
0xD5
P1 Skip
P2
0xA0
Port2(P2) Latch
P2MDIN
0xF3
P2 конфігурація режиму вводу
P2MDOUT
0xA6
P2 конфігурація режиму виводу
P2SKIP
0xD6
P2 Skip
P3
0xB0
Port3(P3) Latch
P3MDIN
0xF4
P3 конфігурація режиму вводу
P3MDOUT
0xA7
P3 конфігурація режиму виводу
PCA0CN
0xD8
PCA контроль
PCA0CPH0
0xFC
PCA старший байт лічильника 0
PCA0CPH1
0xEA
PCA старший байт лічильника 1
PCA0CPH2
0xEC
PCA старший байт лічильника 2
PCA0CPH3
0xEE
PCA старший байт лічильника 3
PCA0CPH4
0xFE
PCA старший байт лічильника 4
PCA0CPL0
0xFB
PCA молодший байт лічильника 0
PCA0CPL1
0xE9
PCA молодший байт лічильника 1
PCA0CPL2
0xEB
PCA молодший байт лічильника 2
PCA0CPL3
0xED
PCA молодший байт лічильника 3
PCA0CPL4
0xFD
PCA молодший байт лічильника 4
PCA0CPM0
0xDA
PCA регістр режиму лічильника 0
PCA0CPM1
0xDB
PCA регістр режиму лічильника 1
PCA0CPM2
0xDC
PCA регістр режиму лічильника 2
PCA0CPM3
0xDD
PCA регістр режиму лічильника 3
PCA0CPM4
0xDE
PCA регістр режиму лічильника 4
PCA0H
0xFA
PCA старший байт лічильника
PCA0L
0xF9
PCA молодший байт лічильника
PCA0MD
0xD9
PCA режим
PCON
0x87
Режим живлення
PSCTL
0x8F
Контроль запису/читання програм
PSW
0xD0
Слово статусу програми
REF0CN
0xD1
Контроль приєднання напруги
REG0CN
0xC9
Контроль регуляції напруги
RSTSRC
0xEF
Конфігурація Reset
SBUF0
0x99
UART0 буфер даних
SCON0
0x98
UART0 контроль
SMB0CF
0xC1
SMBus конфігурація
SMB0CN
0xC0
SMBus контроль
SMB0DAT
0xC2
SMBus дані
SP
0x81
Покажчик стеку
SPI0CFG
0xA1
SPI конфігурація
SPI0CKR
0xA2
SPI конфігурація
SPI0CN
0xF8
SPI контроль
SPI0DAT
0xA3
SPI дані
TCON
0x88
Контроль лічильника
TH0
0x8C
Лічильник 0 старший байт
TH1
0x8D
Лічильник 1 старший байт
TL0
0x8A
Лічильник 0 молодший байт
TL1
0x8B
Лічильник 1 молодший байт
TMOD
0x89
Режим лічильника
TMR2CN
0xC8
Контроль лічильника 2
TMR2H
0xCD
Лічильник 2 старший байт
TMR2L
0xCC
Лічильник 2 молодший байт
TMR2RLH
0xCB
Перевантаження старшого байту лічильника 2
TMR2RLL
0xCA
Перевантаження молодшого байту лічильника 2
TMR3CN
0x91
Контроль лічильника 3
TMR3H
0x95
Лічильник 3 старший байт
TMR3L
0x94
Лічильник 3 молодший байт
TMR3RLH
0x93
Перевантаження старшого байту лічильника 3
TMR3RLL
0x92
Перевантаження молодшого байту лічильника 3
USB0ADR
0x96
USB регістр непрямої адресації
USB0DAT
0x97
USB регістр даних
USB0XCN
0xD7
USB контроль передачі даних
VDM0CN
0xFF
VDD контроль живлення
XBR0
0xE1
Контроль порту вводу/виводу 0
XBR1
0xE2
Контроль порту вводу/виводу 1
-
0x84–0x86, 0xAB-0xAF,
0xB4, 0xB5, 0xBF, 0xC7,
0xCE, 0xCF, 0xD2, 0xD3,
0xDF, 0xE3, 0xE5, 0xF5
Зарезервовані адреси
1.1.6 Характеристика системи команд
Система команд є повністю сумісна з набором інструкцій MSC-51. Проте ядро має підвищену швидкодію, тому час виконання інструкцій відрізняється від стандартного 8051. Для розробки ПЗ можуть використовуватися стандартні 803х асемблери та компілятори.
Система команд мікропроцесорного ядра містить набори команд для виконання арифметичних, логічних, бітових операцій, операцій роботи із пам’яттю та портами і наведена у Таблиці 1.2. Всього в системі команд є 109 інструкцій.
Таблиця 1.2. Система команд СІР-51
Мнемоніка команди
Опис команди
К-сть байт
К-сть тактів
Арифметичні операції
ADD A,Rn Add
Додати регістр до A
1
1
ADD A,direct
Додати безпосередньо байт до A
2
2
ADD A,@Ri
Додати з комірки RAM до A
1
2
ADD A,#data
Додати до A
2
2
ADDC A,Rn
Додати регістр до A з переносом
1
1
ADDC A,direct
Додати безпосередньо байт до A з переносом
2
2
ADDC A,@Ri
Додати з комірки RAM до A з переносом
1
2
ADDC A,#data
Додати до A з переносом
2
2
SUBB A,Rn
відняти регістр з A з запозиченням
1
1
SUBB A,direct
відняти безпосередньо байт з A з запозиченням
2
2
SUBB A,@Ri
відняти з комірки RAM з A з запозиченням
1
2
SUBB A,#data
відняти з A з запозиченням
2
2
INC A
збільшити A
1
1
INC Rn
збільшити регістр
1
1
INC direct
збільшити безпосередньо байт
2
2
INC @Ri
збільшити з комірки RAM
1
2
DEC A
зменшити A
1
1
DEC Rn
зменшити регістр
1
1
DEC direct
зменшити безпосередньо байт
2
2
DEC @Ri
зменшити з комірки RAM
1
2
INC DPTR
збільшити Data Pointer
1
1
MUL AB
перемножити A та B
1
4
DIV AB
поділити A на B
1
8
DA A
десяткова корекція
1
1
Логічні операції
ANL A,Rn
AND регістр A
1
1
ANL A,direct
AND безпосередньо байт в A
2
2
ANL A,@Ri
AND з комірки RAM в A
1
2
ANL A,#data
AND в A
2
2
ANL direct,A
AND A з безпосередньо байтом
2
2
ANL direct,#data
AND з безпосередньо байт
3
3
ORL A,Rn
OR регістр з A
1
1
ORL A,direct
OR безпосередньо байт з A
2
2
ORL A,@Ri
OR з комірки RAM до A
1
2
ORL A,#data
OR з A
2
2
ORL direct,A
OR A з безпосередньо байтом
2
2
ORL direct,#data
OR з безпосередньо байтом
3
3
XRL A,Rn
Exclusive-OR рег. з A
1
1
XRL A,direct
Exclusive-OR безпосередньо байт з A
2
2
XRL A,@Ri
Exclusive-OR з комірки RAM до A
1
2
XRL A,#data
Exclusive-OR з A
2
2
XRL direct,A
Exclusive-OR A з безпосередньо байтом
2
2
XRL direct,#data
Exclusive-OR з безпосередньо байтом
3
3
CLR A
очистити A
1
1
CPL A
доповнити A
1
1
RL A
зсув A вліво
1
1
RLC A
зсув A вліво з переносом
1
1
RR A
зсув A вправо
1
1
RRC A
зсув A вправо з переносом
1
1
SWAP A
поміняти з A
1
1
Команди пересилки
MOV A,Rn
перенести регістр до A
1
1
MOV A,direct
перенести безпосередньо байт до A
2
2
MOV A,@Ri
перенести з комірки RAM до A
1
2
MOV A,#data
перенести до A
2
2
MOV Rn,A
перенести A до регістру
1
1
MOV Rn,direct
перенести безпосередньо байт до регістру
2
2
MOV Rn,#data
перенести до регістр
2
2
MOV direct,A
перенести A до безпосередньо байту
2
2
MOV direct,Rn
перенести регістр до безпосередньо байту
2
2
MOV direct,direct
перенести безпосередньо байт
3
3
MOV direct,@Ri
перенести з комірки RAM до байту
2
2
MOV direct,#data
перенести до байту
3
3
MOV @Ri,A
перенести A до з комірки RAM
1
2
MOV @Ri,direct
перенести безпосередньо байт з комірки RAM
2
2
MOV @Ri,#data
перенести з комірки RAM
2
2
MOV DPTR,#data16
Зчитати вказівник з константою
3
3
MOVC A,@A+DPTR
перенести code байт DPTR до A
1
3
MOVC A,@A+PC
перенести code байт PC до A
1
3
MOVX A,@Ri
перенести (8-біт address) до A
1
3
MOVX @Ri,A
перенести A до (8-біт address)
1
3
MOVX A,@DPTR
перенести (16-біт address) до A
1
3
MOVX @DPTR,A
перенести A до (16-біт address)
1
3
PUSH direct
Занести безпосередньо байт в стек
2
2
POP direct
Зчитати безпосередньо байт з стека
2
2
XCH A,Rn
поміняти регістр з A
1
1
XCH A,direct
поміняти безпосередньо байт з A
2
2
XCH A,@Ri
поміняти з комірки RAM з A
1
2
XCHD A,@Ri
помяніти комірки RAM з A
1
2
Бінарні операції
CLR C
очистити перенос
1
1
CLR bit
очистити безпосередньо біт
2
2
SETB C
встановити перенос
1
1
SETB bit
встановити безпосередньо біт
2
2
CPL C
доповнити перенос
1
1
CPL bit
доповнити безпосередньо біт
2
2
ANL C,bit
AND безпосередньо біт з переносом
2
2
ANL C,/bit
AND з доповненням безпосередньо до біту з переносом
2
2
ORL C,bit
OR безпосередньо біт з переносом
2
2
ORL C,/bit
Or з доповненням безпосередньо до біту з переносом
2
2
MOV C,bit
перенести безпосередньо біт з переносом
2
2
MOV bit,C
перенести перенос до безпосередньо біту
2
2
JC rel
перехід якщо перенос встановлено
2
2/3
JNC rel
перехід якщо перенос не встановлено
2
2/3
JB bit,rel
перехід якщо безпосередньо встановлено біт
2
3/4
JNB bit,rel
перехід якщо безпосередньо біт не встановлено
2
3/4
JBC bit,rel
перехід якщо безпосередньо встановлено біт в скид
3
3/4
Команди переходів
ACALL addr11
виклик процедури
2
3
LCALL addr16
виклик дальньої процедуриl
3
4
RET
повернення з процедури
1
5
RETI
повернення з переривання
1
5
AJMP addr11
безумовний перехід
2
3
LJMP addr16
довгий перехід
3
4
SJMP rel
короткий перехід
2
3
JMP @A+DPTR
перехід з комірки + DPTR
1
3
JZ rel
перехід якщо A = 0
2
2/3
JNZ rel
перехід якщо A недорівнює 0
2
2/3
CJNE A,direct,rel
Порівняти безпосередньо байт з A та перейти якщо не 0
3
3/4
CJNE A,#data,rel
Порівняти до A та перейти якщо не 0
3
3/4
CJNE Rn,#data,rel
Порівняти до регістр та перейти якщо не 0
3
3/4
CJNE @Ri,#data,rel
порівняти до з комірки та перейти якщо не 0
3
4/5
DJNZ Rn,rel
зменшити регістр та перейти якщо не 0
2
2/3
DJNZ direct,rel
зменшити безпосередньо байт та перейти якщо не 0
3
3/4
NOP
нема операції
1
1
1.1.7 Функціональне призначення виводів мікросхеми
Призначення контактів мікросхеми МС С8051F320 зображено на Рис. 1.7. Детальна інформація зображена в Таблиці 1.3
Імя
№ ніжки
Тип
Опис
VDD
6
Вхідна напруга
2,7 – 3,6 В Вхідна напруга
GND
3
Земля
/RST
9
Дані В/В
Викликає перевантаження. Зовнішнє джерело має подавати низький рівень хоча б 15 мкс.
/C2CK
Дані В/В
Тактовий сигнал для інтерфейсу відлагодженняя
P3.0
10
Дані В/В
Порт 3.0
С2D
Дані В/В
Двонапрямлений порт даних для інтерфейсу відлагоджувача
REGIN
7
Вхідна напруга
Опрна напруга 5 В
VBUS
8
Дані В
VBUS USB сигнал. Рівень сигналу 5 В повідомляє про під’єднане USB.
D+
4
Дані В/В
USB D+
D-
5
Дані В/В
USB D-
P0.0
2
Дані В/В
Порт 0.0
P0.1
1
Дані В/В
Порт 0.1
P0.2
32
Дані В/В
Порт 0.2
XTAL1
Адреси В
Вхід зовнішнього джерела тактових імпульсів на кристал чи резонатор
P0.3
31
Дані В/В
Порт 0.3
XTAL2
Адреси В/В чи Дані В
Вивід зовнішнього джерела частоти.
P0.4
30
Дані В/В
Порт 0.4
P0.5
29
Дані В/В
Порт 0.5
P0.6
28
Порт 0.6
CNVSTR
ADC0 зовнішній стартовий ввід.
P0.7
27
Дані В/В
Порт 0.7
VREF
Адреси В/В
Зовнішній VREF ввід/вивід
P1.0
26
Дані В/В
Адреси В
Порт 1.0
P1.1
25
Дані В/В
Порт 1.1
P1.2
24
Дані В/В
Порт 1.2
P1.3
23
Дані В/В
Порт 1.3
P1.4
22
Дані В/В
Порт 1.4
P1.5
21
Дані В/В
Порт 1.5
P1.6
20
Дані В/В
Порт 1.6
P1.7
19
Дані В/В
Порт 1.7
P2.0
18
Дані В/В
Порт 2.0
P2.1
17
Дані В/В
Порт 2.1
P2.2
16
Дані В/В
Порт 2.2
P2.3
15
Дані В/В
Порт 2.3
P2.4
14
Дані В/В
Порт 2.4
P2.5
13
Дані В/В
Порт 2.5
P2.6
12
Дані В/В
Порт 2.6
P2.7
11
Дані В/В
Порт 2.7
Таблиця 1.3 Детальна інформація про контакти МП 8051F320.
Рис. 1.7. Призначення контактів мікросхеми МП С8051F320
1.1.8 Вузол початкової установки.
Початкове ініціалізація необхідна для нормального початку роботи, встановлення необхідних режимів роботи процесора, пам’яті та інших компонент мікропроцесорної системи. Ініціалізація відбувається при включенні живлення системи. Програми можуть викликати початкову ініціалізацію шляхом запису 1 в PINSFR біт в регістрі RSTSRC. На Рис. 1.8 зображено часові діаграми роботи вузла початкової синхронізації. Викликає перевантаження. Зовнішнє джерело має подавати низький рівень хоча б 15 мкс.
Рис. 1.8. Часові діаграми встановлення початкової ініціалізації
1.1.9 Вузол синхронізації.
Вузол синхронізації зображено на Рис 1.9. Він складається з програмованого внутрішнього джерела тактової частоти, схеми підключення зовнішнього джерела тактової частоти та помножувача тактової частоти. Внутрішнє джерело частоти може бути відключено встановленням регістра OSCICN і OSCICL. Сигнал тактової частоти схеми чи частоти USB контролера може надходити він зовнішнього джерела частоти, помножувача частоти чи внутрішнього джерела частоти.
Рис. 1.9. Структура вузла синхронізації
1.2 Пам’ять ОЗП
Зовнішня пам'ять даних реалізується на мікросхемі 23K256 фірми Microchip. мікросхема володіє наступними особливостями:
Тактова частота 20 MIPS
Низькоспоживна КМОН технологія виготовлення
Організація пам’яті 32768х8 організація
Розмір сторінки 32 байти
Різні режими доступу
побайтовий
сторінковий
послідовний
Послідовне читання/запис
Висока надійність
Температурні режими
-40˚С до +80 ˚С
-40˚С до +125 ˚С
23K256 фірми Microchip являє собою високопродуктивну статичну ОЗП з організацією в 32768 слів по 8 біт. Звертання до пам’яті відбувається через інтерфейс SPI. Для цього необхідні сигнали синхронізації SCK, вхідні і вихідні дані SI і SO. Робота мікросхеми контролюється інверсним CS входом. Також присутній вхід HOLD, яким можна призупиняти пристрій. Вхідні і вихідні дані ігноруються за виключенням входу вибору кристалу. Цоколівка мікросхеми показані на Рис. 1.10. Виводи мікросхеми 23K256 показані в таблиці 1.4. На рис. 1.11 – 1.12 зображено часові діаграми читання/запису з/в пам’ять.
Рис.1.10. Цоколівка 23K256
Таблиця 1.4 Призначення виводів мікросхеми 23K256
Назва виводу
Функція
/CS
Вибір кристалу
SO
Послідовний вивід
VSS
Земля
SI
Послідовний ввід
SCK
Вхідні Синхроімпульси
/HOLD
Пауза
VCC
Напруга живлення
Рис.1.11. Послідовний запис в пам’ять
Рис.1.12. Послідовне читання з пам’яті
1.3 Підсистема вводу/виводу
UART – це асинхронний дуплексний інтерфейс, який працює в режимах 1 чи 3 стандартного МП 8051. Розширена підтримка швидкостей бод збезпечує роботу в різних режимах. UART0 має два SFR регістри SCON0 регістр контролю послідовностей, і регістр SBUF0 регістр буферу даних. При записі до SBUF0 завжди досягається регістр RX, а при читанні регістр TX і ніяк інакше. При активізації переривань UART при кожній передачі даних( прийому чи передачі). Прапорець переривання повинен бути очищений програмно. На рис. 1.13 показано структура UART порту.
Рис.1.13. Структура UART
2. РОЗРОБКА СХЕМИ ЕЛЕКТРИЧНОЇ ФУНКЦІОНАЛЬНОЇ
2.1 Структурна схема системи
С8051F320 представляє собою мікросхему високого ступеню інтеграції. Вона містить в собі деякі периферійні інтерфейси. Тому для побудови мікропроцесорної системи на базі даної мікросхеми не виникає потреби для під’єднання багатьох периферійних пристроїв. Мікрокомп’ютер, що проектується буде містити в собі наступні компоненти: процесор, пам’ять, периферійний пристрій, який реалізований на мікросхемі мікропроцесора у вигляді послідовного інтерфейсу, блок синхронізації та блок скидання. Загальна структурна схема мікрокомп'ютера зображена на рис. 2.1
Рис. 2.1 Структурна схема мікрокомп’ютера
Принципова схема підключення вузла скиду та вузла синхронізації роз’яснена в розділі 3. На рис. 2.2 показано схему підключення периферії UART до ПК за допомогою перетворювача рівнів RS-232. Принципова схема підключення периферійного інтерфейсу описана в розділі 3.
Рис. 2.2. Тип підключення пам’яті
На рисунку 3.4 показано 3-х дротовий спосіб підключення пам’яті RAM по порту SPI. Принципова схема підключення пам’яті описана в розділі 3.
Рис. 3.4. Тип підключення пам’яті
2.2 Формування магістралі адрес та даних
Оскільки в мікропроцесорі лінії адреси та даних не є мультиплексованими, тому необхідність використовувати регістри для збереження значення встановленої на шині адреси не виникає. Пам’ять можна під’єднувати напряму – як постійну так і ОЗП. Це дозволяє значно спростити схеми, створені на базі цього процесора. Пам’ять підключається по інтерфейсу SPI. Детальний опис підключення пам’яті описано в розділі розробки принципової схеми.
3. РОЗРОБКА СХЕМИ ЕЛЕКТРИЧНОЇ ПРИНЦИПОВОЇ
При підключенні пам’яті таким чином слід звернути увагу на початкову ініціалізацію МП C8051F320 оскільки він має комутоване підключення портів до виводів ніжок, тому потрібно наперед визначити до яких ніжок мікросхеми будуть підключені відповідні порти. На рисунку 3.1 показані можливі схеми підключення портів до ніжок схеми.
Рис. 3.1 Загальна структура схема мікрокомп’ютера
Для підключення портів до виводів мікросхеми необхідно зробити наступне:
Вибрати режим вводу (цифровий чи аналоговий – PnMDIN регістр)
Вибрати режим