Professional Documents
Culture Documents
Микроконтролери спрямо
микропроцесори
Състоянието, в което днес се намираме в областта на
микроконтролерите, води своето начало от развитието на
технологията на интегралните схеми. Това развитие
позволява да се създадат стотици хиляди транзистори в
един чип. Това е предпоставка за производството на
микропроцесори, а първите компютри са направени чрез
добавяне на външни периферни устройства като памет,
входно-изходни линии, таймери и други. По-нататъшното
увеличаване на броя транзистори в схемата, довежда до
създаване на големи интегрални схеми. Тези интегрални
схеми съдържат, както процесор, така и периферни
устройства. Така се появява първият чип, съдържащ
микрокомпютър, или това, което по-късно ще бъде
наречено микроконтролер.
През 1969 година и екип от японски инженери от
компанията BUSICOM пристига в Съединените щати
с искане да се направят няколко интегрални схеми
за калкулатори, като се използват техните
разработки. Предложението е дадено на INTEL, а
Марсиан Хоф е отговорен за проекта. Тъй като той е
този, който има опит в работата с компютър (PC)
PDP8, му се налага да предложи коренно различно
решение, вместо предложените разработки. Това
решение предполага, че функцията на интегралната
схема се определя от програма, съхранявана в нея.
Това означава, че конфигурацията ще бъде по-проста, но
ще изисква много повече памет, отколкото проектът,
предложен от японските инженери. След известно време,
въпреки че японските инженери се опитват да намерят
по-лесно решение, идеята на Марсиан печели и се рaжда
първият микропроцесор. За превръщането на една идея в
готов продукт, основна помощ за INTEL оказва Фредерико
Фагин. Той се прехвърля в INTEL и само за 9 месеца успява
да направи работещ продукт от концепцията. INTEL
получава правата за продажба на този интегрален блок
през 1971 г. Първо, те закупуват лиценза от компанията
BUSICOM, която няма представа какво съкровище има.
През тази година на пазара се появява микропроцесор,
наречен 4004.
Това е първият 4-битов микропроцесор със скорост 6 000
операции в секунда. Не след дълго американската компания CTC
иска от INTEL и Texas Instruments да направят 8-битов
микропроцесор за използване в терминали. Въпреки че CTC в
крайна сметка се отказа от тази идея, Intel и Texas Instruments
продълживат да работят върху микропроцесора и през април
1972 г. на пазара се появи първият 8-битов микропроцесор под
името 8008. Той е в състояние да адресира 16Kb памет и има 45
инструкции и скорост от 300 000 операции в секунда. Този
микропроцесор е предшественик на всички съвременни
микропроцесори. Intel продължава развитието си през април
1974 г. и пуска на пазара 8-битовия процесор под име 8080,
който може да се справи с 64Kb памет и който има 75
инструкции, а цената започва от $ 360.
В друга американска компания Motorola разбират
бързо какво се случва, затова пускат на пазара 8-
битов микропроцесор 6800. Главен конструктор е
Chuck Peddle, а Motorola е първата компания, която
заедно със самия процесор, направи други
периферни устройства като 6820 и 6850. По това
време много компании признават по-голямото
значение на микропроцесорите и започват
собствените си разработки. Chuck Peddle напуска
Motorola, за да се присъедини към MOS Technology
и продължава да работи интензивно върху
разработването на микропроцесори.
На изложението WESCON в Съединените щати през
1975 г. се случва критично събитие в историята на
микропроцесорите. Компанията MOS обявява, че
предлага на пазара микропроцесори 6501 и 6502 по 25
долара всеки, които купувачите могат да закупят
веднага. Това е толкова сензационно, че мнозина
смятат, че това е някаква измама, като се има предвид,
че конкурентите продават 8080 и 6800 по 179 долара
всеки. Като отговор на своя конкурент, както Intel, така
и Motorola понижават цените си в първия ден на
изложението до 69,95 долара за микропроцесор.
Motorola бързо внася иск срещу MOS Technology и
Chuck Peddle за копиране на защитения 6800.
MOS Technology спира да прави 6501, но продължава
да произвежда 6502. 6502 е 8-битов микропроцесор
с 56 инструкции и възможност за директно
адресиране на 64Kb памет. Поради ниската цена
6502 става много популярен, така че е инсталиран в
компютри като: KIM-1, Apple I, Apple II, Atari,
Comodore, Acorn, Oric, Galeb, Orao, Ultra и много
други. Скоро се появяват няколко производители на
6502 (Rockwell, Sznertek, GTE, NCR, Ricoh и Comodore
поема MOS Technology), който по времето на
просперитета си се продава по 15 милиона
процесора годишно!
Други обаче не се отказват. Фредерико Фагин
напуска Intel и стартира своя собствена компания
Zilog Inc. През 1976 г. Zilog обявява Z80. Знаейки, че
за 8080 вече са разработени много програми, Faggin
разбира, че мнозина ще останат верни на този
микропроцесор поради големите разходи, които ще
са необходими за повторно преработване на всички
програми. Затова той решава, че новият процесор
трябва да бъде програмно съвместим с 8080, или че
трябва да може да изпълнява всички програми,
които вече са написани за 8080. Освен тези
възможности са добавени и много нови, така че Z80
става много мощен микропроцесор за своето време.
Той може да адресира директно 64 Kb памет, има
176 инструкции, голям брой регистри, вградена
опция за опресняване на динамичната RAM памет,
еднократна доставка, по-голяма скорост на работа и
т.н. Z80 е голям успех и всички преминават от 8080
на Z80. Може да се каже, че Z80 е без съмнение най-
успешният 8-битов микропроцесор в онова време.
Освен Zilog, се появяват и други нови производители
като Mostek, NEC, SHARP и SGS. Z80 е сърцето на
много компютри като Spectrum, Partner, TRS703, Z-3.
През 1976 г. Intel излиза с подобрена версия на 8-
битов микропроцесор с име 8085. Въпреки това Z80
е толкова по-добър, че Intel скоро губи битката.
Въпреки че на пазара се появяват още няколко
процесора (6809, 2650, SC / MP и т.н.), всъщност
всичко вече е решено. Няма по-големи подобрения,
които да накарат производителите да се пренасочат
към нещо ново, така че 6502 и Z80 заедно с 6800
остават, като основни представители на 8-битовите
микропроцесори за онова време.
Микроконтролерът се различава от микропроцесора по
много неща. Първо и най-важното е неговата
функционалност. За да може да се използва
микропроцесор, към него трябва да се добавят други
компоненти, като памет или компоненти за приемане и
изпращане на данни. Накратко това означава, че
микропроцесорът е сърцето на компютъра. От друга
страна, микроконтролерът е проектиран така, че да бъде
всичко това в едно. За прилагането му не са необходими
други външни компоненти, тъй като всички необходими
периферни устройства вече са вградени в него. По този
начин спестяваме времето и пространството, необходими
за конструирането на устройства.
Вградени система за управление.
Embedded systems.
Организация на компютъра
• Блок-схема
• Входен блок
– Преобразува информацията постъпваща към
компютъра, в подходяща форма (аналого-цифров
преобразувател, клавиатура, бутони и др.)
• Изходен блок
– Извежда информация към външни устройства
(цифро-аналогов преобразувател, индикатори,
принтер и др.)
• Управляващо устройство
– Управлява работата на останалите устройства
– Извлича инструкция от паметта, декодира я и
формира управляващи и синхронизиращи сигнали
• Основни понятия
– Централен процесор – управляващото устройство и
аритметичното и логическо устройство, обединени в
един блок
– бит – основна единица за информация в цифровите
устройства
– Байт – група от осем бита
– Машинна дума (дума на компютъра) – група от
битове, представляваща основна информационна
единица в даден компютър
– Широко разпространение са получили 8, 16, 32 и 64
битови думи
– Цикъл на инструкция
• Адресът на инструкцията (съдържанието на програмния брояч) се
записва в адресния регистър на паметта
• Извличане на инструкцията от клетка от паметта, определена от
адресния регистър
• Част от инструкцията, съдържаща операционния код, се записва в
регистъра на инструкцията
• Съдържанието на регистъра на инструкцията се предава към декодера
на инструкцията и след декодиране се изработват съответните
управляващи сигнали за изпълнение на операцията по време на
изпълнителния цикъл
• Съдържанието на програмния брояч се увеличава с единица т.е.
подготвя се адресът на следващата инструкция
– Изпълнителен цикъл
• Съдържанието на клетка от паметта, определена от адресния регистър,
се зарежда в информационния регистър
• Данните се предават от информационния регистър към аритметичното и
логическо устройство и се извършва съответната операция над данните
• Резултатът се зарежда в информационния регистър
• Съдържанието на информационния регъстър се записва в клетка от
паметта, определена от адресния регистър
• Блок-схема на микрокомпютър
• Операция четене
• Операция запис
Основна архитектура на CPU
• Магистрали
– Адресна магистрала
• Еднопосочна – адресите се предават от процесора към
паметта и периферията
• Всеки адрес съответства на клетка от паметта или регистър на
периферно устройство
– Информационна магистрала
• Двупосочна – обменът на данни е от микропроцесора към
останалите устройства или обратно
• Информационните изводи D0÷D7 са входове или изходи в
зависимост от изпълняваната операция – четене или запис
– Управляваща магистрала
• Определят вида на изпълняваната операция четене/запис
R/W
• Синхронизират работата на устройствата в системата
Памет
Памет
• Феритна памет
• Полупроводникова памет
– Постоянна памет (Read Only Memory, ROM) - Може само да се
чете информация от тях. При изключване на захранването
записаната информация се запазва.
• Масково програмируеми – програмират се от производителя чрез
„фото маски“. Икономически изгодно е при големи серии
• Програмируеми памети, PROM, OTP – програмират се от
потребителя, чрез „прогаряне“ на никел-хромови поводници по
специална процедура
• Електрически програмируеми памети, EPROM – могат да се
програмират и изтриват многократно от потребителя. Изтриването се
извършва чрез ултравиолетови лъчи преминаващи през кварцово
прозорче в корпуса на интегралната схема
• Електрически изтриваеми памети, EEPROM, FLASH – изтриват се чрез
подаване на напрежение на определени изводи
– Памет за четене-запис, Random Access Memory, RAM –
позволяват операции запис-четене с приблизително
еднаква честота. При изключване на захранването
записаната информация с е губи. Използва се за
временно съхранение на данни.
• Статична RAM памет – за съхранение на данните се използват
тригерни регистри. При по-голям обем схемата се усложнява.
Имат по-прост интерфейс.
• Динамична RAM памет – за съхраняване на информацията се
използват кондензатори. Имат по-голям обем от статичните.
Необходимо е „опресняване“ на паметта (поддържане на
заряда на кондензаторите)
• Й
Периферия
• Чрез периферните устройства вградената
система взаимодейства с външната среда. Чрез
входните периферни устройства се получава
информация за параметрите на средата. Чрез
изходните устройства се въздейства на средата.
• Основни типове периферни устройства
– Цифрови входове и изходи с общо
предназначение
– Изводи за серийна комуникация
– Аналогови входове и изходи
Блок диаграма на обощена вградена система
ВИДОВЕ КОМПЮТЪРНИ АРХИТЕКТУРИ
Особености:
• бърза оперативна памет, “instruction cache” , в самия микропроцесор
• входно/изходен контролер “ с пряк достъп до паметта”
CISC И RISC КМПЮТРИ
• Complex Instruction Set Computer, CISC – Компютър с пълна (разширена)
система от инструкции
•стратегия «кратка програма — дълги команди».
• Reduced Instruction Set Computer, RISC – компютър с редуцирана (намалена)
система от инструкции
•стратегия "дълга програма — кратки команди"
CISC RISC
-голям брой инструкции -малък брой инструкции
-различни видове адресация -няколко вида адресация
-по-къса програма -по-дълга програма
различен форма и дължина на -еднакъв формат и дължина на
инструкциите инструкциите
-изпълнение на инструкциите за -изпълнение на инструкциите за
различен брой тактове еднакъв брой тактове
-по-малък брой регистри -по-голям брой регистри
-микропрограмно управление -твърда логика за всяка инструкция
ВИДОВЕ ТЕХНОЛОГИИ ЗА ИЗГРАЖДАНЕ НА
ЦИФРОВИ СИСТЕМИ ЗА УПРАВЛЕНИЕ
• микропроцесори
• микроконтролери
• програмируеми логичрски контролери
• цифрови сигнални процесори
• програмируеми логически схеми
МИКРОПРОЦЕСОРИ
Особености:
Трудоемък процес на проектиране
Необходимо е проектантът да има познания по програмиране – асемблер, С++
Сравнително сложна апаратна част
Сравнително висока консумация
МИКРОКОНТРОЛЕРИ
Особености:
Интегрирана периферия Опростена „външна“ апаратна част
Улеснено проектиране По-ниска консумация
По-ниска цена По-висока надеждност
Подходящи за работа в реално време Програмиране на асемблер, С++
Еднокристалните микроконтролери са прибори,
конструктивно изпълнени като една голема интегрална
схема (ГИС) и включващи в себе си всички устройства,
необходими за реализация на цифрови системи за
управление. Минималната конфигурация включва:
процесор, памет за данни, памет за команди, вътрешен
генератор на тактов сигнал, а също программируеми
схеми за връзка с външната среда.
Използването на еднокристални микроконтролери в
системите за управление обеспечава достигането на
изключително високи показатели на ефективност при
тази ниска себестойност, така че те видимо нямат
алтернатива като елементна база за изграждане на
управляващи и/или регулиращи системи. Това води до по-
бързо развитие на автоматизацията и интелектулизацията
на съвременния свят.
ПРОГРАМИРУЕМИ ЛОГИЧЕСКИ
КОНТРОЛЕРИ
Oсобенности
Гъвкавост програмиране на високо ниво
надеждност (самодиагностика) не се изискват специални познания по
вграден базов софтуер програмиране
Главната разлика между промишлените
контролери и промишлените компютри е в
адаптацията на езика за програмиране според
конкретната област на използване. Тъй като повечето
промишлени контролери, производство на такива
известни фирми като Allen Bredley, Siemens, Fanuc, ABB
и др., са програмируеми логически контролери (РLС) и
имат вградени интерпретатори за така наречения
Релейно-контакторен език в автоматиката или езика на
Булевата алгебра, което позволява на неспециалист да
програмира системата за управление.
ЦИФРОВИ СИГНАЛНИ ПРОЦЕСОРИ
Особености
Големи изчислителни възможности Подходящи за работа в реално време
Голямо бързодействие
Оптимизирани за цифрова обработка на сигнали
Програмиране на асемблер, С++, МатЛаб??
ПРОГРАМИРУЕМИ ЛОГИЧЕСКИ
СХЕМИ
закъснение
сумиране
умножение с констаната
умножение
– Точност
• Зависи от грешката от дискретност и линейността на характеристиката
• Грешката от дискретност е равна на половината от “теглото” на най-младшия бит
– Бързодействие
– Зависи от вида на АЦП
• За интегриращо АЦП – 1 - 100 msec
• За АЦП с поразрядно уравновесявана - 1µsec
– Шумоустойчивост
• Интегриращите АЦП имат по-добра шумоустойчивост
• Честота на дискретизация
• Конфигурации на аналоговия вход
• г
Преобразуване на цифрови отчети в технически единици
• L
Аналогов изход. АЦП и ШИМ
• Аналогов изход с ЦАП.
• й
• Конфигурации на аналогов изход
• Аналогов изход с ШИМ
Управление на цифрови индикатори.
Видове индикатори
• Светодиодни
– 7-сегментни
– 14-сегментни
– матрични
– а
• Течнокристални
– 7 – сегментни
– матрични
• Електролуминисцентнтни
Статична индикация
• О
Динамична индикация
• х
Клавиатури
• Клавиатурата е широко използвано средство за въвеждане на
текстова информация (букви и цифри) в цифровите компютри и
съответно в цифровите системи за управление
Видове клавиатури
• “Проста” клавиатура
– Състои се от бутони за управление – пуск, стоп, нулиране и др.
• Цифрова клавиатура
– Включва бутони за цифри и управляващи бутони – адрес, данни, индикация и др.
• Буквено цифрова клавиатура
– Съдържа бутони за цифри и букви
• Специализирана (функционална) клавиатура
– Всеки бутон съответства на някаква функция – увеличаване, намаляване, избор
на режим и др.
• Многофункционална клавиатура
– Съдържа превключватели и сменяеми панели с надписи
• В зависимост от апаратната реализация (в зависимост от начина на
идентифициране и кодиране на натиснатия)
– Клавиатура с кодиран изход
• Използва се шифратор, в изхода на който апаратно се получава код, съответстващ на натиснатия бутон,
например седем битов ASCII код
– Клавиатури с некодиран изход
• Кодът на натиснатия бутон се получава програмно
Клавиатура с некодиран изход
Q - число
QI - брой разряди на цялата част (integer)
QF - брой разряди на дробната част (fractional)
QI+QF - дължина на машинната дума (word length,WL)
Цели числа без знак
Обхват
За отрицателни числа
Пример: при осем разрядна машинна дума диапазонът на числата със знак е
• Изравняване на поеядъците
• Събиране (изваждане) на мантисите
• Нормализиране на резултата
Пример
изравняване на порядъците:
Сумиране
Нормализиране
Умножение
Делене
Сравнение между формат с фиксирана и плаваща запетая
CPU (ЦПУ)
Central Processing Unit
• Централният процесор
(CPU) е мозъкът на
микроконтролера. Този
модул е отговорен за
намиране и извличане на
текущата инструкция,
която трябва да бъде
изпълнена, за
декодиране на тази
инструкция и накрая за
нейното изпълнение.
Central Processing Unit
• Централният процесор свързва всички части на
микроконтролера в едно цяло. Със сигурност най-
важната му функция е да декодира програмните
инструкции. Когато програмистът пише програма,
инструкциите имат ясна форма като MOVLW 0x20.
Въпреки това, за да може микроконтролерът да
разбере това, тази форма на „текстова“ инструкция
трябва да бъде преведена в серия от нули и
единици, които се наричат „опкод“ (машинен код).
Този преход от „текст“ в двоична форма се
извършва от преводачи (translators), като
транслатор на асемблер (или само assembler).
Central Processing Unit
• Така получената от програмната памет
инструкция, трябва да бъде декодирана от
централения процесор. След това можем да
изберем от таблицата на всички инструкции
набор от действия, които изпълняват зададена
задача, определена от инструкцията. Тъй като
инструкциите могат да съдържат задачи, които
изискват различни прехвърляния на данни от
една памет в друга, от памет към портове или
някои други изчисления, то CPU трябва да
бъде свързан с всички части на
микроконтролера. Това става възможно чрез
шина за данни и адресна шина.
Arithmetic Logic Unit (ALU)
• Аритметичният логически модул отговаря за извършване на
операции по събиране, изваждане, преместване (наляво или
надясно в регистъра) и логически операции. Преместването на
данни вътре в регистъра е известно също като „изместване“
(„shifting“). PIC16F84 съдържа 8-битов аритметично логически
модул и 8-битови работни регистри.
Arithmetic Logic Unit (ALU)
• В инструкции с два операнда, обикновено единия
операнд е в работения регистър (W регистър), а другият е
един от регистрите или константа. Под операнд имаме
предвид съдържанието, върху което се извършва някаква
операция, а регистър е всеки от регистрите GPR или SFR.
GPR е абревиатура за „Регистри с общо предназначение“,
а SFR за „Регистри за специални функции“. В инструкции с
един операнд, операнд е W регистър или един от
регистрите. Като допълнение към извършването на
операции в аритметика и логика, ALU управлява битовете
на състоянието (битове, намеращи се в регистъра
STATUS). Изпълнението на някои инструкции засяга
битовете на състоянието, което зависи от самия резултат.
В зависимост от това коя инструкция се изпълнява, ALU
може да повлияе на стойностите на битовете Carry (C),
Digit Carry (DC) и Zero (Z) в STATUS регистъра.
STATUS Register