52
ТЕМА 1 БЛОКОВА СХЕМА НА МИКРОПРОЦЕСОРНА СИСТЕМА Микропроцесорът е интегрална схема с висока степен на интеграция или част от такава схема, която изпълнява централни управляващи функции. Основна част на микропроцесора е програмен брояч (РС), който съдържа информацията, която трябва да се извлече от програмната памет. След изпълнението й при линейна програма съдържанието на програмния брояч автоматично се увеличава с 1 (или 2). При инструкции за преходи в програмата РС се зарежда с ново съдържание. АЛУ. Служи за изпълнение на аритметични логически операции. При някои процесори умножението се реализира с блок за умножение. Акумулатори (1 или 2) – регистри с общо предназначение, в които се съхранява операнд, междинен или краен резултат. Статус регистър (регистър на състоянието, дума за състоянието на програмата, program state word, регистър на кода на условията) – отразява как е завършила операцията. (Дали резултатът е нулев, дали има пренос, дали е отрицателен и т.н.) Битовете в регистъра на състоянието се наричат също флагове. Индексен регистър – използва се главно при метод за адресация, наречен индексна адресация. Стеков указател – служи за адресиране на т.нар. стекова памет. 1

MPST - Pishtovi

Embed Size (px)

Citation preview

Page 1: MPST - Pishtovi

ТЕМА 1 БЛОКОВА СХЕМА НА МИКРОПРОЦЕСОРНА СИСТЕМАМикропроцесорът е интегрална схема с висока степен на интеграция или част от такава

схема, която изпълнява централни управляващи функции.

Основна част на микропроцесора е програмен брояч (РС), който съдържа информацията, която трябва да се извлече от програмната памет. След изпълнението й при линейна програма съдържанието на програмния брояч автоматично се увеличава с 1 (или 2). При инструкции за преходи в програмата РС се зарежда с ново съдържание.

АЛУ. Служи за изпълнение на аритметични логически операции. При някои процесори умножението се реализира с блок за умножение.

Акумулатори (1 или 2) – регистри с общо предназначение, в които се съхранява операнд, междинен или краен резултат.

Статус регистър (регистър на състоянието, дума за състоянието на програмата, program state word, регистър на кода на условията) – отразява как е завършила операцията. (Дали резултатът е нулев, дали има пренос, дали е отрицателен и т.н.) Битовете в регистъра на състоянието се наричат също флагове.

Индексен регистър – използва се главно при метод за адресация, наречен индексна адресация.

Стеков указател – служи за адресиране на т.нар. стекова памет.Регистър на инструкцията – съдържа инструкцията, която е извлечена от програмната

памет.Блок за дешифриране на инструкцията и управление.Характеристики:

Разрядност Бързодействие – работната честота на тактовия генератор (~MHz). Честота на изпълнение на инструкциите ([MIPS] – милиони инструкции за секунда)

1

Page 2: MPST - Pishtovi

Магистрална структура. Магистрала – съвкупност от проводници, обединени по функционален признак. Съществуват 3 вида магистрали:

Д-магистрала – магистрала за данниА-магистрала – адресна магистрала, n-разрядна, 2n броя адреси може да издаде.Съвкупността от всички адреси, които може да издаде микропроцесора, се нарича

адреснo пространство. Разпределението на адресното пространство между отделните модули в МП с-ма се представя с т.нар. карта на паметта.

С-магистрала – предава управляващи и синхронизиращи сигнали.

ТЕМА 2 ХАРАКТЕРИСТИКА НА ФОН НОЙМАНОВА И ХАРВАРДСКА АРХИТЕКТУРА

Фон Нойман

Различна дължина на инструкциите;1-, 2-, 3- и т.н. байтови инструкции;Различно време за изпълнение на инструкциите;

Харвард

Еднаква дължина на инструкциите (с изключение на няколко инструкции);

Еднакво време за изпълнение на инструкциите с изключение на инструкциите с дължина 2 думи и

инструкциите за преход;ТCY – цикъл на инструкциятаCISC – компютри с пълна система инструкцииRISC – компютри с намалена система инструкцииЕфективно инструкциите се изпълняват за един цикъл на инструкцията с изключение на

инструкциите с дължина 2 думи и инструкциите за преход, които се изпълняват за 2 (3) цикълаКонвейеризиране на инструкциите

ТЕМА 3 ОРГАНИЗАЦИЯ НА ЗАПОМНЯЩИ ИНТЕГРАЛНИ СХЕМИКЛАСИФИКАЦИЯТА НА ЗАПОМНЯЩИТЕ ИНТЕГРАЛНИ СХЕМИ МОЖЕЛА СТАНЕ ПО

РАЗЛИЧНИ ПРИЗНАЦИ:• използвана технология

- биполярна – ТТЛ, ЕСЛ, ШТТЛ и подобрените им варианти:- MOS - P-MOS, N-MOS, C-MOS и подобрените им варианти.

• функционално действие- запомнящи устройства с произволен достъп - всички клетки имат адреси, по които

могат да се избират в произволен ред. Времето за избор не зависи от физическото местоположение на клетката в интегралната схема (Random Access Memory);

- памети с последователен достъп (Serial Access Memory). Времето за избор зависи от физическото местоположение на клетката.

• памети за запис и четене (наричат се още даннова памет, оперативна памет, RAM) и памети само за четене (на предварително записана, програмирана информация) - наричат се още програмна памет, постоянна памет, ROM. Първите са енергозависими - с изключване на захранващото напрежение записаната информация се губи. Вторите са енергонезависими.

Паметта за запис и четене (данновата памет) се разделя на две групи в зависимост от вида на запомнящия елемент - статична и динамична. При статичните памети запомнящият елемент е тригер и информацията в него се съхранява, докато е подадено захранващото напрежение. При динамичните информацията се съхранява във вид на заряд върху запомнящ кондензатор.

Паметите само за четене (програмната памет) се класифицират в зависимост от това колко пъти и как се извършва програмирането: ROM - еднократно, от производителя на схемите, в хода на технологичния процес. Още се

наричат технологично-програмируеми;

2

Page 3: MPST - Pishtovi

PROM - еднократно, от потребителя. Още се наричат програмируеми или електрически програмируеми (Programmable ROM). За програмирането е необходим програматор.

EPROM - многократно, от потребителя. За програмирането е необходим програматор. Изтриването на въведената информация се извършва от т.нар. "изтривалка" чрез облъчване на чипа с ултравиолетова светлина с определена дължина на вълната. (Erasable PROM).

E2PROM или EAPROM - многократно, от потребителя. Изтриването става по електрически път. (Electrically Erasable PROM, Electrically Alterable PROM).

1. Организация на запомнящата интегрална схема - фиг. 1Външната организация е N х n, където N е броят на адресите (думите), a n е броят на

разрядите. Вътрешната организация е W х В. Оптималният вид на запомнящата матрица е квадратен, при което се минимизира броят на изводите, апаратните разходи и консумираната от схемата мощност. Във всички случаи N е цяла степен на две.

Към адресната част на схемата спадат входните адресни буфери, адресният регистър (разделен на две части) и адресните дешифратори. За избиране на един адрес (ред) от запомнящата матрица служи дешифраторът на редове, който има W изхода и log2W входа. Аналогично дешифраторът на колони позволява само един бит от избраната В-разрядна дума да бъде включен към информационния изход или вход. За реализацията на дешифрацията по колони са необходими log2B адресни бита. Следователно за избиране на една запомняща клетка са необходими общо log2W + log2B = log2N адресни шини.

Схемите за четене, запис и регенерация до голяма степен определят бързодействието на интегралната схема, консумираната от нея мощност, шумоустойчивостта й, както и нечувствителността й към разпределението на информацията в нея. Схеми за регенерация има само при динамичните памети.

Схема за синхронизация и управление - входни сигнали: CS - избор на чипа (обикновено е ); - четене/запис и ОЕ (обикновено е ) - разрешение на изходите.

2. Организация на паметта — фиг. 2

3

Page 4: MPST - Pishtovi

Паметта се свързва към процесора чрез адресна, даннова и управляваща магистрали. Всяка магистрала се състои от определен брой линии (шини). Разрядността на адресната магистрала определя големината на адресното пространство. (Адресно пространство е съвкупността от всички адреси, които процесорът може да зададе.)

Броят Q на запомнящите интегрални схеми в паметта зависи от необходимия капацитет на паметта и капацитета на използваната интегрална схема:

където NM х nM е необходимата организация на паметта, а N х n е

организацията на интегралната схема. Първото отношение се нарича разширение по адреси и показва колко интегрални схеми са необходими за получаване на зададения брой адреси, а второто - разширение по разряди и показва колко интегрални схеми са необходими за получаване на зададената разрядност. На фиг. 2. е показано разширение и по адреси, и по разряди.

Младшите адресни линии се използват за адресиране в рамките на чипа, старшите - за избор на отделните схеми чрез входовете им CS, а най-старшите - за избор на отделните модули при модулна организация.

Адресната дешифрация може да се осъществи по няколко начина:а) чрез адресен дешифратор;б) чрез линеен избор;в) комбиниран.С един изход на адресния дешифратор (или с една адресна линия за избор) се избират

едновременно толкова схеми, колкото е разширението по разряди, т.е. .

4

Page 5: MPST - Pishtovi

ТЕМА 4 ЗАПОМНЯЩА КЛЕТКА НА СТАТИЧНА И ДИНАМИЧНА RAM1. С-MOS СТАТИЧНА ЗАПОМНЯЩА КЛЕТКА - ФИГ. 1Тази клетка е едноразрядна. Т1, Т2, ТЗ и Т4 образуват тригер. ТЗ и Т4 играят ролята на

колекторни резистори. Т5 и Т6 са адресни транзистори, посредством които се осъществява достъпът до клетката. Транзисторите във всяко от рамената на тригера се отпушват противофазно. В резултат на това консумацията в статичен режим е нищожна. Тя нараства при превключване на тригера. т. е. при обръщение към клетката. Записът и четенето са парафазни.

Запис - клетката се избира (на адресната шина се подава 1). При записна 0 РШ0 = 0 PШ1 = 1 T1 – проводящ ТЗ – запушен

Т2 – запушен Т4 – проводящна 1 PШ0 = 1 PШ1 = 0 Т1 – запушен ТЗ – проводящ

Т2 – проводящ Т4 – запушенЧетене - клетката се избира. И двете разрядни шини се зареждат до 1. Разрядната

шина, свързана с проводящия транзистор, ще се окъси към маса. т.е. ще се намали нивото й. Усилвателят за четене е диференциален и ще реагира в съответната посока.

2. Еднотранзисторна динамична запомняща клетка - фиг. 2Клетката е едноразрядна. Запомнящ елемент - кондензаторът С3. Капацитетът на

запомнящия кондензатор е 0,04 – 0,07 pF (40 - 70 fF).

Обръщението към запомнящата клечка се извършва на два етапа -подготвителен и активен. В подготвителния етап усилвателите за четене се привеждат в състояние на максимална чувствителност и РШ се поставят в съответното ниво. В активния етап клетката се избира чрез подаване на 1 на адресната шина, транзисторът Т е проводящ:

- при запис на РШ се подава високо (за запис на 1) или ниско (за запис на 0) ниво. Кондензаторът се зарежда или разрежда

- при четене на PШ се подава междинно ниво. Зарядите на двата кондензатора - CР

и СЗ (паразитния на разрядната шина) - се преразпределят. В зависимост от заряда на кондензатора С3 нивото на РШ се повишава или понижава. Тази промяна на потенциала на РШ се възприема от усилвателя за четене.

Недостатък - запомнящият кондензатор е с капацитет, много по-малък от паразитния капацитет на РШ, затова е необходим чувствителен усилвател.

3. Особености на динамичните памети (DRAM)

5

Page 6: MPST - Pishtovi

а) Процесът на опресняване прекъсва, забавя до известна степен достъпа до DRAM. При старите памети е необходима външна схема за управление на опресняването - Memory Refresh Controller (MRC). Съвременните схеми разполагат с вграден в чипа MRC.

б) DRAM са по принцип асинхронни.в) Мултиплексиране на адресите - двойно се намаляват адресните входове, но са

необходими два стробиращи сигнала - RAS за въвеждане на адреса на реда и CAS за въвеждане на адреса на колоната. Адресните сигнали трябва да са валидни по времето на спадащия фронт на съответния стробиращ сигнал, а не през целия цикъл на обръщение.

г) бърз страничен режим на работа на DRAM - FPM DRAM (Fast Page Mode DRAM). При стандартните памети при четене се активира редът, активира се необходимата колона, прочита се информацията, колоната се деактивира (така възниква нежелано състояние на очакване, през което процесорът чака паметта да завърши предаването на данни). След това изходният даннов буфер се изключва и е готов за следваш достъп до паметта. При FPM DRAM може да се достигне скорост на четене на поредица от данни (burst rate) 5-3-3-3. което означава, че четенето на първия елемент от данновата поредица отнема 5 тактови цикъла (4 цикъла на очакване), а следващите три елемента от данновата поредица отнемат по 3 цикъла.

4. Видове DRAMа) EDO DRAM (Extended Data Out DRAM)Времената на достъп са 70, 60, 50 ns. Тази памет не изисква колоната да се деактивира

и изходният буфер да се изключва, преди да започне следващият цикъл на предаване па данни. Тук burst rate е 5-2-2-2.

б) Синхронни DRAM (SDRAM)При тях се използва фактът, че в повечето PC се четат последователни данни и всички

битове в поредицата се извличат възможно най-бързо. Имат на чипа брояч на поредицата, който позволява адресът на колоната да се инкрементира много бързо. Контролерът на паметта задава местоположението и размера на необходимия блок от паметта и четенето от нея е толкова бързо, колкото CPU позволява, като се използва такт. за да се синхронизира времето на паметта със системния такт. Тук burst rate е 5-1-1-1. Например, ако тактовата честота на процесора е 100 MHz, след като се стартира поредицата, всеки следващ елемент се предава за 10 ns.

в) DDR DRAM (Double Data Rate DRAM)При синхронните памети обменът на данни се активира по фронт на тактовия сигнал.

DDR DRAM позволяват обменът на данни да се активира и по двата фронта на тактовия сигнал.

г) Direct RDRAMКонвенционалната DRAM архитектура достигна практически горната граница по

отношение на работна честота и ширина на магистралата. Това е абсолютно нова RAM архитектура, включваща управление на шината и ново свързване на запомнящите схеми. Базовата конструкция е предназначена за 600 MHz честота на CPU, а втората итерация, наречена Concurrent RDRAM - за 700 MHz.

Директният Rambus канал включва контролер и една или повече Direct RDRAM, свързани чрез обща магистрала, която може също така да свързва микропроцесори. DSP. графични процесори и ASIC.

6

Page 7: MPST - Pishtovi

ТЕМА 5 ЗАПОМНЯЩИ КЛЕТКИ НА ПОСТОЯННА ПАМЕТ1. ЗАПОМНЯЩА КЛЕТКА НА N-КАНАЛЕН EPROM (ЗА 1 БИТ)Запомнящият елемент е транзистор с плаващ гейт - FA-MOS транзистор.

Адресната шина е разположена над плаващия гейт, което силно намалява размерите на запомнящата клетка. При запис на 0 към дрейна и адресния гейт (АШ) се прилага високо напрежение (25-30V при старите схеми, 12.5V при новите), вследствие на което между сорса и дрейна протича силен ток. Част от електроните в канала придобиват достатъчно енергия, за да достигнат до плаващия гейт. Натрупаният отрицателен заряд повишава праговото напрежение на транзистора. Напрежението на адресната шина при четене се избира с такава амплитуда, че транзисторът с натрупан отрицателен заряд остава запушен, докато транзисторът без заряд се отпушва.

Изтичането на заряд от плаващия гейт е много бавно, записаната информация се съхранява в течение на няколко десетки години. Изтриването на информацията става през облъчване с ултравиолетова светлина през специално прозорче от кварцово стъкло на корпуса. Изтрива се записаната информация в целия чип. Тези схеми са от серии 27ХХ и 27ХХХ. с организация N х 8 К бита.

2. Запомняща клетка на E2PROMЗа изграждане на E2PROM се използват две основни структури:

- транзистор с двуслоен гейтов диелектрик - MNOS транзистор- транзистор с плаващ гейт и допълнителни електроди - FLOTOX FLOating gate Tunnel

OXide - подобен на FAMOS транзистор c управляващ гейт.а) Устройството на MNOS транзистор с р-канал е показано на фиг.2

При прилагане на достатъчно високо по амплитуда отрицателно напрежение на гейта (режим на запис) в областта на канала между гейта и инверсния слой възниква силно електрическо поле. Под негово действие в резултат на тунелния ефект през тънкия оксиден слой започва запълване е р-носители на областта между двата диелектрика. След изключване на гейтовото напрежение захванатия положителен електрически заряд остава в областта под гейта като понижава значително праговото напрежение на MNOS транзистора. Необходимо условие за записа е да се свърже сорсът с общия проводник (маса).

Изтриването на записаната информация се осъществява чрез прилагане на достатъчно високо по амплитуда положително напрежение на гейта. През SiO2 започва тунелиране на

7

Page 8: MPST - Pishtovi

електрони, конто се натрупват в уловките на границата между двата диелектрика, компенсирайки заряда на захванатите Р-носители.

б) FLOTOX транзистор с управляващ гейтИзползват се различни структури, подобни па тази па n-каналните EPROM. Разликата е

в дебелината на окиса над дрейна (двойно по-тънък окис) и във функциите на управляващия електрод.

При запис дрейнът се свързва към маса, на управляващия гейт се подава високо напрежение и под действието на електрическото поле електроните преминават през тънкия окис и зареждат отрицателно плаващия гейт, повишавайки праговото напрежение на транзистора. При изтриване управляващият гейт се свързва към маса, високото напрежение се подава на дрейна и плаващият гейт се разрежда. Изтрива се байт, група байтове или целият чип. Тези схеми са от серии 28ХХ и 28ХХХ с организация N х 8К бита.

в) FLASH памети - запомнящата клетка също се състои от два транзистора - запомнящ и адресен. Запомнящият е FA-MOS и програмирането се извършва чрез инжекция на горещи електрони. Изтриването се извършва, като зарядът се разнася чрез тунелиране. Технологията е ЕТОХ - EPROM Tunnel Oxide. Тези схеми са от серии 28FXX с организация N х 8К бита и 28FXXX с организация N х 8 М бита.

3. Serial EEPROM - серийни EEPROM - поддържат двупосочна двупроводна връзка и протокол за обмен на данните.

ТЕМА 6 АРХИТЕКТУРА НА ЕДНОЧИПОВ КОНТРОЛЕР PIC18FXX2Харвардска архитектура. Едночиповите контролери от серията PIC18FXX2 се

различават по капацитета на програмната памет.USART – универсален синхронен/асинхронен приемник/предавателMSSP – главен (master) синхронен сериен портMSSP: SPI – сериен паралелен интерфейсMSSP: I2C – обмен на информация между интегрални схемиССР – хронометър / сравнение / широчинно-импулсна модулация (ШИМ)

(Таймер 1) / (Таймер 3) / (Таймер 2)ADC – 10-разряден с 8 входа (5 входа)EEPROM – памет за данни (256 bytes)Стекова памет (STACK) – с последователен достъп; работи по алгоритъма LIFO;

съхранява т.нар. адрес на връщане

8

Page 9: MPST - Pishtovi

POR – Power on Reset (при включване на захранващото напрежение)PWRT – таймер на захранванетоOST – таймер на тактовия генератор (1024 цикъла)BOR – начално установяване при включване на захранванетоWDT – стражеви таймер (когато му изтече цикъла, той дава начално установяване)НУ (начално установяване) – при препълване или изпразване на стекаLVP – за прорамиране с ниско напрежение (само при програмиране с програматор)ICD – inserted debugger (вграден дебъгер)

- извод, на който можем да свържем бутон Reset

ТЕМА 7 ЦИКЪЛ НА ИНСТРУКЦИЯТА И Q ЦИКЛИ. КОНВЕЙЕРИЗИРАНЕВсеки цикъл на инструкцията обхваща 4 периода на цикъла на тактовия генератор

Всяка инструкция се изпълнява за две фази:1. Извличане2. Декодиране и изпълнение.

Във всеки Q1 съдържанието на програмния брояч се увеличава с 2 при линейна програма. Съдържанието се увеличава с 2, защото програмата взема по 2 байта, от които единия може да е четен или нечетен.

В цикъла Q2 се обръща към четене от RAM (четене на операнд).В Q4 – запис в RAM (запис на резултата).

9

Page 10: MPST - Pishtovi

Конвейеризиране – възможността във всеки цикъл от функцията да се изпълнява по една фаза от две различни инструкции. Ефективно инструкциите се изпълняват за един цикъл с изключение на инструкциите за преглед на програмата и тези с продължение, които се изпълняват с двойна дължина (2 цикъла).

ТЕМА 8 ОБЩ ФОРМАТ НА ИНСТРУКЦИИТЕ1. Байтовоориентирани (изпълняват се операции над байт)

КОП – код на операциятаf – 8-битов адрес на регистъраа – може да се работи с достъп до банка и може да се задава номера на банката чрез регистър BSRd – направление къде да се запише резултатаw и f – в тези регистри може да се запише резултата

ADDWF REG1, W, BB – номер на банка, ако се използва BSRПрехвърляне на един регистър в друг:

MOVFF REG1, REG2

2. Битовоориентирани

b – 3-разряден номер на битаBSF REG1, bit, B

3. Литерални операции

k - 8-битова константа

4. Управляващи

10

Page 11: MPST - Pishtovi

Инструкция goto

k – 20-битова константаGOTO ET

Инструкция call – инструкция с извикване на подпрограма

s - ако всички прекъсвания са забранени – да се използва т.нар. бърз стекW, BSR, STATUS се съхраняват в бързия стек.

Инструкция branch

BRA ET1k – 11-разрядна литерална стойност

Инструкция branch

BC ET2k - 8-битова литерална стойност

ТЕМА 9 ОРГАНИЗАЦИЯ НА РЕГИСТРОВАТА ПАМЕТ ЗА ДАННИ. ПРЯКО И НЕПРЯКО АДРЕСИРАНЕ

Паметта за данни е реализирана като статична RAM. Всеки регистър на данновата памет има 12-битов адрес, т.е. паметта за данни може да бъде до 4096 байта. На Фиг. 1 е показана организацията на данновата памет на схемите PIC18F252/452. Адресното пространство на паметта за данни е разделено на банки (броят им може да бъде до 16), всяка от които съдържа по 256 байта. Чрез младшите 4 бита от регистъра за избор на банка (BSR<3:0>) се избира банката, към която се извършва обръщение. Старшите 4 бита от BSR не се използват.

Паметта за данни съдържа регистри със специални функции (SFR) и регистри с общо предназначение (GPR). SFR се използват като регистри за състояние и управление на контролерни и периферни функции, докато GPR се използват за съхраняване на данни, междинни и крайни резултати от операции в приложенията на потребителя.

GPR започват от първата клетка в банка 0 и заемат нарастващи адреси.SFR се намират в банка 15 и заемат адреси от 0xF80 до 0xFFF. SFR могат да бъдат

разделени на две групи: регистри, свързани с основни функции, и регистри, отнасящи се до периферни функции.

Нереализираните клетки се четат като '0'.Цялата памет за данни може да се адресира пряко (директно) и непряко (индиректно).

Директната адресация може да изисква използването на регистър ВSR. При индиректната

11

Page 12: MPST - Pishtovi

адресация се използва някой от регистрите FSR и съответният регистър INDF. Всеки FSR съдържа 12-битов адрес, който може да се използва за достъп до всяка клетка от паметта за данни, без да се указва банката.

За да се осигури обръщение към най-често използваните регистри (SFR и някои GPR) в един цикъл независимо от текущата стойност на BSR, е реализирана т.нар. достъпна банка. Достъпната банка обхваща младшите 128 байта в банка 0 и старшите 128 байта (SFR) в банка 15. Един бит в инструкцията определя дали операцията ще се изпълнява в банката, зададена от регистъра BSR, или в достъпната банка. Този бит се означава като бит 'а'.

Когато а = 1, BSR се използва, за да зададе банката от RAM, указана от инструкцията.Когато а = 0, BSR се пренебрегва и се използва достъпната банка.1.1. Директна адресация

Когато се използва директна адресация, в регистър BSR<3:0> трябва да се запишат старшите 4 бита от 12-разрядния адрес на RAM. В BSR<7:4> не може да се записва. Тези битове винаги се четат '0'. В системата инструкции е включена инструкцията MOVLB, за да се улесни избирането на банките. Фиг. 2 илюстрира пряката адресация.

1.2. Индиректна адресация, регистри INDF и FSR

12

Page 13: MPST - Pishtovi

При индиректната адресация в инструкцията не е фиксиран адресът от RAM. Като указател към клетката от паметта за данни, в която ще се записва или чете, се използва FSR регистър и един от съответните му регистри INDF. Всяка инструкция, използваща INDF, всъщност се отнася до регистъра, чийто адрес се намира в регистър FSR. Регистър FSR съдържа 12-битов адрес, както е показано на Фиг. 3.

Има три регистъра за индиректна адресация. Те са 12-разрядни, което позволява да се адресира цялото пространство па паметта за данни (4096 байта). За да се съхраняват 12-те адресни бита, са необходими два 8-разрядни регистъра. Регистрите за индиректна адресация са:

• FSR0 - съставен от FSR0H:FSR0L• FSR1 - съставен от FSR1H:FSR1L• FSR2 - съставен от FSR2H:FSR2L.Освен това се използват регистрите INDF0, INDF1 и INDF2. Четене или запис в тези

регистри активира индиректната адресация, като стойностите, записани в FSR регистър, адресират паметта за данни. Ако инструкция записва и INDF0, стойността ще се запише в адреса, указан от FSR0Н:FSR0L. При четене от INDF0 се четат данните от адреса, указан or FSR0H:FSR0L.

Всеки FSR има съответен INDF и четири допълнителни регистрови адреса. Изпълнение па операция върху един от тези 5 регистъра определя как ще се модифицира FSR при индиректна адресация.

Когато се извършва обръщение към една от петте клетки на INDFn (n = 0, 1 или 2), избраният адрес ще конфигурира FSRn за изпълнение на:

• FSRn не се променя след индиректен достъп - INDFn• автоматично декрементиране на FSRn след индиректен достъп (postdecrement) -

POSTDECn•автоматично инкрементиране на FSRn след индиректен достъп (postincrement) -

POSTINCn• автоматично инкрементиране на FSRn преди индиректен достъп (preincrement) -

PREINCn• използва стойността в WREG като отместване за FSRn - PLUSWn. He

модифицира стойността на WREG и FSRn след индиректен достъп.

ТЕМА 10 ПРОГРАМЕН БРОЯЧ. ОРГАНИЗАЦИЯ НА ПРОГРАМНАТА ПАМЕТМикроконтролерите имат 21-битов програмен брояч (PC), който може да адресира

адресно пространство от 2 Mbyte. PIC18F252 и PIC18F452 имат 32 Kbyte FLASH памет, a PIC18F242 и PIC18F442 - 16 Kbyte FLASH. Това означава, че PIC18FX52 могат да съхраняват до 16К инструкции с дължина една дума, a PIC18FX42 - до 8К инструкции с дължина една дума. При достъп до клетка с адрес между физически реализираната памет и последния адрес (1FFFFF) ще се четат всичко нули (инструкция NOP). Векторът на RESET е на адрес 0000h, а векторът на прекъсване - на адреси 0008h и 0018h. Програмният брояч адресира байтове в програмната памет, а инструкциите се съхраняват като два или четири байта в програмната памет. За да се поддържат инструкциите подредени, младшият байт на инструкцията винаги

13

Page 14: MPST - Pishtovi

се съхранява на четен адрес (LSb = '0') и PC се инкрементира с 2. Схемите PIC18FXX2 имат четири инструкции с дължина две думи: MOVFF, CALL, GOTO и LFSR.

ТЕМА 11 ЧЕТЕНЕ И ЗАПИС В ПАМЕТТА ЗА ДАННИ EEPROM И FLASH ПРОГРАМНАТА ПАМЕТ

1. Четене от таблица/запис в таблицаОт програмната FLASH памет може да се чете и в нея може да се записва и изтрива по

време на нормално функциониране и целия обхват на VDD .

Четенето се изпълнява по байтове, записът - по блокове от 8 байта, а изтриването - по блокове от 64 байта.

За да се чете и записка в програмната памет, се използват две инструкции: Четене от таблица (TBLRD) Запис в таблица (TBLWT)

Разрядностга на програмната памет е 16-бита, докато RAM е 8-битова. Четенето от таблица и записът в таблица обменят данни между тези две пространства чрез един 8-битов регистър TABLAT.

Операцията за четене от таблица извлича данни от програмната памет и ги поставя в пространството на RAM. На Фиг. 1 е показана операцията за четене от таблица от програмната памет.

Операцията за запис в таблица съхранява данни от пространството на паметта за данни в регистри за временно съхранение (holding) в програмната памет. На Фиг. 2 е показана операцията за запис в таблица от RAM в програмната памет.

14

Page 15: MPST - Pishtovi

Табличният указател TBLPTR адресира байт в програмната памет. TBLPTR се състои от три регистъра SFR: най-старши байт на табличния указател, старши байт на табличния указател и младши байт на табличния указател (TBLPTRU:ТВLPTRH:TBLPTRL).

TBLPTR се използва от инструкциите TBLRD и TBLWT. Във връзка с инструкциите TBLRD и TBLWT се използват управляващи регистри:

EECON1 – за достъп до паметта; EECON2 – само при запис и изтриване на паметта.

Някои от битовете на тези два регистъра служат за избор на FLASH / EEPROM памет, разрешаване записа в EEPROM, за управление на записа и четенето.

2. Изтриване на програмната FLASH паметМинималният блок за изтриване е 32 думи или 64 байта. Изтриване на дума в

пространството на FLASH не е възможно, то се управлява от регистър EECON1.3. Запис в програмната FLASH паметМинималният блок за програмиране е 4 думи или 8 байта.За да се заредят регистрите за временно съхранение, необходими за програмиране на

FLASH паметта, се използва инструкцията за запис в таблица.Тъй като регистър TABLAT е еднобайтов, инструкцията TBLWT трябва да се изпълни 8

пъти. След като се актуализират 8-те регистъра за временно съхранение (Фиг. 3), чрез EECON1 трябва да се стартират програмиращите операции на FLASH.

Последователността от действия за програмиране на област от FLASH паметта е:Четене от RAM. Зареждане на табличния указател с адреса за изтриване. Изтриване на

реда. Зареждане на табличния указател с адреса на първия байт, в който ще се записва. Записване на първите 8 байта в регистрите ‘1’. Установяване на бит EEPGD в 1. Установяване на бит WREN в '1’. Забраняване на прекъсванията. Запис на 55h в EECON2. Запис на AAh в EECON2. Установяване на бит WR в 1. Седемкратно повторение, за да се запишат 64 байта.

Организация на паметта за данни EEPROMСхемите PIC18F252/452 имат 256 байта памет за данни EEPROM в адресното

пространство от 00h до FFh. Паметта за данни EEPROM позволява побайтово четене и запис. Паметта за данни EEPROM е за многократни цикли изтриване/запис. При запис на байт клетката автоматично се изтрива и се записват новите данни. Времето за запис се управлява от таймер на чипа.

EEPROM не се адресира в пространството на RAM. За четене и запис в EEPROM се използват 4 регистъра със специални функции: EECON1, EECON2, EEDATA, EEADR.

15

Page 16: MPST - Pishtovi

При обръщение към EEPROM регистър EEDATA съдържа 8-битовите данни за четене/запис, а регистър EEADR съдържа адреса на клетката в EEPROM, към която се извършва обръщението. EECON1 и EECON2 са същите управляващи регистри, които се използват при четене и запис във FLASH паметта.

Четене от EEPROMЗа да се прочете клетка от паметта за данни EEPROM, трябва да се запише адресът й в

регистър EEADR и след това да се установи бит RD в '1'. Данните сс получават в регистър EEDATA по време на следващия цикъл на инструкцията, следователно те могат да бъдат прочетени със следващата инструкция. Данните се съхраняват в регистър EEDATA до следваща операция за четене или до нов запис.

Запис в EEPROMПоследователността при запис в EEPROM e:Записване на адреса на клетката в регистър EEADR. Записване на данните в регистър

EEDATA. Избор на EEPROM. Установяване на бит WREN в ‘1’. Забраняване па прекъсванията. Запис на 55h в EECON2. Запис па AAh в EECON2. Установяване на бит WR в '1’. Разрешаване на прекъсванията. След завършване на цикъла за запис битът WR се нулира апаратно и флагът за прекъсване след изпълнение на запис в EEPROM (EEIF) се вдига. Потребителят може да разреши това прекъсване или циклично да проверява този бит. EEIF трябва да бъде нулиран програмно. Бит WREN не се нулира апаратно.

ТЕМА 12 СТЕКОВА ПАМЕТСтековото пространство не е част нито от програмната памет, нито от паметта за данни.

Стекът е реализиран като RAM с организация 31 думи но 21 разряда и има 5-разряден стеков указател STKPTR. При всички случаи па RESET стековият указател сс инициализира с 00000. Няма клетка от стековата памет, свързана със състояние на стековия указател 00000.

Стековата памет позволява до 31 комбинации от обръщения към подпрограми и прекъсвания. Съдържанието на програмния брояч автоматично се изпраща в стека, когато се изпълнява инструкция CALL или RCALL, или ако сe потвърди прекъсване. Съдържанието на програмния брояч автоматично се възстановява от стека при изпълнение на инструкциите RETURN. RETI.W или RETFIE.

По време на инструкция тип CALL, причиняваща изпращане в стека, стековият указател първо се инкрементира и в посочената от него клетка в стека се записва съдържанието на PC. По време на инструкция от типа RETURN, причиняваща възстановяване от стека, съдържанието на посочената от стековия указател клетка от стека се записва и PC и след това STKPTR се декрементира.

Стековият указател може да се чете и записва. Съдържанието на върха на стека се чете и записва чрез 3 регистъра със специални функции - TOSU, TOSH и TOSL (съответно най-старши, старши и младши байт). Данни могат да се четат и записват в стека, като се използват SFR на върха на стека. Битовете за състоянието показват дали стековият указател сочи в или извън пространството на стековата памет.

Достъп до върха на стека (TOS)Върхът на стека може да сс чете и записва. Трите регистъра - TOSU, TOSH н TOSL.

съхраняват съдържанието на клетката от стека, адресирана от стековия указател (регистър STKPTR). След инструкции CALL, RCALL или прекъсване изпратената стойност в стека може да се прочете от регистрите TOSU, TOSH и TOSL. Когато е необходимо връщане от подпрограма или прекъсване, софтуерът може да прочете адресът на връщане от TOSU, TOSН и TOSL. Потребителят трябва да забрани прекъсванията през това време, за да се предотвратят неправилни стекови операции.

Стеков указател (STKPTR)Регистърът STKPTR съдържа стойността на стековия указател, бита за състоянието

"пълен стек" (STKFUL) н бита за състоянието "празен стек" (STKUNI). Стойността па STKРTR може да бъде от 0 до 31. Стековият указател се инкрементира. когато стойности се изпращат в стека, и се декрементира. когато стойности се четат от стека. Потребителят може да чете и да записва в стековия указател.

16

Page 17: MPST - Pishtovi

След като стойности па програмния брояч са изпратени 31 пъти (без да са извличани от стека), битът STKFUL сс поставя в ‘1’. STKFUL може да се нулира само софтуерно или от POR.

Действията, които се предприемат, когато стекът се запълни, зависят от състоянието на конфигурационния бит STVREN (битза разрешаване на RESET при препълване на стека). Ако STVREN е в '1’ (по подразбиране), при 31-ото изпращане в стека на стойността па PC бит STKFUL ще сс установи в '1' и ще сс изпълни RESET на схемата. Битът STKFUL ще остане в '1’, а стековият указател ще се установи в '0'. Ако STVREN е нулиран, при 31-ото изпращане в стека STKFUL ще се установи в '1’ и стековият указател ще се инкрементира до 31. Всички следващи изпращания в стека няма за променят последната записана стойност и съдържанието на STKPTR

Когато стекът се изпразни, следващото извличане от него ще върнестойност нула в PC и бит STKUNF ще се установи в ‘1’. а стековият указател щеостане нулиран. Бит STKUNF ще остане в ‘1’, докато не се нулира от софтуераили при POR.

На фиг. 1 са показани стековата памет и регистрите, свързани с нея

Инструкции PUSH и POPИнструкцията PUSH инкрементира стековия указател и зарежда текущата стойност на

PC в стека. Тогава TOSU, TOSH и TOSL се модифицират с тази стойност. POP отстранява текущата стойност в TOS, като декрементира стековия указател. Предходната изпратена стойност в стека става стойност на TOS

Бърз регистров стекБърз регистров стек съществува само при прекъсване. Той е осигурен за регистрите

STATUS, WREG и BSR и е с дълбочина една клетка. В този стек не може да се чете и записва. Той се зарежда с текущото съдържание на съответния регистър при прекъсване. Ако при връщане от прекъсване се използва инструкцията FAST RETURN, стойността от стека сс връща в работните регистри. Ако прекъсванията са забранени, потребителят може да използва бързия регистров стек за възстановяване на стойностите на регистрите STATUS, WREG и BSR в края на извиканата подпрограма. За да се използва бързият стек при обръщение към подпрограма, трябва да се изпълни инструкцията FAST CALL

ТЕМА 13 ПАРАЛЕЛЕН ИНТЕРФЕЙС НА PIC18FXX2. БЛОКОВА СХЕМА НА БИТ ОТ PORTA.Обменът на информация в паралелен формат между микроконтролери и периферни

устройства се осъществява чрез входно-изходни паралелни портове. Обикновено те са двупосочни. В изходния регистър на порта се записва информацията, която ще се предава от микроконтролера към периферното устройство. Всеки извод на порта може да се програмира като вход или изход чрез записване на '1’ или '0' в съответния бит на регистъра за посоката на данните. При начално установяване изводите се конфигурират като входове. Някои от изводите на входно-изходните портове са мултиплексирани и могат да изпълняват алтернативни функции. По принцип, когато даден извод е разрешен като периферен, той не може да се използва като входно/изходен извод с общо предназначение.

17

Page 18: MPST - Pishtovi

В зависимост от корпуса PIC18FXX2 съдържат: три портa - А, В, С или пет порта: А, В, С, D, Е. Всеки порт има три регистъра:

• TRIS (регистър за посоката на данните)• PORT (регистър за четене на нивата на изводите на схемата)• LAT (изходен регистър)Изходният регистър LAT е полезен за операции чeтeнe-модифициранe-запис над

стойността на изводите I/O.

1. Порт А. Порт А e 7-битов двупосочен порт. Регистърът за посоката на данните е TRISA. Установяването на бит от TRISA в ‘1’ програмира съответния извод на порт A (RA) като вход, т.е. установява съответния изход във високо-импедансно състояние. Нулирането на бит от TRISA програмира съответния извод на порт А като изход, т.е. извежда съдържанието на изходния тригер на избрания извод. При четене от регистър PORTA се чете състоянието на изводите, докато при запис се записва в тригерите на порта. Операции четене-промяна-запис на LATA извършват четене и запис на стойността в изходните тригери на порт А.

Извод RA4 е мултиплексиран с тактовия вход на Таймер0 и се означава като извод RA4/T0CKI. Извод RA4/T0CKI е вход с тригер на Шмит и изход с отворен дрейн. Всички останали изводи на порта имат TTL входни нива и CMOS изходни драйвери. Тези изводи са мултиплексирани с аналогови входове и входовете за аналоговото опорно напрежение VREF+ и VREF-.

Действието на всеки извод (като цифров I/O или с мултиплексираната му функция) се определя чрез поставяне в 1 или 0 на управляващ бит от регистъра ADCON1 (управляващ регистър 1 на аналого-цифровия преобразувател).

ТЕМА 14 ОСОБЕНОСТИ НА PORTB И PORTC1. Порт В. Порт В е 8-битов двупосочен порт. Регистърът за посоката на данните е

TRISB. Установяването на бит от TRISB в ‘1’ програмира съответния извод на порт В като вход, т.е. установява съответния изход във високоимпедансно състояние. Нулирането на бит от TRISB програмира съответния извод на порт В като изход. т.е. извежда съдържанието на изходния тригер на избрания извод. При четене от регистър PORTB се чете състоянието на

18

Page 19: MPST - Pishtovi

изводите, докато при запис се записва в тригерите на порта. Операции четене-промяна-запис на LATB извършват четене и запис на стойността в изходните тригери на порт В.

Всеки извод на порт В има вътрешен изтеглящ резистор (pull-up). Един управляващ бит може да включва всички изтеглящи резистори. Това се изпълнява чрез нулиране на бита

UPBR (OPTION_REG<7>). Изтеглящият резистор се изключва автоматично, когато изводът е конфигуриран като изход. Изтеглящите резистори са изключени при начално установяване POR. Четири извода на порт В - RB7:RB4 имат възможност за прекъсване при промяна на състоянието. Прекъсването се предизвиква само ако съответният извод е конфигуриран като вход (т.е. извод RB7:RB4, конфигуриран като изход се изключва от сравнението за прекъсване при промяна). Състоянието на програмираните като входове изводи RB7:RB4 се сравнява със старата стойност (установена от последното четене на PORTB). Различаващите се стойности от сравнението на RB7:RB4 чрез функция OR генерират заявка за прекъсване "промяна на RB" с флаг RBIF (INTCON<0>). Това прекъсване може да "събуди" схемата, ако е в режим SLEEP.

Потребителят може да изчисти прекъсването при промяна на състоянието чрез обслужващата го подпрограма по следните начини:

а) Четене или запис в PORTB (с изключение на инструкция MOVFF).Това ще прекрати условието "несъответствие".

б) Нулиране на флаг RBIF.Условието "несъответствие" ще продължи да установява в ‘1’ флаг RBIE. Четенето на

PORTB ще прекрати това условие и ще позволи флаг RBIF да бъде нулиран. Прекъсването при промяна се препоръчва за събуждане при натискане на клавиш и операции, където порт В се използва само за тази характеристика. Когато се използва прекъсване при промяна, не се препоръчва полинг (непрекъснато четене на PORTB).

RB3 може да бъде конфигуриран чрез конфигурационния бит ССР2МХ като алтернативен периферен извод за модул ССР2 (ССР2МХ='0')

2. Порт С. Порт С е 8-битов двупосочен порт. Регистърът за посоката на данните е TRISC. Установяването на бит от TRISC в ‘1’ програмира съответния извод на порт С като вход, т.е. установява съответния изход във високоимпеданено състояние. Нулирането на бит от TRISC програмира съответния извод на порт С като изход, т.е. извежда съдържанието на изходния тригер на избрания извод. При четене от регистър PORTC се чете състоянието на

19

Page 20: MPST - Pishtovi

изводите, докато при запис се записва в тригерите на порта. Операции четене-промяна-запис на LATC извършват четене и запис на стойността в изходните тригери на порт С. Порт С е мултиплексиран с няколко периферни функции. Изводите на порт С имат входни буфери с тригери на Шмит.

Когато се разрешават периферните функции, трябва да се обърне внимание на дефинирането на битовете на регистър TRISC за всеки извод на порт С. Някои периферни модули отменят състоянието на битове в регистър TRISC, за да направят съответен извод вход, други - изход.

Промяната на състоянието на извод не се отразява на регистър TRISC. Това позволява четене-модифициране-запис на регистър TRISC. RC1 нормално се конфигурира от конфигурационния бит ССР2МХ като извод на модул ССР2 по подразбиране (в състояние по подразбиране/изтрит ССР2МХ = Т).

ТЕМА 15 ОСОБЕНОСТИ НА PORTD И PORTE1. Порт D. C порт D разполагат само схемите c 40-изводен корпус (PIC18F4X2). Порт D е

8-битов порт с входни буфери с тригер на Шмит. Регистърът за посока на данните е TRISD. Установяването на бит от TRISD в ‘1’ програмира съответния извод на порт D като вход. т.е. установява съответния изход във високоимпедансно състояние. Нулирането на бит от TRISD програмира съответния извод на порт D като изход, т.е. извежда съдържанието на изходния тригер на избрания извод. При четене от регистър PORTD се чете състоянието на изводите, докато при запис се записва в тригерите на порта. Операции четене-промяна-запис на LATD извършват четене и запис на стойността в изходните тригери на порт D. Всеки извод може индивидуално да се програмира като вход или изход. Порт D може да бъде конфигуриран като 8-битов микропроцесорен порт (подчинен паралелен порт PSP) чрез установяване на управляващия бит PSPMODE (TRISЕ<4>) в ‘1'. В този режим входните буфери са TTL.

2. Порт Е. С порт Е разполагат само схемите с 40-изводен корпус (PIC18F4X2). Порт Е е 3-битов порт с входни буфери с тригер на Шмит

Регистърът за посоката на данните е TRISE. Установяването на бит от TRISE в ‘1’ програмира съответния извод на порт Е като вход, т.е. установява съответния изход във високоимпедансно състояние. Нулирането на бит от TRISE програмира съответния извод на

20

Page 21: MPST - Pishtovi

порт Е като изход, т.е. извежда съдържанието на изходния тригер на избрания извод. При четене от регистър PORTE се чете състоянието на изводите, докато при запис се записва в тригерите на порта. Операции четене-промяна-запис на LATE извършват чeтeне и запис на стойността в изходните тригери на порт Е. Порт Е има три извода, които могат индивидуално да се програмират като вход или изход. Регистър TRISE управлява работата на паралелния подчинен порт.

Изводите на порт Е са мултиплексирани с аналогови входове Когато са избрани като аналогови входове, тези изводи се четат като '0'. Регистър TRISE управлява посоката на изводите RE, дори когато те се използват като аналогови входове. Потребителят трябва да конфигурира изводите като входове, когато ги използва като аналогови входове При POR тези изводи се конфигурират като аналогови входове.

ТЕМА 16 ПРИНЦИПИ НА АСИНХРОНЕН СЕРИЕН ОБМЕН НА ДАННИМодулът адресируем синхронен/асинхронен приемник/предавател (USART) е един от двата серийни входно/изходни модула на PIC18FXX2. Той е известен и като сериен комуникационен интерфейс SCI. Модулът USART може да работи в едни от следните режими: асинхронен (пълен дуплекс); синхронен - главен (полу-дуплекс); синхронен подчинен (полу-дуплекс). При пълен дуплекс информацията се обменя в двете посоки едновременно. При асинхронния обмен не се използва отделна линия за тактов сигнал. Устройствата използват отделни тактови сигнали. При полу-дуплекс една линия се използва в едни момент или за предаване, или за приемане. При синхронния обмен има общ тактов сигнал, генериран от едно от устройствата.1. Асинхронен режим на USART. В този режим USART използва стандартния NRZ формат (един стартов бит, осем или девет бита данни и един стопов бит). Най-общият формат на данните с 8-битов. В адресният 8-битов генератор на честотата на обмен може да се използва за получаване на стандартни честоти от осцилатора. USART предава и получава първо най-младшия бит. Предавателят и приемникът на USART са функционално независими, но използват един и същ формат на данните и честота на обмен. Контрол по четност/нечетност не се поддържа апаратно, но може да бъде реализиран програмно. Асинхронният режим се спира по време на режим SLEEP. Асинхронният модул на USART се състои от следните основни елементи: асинхронен предавател; асинхронен приемник; генератор на честотата на обмен; схема за възстановяване на данните.1.1. Асинхронен предавател на USART. Най-същественият елемент на предавателя е серийният преместващ регистър за предаване (TSR). Той получава данни от буфера за четене/запис при предаване TXREG. Регистър TXREG се зарежда с данни програмно. TSR не се зарежда, докато не се изпрати стоповият бит от предходното зареждане. Веднага след предаването на стоповия бит TSR се зарежда с нови данни от регистър TXREG (ако са налични). След като данните се прехвърлят от TXREG в TSR, TXREG е празен и флагът за прекъсване се вдига.

ТЕМА 17 МОДУЛ USART – РЕГИСТРИ НА СЪСТОЯНИЕТО И ЗА УПРАВЛЕНИЕ НА ПРИЕМАНЕ И ПРЕДАВАНЕ

Асинхронен предавател на USARTНай- същественият елемент на предавателя е серийният преместващ регистър за предаване. Той получава данни от буфера за четене/запис. Когато се установява асинхронно предаване трябва да се изпълнят следните стъпки: Инициализира се регистър за скоростта на обмен, разрешаване на асинхронен обмен, чрез нулиране на дадения бит, ако са необходими прекъсвания дадения бит се поставя в 1. Разрешава се предаването чрез установяване на даден бит в 1. Зареждат се данните в регистър TXREG. При установяване на предавателя в асинхронен режим, трябва да се вземат под внимание настройката на следните битове: бит за избор на източник на такт, бит за разрешаване на 9 битово предаване, бит за разрешаване на предаването, бит за избор на режим на USART, бит за избор на висока честота на обмен, бит за състоянието на преместващия регистър.

Асинхронен приемник на USART

21

Page 22: MPST - Pishtovi

Когато се установява асинхронно приемане трябва да се изпълнят следните стъпки: инициализира се регистър за подходяща честота на обмен, разрешава се асинхронният сериен порт чрез нулиране на бит SYNC, при необходимост от прекъсвания даденият бит се установява в 1-ца, разрешава се детекция на адреса, разрешава се приемането, проверява се за грешка след приключване на предаването. При установяване на приемника в асинхронен режим, трябва да се вземат под внимание настройката на следните битове: бит за разрешаване на серийния порт, бит за разрешаване на 9 битово приемане, бит за разрешаване на единично приемане, бит за разрешаване на продължително приемане, бит за разрешаване на детектирането на адреса, бит за грешка във формата, бит за грешка от препълване, 9ти бит от получените данни

ТЕМА 18 МОДУЛ USART – БЛОКОВА СХЕМА НА ПРЕДАВАТЕЛЯБлоковата схема на асинхронния предавател на USART с показана на фиг. 1. Най-

същественият елемент на предавателя е серийният преместващ регистър за предаване (TSR). Той получава данни от буфера за четене/запис при предаване TXREG. Регистър TXREG се зарежда с данни програмно. TSR не се зарежда, докато не се изпрати стоповият бит от предходното зареждане. Веднага след предаването на стоповия бит TSR се зарежда с нови данни. След като данните се прехвърлят в TSR, TXREG е празен и флагът за прекъсване се вдига. Флаг TXIE се установява в ‘1’ независимо от състоянието на разрешаващия бит TXIE и не може да се нулира програмно. Този бит се нулира, когато в TXREG се заредят нови данни. Докато флаг TXIF индицира състоянието на регистър TXREG, бит TRMT показва състоянието на регистър TSR. Бит TRMT e само за четене и се установява в ‘1’, когато TSR e празен. Към този бит не e свързана логика за прекъсване, така че потребителят трябва да го проверява, за да определи дали регистър TSR е празен.

Регистър TSR не е адресируем в паметта за данни и затова не е достъпен за потребителя.

ТЕМА 19 МОДУЛ USART – БЛОКОВА СХЕМА НА ПРИЕМНИКАБлоковата схема на приемника е показана на Фиг. 3. Данните управляват блока за

възстановяване на данни. Блокът за възстановяване на данни представлява преместващ регистър, работещ с честота, 16 пъти по-висока от честотата на обмен, докато основният приемащ сериен шифт-регистър работи с честотата на обмен. Този режим се използва типично за обмен по интерфейс RS-232.

В модул USART има схеми за многопроцесорна комуникация. Когато бит RX9 от регистър RCSTA е установен в ‘1’ се приемат 9 бита и деветият се записва в бита за състоянието RX9D от регистър RSTA. Портът може да бъде програмиран така, че когато се получи стопов бит, прекъсването от серийния порт да се активира, само ако бит RX9D с равен на ‘1’. Това се разрешава чрез установяване на бит ADDEN. За многопроцесорна система при предаване на блок от данни към един от много подчинени, главният трябва първо да изпрати

22

Page 23: MPST - Pishtovi

адресен байт, който идентифицира подчинения. Адресен байт се идентифицира 01 бит RX9D в ‘1’ (вместо в '0' за байт данни). Ако бит ADDEN в регистър RCSTA на подчинения е в ‘1’ всички байтове данни ще сe пренебрегнат. Ако деветият бит е равен на ‘1’, показвайки, че приетият байт е адрес, подчиненият ще бъде прекъснат и съдържанието на регистър RSR ще се прехвърли в приемащия буфер. Това позволява подчиненият да бъде прекъсван само от адреси. Така подчиненият може да провери получения байт, за да разбере дали е адресиран. Адресираният подчинен нулира своя бит ADDEN и се подготвя да получи байт данни от главния.

Когато ADDEN е в ‘1’, всички байтове данни се пренебрегват. След получаването на стоповия бит данните няма да се зареждат в приемния буфер и няма да настъпи прекъсване. Ако друг байт се премества в регистър RSR. предходният байт данни ще бъде загубен. Бит ADDEN действа само когато приемникът е конфигуриран в 9-битов асинхронен режим.

ТЕМА 20 ИНТЕРФЕЙС I2C. ОБЩИ СВЕДЕНИЯ, УСЛОВИЯ СТАРТ, СТОПI2C – интерфейс между интегрални схемиMSSP: SPI (сериен периферен интерфейс) и I2CI2C използва двупосочна двужична магистрала: SDA (serial data; линия за данни) и SCL (serial clock; линия за такт)

23

Page 24: MPST - Pishtovi

Имаме схеми master и slave, като всяка от тях може да бъде предавател (transmitter) и приемник (receiver).Master – дава начало и край на обмена и изработва тактаS (standart) – стандартен режим – 100 kbit/sF (fast) – бърз режим – 400 kbit/sHS (high speed) – високоскоростен режим – 3,4 Mbit/s

Sr – повторен старт – при смяна на адреса на подчинената схема или при смяна на посоката на обмен

– aknowledge (сигнал за потвърждение)

При режим multi-master имаме синхронизация и арбитрация с цел да не се губи информация.Лог. 0 на входа:

-0,5V ÷ 1,5V при фиксирано захранващо напрежение -0,5V ÷ 0,3VDD

Лог. 1 на входа: 3V ÷ VDD+0,5V при фиксирано захранващо напрежение 0,7VDD ÷ VDD+0,5V

Лог. 0 на изхода: 0V ÷ 0,4V при изходен ток 3mA в стандартен режим 0V ÷ 0,6V при изходен ток до 6mA в бърз режим

24

Page 25: MPST - Pishtovi

Синхронизация – за линия SCL – тактът на линията се определя от най-бавната схема (схемата с най-дълго ниско ниво)Арбитрация – за линия SDA

ТЕМА 21 ИНТЕРФЕЙС I2C. ФОРМАТ НА АДРЕС И ДАННИИма два начина:

- 7-битов адрес – А6÷А0 (А0 – )- 10-битов адрес

= 1 => master is receiver; slave is transmitter = 0 => master is transmitter; slave is receiver

Предаване на 2 байта данни:

Приемане на 2 байта данни:

10-битов адрес:

Фиксирана комбинация – общ адрес: 7-битов адрес, от който 4 фиксирани бита и 3 програмируеми (А2, А1, А0)

ТЕМА 22 ТАЙМЕРЕН МОДУЛ – ТАЙМЕР0Модул Таймер0 може да се програмира да работи като 8-битов или 16-битов таймер/ брояч, в който може да се записва и да се чете. Източникът на такт може да бъде вътрешен FOSC/4 или външен. Във втория случай може да се избира активният фронт на тактовия сигнал. При препълване от FFh към 00h в 8-битов режим и от FFFFh към 0000h в 16-битов режим се изработва заявка за прекъсване. Таймeр0 има 8-битов програмируем делител.На фиг. 1 е показана опростена блокова схема на Таймер0 в 8-битов режим, а на фиг. 2 - в 16-битов режим

Таймер0 може да работи като таймер или като брояч. Таймерният режим се избира чрез нулиране на бит TOCS. В този режим съдържанието на Таймер0 се увеличава с 1 на всеки цикъл на инструкцията (без делител). При запис в регистъра TMR0 инкрементирането се

25

Page 26: MPST - Pishtovi

забранява за следващите два цикъла. Потребителят може да избегне това, като записва предварително изчислена стойност в регистъра TMR0.Броячния режим се избира чрез установяване в 1 на бит T0CS. В този режим Таймер0 увеличава съдържанието си или с всеки нарастващ, или с всеки спадащ фронт на извод RA4/T0CKI. Фронтът на инкрементиране се определя от бита TOSE. С нулиране на TOSE се избира нарастващият фронт. Когато се използва външен такт, той трябва да отговаря на определени изисквания, за да се осигури синхронизацията му с вътрешния такт (TOSC). Има известно закъснение на инкрементирането на Таймер0 след синхронизацията.Един 8-битов брояч се използва като входен делител за модул Таймер0 или делител на стражевия таймер. Делителят не е достъпен за четене или запис.Битовете PSA и PS2:PS0 определят с кой таймер работи делителят, както икоефициента на делене. Ако бит PSA е нулиран, делителят работи за Таймер0 и могат да се зададат коефициенти на делене 1:2, 1:4, ... 1:256.Запис в TMR0, когато делителят работи за Таймер0, нулира съдържанието на делителя. Всички инструкции за запис в регистър TMR0 нулират делителя, когато той работи за Таймер0.Пренасочването на делителя е програмно и може да бъде променено по време на изпълнението на програмата.

ТMROH не е старшият байт на таймера/брояча в 16-битов режим, а буфер на старшия байт на Таймер0 (Фиг. 2). Старшият байт на Таймер0 не с директно достъпен за запис и четене. Регистър TMROH се зарежда със съдържанието на старшия байт на Таймер0 по време на четене от младшия байт на Таймер0 - TMROL. Това дава възможност да се четат едновременно всичките 16 бита на Таймер0, без да е необходимо да се проверява дали четенето е успешно, т.е. дали съдържанията на старшия и младшия байт са валидни. Записът в старшия байт на Таймер0 също се извършва чрез буферния регистър TMROH. Съдържането на старшият байт на Таймер0 се зарежда със съдържанието на TMROH. когато се извършва запис в TMROL. Това позволява всички 16 бита на Таймер0 да се актуализират едновременно.

ТЕМА 23 ТАЙМЕРЕН МОДУЛ – ТАЙМЕР1На фиг. 1 е показана опростената блокова схема на модул Таймер1. Той може да работи в един от следните режими:

таймер синхронен брояч асинхронен брояч

Работният режим се определя от бита за избор на такт. Когато е 0, съдържанието на Таймер1 се увеличава с 1 при всеки цикъл на инструкция, а когато е 1 - при всеки нарастващ фронт на външния такт или на такта на генератора на Таймер1, ако е разрешен. Когато е разрешен генераторът, изводи RCI/TIOSI и RC0/T1OSO/T1CKI стават входове. Стойността на бит TRISC<1:0> се пренебрегва и изводите се четат като '0'. Таймер1 има и вътрешен вход за RESET, които може да се генерира от модул ССР.

26

Page 27: MPST - Pishtovi

Между изводи T1OSI и T1ОSO (вход и изход на усилвателя) е вграден генератор с честота до 200 kHz и ниска консумация, който продължава да работи и в режим SLEEP. Предвиден е за кварцов кристал с честота 32 kHz.Двойката регистри на Таймер1 работи като цикличен брояч. Прекъсването от Таймер1 ако e разрешено, се генерира при препълване (преход от FFFFh в 0000h), което установява флага в 1. Това прекъсване може да бъде програмно разрешено /забранено.Ако модул ССР е конфигуриран в режим сравнение за генериране на "специално събитие", този сигнал нулира Таймер1 и само за ССР2 стартира аналого-цифрово преобразуване (ако модул ADC е разрешен). Таймер1 трябва да е конфигуриран в таймерен или в синхронен броячен режим, за да се използва тази възможност. В случай, че запис в Таймер1 съвпадне със специално събитие от ССРх, записът се изпълнява с предимство. В този режим на работа регистрите CCPR1H:CCPR1L се използват като периоден регистър на Таймер1. Регистър T1CON управлява работните режими на Таймер1 и съдържа разрешаващия бит на осцилатора на Таймер1. Таймер1 може да бъде разрешаван или забраняван чрез установяване на управляващ бит в 1/'0'Таймер1 може да бъде конфигуриран за 16-битово четене и запис. Когато управляващият бит RD16 се постави в 1, TMR1H се адресира като буферен регистър за старшия байт на Таймер1. При четене на TMR1L съдържанието на старшия байт на Таймер1 сe зарежда в буфера на старшия байт - TMR1H. Това дава възможност да сe четат едновременно всичките 16 бита на Таймeр1 без да е необходимо да сe проверява дали четенето е успешно, т.е. дали съдържанията на старшия и младшия байт са валидни. Записът в старшия байт на Таймер1 също се извършва чрез буферния регистър TMR1H. Съдържането на старшият байт на Таймeр1 се зарежда със съдържанието на TMR1H, когато се извършва запис в TMR1H. Това позволява всички 16 бита на Таймер 1 да сe актуализират едновременно.Старшият байт на Таймер1 не е директно достъпен за запис и четене. Тези операции сe изпълняват чрез буферния регистър TMR1H. Запис в TMR1H нe нулира делителя на Таймeр1. Делителят сe нулира само при запис в TMR1L.

ТЕМА 24 ТАЙМЕРЕН МОДУЛ – ТАЙМЕР2Модул Таймер2 включва 8-битов таймер и 8-битов периоден регистър.Таймер2 (фиг. 1) може да бъде използван за задаване на периода в режим ШИМ на ССР модула. Регистърът TMR2 е за запис/четене и се нулира при всички НУ на схемата. Коефициентите на делене на входния такт (Fosc/4) 1:1, 1:4 или 1:16 се задават от управляващи битове.

27

Page 28: MPST - Pishtovi

Съдържанието на брояча TMR2 сe увеличава от 00h, докато съвпадне със съдържанието на 8-битовия периоден регистър PR2, след което в следващия цикъл TMR2 се нулира. При НУ регистър PR2 се установява в FFh.Изходът от схемата за сравнение на TMR2 с PR2 е свързан към 4-битов делител (с коефициенти на делене от 1:1 до 1:16 включително) и генерира заявка за прекъсване, която се записва във флага TMR2IF. Изходът на TMR2 (преди делителя) е свързан към синхронния сериен порт, който може да го използва за генериране на такт за преместване.Броячите на входния и изходния делител сe нулират в следните случаи: запис в регистър TMR2; запис в регистър T2CON; начално установяване (независимо от типа му). Регистър TMR2 не сe нулира при запис в регистър T2CON. Регистър T2CON е управляващият регистър на Таймер2.

ТЕМА 25 МОДУЛИ ССР1 И ССР2 – РЕЖИМ ХРОНОМЕТЪРВ режим хронометър (Фиг. 1) 16-битовото съдържание на регистър TMR1 или TMR3 се

запомня в CCPR1H:CCPR1L, ако на извод RC2/CCP1 настъпи събитие. Под събитие се разбира: всеки спадащ фронт; всеки нарастващ фронт; всеки 4-ти нарастващ фронт; всеки 16-ти нарастват фронт.

Видът на събитието се избира чрез управляващите битове ССР1МЗ:ССР1М0 (CCP1CON<3:0>). Когато се извърши запомняне, флагът за заявка за прекъсване ССР1IF се установява в 1. Той трябва да се нулира програмно. Ако настъпи следващо запомняне, преди да е прочетено съдържанието на регистър CCPR1, старата запомнена стойност се губи.

В режим хронометър изводът RC2/CCP1 трябва да бъде конфигуриран като вход чрез установяване в Т на бит TRISC<2>.

Таймерите, които се използват за хронометъра (Таймер1 и/или ТаймерЗ) трябва да работят в таймерен или в синхронен броячен режим. Таймерът, който ще се използва с всеки модул ССР, се избира в регистър T3CON.

Когато режим хронометър сс променя, може да се генерира погрешно прекъсване. За да не го допусне, потребителят трябва да поддържа нулиран бит ССР1IЕ и трябва да нулира флага CCP1IF след всяка промяна в работния режим. Чрез битовете ССР1МЗ:ССР1М0 сс задават четири коефициента на делене Винаги, когато модулът ССР е изключен или нe е в режим хронометър, броячът на делителя сс нулира. Това означава, чс всеки RESET нулира брояча на делителя. Превключването от един на друг коефициент може да генерира

28

Page 29: MPST - Pishtovi

прекъсване, при което броячът на делителя няма да бъде нулиран и следователно първото запомняне може да бъде от делител, различен от нула.

ТЕМА 26 МОДУЛИ ССР1 И ССР2 – РЕЖИМ СРАВНЕНИЕВ режим сравнение (фиг. 1) съдържанието на 16-битовия регистър CCPR1 непрекъснато се сравнява с това на двойката регистри TMR1. При съвпадение извод RC2/CCP1: се установява в „1”; се установява в „0” се превключва (от високо в ниско ниво или от ниско във високо ниво); или не се променя.Действието на извода зависи от управляващите битове CCP1M3:CCP1M0. В същото време флагът за прекъсване се установява в „1”.

фиг. 1 Блокова схема на режим сравнениеПотребителят трябва да конфигурира извода на ССРх като изход чрез нулиране на съответния бит TRISC. Нулиране на регистър CCP1CON ще установи изхода на тригера за сравнение RC2/CCP1 в нормалното ниско ниво. Това не е тригерът за данни на порт С.

Таймер 1 трябва да работи в таймерен или в синхронизиран броячен режим, за да може модул ССР да използва сравнение. (В асинхронен броячен режим операция сравнение може да не работи).

Когато е избран режим на програмно прекъсване, изводът ССР1 не се променя. Единствено се генерира прекъсване от ССР (ако е разрешено).

В режим „Специално събитие” се генерира вътрешно апаратно събитие, което може да се използва за предизвикване на действие. Изходът за специално събитие на ССР1 нулира двойката регистри TMR1. Това позволява регистър CCPR1 да се използва като 16-битов програмируем периоден регистър за Таймер1.Изходът на специалното събитие на ССР2 нулира двойката регистри TMR1 и стартира аналогово-цифрово преобразуване (ако е разрешен модул ADC).Специалното събитие от модул ССР1 и ССР2 не установява в „1” флага за прекъсване на Таймер1.

ТЕМА 27 МОДУЛИ ССР1 И ССР2 – РЕЖИМ ШИМВ режим на широчинно-импулсна модулация (ШИМ) извод ССР1 представлява изход за ШИМ с до 10 бита разрешаваща способност. Тъй като извод ССР1 е мултиплексиран с тригер за данни на порт С, битът TRISC<2> трябва да се нулира, за да се конфигурира извод ССP1 като изход.

Нулиране на регистър CCP1CON ще установи изходния тригер за ШИМ в нормално ниско ниво. Това не е тригерът за данни на порт С.

29

Page 30: MPST - Pishtovi

На фиг. 1 е показана опростена блокова схема на модул ССР в режим ШИМ.

ТЕМА 28 АНАЛОГОВИ КЛЮЧОВЕ И МУЛТИПЛЕКСОРИ

Структурна схема (по CMOS технология)

Аналогов ключ

td - време на закъснение преди отпушванеts - време на установяване

Структурна схема АМХ

30

Page 31: MPST - Pishtovi

td>>tdsw

ТЕМА 29 УСИЛВАТЕЛИ С ПРОГРАМИРУЕМ КОЕФИЦИЕНТ НА УСИЛВАНЕ

31

Page 32: MPST - Pishtovi

ТЕМА 30 ЦИФРОВО-АНАЛОГОВИ ПРЕОБРАЗУВАТЕЛИ – СТРУКТУРА И ПРИНЦИП НА РАБОТА

ЦАП – цифрово-аналогов преобразувателDAC – Digital to Analog ConverterЦАП е предназначен да преобразува в аналог. величина I или U, числович код, подаден на входа му. От гледна точка на структурата имаме 5 структурни единици:1) вх. регистър – интерфейсно у-во, предназначено за съгласуване по ниво и по време с-мите от управляващата цифрова система и останалите блокове на преобразувателя

Di={ 0 SWi->AGND1 SWi->URF

N число кодирано в прав кодRFB/R-константа на преобразувателя

(30.1)2) система от аналог. ключове – да превключва съответния изход към ИОН или към аналог. масаAnalog Ground AGNDDigital Ground DGND3) резисторна матрица, която е най-общия случай определя закона за преобразуване

32

Page 33: MPST - Pishtovi

матрицата е R->2NR->определя линеен закон4) преобразувател I->U – в най-общия случай може да не бъде включен в състава на преобразувателя5) източник на опорно напрежение (ИОН)На фиг.2 липсва вх. регистърВ (30.1) имаме ИОН и числов код(подаден на входа на преобразувателя)

II. Характеристики на ЦАП1) Разрядност – N (4,8,10,12,14,16,...,20)2) Обхват на изходната величинаUFS=Umax-Umin

IFS=Imax-Imin

3) Чувствителносттегло на най-младшия разрядq=UFS/2N само ако кодът е линеен и е по степените на 2По точки 1 и 2 се избира преобразувател(по тях се купува)4) Начини на кодиране на вх. дума1) линейни 2) логаритмични3) специални кодове!Начин на разположение на кода в разрядната решетка на μPU с-ма!Използван код в μPU с-ма5) Точност1.Грешка при отместване offset errorДефиниция: Когато всички ключове са включени към AGND

2.Грешка от усилване Gain ErrorДефиниция: Когато всички ключове са включени към URF

33

Page 34: MPST - Pishtovi

3.Грешка от нелинейностПолучава се поради разлики в отделните резистори на матрицата

Динамични:6) Време за установяване – времето за промяна на вх. с-л до неговото установяване в желаната ст-ст с точност до ½ от най-младшия разряд

ТЕМА 31 ЦАП – СТРУКТУРНИ СХЕМИ (ЦАП С R – 2NR МАТРИЦА, ЦАП С R – 2R МАТРИЦА, АНАЛОГОВИТЕ КЛЮЧОВЕ ПРЕВКЛЮЧВАТ НАПРЕЖЕНИЕ, АНАЛОГОВИТЕ КЛЮЧОВЕ

ПРЕВКЛЮЧВАТ ТОК, С ГЕНЕРАТОР НА ТОК ВЪВ ВСЕКИ РАЗРЯД)Резисторите трябва да са с еднакви температурни коефициенти. Тези резистори трябва да са от един и същи тип, което е трудно постижимо, за това е намерено решение с т.нар. R – 2R матрица.

ЦАП с R – 2R матрица:1. Аналоговите ключове превключват напрежение:

34

Page 35: MPST - Pishtovi

Недостатък: т. А – в резисторната матрица има потенциал, различен от 0. Забавя бързодействието на матрицата.

2. Аналоговите ключове превключват ток:

В основата на всеки съвременен ЦАП с линеен код по степените на 2.Работи се с C-MOS ключове, които не гарантират голяма прецизност.

3. С генератор на ток във всеки разряд

35

Page 36: MPST - Pishtovi

По-прецизните преобразуватели се правят на база на генератор на ток във всеки разряд. 4. ЦАП с мултиплексор

36

Page 37: MPST - Pishtovi

ТЕМА 32 ЦАП - СВЪРЗВАНЕ НА ВХОДА (ЦИФРОВА ЧАСТ). ПАРАЛЕЛНИ ЦАП, NDAC=>NMPU, NDAC<NMPU. ПОСЛЕДОВАТЕЛНИ ЦАП.

1. Паралелни ЦАП1.1. Времеви съотношения

В задния фронт на WR се извършва записът на данни.CS се реализира през старшите адреси, а сигналът за запис се умножава с някой от

младшите.t1 – мин. време за което трябва да се активира сигнала чип select преди активирането на

данните.t2 – мин. време, в което трябва да се активира сигнала write преди появата на даннитеt3 – мин. продължителност на сигнала за запис1.2. NDAC <= NCPU

1.3. NDAC => NCPU

Записът в DAC се осъществява на 2 цикъла

Разположение на кода в разрядната решетка на µPU

37

Page 38: MPST - Pishtovi

xxxx = s всички битове преди знаковия трябва да са еднакви с него!!!Ляво ориентиран формат

формат INTEGER за µPU

Дясно ориентиран формат

2. ЦАП със сериен (последователен) вход

I2C вариант на сериен вход.

38

Page 39: MPST - Pishtovi

ТЕМА 33 ЦАП - СВЪРЗВАНЕ НА ИЗХОДА (АНАЛОГОВА ЧАСТ). МЕТОДИ ЗА ПРОМЯНА НА ОБХВАТА.

1. Еднополярно свързване.

2. Двуполярно свързване.2.1. Метод „ Добавяне на URF в изхода на ЦАП ”

2.2. Предавателна характеристика Code U0 U0

0 00 0000 0000 -URF -URF

1 00 0000 0001 -URF -URF

511 01 1111 1111 -URF -URF

512 10 0000 0000 -URF -URF

513 10 0000 0001 -URF +URF

1023 11 1111 1111 -URF URF

39

Page 40: MPST - Pishtovi

Кодът може да се обработва като число тип “INTEGER” 2.3 Метод “ Допълнителен знаков разряд ”

Кодирането е в обратен код, числото се кодира само като положително, а знакът обработва отделно.

3. Превключване обхватите на изходното напрежение.

40

Page 41: MPST - Pishtovi

2 аналогови ключа + 2 цифрови изхода

Q0 Q1

0 0 2 → 40 1 1 → 3 – забранено1 0 1 → 41 1 2 → 4; 1 → 3

ТЕМА 34 СЪЩНОСТ НА АНАЛОГОВО-ЦИФРОВОТО ПРЕОБРАЗУВАНЕ. КЛАСИФИКАЦИЯ НА АЦП

Характеристики1. Същност на аналогово-цифровото преобразуване

Определение: Преобразуване на аналоговата величина u(t) в поредица от числа x(k.Δt), свързани с конкретни моменти от времето.

- квантуване - дискретизация

41

Page 42: MPST - Pishtovi

АЦП – аналогово-цифров преобразувателADC – analog to digital converterEOC – end of convertion (край на преобразуването)ОЕ – output enable (разрешение на изходите)

1.Предназначение на АЦП

2.Класификация на АЦП

N – брой редове на АЦПh – брой еталони i – брой тактове

h=1; i=2N – броячен метод1< h< 2N - разширен броячен методh=N: i=N – АЦП с непоследователно приближениеh=2N – пряко преобразуванеh=2 – АЦП с двойно интегриранеN< h< 2N – обикновено реализация на паралелно-последователно измерване

3. Характеристики на АЦП3.1 Разрядност на изходната дума N: 8,10,12,163.2 Обхват на входното напрежение

UFS

3.3 Начин на кодиране на изх. дума Линейни кодове: BIN, BCT,… Нелинейни кодове

3.4 Разрешаваща способност

само за BIN линейни кодове

3.5 Точност

42

Page 43: MPST - Pishtovi

Динамична грешка – разликата между измерената стойност и действителналната в края на преобразуването.

Грешка от 1ви род – дължи се на инерционността на елементите участващи в ЦАП Грешка от 2ри род – дължи се на изменението на входния сигнал по време на

преобразуването3.6 Тип на изхода

Паралелен Сериен I2C

3.7 Бързодействиеx10 ms – броячни АЦПx1 ms – разширен броячен методоколо 100 ms – АЦП с последователно приближение≤1μs – АЦП с пряко преобразуване

ТЕМА 35 АЦП, РАБОТЕЩИ ПО БРОЯЧЕН МЕТОД1.Принцип на работа

ЕОСH=1(q)Tconv – max (Umax) = 2N

2.Следящи АЦП

43

Page 44: MPST - Pishtovi

ТЕМА 36 АЦП, РАБОТЕЩИ ПО РАЗШИРЕН БРОЯЧЕН МЕТОД

1.АЦП с двойно интегриране h=2 (МС 14 433)UX >0

Приборът е сравнително евтин с широко приложение1 изт URF - осигурява се постоянна скорост2 изт – постоянното време за инт. на U

2. АЦП с последователно приближение i=n Метод на последователното приближение Блокът за управлениe е реализиран като „регистър за последователно приближение”

(Am 2504) Реализация на АЦП като самостоятелен чип (AD 757)

44

Page 45: MPST - Pishtovi

SAR – Sequential Approximation Register

45