https://www.kaminata.net/forum/viewtopic.php?t=29940Проектиране на структурна схема на микропроцесорна система за управление на технологичен обект
КУРСОВ ПРОЕКТ
МИКРОПРОЦЕСОРНА ТЕХНИКА
Георги Иванов Стамболиев
Факултет: ФКСУ
Специалност: КСТ
група: 45
Ф№: РК030195
Дата: Ръководител:..................
/др. Хр. Шойлев/
ЗАДАНИЕ
Да се проектира структурна схема на микропроцесорна система за управление на технологичен обект при следните условия:
Тип процесор:СМ600, СМ601
1.Брой бутони..............................................26
2.Изходи RS 232...........................................да
3.Брой седемсегментни индикатори...........7
4.Брои индикаторни светодиоди.................13
5.Обем програмна памет.............................16k
6.Обем памет за данни.................................8k
7.Необходимост от буферно захранване....да
МИКРОПРОЦЕСОР СМ601
МП СМ 601 е разработен у нас и е функционален еквивалент на Motorola 6800. Това е 8-битов паралелен МП, който адресира директно 65536 байта памет.Той се произвежда по N – канална MOS – технология и се захранва от един източник с напр. +5V. Разположен е в корпус с 40 извода. Има максимална тактова честота от 1MHz (min 100KHz). Всички входове и изходи са TTL – съвместими. Изводите могат да се обединят в 3 групи шини: за адреси (А0 до А15); за данни (D0 до D7); за управление и прекъсване – в тази група попадат всички останали изводи, с изключение на изводите за захранване Vcc и GND. МП има 6 вътрешни регистъра, 4 типа векторирани прекъсвания и 72 основни инструкции. Основните инструкции могат да бъдат използвани с различни методи на адресация с цел да се намали времето за изпълнение на програмата и обема на необходимата памет.
Описание на изводите на СМ601
RESET e вход за начално установяване на микропроцесора при включване на захранващото напрежение или при повторно стартиране. Ако микропроцесорът открие преход от 0 в 1 на този вход, той прочита последните две клетки от паметта с адреси FFFF и FFFE и го зарежда съответно в старшия и младшия байт на програмния брояч. Флагът I от регистъра на условните преходи CCR се установява в 1 и трябва да се нулира, ако е необходимо микропроцесорът да бъде прекъсван чрез входа IRQ. Входът RESET трябва да се задържи с ниско ниво поне 8 пълни тактови цикъла, след като захранващото напрежение Vcc достигне +4.75V. Ако RESET стане 1 преди положителния фронт на фазата Ф2, през следващия такт Ф1 първия адрес на паметта FFFE ще се появи на адресната шина. Клетката с този адрес трябва да съдържа старшите 8 бита на адреса , който ще се зареди в програмния брояч PC. Следващата клетка FFFF трябва да съдържа младшите 8 бита на същия адрес, които се зарежда също в програмния брояч PC. Така образуваното състояние на програмния брояч се нарича вектор за начално установяване и определя адреса на първата инструкция, която ще се изпълни.
Ф1 и Ф2 са входове, на които се подават двете не застъпващи се фази на синхронизиращия се сигнал на микропроцесора, получавани от външен тактов генератор. Тези два входа не са TTL съвместими.
VMA (Valid Memory Address – валиден адрес на паметта) е изход, който ако е с високо ниво, показва на периферните устройства и паметта, че на адресните шини има валиден адрес. Сигналът VMA трябва да бъде използван за разрешаване работата на адресния дешифратор. Изходът е с две състояния.
TSC (Three State Control – управление на третото състояние) е вход, на който ако се подаде високо ниво, микропроцесорът поставя адресните изходи А0 до А15 и изхода R/W във висок импеданс, а сигналите ВА и VMA – в 0.
А0 до А15 (Address Bus – адресни шини) са изходи с три състояния, на който микропроцесорът извежда адреса на паметта и входно-изходните устройства.
D0 до D15 (Data Bus – шина за данни) са 8 двупосочни шини, който се използват за обмен на данни и инструкции към и от паметта и периферните схеми. Изводите са с три състояния.
ВА (Bus Available – достъпни шини) е изход, който нормално е с ниско ниво. Като постави ВА в 1, микропроцесорът показва, че е спрял и адресната шина е достъпна. Това ще стане, ако входа HALT е в 0 или ако микропроцесорът е в състояние на изчакване в резултат от изпълнението на инструкция WAIT. В този случай всички изходи с три състояния преминават във вискоимпедансно състояние, а останалите изходи – в тяхното нормално неактивно състояние.
HALT e вход за спиране работата на микропроцесорът. Той е чувствителен към ниско ниво. Ако HALT стане 0, микропроцесорът спира, след като изпълни текущата инструкция.
R/W (Read/Write –четене/запис) е изход с три състояния, който е с високо ниво по време на цикъла четене и с ниско по време на запис.
DBE (Data Bus Enable – разрешение на шината за данни) е вход, който управлява преминаването на шината за данни във високо импедансно състояние. Когато входът DBE има високо ниво, се разрешават изходните буфери на тези шини.
IRQ (Interrupt Request – заявка за прекъсване) е вход за маскируема заявка за прекъсване. Ако на входа IRQ се подаде ниско ниво, микропроцесорът довършва текущата команда и ако маскиращият флаг I в регистъра на условните преходи (CCR) е 0, започва изпълнението на прекъсващата програма. Ако флагът I е 1, изпълнението на текущата команда продължава и заявката за прекъсване от входа IRQ не се приема от микропроцесорът, докато флагът I не се нулира от програмата. За да се познае заявката за прекъсване, входът HALT трябва да е с високо ниво.
NMI (Non – Mask Interrupt – не маскирано прекъсване) е вход за не маскирано прекъсване. При получаване на отрицателен фронт на този вход микропроцесорът довършва текущата команда и запомня съдържанието на вътрешния си регистър в стека. Стойността на флага I от CCR е без значение. Програмния брояч се зарежда със съдържанието на клетките от паметта с адреси FFFC и FFFD.
Изводите IRQ и NMI са входове за апаратни прекъсвания, който се проверяват по време на фазата Ф2. При откриване на заявка за прекъсване програмата за обслужване на прекъсванията започва през първата фаза Ф1, която е след текущата команда. Заявките за прекъсване, подавани на тези входове, могат да бъдат асинхронни по отношение на фазите Ф1 и Ф2. Програмата, която обработва прекъсванията, обикновено завършва с инструкция RTI.
Видове прекъсвания в СМ601
Микропроцесорът СМ601 има два вида апаратни и едно програмно прекъсване. Апаратните прекъсвания се реализират чрез входовете IRQ и NMI на микропроцесорът. Програмното прекъсване се реализира с инструкция SWI. И при трите прекъсвания микропроцесорът прекратява изпълнението на програмата, записва съдържанието на вътрешните регистри в стека, извлича съдържанието на две определени клетки от паметта и го зарежда в програмния брояч. Това ново съдържание на PC се нарича вектор на прекъсване. Той определя адреса на първата инструкция, която се изпълнява в отговор на прекъсването. След като се срещне инструкция WAI, микропроцесорът записва съдържанието на всички регистри в стека по указания ред и след това започва да чака заявка за прекъсване от входовете IRQ и NMI . След като се получи заявка за прекъсване, СМ 601 извлича вектора на прекъсване, зарежда го в програмния брояч и започва да изпълнява програмата, започваща от този адрес, без да записва отново вътрешните си регистри в стека. В стека се записват всички регистри от програмния модел с изключение на указателя на стека SP.
Тактови генератори за СМ 601
За проектиране на микрокомпютри със СМ601 могат да се използват два вида тактови генератори – фабрично произведен тактов генератор 6875 или да се реализира тактов генератор с ТТL интегрални схеми с ниска степен на интеграция.
Минималната работна честота на СМ601 е 100кHz, а максималната – 1MHz. СМ601 е динамична схема и затова има ограничение за минимална работна честота. Тактовите импулси са необходими за опресняване на информацията в динамичните регистри на микропроцесорът.
Микропроцесорът СМ601 изисква две външно генерирани на застъпващи се тактови (синхронизиращи) последователности, който попадат на неговите входове Ф1 и Ф2. Самите тактове също се означават с Ф1 и Ф2. Фазата Ф1 не може да се получи чрез пряко инвертиране на Ф2 и обратното. Двете фази никога не трябва да бъдат едновременно във високо ниво и затова при проектиране на тактови генератори трябва да се вземат мерки фазите да не се застъпват. Входовете Ф1 и Ф2 не са ТТL съвместими.
Полупроводникови памети
Запаметяващите устойства, изградени чрез полупроводникови интегрални схеми (полупроводниковите памети) са едни от най-разпространените модули в съвременната цифрова електорнна техника. Това е така, защото всеки процесор или кое да е управляващо устройство сее нуждае от специализирано оборудване, което да му подава информация за обработка (някаква памет, датчик, интерфейс или др.) и от памет, в която да съхранява получените от изчисленията резултати. Освен полупроводниковите, носителите на информация биват магнитни, оптични и техните разновидности. Предимството на запаметяващите интегрални схеми е тяхното голямо бързодействие, докато магнитните и оптичните памети и запомнящи среди се отличават с огромния обем на съхраняваната информация.
Полупроводниковите памети се делят на два основни класа – постоянни (ROM – Read Only Memory) и с произволен достъп (RAM – Random Access Memory). ROM паметите се използват за енергонезависимо съхраняване на информация (програми, базови константни данни и др.) като могат да бъдат и потребителски програмируеми (Programmable - ROM), с възможност за изтриване (UV – PROM, Erasing – EPROM) или електрически изтриваеми (Electrical Erasing – EEPROM или Flash Memory). По-голям интерес в случая представлява RAM паметите, на които ще се спрем по-подробно в следващите редове.
На базата технологията и принципа на съхранение на информацията, RAM паметите също се делят на два типа – статични (SRAM) и динамични (DRAM).
Статичните памети са бързи полупроводникови запомнящи среди, изградени на базата на биполярните TTL транзистори (в момента се произвеждат и CMOS SRAM памети, както и хибридни SDRAM памети), с относително малък обем и високоскоростен достъп. Те са удобни за използване в бързи технологични компютри, където големият обем, заеман върху кристала и относително високата консумация на TTL схемите не са от първостепенно значение. Съхраняването на информацията се реализира чрез използването на бързо превключващи транзисторни тригери, на които се дължи голямото бързодействие на тези памети.
Динамичните памети от друга страна , използват CMOS технология и тяхната основна единица за съхранение на информацията е паразитния гейтов капацитет в запомнящата транзисторна клетка. Предимства на динамичните памети са техния голям обем (поради незначителната площ, заеман от елементарните транзистори върху кристала) и ниската им консумация (CMOS е високоомна технология, транзисторите консумират енергия, само по време на превключване). DRAM паметите се използват в съвременните персонални компютри като основни операционни масиви за съхранение на данни по време на работа на компютъра. Малък техен недостатък са по-големите времена за достъп до данните и необходимостта от опресняване (Refresh) на съхраняваната информация, тъй като запомнящите кондензатори са с нищожни капацитет и бързо се разреждат.
В момента се използва SDRAM (синхронна динамична RAM), а също така и DDRAM. Стандартните тактови честоти на SDRAM-а са 100MHz и 133 MHz, a на DDRAM-а са 266 MHz, 333MHz, 400 MHz.
Когато AI пише курсови проекти!