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

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

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

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

Рік:
2003
Тип роботи:
Курсова робота
Предмет:
Мікропроцесорні системи
Група:
CПР-41

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

Міністерство освіти України Національний університет “Львівська Політехніка” кафедра ЕОМ К у р с о в а р о б о т а з курсу “Мікропроцесорні системи” на тему “Проектування мікрокомп’ютера” Виконав: ст. гр.CПР-41 Перевірив: Пуйда В.Я. Львів 2003 З м і с т Початкові дані на проектування 3 1. Розробка схеми електричної функціональної мікро ЕОМ та основних режимів функціонування 4 1.1. Основні технічні характеристики МП C8051F320 7 1.2. Структура МП C8051F018 7 1.3. Основні вузли та опис МП C8051F320 8 2. Розробка схеми електричної-принципової мікро ЕОМ 17 3. Розробка блок схеми та програми початкової ініціалізації мікро ЕОМ 23 3.1. Структура пам’яті 23 3.2. Програмна конфігурація вузлів МП 25 3.3. Контроль перетворень та передача даних 25 3.4. Відображення та збереження інформації 26 3.5. Сканування аналогових величин 27 Література 28 Додаток 1. Перелік елементів Додаток 2. Лістинг програми керування та ініціалізації мікрокомп’ютера Лист 1. Схема електрична фунціональна Лист 2. Схема електрична принципова Початкові дані на проектування Спроектувати мікро ЕОМ на базі мікропоцесора Cygnal C8051F320. Розробити функціональну та принципову електричні схеми мікрокомп’ютера. Розробити програму ініціалізації та керування мікрокомп’ютером. 1. Розробка схеми електричної функціональної мікрокомп’ютера та основних режимів функціонування Для цифрової обробки сигналів використовують так звані сигнальні мікропроцесори. До їх особливостей належить малорозрядність (до 40 розрядів) оброблювальних чисел з рухомою комою, переважне використання чисел із фіксованою комою розрядністю до 32 біт, а також орієнтацію на нескладну обробку великих масивів даних. Відмінною особливістю задач цифрової обробки сигналів є потоковий характер обробки даних великих об'ємів в реальному масштабі часу, що вимагає від обчислювальних засобів високої продуктивності та інтенсивного обміну даними з зовнішніми пристроями. Відповідність таким вимогам досягається завдяки специфічній архітектурі сигнальних процесорів, проблемно-орієнтованій системі команд. Сигнальні процесори володіють високим ступенем спеціалізації. В них широко використовуються методи скорочення тривалості командного циклу, характерні для універсальних RISC-процесорів, такі як конвеєризація на рівні окремих мікрокоманд та інструкцій, розміщення операндів більшості команд у регістрах, використання тіньових регістрів для збереження станів обчислень при переключенні контексту, розділення шин команд і даних (Гарвардська архітектура). В той самий час для сигнальних процесорів характерною є наявність апаратного множника, що дозволяє виконувати множення двох чисел за один командний такт. В універсальних процесорах множення реалізується за декілька тактів, як послідовність операцію зсуву та додавання. Іншою особливістю сигнальних процесорів є включення в систему команд таких операцій як множення з накопиченням, інверсія біт адреси, різнорідні бітові операції. В сигнальних процесорах реалізується апаратна підтримка програмних циклів, кільцевих буферів. Один або декілька операндів викликаються з пам'яті в циклі виконання команди. Реалізація однотактного множення і команд, що використовують в якості операндів вмістиме комірок пам'яті обумовлюють порівняно низькі тактові частоти роботи таких процесорів. Спеціалізація не дозволяє підвищувати продуктивність за рахунок швидкого виконання коротких команд, як це виконують в універсальних процесорах. Цих команд просто не має в програмах обробки сигналів. Сигнальні процесори різних компаній-виробників утворюють два класи, які суттєво відрізняються ціною: більш дешеві мікропроцесори для обробки даних в форматі з фіксованою комою та дорогі мікропроцесори, що апаратно підтримують операції над даними з рухомою комою. Використання в сигнальній обробці даних із даних з рухомою комою обумовлене декількома причинами. Для багатьох задач, пов'язаних з виконання диференціальних та інтегральних перетворень, важливе місце має точність обчислень, забезпечити яку може лише експоненціальний формат представлення даних. Алгоритми компресії, декомпресії, адаптивної фільтрації в цифровій обробці пов'язане з визначенням логарифмічних залежностей і ому дуже чутливі до точності представлення даних в широкому динамічному діапазоні. Робота з даними в форматі з рухомою комою, суттєво спрощує і прискорює обробку, збільшує надійність програми, так як не вимагає операцій округлення та нормалізації даних, відслідковування ситуацій втрати ваги та переповнення. Платити за такий “комфорт та швидкість” доводиться високою складністю функціональних вузлів, що виконують обробку даних, необхідність використання більш складних технологій виготовлення мікросхем. Останнім часом став популярним інший підхід підвищення продуктивності. Велика кількість транзисторів на кристалі може бути використана для створення симетричної багатопроцесорної системи з більш простими процесорами, що обробляють цілочисельні операнди. Прикладами таких “медійних” процесорів є вироби компаній MicroUnit, Philips, Chromatic Research, Nvidia, Cyrix. Ці процесори створюються для потреб обробки у реальному масштабі часу відео- аудіоінформації. В зв'язку з більш простою схемотехнікою порівняно з універсальними процесорами вони мають низьку вартість (до 100$). Пікова продуктивність сучасних спеціалізованих процесорів складає декілька міліардів цілочисельних операцій за секунду. В переліку найбільш поширених сигнальних процесорів слід назвати вироби компаній Motorola, Intel, Texas Instruments, Analog Device, Cygnal. Вироби останньої з названих фірм набули популярності в розробці недорогих вимірювальних пристроїв і будуть розглянуті в даній роботі. Вибір того чи іншого процесора для реалізації конкретного проекту – багатокритеріальна задача, однак слід зазначити перевагу процесорів Analog Device для задач що вимагають об'ємних математичних розрахунків (цифрової фільтрації сигналів, обчислень кореляційних функцій) так як їх показники продуктивності на порядок вищі в цій галузі на відміну від виробів інших фірм. В той самий час для задач які вимагають інтенсивного обміну із зовнішніми пристроями переважно використовують вироби Texas Instruments, які володіють високошвидкісними інтерфейсними підсистемами. Компанія Motorola є лідером по виробництву сигнальних мікропроцесорів, більшу частину яких складають недорогі 16-ти та 24-розрядні МП з фіксованою комою. 1.1. Основні технічні характеристики МП C8051F320 - швидкодія до 25 MIPS на 25MHz - 22 вектори переривань - використання режимів IDLE-Mode та SLEEP-Mode - можливість роботи із RC, LP, XT, HP схемами генератора - вбудована схема підтримки емулювання - 16 кБ FLASH-пам’яти програм, внутрисхемне програмування - 256 + 1Kбайт ОЗП (стандарт), до 64Кбайт зовнішньої - 4 таймера 16-біт, 5 модулів Capture/Compare - Watchdog-таймер - сенсор температури з точністю до 3 °C; - вхідний мультиплексор з кофігуруванням 1/8, або диференційні входи; - АЦП 10-біт з інтегральною нелінійністю до +1LSB; - два компаратори з виходом на переривання або скидом; - прецезійний монітор напруги живлення - порти RS232, SPI, SMBus (IIC) - напруги живлення 2.8 3.6 В - споживання 12.5 мА, на 25 MHz 1.2. Структура МП C8051F320 Структурна схема МП представлена на рисунку 1.1. Структуру МП можна розділити на 2 частини: аналогову та цифрову. В аналоговій частині МП розміщені: - сенсор температури з точністю до +2 °C; - вхідний мультиплексор з кофігуруванням 1/8, або диференційні входи; - АЦП 10 - біт з інтегральною нелінійністю до +1LSB; - два компаратори з 16 рівнями гістерезісу з виходом на переривання або скидом. В цифровій часині МП представлені власне мікропроцесорне ядро СІР-51, основна (RAM), розширена (ХRAM) та флеш пам’ять, модуль JTAG логіки, системи керування перериваннями, системи інтерфейсів портів вводу/виводу.  Рис. 1.1. Структурна схема МП 1.3. Основні вузли МП C8051F320 Мікроконтролер CIP-51 Мікро контролер системи має такі характеристики: - швидкодія до 25MIPS на 25MHz; - 21 вектор переривань; - використання режимів IDLE-Mode і SLEEP-Mode - напруги живлення 2.7-3.6 В - можливість роботи із RC, LP, XT, HP схемами генератора - вбудована схема підтримки емулювання - 4 таймера 16-біт, 5 модулів Capture/Compare - Watchdog-таймер Структурна схема мікроконтролерного ядра представлена на рисунку 1.2.  Рис. 1.2. Структурна схема ядра 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. Таблиця 1.1. Система команд СІР-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 ¾  JNB bit,rel перехід якщо безпосередньо біт не встановлено 2 ¾  JBC bit,rel перехід якщо безпосередньо встановлено біт в скид 3 ¾   Команди переходів  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 ¾  CJNE A,#data,rel Порівняти до A та перейти якщо не 0 3 ¾  CJNE Rn,#data,rel Порівняти до регістр та перейти якщо не 0 3 ¾  CJNE @Ri,#data,rel порівняти до з комірки та перейти якщо не 0 3 4/5  DJNZ Rn,rel зменшити регістр та перейти якщо не 0 2 2/3  DJNZ direct,rel зменшити безпосередньо байт та перейти якщо не 0 3 ¾  NOP нема операції 1 1   АЦП 10-Bit Підсистема АЦП складається з: 9-канального аналогового мультиплексора з переналаштованою конфігурацією (AMUX), програмованого підсилювача напруг (PGA), 100ksps, 10-ти розрядного SAR АЦП з інтегрованим модулем track-and-hold та програмованим детектором вікон. AMUX, PGA, Data Conversion Modes, та Window Detector є повністю програмно керовані через спеціальний функціональній регістр (регістр спеціального призначення)  Рис. 1.3. Структура ADC 10-Bit Аналоговий мультиплексор та PGA Вісім каналів мультиплексора є доступні для зовнішніх сигналів (вимірів) тоді як дев’ятий канал під’єднаний до вбудованого температурного давача. Вхідні пари можуть бути запрограмовані для операцій в differential та single-ended режимах. Це дозволяє користувачу обирати на найбільш зручний режим вимірів для вхідних каналів “on-the-fly”. Два регістри є пов’язані з AMUX це Channel Selection регістр AMX0SL та Configuration регістр AMX0CF. Значення по замовчуванню заносяться під час скиду. Компаратори Дане сімейство МП містить 2 інтегровані компаратори напруг. Вхід компараторів є доступний через виводи МС. Вихід – опціонально – через систему переривань, або на виводи МС. Обидва компаратори програмно можна встановити у прозорий (проточний) режим або у двотактний режим. Гістерезіс обох компараторів встановлюється програмним шляхом (регістри CPT0CN, CPT1CN). На вхід можна подавати сигнали в межах -0.25V до (AV+) + 0.25V. Величини негативного/позитивного гістерезісу визначаються у регістрах бітами CP0HYN/CP0HYP відповідно.  Рис. 1.4. Структура компаратора Система живлення Дана схема (схема формування/пов’язання напруг) містить генератор та gain-of-two вихідний підсилювач і може під’єднуватись до зовнішніх пристроїв схеми + термічний сенсор. Керування вузлами схеми та режимами роботи відбувається 3 бітами регістру REF0CN.  Рис. 1.6. Структура інтегрованої системи живлення Часові діаграми перетворень сигналу  Процес перетворення в АЦП   Режим 0 UART   Режим 1 UART 2. Розробка схеми електричної-принципової мікрокомп'ютера Використовуючи як основу мікропроцесор C8051F320 спроектуємо модель мікрокомп'ютера, яка виконуватиме функції цифрового осцилографа. Мікропроцесор C8051F320 виконуватиме роль повнофункціонального вузла для перетворення і обробки аналогових та цифрових сигналів. Відображення та збереження отриманої інформації відбуватиметься засобами персонального комп'ютера. МП C8051F320 фірми Cygnal є потужний сигнальний процесор. Він містить багатофункціональний аналоговий модуль, який може виконувати швидке захоплення вхідного сигналу (до 100 КГц) в досить широкому діапазоні. Він не має можливості розширення та доступу до зовнішньої пам'яті, проте мікропроцесор містить вмонтований високошвидкісний (до 115,200 бод) UART який дозволяє передавати дані до персонального комп'ютера із швидкістю приблизно 5000 елементів за сек. Персональний комп'ютер може зберігати отримані виміри або відображати результати у реальному масштабі часу. МП C8051F320 виконаний у 64 контактному корпусі типу TQFP-64:  ЇРис. 2.1. Схема розміщення вузлів МП  Рис. 2.1. TQFP-64 діаграма виводів Таблиця 2.1. Призначення виводів мікросхеми МП Назва Номер виводу Тип Опис  VD 31,40,62  Цифрове значення напруги  DGND 30,41,61  Цифрове значення землі  AV+ 16,17  Позитивне аналогове значення подачі живлення  AGND 5,15  Аналогове значення заземлення  TCK 22 D In JTAG Тест годинника внутрішньою напругою  TMS 21 D In JTAG перевірка роботи вибірки SELECT внутрішньою напругою  TDI 28 D In JTAG Тест вхідних даних внутрішньою напругою. TDI є тригерно замкнений на час TCK  TDO 29 D Out JTAG Тест вихідних даних . Дані заблоковані від TDO, що є тригерно замкнений на час TCK  XTAL1 18 D In Вхід кристалу. Належить до внутрішньої схеми генератора , до кристалічного чи керамічного резонатора. Для точності внутрішній годинник, з’єднує кристал чи керамічний резонатор від XTAL1 до XTAL2.  XTAL2 19 D Out Вихід з кристалу. Ця ніжка призначеня для керамічного чи кристального генератора.  /RST 20 D I/O Скид процесора.  VREF 6 A I/O Контроль живлення  CPO+ 4 A In Компаратор № 0. Неінверсний вхід  CPO- 3 A In Компаратор № 0. Інверсний вхід  CP1+ 2 A In Компаратор № 1. Неінверсний вхід  CP1- 1 A In Компаратор № 1. Інверсний вхід  DAC0 64 A Out ЦАП вихід №0  DAC1 63 A Out ЦАП вихід №1  AIN0 7 A In Канал входу №0 аналогового мультиплексора  AIN1 8 A In Канал входу №1 аналогового мультиплексора  AIN2 9 A In Канал входу №2 аналогового мультиплексора  AIN3 10 A In Канал входу №3 аналогового мультиплексора  AIN4 11 A In Канал входу №4 аналогового мультиплексора  AIN5 12 A In Канал входу №5 аналогового мультиплексора  AIN6 13 A In Канал входу №6 аналогового мультиплексора  P0.0 39 D I/O Port0 Bit0. Cистеми вводу/виводу  P0.1 42 D I/O Port0 Bit1. Cистеми вводу/виводу  P0.2 47 D I/O Port0 Bit2. Cистеми вводу/виводу  P0.3 48 D I/O Port0 Bit3. Cистеми вводу/виводу  P0.4 49 D I/O Port0 Bit4. Cистеми вводу/виводу  P0.5 50 D I/O Port0 Bit5. Cистеми вводу/виводу  P0.6 55 D I/O Port0 Bit6. Cистеми вводу/виводу  P0.7 56 D I/O Port0 Bit7. Cистеми вводу/виводу  P1.0 38 D I/O Port1 Bit0. Cистеми вводу/виводу  P1.1 37 D I/O Port1 Bit1. Cистеми вводу/виводу  P1.2 36 D I/O Port1 Bit2. Cистеми вводу/виводу  P1.3 35 D I/O Port1 Bit3. Cистеми вводу/виводу  P1.4 34 D I/O Port1 Bit4. Cистеми вводу/виводу  P1.5 32 D I/O Port1 Bit5. Cистеми вводу/виводу  P1.6 60 D I/O Port1 Bit6. Cистеми вводу/виводу  P1.7 59 D I/O Port1 Bit7. Cистеми вводу/виводу  P2.0 33 D I/O Port2 Bit0. Cистеми вводу/виводу  P2.1 27 D I/O Port2 Bit1. Cистеми вводу/виводу  P2.2 54 D I/O Port2 Bit2. Cистеми вводу/виводу  P2.3 53 D I/O Port2 Bit3. Cистеми вводу/виводу  P2.4 52 D I/O Port2 Bit4. Cистеми вводу/виводу  P2.5 51 D I/O Port2 Bit5. Cистеми вводу/виводу  P2.6 44 D I/O Port2 Bit6. Cистеми вводу/виводу  P2.7 43 D I/O Port2 Bit7. Cистеми вводу/виводу  P3.0 26 D I/O Port3 Bit0. Cистеми вводу/виводу  P3.1 25 D I/O Port3 Bit1. Cистеми вводу/виводу  P3.2 24 D I/O Port3 Bit2. Cистеми вводу/виводу  P3.3 23 D I/O Port3 Bit3. Cистеми вводу/виводу  P3.4 58 D I/O Port3 Bit4. Cистеми вводу/виводу  P3.5 57 D I/O Port3 Bit5. Cистеми вводу/виводу  P3.6 46 D I/O Port3 Bit6. Cистеми вводу/виводу  P3.7 45 D I/O Port3 Bit7. Cистеми вводу/виводу   Повнофункціональна модель повинна містити такі вузли: - аналогову інтерфейсну частину; - вузол контролю перетворень та передачі даних; - систему збереження та відображення даних. В свою чергу для створення аналогового інтерфейсу на базі C8051F320 будуть задіяні такі модулі мікпроцесора: - 8-ми канальний аналоговий мультиплексор; - програмований підсилювач; - 10 – бітний АЦП. Мультиплексор можна запрограмувати як для роботи у 4-х канальному диференційному режимі так і для роботи в режимі 8-ми канального одиночного мультиплексора. Диференційний (вибірковий) режим є більш практичний. Вихід мультиплексора під’єднаний до програмованого підсилювача (PGA). PGA може отримувати диференційний сигнал та видавати (генерувати) єдиний вихідний сигнал. Коефіцієнт підсилення можна змінювати в реальному масштабі часу (на льоту) але він може приймати лише такі фіксовані значення: 0,5; 1; 2; 4; 8; 16. Сигнал з виходу підсилювача спрямований на 10-бітний АЦП конвертер. Максимальна пропускна здатність цього перетворювача близько 100,000 перетворень за секунду. Пропускна здатність (швидкодія) може бути контрольована та визначена програмним шляхом. Цикл перетворення може змінюватись через Timer0, Timer3, External signal або внутрішнім програмним шляхом. Модель мікропроцесорної системи складається з: - мікропроцесора C8051F320 - інтерфейсу RS-232 IC - узгоджувача напруг. Основні характеристики та часові діаграми режимів роботи комунікаційного інтерфейсу RS-232 на базі МС МАХ-232 Тип МС МАХ232 (МАХ202) Живлення +5В К-сть портів вв/вив 2/2 Номінальна ємність нав. (мкФ) 1,0 (0,1) Пропускна здатність 120 Кбіт/с  Рис. 2.3. УГП та структура МС МАХ232  Рис. 2.4 Часові діаграми режимів пересилки (а) та прийому даних (б) Початкове внутрішнє налагодження системи відбувається через фізичне замикання відповідних керуючих виводів. Так ініціалізація UART відбувається через виводи Р0.6-Р0.7. Коли на мікропроцесор подається живлення по замовчуванню відбувається самоініціалізація всіх вузлів МП. Ініціалізація програми примусово переводить МП на використання зовнішнього тактового генератора. Система готова до роботи. 3. Розробка програмної моделі та програми початкової ініціалізації мікрокомп'ютера 3.1. Структура пам’яті Пам’ять МП розділяється на програмну та пам'ять даних. Пам'ять програм виконана як флеш пам'ять. Однак у цій області пам'яті можна зберігати як дані так і програмний код. Ємність 16 Кбайт. Передбачено до 10000 циклів перезапису. У випадку розміщення у флеш пам'яті коду даних він зберігається у секторі 0x8000 – 0x807F.  Рис. 3.1. Структура пам’яті 1024 байти ОЗП можуть адресувати 1К для 64К зовнішньої пам’яті даних. Першу половину пам'яті даних (128 байт) займають регістри спеціального призначення їх опис приведено у таблиці 3.1. Таблиця 3.1. Перелік регістрів спеціального призначення Адреса Регістр Призначення  0xE0 ACC Акумулятор  0xBC ADC0CF ADC конфігурація  0xE8 ADC0CN ADC контроль  0xC5 ADC0GTH ADC Greater-Than Data Word (High Byte)  0xC4 ADC0GTL ADC Greater-Than Data Word (Low Byte)  0xBF ADC0H ADC Data Word (High Byte)  0xBE ADC0L ADC Data Word (Low Byte)  0xC7 ADC0LTH ADC Less-Than Data Word (High Byte)  0xC6 ADC0LTL ADC Less-Than Data Word (Low Byte)  0xBA AMX0CF ADC MUX конфігурація  0xBB AMX0SL ADC MUX вибір каналу  0xF0 B B регістр  0x8E CKCON Clock контроль  0x9E CPT0CN компаратор 0 контроль  0x9F CPT1CN компаратор 1 контроль  0x83 DPH Data Pointer (High Byte)  0x82 DPL Data Pointer (Low Byte)  0xCE DSROP DSR Options  0xE6 EIE1 Extended Interrupt Enable  0xE7 EIE2 Extended Interrupt Enable  0xF6 EIP1 External Interrupt Priority 1  0xF7 EIP2 External Interrupt Priority 2  0xB7 FLACL Flash Memory Read Limit  0xB6 FLSCL Flash Memory Timing Prescaler  0xA8 IE Interrupt Enable  0xB8 IP Interrupt Priority контроль  0xB2 OSCICN Internal Oscillator контроль  0xB1 OSCXCN External Oscillator контроль  0x80 P0 Port 0 Latch  0x90 P1 Port 1 Latch  0xA0 P2 Port 2 Latch  0xB0 P3 Port 3 Latch  0xD8 PCA0CN програмований лічильник Array 0 контроль  0xFA PCA0CPH0 PCA модуль захоплення Data Word (High Byte)  0xFB PCA0CPH1 PCA модуль захоплення Data Word (High Byte)  0xFC PCA0CPH2 PCA модуль захоплення 2 Data Word (High Byte)  0xFD PCA0CPH3 PCA модуль захоплення 3 Data Word (High Byte)  0xFE PCA0CPH4 PCA модуль захоплення 4 Data Word (High Byte)  0xEA PCA0CPL0 PCA модуль захоплення 0 Data Word (Low Byte)  0xEB PCA0CPL1 PCA модуль захоплення 1 Data Word (Low Byte)  0xEC PCA0CPL2 PCA модуль захоплення 2 Data Word (Low Byte)  0xED PCA0CPL3 PCA модуль захоплення 3 Data Word (Low Byte)  0xEE PCA0CPL4 PCA модуль захоплення 4 Data Word (Low Byte)  0xDA PCA0CPM0 програмований лічильник Array 0 Capture/Compare 0  0xDB PCA0CPM1 програмований лічильник Array 0 Capture/Compare 1  0xDC PCA0CPM2 програмований лічильник Array 0 Capture/Compare 2  0xDD PCA0CPM3 програмований лічильник Array 0 Capture/Compare 3  0xDE PCA0CPM4 програмований лічильник Array 0 Capture/Compare 4  0xF9 PCA0H PCA лічильник/Timer Data Word (High Byte)  0xE9 PCA0L PCA лічильник/Timer Data Word (Low Byte)  0xD9 PCA0MD програмований лічильник Array 0 Mode  0x87 PCON Power контроль  0xA4 PRT0CF Port 0 Configuration  0xA5 PRT1CF Port 1 Configuration  0xAD PRT1IF Port 1 Interrupt Flags  0xA6 PRT2CF Port 2 Configuration  0xA7 PRT3CF Port 3 Configuration  0x8F PSCTL Program Store RW контроль  0xD0 PSW Program Status Word  0xCB RCAP2H лічильник/Timer 2 Capture (High Byte)  0xCA RCAP2L лічильник/Timer 2 Capture (Low Byte)  0xD1 REF0CN Voltage Reference контроль Register  0x99 SBUF Serial Data Buffer (UART)  0x98 SCON Serial Port контроль (UART)  0xC3 SMB0ADR SMBus 0 Address  0xC0 SMB0CN SMBus 0 контроль  0xCF SMB0CR SMBus 0 Clock Rate  0xC2 SMB0DAT SMBus 0 Data  0xC1 SMB0STA SMBus 0 Status  0x81 SP Вказівник стеку  0x9A SPI0CFG Serial Peripheral Interface Configuration  0x9D SPI0CKR SPI Clock Rate  0xF8 SPI0CN SPI Bus контроль  0x9B SPI0DAT SPI Port 1Data  0xC8 T2CON лічильник/Timer 2 контроль  0x88 TCON лічильник/Timer контроль  0x8C TH0 лічильник/Timer 0 Data Word (High Byte)  0x8D TH1 лічильник/Timer 1 Data Word (High Byte)  0xCD TH2 лічильник/Timer 2 Data Word (High Byte)  0x8A TL0 лічильник/Timer 0 Data Word (Low Byte)  0x8B TL1 лічильник/Timer 1 Data Word (Low Byte)  0xCC TL2 лічильник/Timer 2 Data Word (Low Byte)  0x89 TMOD лічильник/Timer Mode  0x91 TMR3CN Timer 3 контроль  0x95 TMR3H Timer 3 High  0x94 TMR3L Timer 3 Low  0x93 TMR3RLH Timer 3 Reload High  0x92 TMR3RLL Timer 3 Reload Low  0xFF WDTCN Watchdog Timer контроль  0xE1 XBR0 Port I/O Crossbar Configuration 1  0xE2 XBR1 Port I/O Crossbar Configuration 2  0xE3 XBR2 Port I/O Crossbar Configuration 3   3.2. Програмна конфігурація вузлів МП Мультиплексор можна запрограмувати як для роботи у 4-х канальному диференційному режимі так і для роботи в режимі 8-ми канального одиночного мультиплексора. Диференційний (вибірковий) режим є більш практичний. Вихід мультиплексора під’єднаний до програмованого підсилювача (PGA). PGA може отримувати диференційний сигнал та видавати (генерувати) єдиний вихідний сигнал. Коефіцієнт підсилення можна змінювати в реальному масштабі часу (на льоту) але він може приймати лише такі фіксовані значення: 0,5; 1; 2; 4; 8; 16. 3.3. Контроль перетворень та передача даних. Timer3 завжди встановлюється в режим автоперевантаження, він генерує імпульс коли 16-бітний лічильник перекидається з FFFF в 0000. Після кожного переповнення 16-бітне значення з регістру Timer3 RL зчитується в Timer3 і починається новий відлік. Значення перекиду знаходиться в межах від 0000 до FFFF, що дає змогу задавати період від 10000 циклів до 1. Частотний діапазон для кожного з випадків визначається від величини SYSCLK до SYSCLK/12. Коли процес оцифровки завершено 16-бітний результат зчитується з вихідного регістру АЦП і через послідовний порт поступає в персональний комп'ютер. Порт функціонує на частоті 11,0582 МГц та надає пропускну здатність 115,200 бод. Це дозволяє передавати приблизно 10,000 байт за секунду. Перетворення даних у представлення ASCII подвоює інформаційний потік, що вдвічі зменшує швидкодію. Тому максимальна швидкодія досягається лише при використанні двійкового формату даних. 3.4. Відображення та збереження інформації Керування мікропроцесорною системою відбувається повністю програмним шляхом. З персонального комп'ютера можна всією роботою моделі. Мікропроцесорна система отримує від користувача вихідні дані та налагоджує згідно них АЦП. Коли настройка завершена система готова для обробки та пересилки сигналу. Дані які отримує комп'ютер можуть бути збережені у файлі або виводитись на екран у режимі реального часу. Проте на практиці зручніше спочатку зафіксувати інформаційний потік а потім вже його візуалізувати. Програмне забезпечення вимагає від користувача такі початкові умови: - аналоговий канал - тип каналу (одиночний чи диференціальний) - коефіцієнт підсилення - частота опрацювання - кількість вимірів - ім'я файлу для збереження результатів. Ця інформація частково пересилається в мікропроцесорну систему для налагодження її параметрів. Після цього система готова для роботи. Коли виміри завершено – користувачу надається можливість відобразити отримані результати, поновити виміри або вийти з програми. 3.5. Сканування аналогових величин ЦАП запускається командою яка поступає від програми керування ПК. Формат команди є універсальним і має вигляд: $ NNNN TTTT M C G 0dh 0ah - $ символ початку команди - NNN – ASCII значення об'єм вимірів - ТТТТ – ASCII значення інтервалу між вибірками - М – ASCII значення режиму роботи мультиплексора - С – ASCII значення номеру каналу - G –ASCII значення коефіцієнта підсилення - 0dh 0ah символ переводу каретки Максимальна довжина команди – 16 символів. Дані передаються у 16-й формі. Для спрощення програмного забезпечення не відбувається жодної перевірки та корекції синтаксису команд. У випадку виникнення помилки мікропроцесорну систему слід перезавантажити шляхом повторного вмикання та ініціалізації. Лістинг програми яка виконує початкову ініціалізацію, запуск мікрокомп'ютера та передачу даних до ПК наведено у Додатку 2. Література 1. PDF Document, title “C8051F320”, subject Product Spec, author Danny Allred, ver 1.2 25.09.2000 2. PDF Document, title “MAX232 full Data Sheet”, subject Product Spec, author Maxim, ver 1.3 15.11.2000 3. Web-HTML Document, title “Digital Storage Scope Using Cygnal - C8051F018 Mixed Signal Processor”, Part I, author Sudhir Gupta http://www.cygnal.com    
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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