Микроконтроллер құрылғысына арналған программалық қамтамасыз етуді әзірлеу
1 МИКРОКОНТРОЛЛЕР ҚҰРЫЛҒЫЛАРЫНЫҢ ДАМУЫ МЕН ТАҒАЙЫНДАЛУЫНЫҢ АНАЛИЗІ
1.1 Микроконтроллерлер.даму тарихы, жіктелуі
1.2 Микроконтроллер сәулеті
1.3 Микроконтроллерлер құрылғыларының функциялары
2 КОНТРОЛЛЕР ЖӘНЕ МИКРОКОНТРОЛЛЕРЛІК ҚҰРЫЛҒЫЛАРДЫҢ ПРОГРАММАЛАУ ҚҰРАЛДАРЫ
2.1 Микроконтроллер құрылғыларының программалау ортасы
2.2 Программаны түзеу және трансляциялау
2.3 Программа түзеуші кешен арқылы микроконтроллер құрылғыларын программалау
3 ПРОГРАММАЛАНАТЫН ЛОГИКАЛЫҚ КОНТРОЛЛЕРДІ ПРОГРАММАЛАУ
3.1 ПЛК арқылы басқарудың артықшылықтары
3.2Техникалық спецификация
ҚОРЫТЫНДЫ
1.1 Микроконтроллерлер.даму тарихы, жіктелуі
1.2 Микроконтроллер сәулеті
1.3 Микроконтроллерлер құрылғыларының функциялары
2 КОНТРОЛЛЕР ЖӘНЕ МИКРОКОНТРОЛЛЕРЛІК ҚҰРЫЛҒЫЛАРДЫҢ ПРОГРАММАЛАУ ҚҰРАЛДАРЫ
2.1 Микроконтроллер құрылғыларының программалау ортасы
2.2 Программаны түзеу және трансляциялау
2.3 Программа түзеуші кешен арқылы микроконтроллер құрылғыларын программалау
3 ПРОГРАММАЛАНАТЫН ЛОГИКАЛЫҚ КОНТРОЛЛЕРДІ ПРОГРАММАЛАУ
3.1 ПЛК арқылы басқарудың артықшылықтары
3.2Техникалық спецификация
ҚОРЫТЫНДЫ
Көпшілік «компьютерлік революцияны» автоматты түрде көптеген қиын есептеулерді қажет ететін мәселелерді шешу құралдарын жасау деп қабылдайды. Мұндай есептеулер әр түрлі қызмет түрлерін төлеу кезінде, қиын ғылыми зерттеулерді және әзірлеуді орындағанда, завод және фабрикалардағы технологиялық процессті және құрылғыларды басқару процесі кезінде пайда болады. Уақыт өте келе интернет желісі және сандық телекоммуникациондық жүйені қосудың арқасында «компьютерлік революция» ұғымы кеңейді.
Сонымен бірге екінші революция жүріп жатты, және ол мүмкін әркімнің өміріне көбірек ықпалын тигізді. Ол бізді қоршаған ортаның барлығын арзан әрі қуатты микроконтроллерлер арқылы автоматтандыру болып табылады.
Микроконтроллерлердің көбісі автокөліктерде қолданылады. Қазіргі кездегі автокөліктер 20- дан астам микроконтроллерді өзінде қамтиды, олар мотордың күйін бақылап және оның жұмысын басқарып қана қоймай, сигнализация жүйесі көмегімен оны бұзу және ұрлаудан сақтап қалу, қорғаныс жүйесінің жұмыс жасауын қамтамасыз етеді, сыртқы жарықтандыруды бақылайды, автокөлік ішіндегі ауа температурасын, радио/стереожүйелердің жұмысын бақылайды.
Дербес компьютердің өзінде кем дегенде төрт орнатылған микроконтроллерлері бар болады – екеуі пернетақта мен тышқанның жұмысын қамтамасыз етеді, біреуі қатқыл дискті басқарады, біреуі энергиямен қамтамасыз етілуін қамтамасыз етеді. Мүмкін монитор, принтер немесе модемді басқару үшін одан да көп микроконтроллерлер қолданылады.
Микроконтроллер – ол дербес компьютерлік жүйе, бір корпуста орнатылған мәліметтерді енгізу/шығау құрылғысы, процессор және қосалқы сұлбаларды қамтиды.
Әртүрлі құрылғыларда қолданатын микроконтроллерлер, сыртқы ортаның параметрлерін анықтайтын датчиктер мен қолданушының пернетақтасынан келіп түсетін мәліметтерді интерпретациялау функциясын орындайды, және жүйенің әртүрлі құрылғыларының арасында байланыс орнатады және басқа құрылғыларға мәліметтерді жібереді. Микроконтроллерлерді қолану қолданылатын материалдар мен жиынтықтаушы бұйымдардың бағасы мен мөлшерін едәуір азайтуға мүмкіндік береді, ол соңғы өнімнің өзіндік бағасының төмендеуін қамтамасыз етеді. Микроконтроллерлерді қолдану тұтынушы үшін өнімнің тартымдылығын едәуір өсіре алады, ол салыстырмалы аз қосымша шығын шығару арқылы «достық интерфейсті» іске асырудың арқасында болады.Сонымен қатар, әр түрлі функцияларды іске асыру үшін маманадндырылған, әр түрлі программалық жабдықтаманы бір ғана аппаратты құралдарды қолдана отырып шығарылатын өнімнің қолдану аяасының кеңеюінің қамтамасыз етуге болады.
Сонымен бірге екінші революция жүріп жатты, және ол мүмкін әркімнің өміріне көбірек ықпалын тигізді. Ол бізді қоршаған ортаның барлығын арзан әрі қуатты микроконтроллерлер арқылы автоматтандыру болып табылады.
Микроконтроллерлердің көбісі автокөліктерде қолданылады. Қазіргі кездегі автокөліктер 20- дан астам микроконтроллерді өзінде қамтиды, олар мотордың күйін бақылап және оның жұмысын басқарып қана қоймай, сигнализация жүйесі көмегімен оны бұзу және ұрлаудан сақтап қалу, қорғаныс жүйесінің жұмыс жасауын қамтамасыз етеді, сыртқы жарықтандыруды бақылайды, автокөлік ішіндегі ауа температурасын, радио/стереожүйелердің жұмысын бақылайды.
Дербес компьютердің өзінде кем дегенде төрт орнатылған микроконтроллерлері бар болады – екеуі пернетақта мен тышқанның жұмысын қамтамасыз етеді, біреуі қатқыл дискті басқарады, біреуі энергиямен қамтамасыз етілуін қамтамасыз етеді. Мүмкін монитор, принтер немесе модемді басқару үшін одан да көп микроконтроллерлер қолданылады.
Микроконтроллер – ол дербес компьютерлік жүйе, бір корпуста орнатылған мәліметтерді енгізу/шығау құрылғысы, процессор және қосалқы сұлбаларды қамтиды.
Әртүрлі құрылғыларда қолданатын микроконтроллерлер, сыртқы ортаның параметрлерін анықтайтын датчиктер мен қолданушының пернетақтасынан келіп түсетін мәліметтерді интерпретациялау функциясын орындайды, және жүйенің әртүрлі құрылғыларының арасында байланыс орнатады және басқа құрылғыларға мәліметтерді жібереді. Микроконтроллерлерді қолану қолданылатын материалдар мен жиынтықтаушы бұйымдардың бағасы мен мөлшерін едәуір азайтуға мүмкіндік береді, ол соңғы өнімнің өзіндік бағасының төмендеуін қамтамасыз етеді. Микроконтроллерлерді қолдану тұтынушы үшін өнімнің тартымдылығын едәуір өсіре алады, ол салыстырмалы аз қосымша шығын шығару арқылы «достық интерфейсті» іске асырудың арқасында болады.Сонымен қатар, әр түрлі функцияларды іске асыру үшін маманадндырылған, әр түрлі программалық жабдықтаманы бір ғана аппаратты құралдарды қолдана отырып шығарылатын өнімнің қолдану аяасының кеңеюінің қамтамасыз етуге болады.
1. Парр Э. Программируемые контроллеры (2007)
2. http://epu.ref.nstu.ru/~mikerin/private/Predko_HTML/OGL_Predko1.htm(1)
3. Предко Руководство По Микроконтроллерам т1 (2001)
4. Разработка устройств на микроконтроллерах AVR А.В.Белов 2013-600M
5. Самоучитель по микропроцессорной технике А.В.Белов 2003-RM
6. Создаем устройства на микроконтроллерах А.В.Белов 2007-600M
7. Соммер У. Программирование микроконтроллерных плат ArduinoFreeduino (2012)
8. Программирование AVR на C++ Шпак 2009
9. Белов A.В. Микроконтроллеры AVR в радиолюбительской.(2007).
10. Белов A.В. Разработка устройств на микроконтроллерах AVR.(2013).
11. Белов A.В.создаем устройства на микроконтроллерах.(2007).
12. http://myrobot.ru/stepbystep/el_simple_robot.php
13. http://www.ti.com/ww/ru/prod_arm_products.html
14. http://cxem.net/magazines/magazines.php
15. http://www.ugolok-mastera.ru
16. http://epu.ref.nstu.ru
17. Долгий. Программаторы и программирование микроконтроллеров. М. 2004
18. Н.Заяц. Радиолюбительские конструкции на PIC микроконтроллерах. М. 2005
19. Н. Заяц. Многофункциональные часы. К. Схемотехника. 2006
20. Калабеков Б.А. Цифровые устройства и многопроцессорные системы Учебник для техникумов связи. – Горячая линия – Телеком. 2003
21. Шпак Ю.А. Программирование на языке Си для AVR и PIC микроконтроллеров. К. ”МК-Пресс", 2006
22. Бородин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики. М.Издательство ЭКОМ, 2002
23. Борис Пахомов - CC++ и MSVisual С++ 2010 для начинающих
24. И.В. Соппа, А.С. Самардак, В.А.Иванов МИКРОПРОЦЕССОРЫ и МИКРОКОНТРОЛЛЕРЫ ВладивостокИздательство Дальневосточного университета 2009
2. http://epu.ref.nstu.ru/~mikerin/private/Predko_HTML/OGL_Predko1.htm(1)
3. Предко Руководство По Микроконтроллерам т1 (2001)
4. Разработка устройств на микроконтроллерах AVR А.В.Белов 2013-600M
5. Самоучитель по микропроцессорной технике А.В.Белов 2003-RM
6. Создаем устройства на микроконтроллерах А.В.Белов 2007-600M
7. Соммер У. Программирование микроконтроллерных плат ArduinoFreeduino (2012)
8. Программирование AVR на C++ Шпак 2009
9. Белов A.В. Микроконтроллеры AVR в радиолюбительской.(2007).
10. Белов A.В. Разработка устройств на микроконтроллерах AVR.(2013).
11. Белов A.В.создаем устройства на микроконтроллерах.(2007).
12. http://myrobot.ru/stepbystep/el_simple_robot.php
13. http://www.ti.com/ww/ru/prod_arm_products.html
14. http://cxem.net/magazines/magazines.php
15. http://www.ugolok-mastera.ru
16. http://epu.ref.nstu.ru
17. Долгий. Программаторы и программирование микроконтроллеров. М. 2004
18. Н.Заяц. Радиолюбительские конструкции на PIC микроконтроллерах. М. 2005
19. Н. Заяц. Многофункциональные часы. К. Схемотехника. 2006
20. Калабеков Б.А. Цифровые устройства и многопроцессорные системы Учебник для техникумов связи. – Горячая линия – Телеком. 2003
21. Шпак Ю.А. Программирование на языке Си для AVR и PIC микроконтроллеров. К. ”МК-Пресс", 2006
22. Бородин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики. М.Издательство ЭКОМ, 2002
23. Борис Пахомов - CC++ и MSVisual С++ 2010 для начинающих
24. И.В. Соппа, А.С. Самардак, В.А.Иванов МИКРОПРОЦЕССОРЫ и МИКРОКОНТРОЛЛЕРЫ ВладивостокИздательство Дальневосточного университета 2009
Пән: Автоматтандыру, Техника
Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 75 бет
Таңдаулыға:
Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 75 бет
Таңдаулыға:
КІРІСПЕ
Көпшілік компьютерлік революцияны автоматты түрде көптеген қиын есептеулерді қажет ететін мәселелерді шешу құралдарын жасау деп қабылдайды. Мұндай есептеулер әр түрлі қызмет түрлерін төлеу кезінде, қиын ғылыми зерттеулерді және әзірлеуді орындағанда, завод және фабрикалардағы технологиялық процессті және құрылғыларды басқару процесі кезінде пайда болады. Уақыт өте келе интернет желісі және сандық телекоммуникациондық жүйені қосудың арқасында компьютерлік революция ұғымы кеңейді.
Сонымен бірге екінші революция жүріп жатты, және ол мүмкін әркімнің өміріне көбірек ықпалын тигізді. Ол бізді қоршаған ортаның барлығын арзан әрі қуатты микроконтроллерлер арқылы автоматтандыру болып табылады.
Микроконтроллерлердің көбісі автокөліктерде қолданылады. Қазіргі кездегі автокөліктер 20- дан астам микроконтроллерді өзінде қамтиды, олар мотордың күйін бақылап және оның жұмысын басқарып қана қоймай, сигнализация жүйесі көмегімен оны бұзу және ұрлаудан сақтап қалу, қорғаныс жүйесінің жұмыс жасауын қамтамасыз етеді, сыртқы жарықтандыруды бақылайды, автокөлік ішіндегі ауа температурасын, радиостереожүйелердің жұмысын бақылайды.
Дербес компьютердің өзінде кем дегенде төрт орнатылған микроконтроллерлері бар болады - екеуі пернетақта мен тышқанның жұмысын қамтамасыз етеді, біреуі қатқыл дискті басқарады, біреуі энергиямен қамтамасыз етілуін қамтамасыз етеді. Мүмкін монитор, принтер немесе модемді басқару үшін одан да көп микроконтроллерлер қолданылады.
Микроконтроллер - ол дербес компьютерлік жүйе, бір корпуста орнатылған мәліметтерді енгізушығау құрылғысы, процессор және қосалқы сұлбаларды қамтиды.
Әртүрлі құрылғыларда қолданатын микроконтроллерлер, сыртқы ортаның параметрлерін анықтайтын датчиктер мен қолданушының пернетақтасынан келіп түсетін мәліметтерді интерпретациялау функциясын орындайды, және жүйенің әртүрлі құрылғыларының арасында байланыс орнатады және басқа құрылғыларға мәліметтерді жібереді. Микроконтроллерлерді қолану қолданылатын материалдар мен жиынтықтаушы бұйымдардың бағасы мен мөлшерін едәуір азайтуға мүмкіндік береді, ол соңғы өнімнің өзіндік бағасының төмендеуін қамтамасыз етеді. Микроконтроллерлерді қолдану тұтынушы үшін өнімнің тартымдылығын едәуір өсіре алады, ол салыстырмалы аз қосымша шығын шығару арқылы достық интерфейсті іске асырудың арқасында болады. Сонымен қатар, әр түрлі функцияларды іске асыру үшін маманадндырылған, әр түрлі программалық жабдықтаманы бір ғана аппаратты құралдарды қолдана отырып шығарылатын өнімнің қолдану аяасының кеңеюінің қамтамасыз етуге болады.
Диплoмдық жұмыcтың мақсаты - микроконтроллер құрылғысына арналған программалық қамтамасыз етуді әзірлеу.
Дипломдық жұмыстың міндеті - Микроконтроллер құрылғыларының дамуы мен тағайындалуының анализдеу, контроллер және микроконтроллерлік құрылғылардың программалау құралдарын қарастыру, өндірістік ПЛК - ді программалау.
Дипломдық жұмыстың өзектілігі - экономикалық жағынан тиімді және қауіпсіз болуға тиісті барлық өндірістік процесстер басқару жүйесін қажет етеді. Соңғы жылдары тез таралған және басқару техникасын түбегейлі өзгерткен программаланатын логикалық контроллер болып табылады, ол өзінің тиімді бағасымен қатар есептеудегі қуаттылығы мен елеулі икемділігін қосады.
Ең оңай мысалдың объектісі ретінде электрқозғалтқыш арқылы айналатын желдеткіш болуы мүмкін. Басқарушы жүйе ретінде қозғалтқышты шамадантыс жүктеуден және проводтың зақымдануынан қорғайтын мына электрлі қосқыш болып табылады. Оператор командасы қосуөшіру батырмасын басуында болады, ал объектінің күйі істейдіістемейді, сонымен қатар ақаулар индикаторы арқылы көрінеді.
Басқа шеткі жағдайда объект - үлкен мұнайхимиялық қондырғы болып табылады. Және мұнда басқару жүйесі өте қиын болады, ол әр түрлі құрылғылардың комбинациясын келтіреді. Оператормен байланыс та мүлдем басқаша болады, мұнда командалардың берілуі және ақпараттың көрінуі көптеген құрылғылардың көмегімен іске асады.
Диплoмдық жұмыc кiрicпеден, теoриялық, негiзгi, ПЛК арқылы басқару артықшылықтары туралы, қoрытынды бөлiмдерден, әдебиеттер тiзiмi және қocымшaлaрдaн тұрaды.
Теориялық бөлімінде микроконтроллердің анықтамасы, тарихы, құрылымы, пайдалылығы, сұлбасы қарастырылады. Және оның қолдану аясы мен артықшылықтары мен кемшіліктері көрсетілген.
Негізгі бөлімінде микроконтроллер құрылғыларын программалау үшін керекті қолданушының құралдары қарастырылады. Және программалау ортасы, тілдері, компилятор, программаторлар, эмуляторлар, симуляторлар, редакторлардың жұмысы сипатталған.
3-ші бөлімде программаланатын логикалық контроллердің артықшылығы, оны программалау, жұмыс істетуден өткізу, техникалық спецификация келтірілген. Диплoмдық жұмыcтa әдебиеттер тiзiмi, coнымен қaтaр прoгрaммaдaн тұрaтын қocымшaлaр берiлген.
1 МИКРОКОНТРОЛЛЕР ҚҰРЫЛҒЫЛАРЫНЫҢ ДАМУЫ МЕН ТАҒАЙЫНДАЛУЫНЫҢ АНАЛИЗІ
0.1 Микроконтроллерлер-даму тарихы, жіктелуі
Микроконтроллер термині алғашында қолданылып жүрген біркристалды микро-ЭЕМ терминін ығыстырып шығарды. 1971 жылы Texas Instruments инжинерлері М. Кочрен және Г. Бун-ге бірінші біркристалды микро-ЭЕМ ге патент берілді. Олар бір кристалда микропроцессормен қатар жады және енгізу-шығару құрылғысын да орналастыруға ұсыныс жасады. 1972 жылы 32 байт мәліметтер жадысы, 1Кбайт программа жадысы, сағат және енгізу-шығару құрылғысы бар бірінші 4-разрядты МКTMS1000 шығарылды. Бірақ оған аса көп мән берілмеді сондықтан бірінші микроконтроллер ретінде 1976 жылы Intel фирмасымен шығарылған I8048 микросхемасын қателесіп санайды.
Орталық процессормен қатар, оның кристалында 1Кбайт программа жадысы, 64 байт мәліметтер жадысы, екі 8-биттік таймер, сағат генераторы және 27 енгізушығару порттары орнатылған. Ендігі кезде бұл құрылғы назарсыз қалмады, соның арқасында 8048 микроконтроллері ойын приставкаларында, пернетақталарда, алғашқы IBM PC да және бірқатар басқа да құрылғыларында қолданды.
1980 жылы Intel компаниясы келесі МКI8051 шығарды. Қосымша құрылғылардың сәтті жинағы, ішкі немесе сыртқы программалық жадының икемді таңдауының мүмкіндігі және бағасының қолжетімді болуы бұл МК-ге нарықтағы артықшылықты қамтамасыз етті және ол берілген кластың классикалық үлгісі болып қалды.
8051 Микроконтроллері
Технологиялық көзқараспен қарағанда МКI8051 өз уақытының өте қиын бұйымы болып табылады. Оның кристалында 128 мың транзистор орналасқан, ол дегенімз 16-разрядты МПI8086 тарнзисторлар санынан 4 есеге көп. Бұл 8-разрядты чип микроконтроллерлардың бір тип бұтағының пайда болуына негіз болды, және бұл тип қазіргі уақытқа дейін нарықта көшбасшы орындарды алып тұрды. I8051 аналогін көптеген кәсіпорындар, соның ішінде совет одағындағы Минск, Киев, Воронеж, Новосибирск қалаларындағы кәсіпорындар шығарған. 8051 МК-де отандық өңдеушiлердi бүтiн ұрпағы өстi. Қазіргі кезде МКI8051мен үйлесімді 200-ден астам модификациялары бар. Бірақ 51 топ өзінің орнын одан жас және кемшіліксіз микроконтроллерлерге босатып беріп жатыр.
Motorola и Zilog
Басқа сегізразрядты микроконтроллерлердің жарқын өкілдері болып Motorola (68HC05, 68HC08, 68HC11) және Zilog (Z8) компанияларының бұйымдары болып келеді.
Motorola өзінің МК мен тез және арзан жұмыс бастау үшін керек құралдарды ұсынбады, осы жағдай корпаративтік емес қызметкерлердің арасында оның танымалды болуына септігін тигізе қоймады. Біздің елімізде де оның танымалдылығы кең жайылмаған, ол оқу құралдары мен жасау құралдары санының аздығынан болуы мүмкін. Бірақ айта кету керек шет елдерде Motorola МК- лі нарықта алдыңғы орындарды алып тұр. Intel-дің бұрынғы қызметкерлері негзін қалаған Zilog фирмасынан шыққан атақты МКZ8-дің болашағы жарқын көрінген, бірақ нарықтың қарқынды дамып келе жатқан бұл бөлігінде жарысқа шыдамаған микроконтроллердің басқару жүйесі ескірген болып көрінеді.
Microchip
Бірінші айтарлықтай өзгерістер Microchip фирмасының PIC МК-нің пайда болуымен басталды. Бұл микросхемалар сол уақытпен салыстрғандағы өте төмен бағалармен сатылды, соның арқасында қысқа уақытішінде олар МК нарығының біраз бөлігін өзіне қаратты. Сонымен қатар Microchip фирмасының кристаллдары өнімділігі жағынан х51 МК-інен кем түспейтін ал кей жағдайларда асып кететін және ол қымбат программаторды қажет етпейді. Бұл МК-лер сауатты жобаланған порттары бар болды, бірақ қалғаны онша ыңғайлы жасалмады: архитектурасы мардымсыз, ал командалар жүйесі өте шектеулі болды. Соған қарамастан PIC МК-і қымбат емес және оңай қызмет ететін жүйені жасағанда қолданылатын таптырмас құрал болып табылады.
Scinex
PIC МК атағы асқан кезде Scinex фирмасынан осыған ұқсас көптеген құрылғылар шықты. Олар PIC-тің 33 командаларына қарағанда 52 командалары болды. Негізінде, тағы жадымен жұмыс жасау үшін ыңғайлы нұсқаулар, әр команда бір такт ішінде орындалатындай дамытылған архитектура осының бәрі PIC МК-мен салыстырғанда тезәрекеттілікті 4 есеге арттырды. Сонымен қатар Scinex фирмасының МК-інің тактілік жиілігі 100 МГц - қа жетті. Осындай микроконтроллердің жоғарғы жылдамығы оның жасаушыларына әр түрлі перефериядан бас тартуға мүмкіндік берді. Осымен бірге МК-де жоғарыжылдамдықты ядро, жады және енгізушығару порттары да бар.
Atmel
1996 жылы микроконтроллер әлемінде нағыз жаңалық, Atmel корпорациясының жаңа прогрессивті AVR ядросы негізінде жасалған өзінің бір топ чиптерін шығаруы болды. AVR МК-і жақсы дамыған командалар жүйесіне ие, оның нұсқаулары 133-ке дейін, жоғарғы өнімділігі 1 MIPSМГц-ке жақын, схема ішіндегі қайтапрограммалау мүмкіндігін беретін Flash-ПЗУ прогрммалары бар. Көптеген чиптер өзін-өзі программалау функциясына ие. AVR-архитектурасы жоғарғыдеңгейлі Си тіліне негізделген. Сонымен қатар топтағы барлық кристаллдар "жоғарыдан төмен" үйлесімді. Ақылмен жасалған AVR архитектурасы, Microchip контроллерімен салыстырғанда озатын тезәрекеттілік, тартымды бағалы саясат, осының бәрі №1 контроллер атағына ие болуына әкелді. AVR МК-нің танымалдылығына программалық жабдықтаманың және жасау құралдарының қолдауы да әсерін тигізді.Atmel фирмасы осы сұраққа көп көңіл бөледі және қолданушыға көптеген тегін таратылатын программалық өнімдерді ұсынады. Жаңадан бастаған құрастырушыға AVR МК-ін программалау үшін апаратты программаторсыз да жұмыс жасауға болатыны маңызды артықшылық болып табылады. Бұл микроконтроллерлерді программалаудың ең танымал түрі ол персоналды компьютердің параллельді портымен 5 өткізгішті байланыс орнату. AVR біртіндеп 8-разрядты жалпы тағайындалған МК арасында индустриалды стандарт болып қалыптасып келе жатыр. Оларды кез келген жерден алуға болады, орташа бағасы жоғары емес, Microchip компаниясының бұйымдарымен тең бәсекеге түсуімен ерекшеленеді. Қазіргі таңда осының бәрі Atmel AVR МК-лерін ең тартымды және көп үмiт күттіретін компания болып отыр.
Жоғарыда айтылған компаниялар мен олар шығаратын МК-дың тізімі толық емес. МК өндіруші ірі компаниялар арасында мыналарды да атап өту қажет: Cypress, Texas Instruments, Dallas Semiconductor, Philips, Siemens, STMicroelectronics, Futjitsu, Mitsubishi Electronics, National Semiconductor және тағы да басқалар. Қазіргі екзде ең танымал микроконтроллерлерге Microchip Technology компаниясының 8-разрядты РІС-МК мен Atmel компаниясының AVR микроконтроллерлері.
Микроконтроллер ұғымы
Біркристаллды микро-ЭЕМ пайда болуымен басқару аймағындағы автоматтандыруда нағыз төңкеріс болды. Дәл осы жағдай микроконтроллер (ағылшын тілінен. control - управление) терминін қолдануды анықтады. Микроконтроллер(МК)- бір микросхемадағы компьютер, әр түрлі электронды құрылғыларды басқару үшін және оған сәйке жазылған программа арқылы олардың арасындағы өзара iс-әрекеттiң жүзеге асыруы. Микропроцессорлық жүйелердің(МПЖ) дамуының қазіргі кезеңдегі негізгі ерекшелігі ол бірнеше интегралды сұлбалардан құралған жүйелерден қазіргі МК ге дейін өтуі. МК универсалды микропроцессордан (МП) айырмашылығы ол бір кристаллда МПЖ-дегі негізгі элементтердің бірігуі: орталық процессор (ЦП), жедел еске сақтау құрылғысы (ОЗУ), тұрақты еске сақтау құрылғысы (ПЗУ), енгізушығару порттары және бірқатар мамандандырылған электронды құрылғылар. Орнатылған құрылғылар сырттан ешқандай электр тізбегін қажет етпегендіктен, олар жоғарғы төзімділікке ие. ПЗУ МК орындайтын программаны сақту үшін қызмет етеді. ОЗУ МК-дің ішкі регистрлерінің пулын ұйымдастыру және айнымалыларды уақтша сақтау үшін қолданылады. Енгізушығару порттары сыртқы құрылғылармен (негізінде персональді компьютермен, себебі көптеген МК стандартты RS-232C интерфейсімен үйлесімді) МК-дің қосылуын қамтамасыз етеді.
Қазірде кең тараған мамандандырылған құралдарға мыналар кіреді:
* АСТ-аналогты-сандық түрлендіргіштер (ADC - Analog-to-Digital Converter);
* САТ- сандық-аналогты түрлендіргіштер (DAC - Digital-to-Analog Converter);
* Сандық потенциометрлер;
* Әртүрлі байланыс интерфейстері;
Таймерлер - бұл құрылғыларды берілген периоды мен ұзақтығы ішінде тік бұрышты импульс беру үшін программалауды іске асыруға рұқсат беретін, сонымен қатар көршілес кіру импульстерінің арасындағы уақыт интервалдарын санау құрылғысы болып табылады.
МК-дің нақты моделіне қарай кейбір құрылғылар болмауы мүмкін немесе МК-де бірегей құрылғылар (мысалы, сұйықкристаллды дисплейдің драйверлері, вакуумды флуоресцентті дисплейдің драйвері және тағы да басқа) орнатылуы ғажап емес. Барлық мамандандырылған құрылғылар өзінің тапсырмаларын МК-дің мкропроцессорлы ядросының басқаруымен орындайды.
Микроконтроллердің құрылымды сызбасы.
МК топтарға біріктіріледі. Бір топқа жататын бұйымдарға бірдей микропроцесорлық ядосы бар бұйымдар кіреді. Топтың ең басты ерекшелігі-оған кіретін барлық МК-дің екілік код деңгейінде үйлесуі. Бір топ ішіндегі әртүрлі МК-дің айырмашылығы ол негізінде перефериялық құрылғылардың тізімі және программа мен мәліметтер жадысының көлемінде. Қазіргі кездегі МК-лер ерекше белглерге ие. Олардың негізгілерін талдайық:
Модульдік ұйымдастыру, бір процессордың ядросының (орталық процессор) негізінде бірқатар МК жобаланады, олардың бір- бірінен айырмашылығы программа жадысының көлемі және түрінен, мәліметтер жадысының көлемінен, перефериялық модульдердің жинағымен, синхрондау жиілігімен танып білінеді;
МК жабық архитектурасын қолдану, ол МК корпусының енгізуіндегі адрес және мәліметтер магистралінің болмауымен сипатталады. Осылайша МК мәліметтерді өңдеуің біткен жүйесі болып табылады, және оның адрестер және мәліметтер магистралін параллельді қолдану арқылы оның мүмкіншіліктерін арттыра алмаймыз.
Жұмыс істеу алгоритмдерінде ешқандай айырмашылық жоқ, әр түрлі өндіушілердің микроконтроллеріне типтік функционалды перефериялық модульдерді (таймерлер, АСТ, САТ, бірбәле контроллерлерінің интерфейстері, және т.б) қолдану.
МК арнайы функциялары регистрлердің инициализация процесі кезінде берілетін, Перефериялық модульдердің жұмыс істеу режимдерінің санын кеңейту.
Модульдік құрылым принципінде бір түрге жататын барлық МК-де біркелкі процессорлық ядро, және өзгермелі функционалды блок, ол МК әртүрлі модельдерінде өзгеше болады. Модульдік МК-дің құрылымдық сұлбасы 1-ші суретте келтірілген.
1-сурет. МК модульдік жүйесі
Процессор ядросы өзіне мыналарды қосады:
* Орталық процессор;
* Ішкі контроллерлі магистраль (внутреннюю контроллерную магистраль(ВКМ)), ол адрестер,мәліметтері, басқару шинасынан тұрады;
* МК синхронизация сызбасы;
* МК жұмыс істеу режимін басқару сызбасынан, оған қоса төмендетілген энергия тұтыну мен бастапқы қалпына келу(реинициализации) және т.б.
Өзгермелі функционалды блок өзіне әртүрлі титі және көлемді жады модулін, енгізушығару құрылғысын, тактілік генераторлардың(Г) модулі, таймерлерді қосады. Өзгермелі функционалды блоктың құрамына келесідей қосымша модульдер, мысалы: кернеу компараторлары, АСТ, САТ, және т.б кіреді. Үзілістерді өңдеу модульдері жайлы айтатын болсақ салыстырмалы қарапайым МК-де ол процессор ядросының құрамында болады ал одан күрделі МК-де ол мүмкіндігі жетілген бөлек модуль түрінде беріледі. Әр модуль МК құрамында жұмыс жасау үшін, ВКМ-нің нақты хаттамасын есепке ала отырып жобаланады. Мұндай тәсіл бір түр ішіндегі құрылымы жағынан әр түрлі МК шығаруға мүмкіндік береді.
Микроконтроллерлердің жіктелуі
Бүгінде дүниеде МК мыңдаған түрлері шығарылады. Оларды жіктеудің негізгі белгісі болып микропроцессор ядросындағы арифметикалық-логикалық құрылғы(АЛҚ) өңдейтін мәліметтер разрядтылығы болып табылады. Осы белгіге қарай олар :
4-разрядты- ең қарапайым және арзан МК. Олар ең төмен функционалды мүмкіндіктерімен сиптталады және бағасы төмен қосымшаларға арналған;
8-разрядты- бағасы мен мүмкіндігі жағынан оңтайлы болғанына байланысты ең көп таралған топ. Бұл топтың жарқын өкілдеріне- MCS-51 сериалы (Intel) МК , сонымен қатар PIC (Microchip), HC68 (Motorola), Z8 (Zilog) жатады.
16-разрядты - 8-разрядты МК-ге қарағанда жоғары өнімді бірақ бағасы да жоғары.
32-және 64-разрядты- әдетте универсалды микропроцессорлардың модификациясы болып табылады.
Бөлек топқа сандық сигналды процессорды (DSP - Digital Signal Processor)-арнайы МК жатқызуға болады. Олар сигналды өңдеу жүйелерінде қолдануға бағытталған.
Қазіргі кездегі әлемдік микроконтроллер нарығының үлкен үлесін 8-разрядты құрылғылар алып жатыр(шамамен 50% бағалық үлесте). Олар өнеркәсіпте, тұрмыстық және компьютерлік техникада кеңінен қолданылады. Одан кейін 16-разрядты МК және DSP ( әр топ нарықтың шамамен 20% алып тұр).
8-разрядты жалпы қолданылатын МП-лар олардан өнімділігі әлдеқайда жоғары модельдермен ығыстырылып шықты, сол уқытта 8-разрядты МК әлі де кеңінен қолданысқа ие. Өзінің даму барысында олар салыстырмалы әлсіз дамыған перефериясы бар қарапайым құрылғылардан қазіргі заманға сай қиын басқару алгоритмдерін жүзеге асыратын көпфункционалды МК-ге айналды. 8-разрядты МК-дің мұндай тіршілікке қабілеттілігі олардың нақты объектілерде пайдалануы және бұл объектілерде негізінен логикалық операциялары басым болатын алгоритмдер қолданылады, олардың жылдам өңделуі процессор разрядтылығынан іс жүзінде тәуелсіз. Бұдан бөлек жоғары өнімділіктің қажеті жоқ, бірақ бағасының төмен болуы шарт көптеген пайдалану аялары бар.
1.2 Микроконтроллер сәулеті
МК процессорлық ядросының сәулеті
МК процессор ядросының өнімділігін анықтайтын басты сипаттамалар:
Процессордың командалар жүйесі және опрандтарды дербестендіру тәсілі;
Аралық мәліметтерді сақтауға арналған регистрлер жиынтығы;
Команданы таңдау және орындау процесін ұйымдастыру;
CISC- және RISC- сәулеті
Командалар жүйесі және опрандтарды дербестендіру тәсілінің көзқарасынан қазіргі заманғы 8-разрядты МК процессорының ядросы осы сәулеттердің біреуіне тиесілі:
CISC-сәулеті (Complicated Instruction Set Computer), толық командалар жүйесін жүзеге асырады;
RISC-сәулеті (Reduced Instruction Set Computer), қысқартылған командалар жүйесін іске асырады;
CISC-процессорлары адрестеудің дамыған мүмкіндіктерімен үлкен командалар жиынтығын орындайды, ол жұмыс жасаушы адамға қажет операцияны орындауға ең қолайлы команданы таңдауға мүмкіндік жасайды. Мұндай командалар жүйесінде, кез келген адресация амалы, кез келген процессор регистріне барлық командаларды қолдана алмайды. Командаларды таңдау және оны орындау МК жұмыс істеу циклының бірнеше рет қайталануы ішінде жүзеге асырылады. CISC-сәулетіне жататын МК-ге мына фирмалар қатысты: MCS-51ядросымен Intel-дің МК, қазіргі кезде олар бірқатар өндірушілерден қолдау тауып отыр, Motorola фирмасының НС05, НС08 және НС11 және т.б.
RISC-сәулетіне жататын процессорларда орындалатын командалар жиынтығы минимумге дейін қысқартылған. Күрделі операциларды орындау үшін қолда бар командаларды құрамдастыруға тура келеді. Сонымен қатар барлық командалар ұзындығы тиянақталған форматқа ие, жадыдан команданы таңдау мен оны орындау бір цикл ішінде жүзеге асады. RISC-процессорының командалар жүйесі барлық регистрлерді тең дәрежеде қолдануды шамалайды. Бұл бірқатар операциялардың орындалу кезінде қосымша икемділікті қамтамасыз етеді. RISC-процессорына жататын МК-ге Atmel фирмасының AVR МК-і және Microchip фирмасының PIC МК-і.
RISC-сәулетінің негізгі идеясы тактілік генераторда бір такт ішінде операцияны орындау үшін кодтардың комбинациясын тиянақты түрде таңдау болып табылады. Мұндай тәсілдің ұтымдылығы - ОП-дың аппаратты іске асыруының оңайлатуы және оның өнімділігін едәуір өсіру мүмкіндігі. Бастапқыда мұндай тәсілді іске асыру тек командалар жиынтығын елеулі түрде қысқартудың арқасында қол жеткізуге болатын, осыдан RISC атауы пайда болды. Жалпы айтқанда CISC-сәулетінің бір командасына RISC-сәулетінің бірнеше командалары сәйкес келу керек. Бірақ әдетте RISC-сәулетінің тезәрекеттілігін өсіруінен табылған ұтыс тиімділігі азырақ командалар жүйесінен келген шығынды толығымен жабады, бұл жағдай CISC жүйесіне қарағанда жалпы RISC жүйесінің тиімділігінің жоғары болуына әкеледі. Сондай-ақ ОП оңайлатумен ондағы транзсторлардың санының азаюына, сол себептен кристаллдың ауданының азаюына да алып келеді. Ал онымен МК бағасы мен тұтынылатын қуатының төмендеуі де байланысты.
Фон-нейман (принстон) және гарвард архитектурасы
Командаларды таңдау және орындау процесстерін ұйымдастыруына қарай қазіргі заманғы МК-лерде осы екі сәулеттің біреуі қолданылады: фон-нейман(принстон) немесе гарвард сәулеті.
Фон-нейман сәулетінің негізгі ерекшелігі программа мен мәліметті сақтау үшін жалпы жадыны қолдануы, ол 1.2-суретте көрсетілген.
Сурет-1.2. Фон-нейман сәулетінің МПЖ (микропроцессорлы жүйе) құрылымы
Фон-нейман сәулетінің негізгі артықшылығы- бір ғана жалпы жадымен жұмыс жасау арқылы МПЖ құрылғысын оңайлату. Біріңғай жады облысын қолдану программа және мәлімет облыстарының арасында қорды тез арада қайта бөлуге мүмкіндік береді, программалық жабдықтаманың құрастырушысының көзқарасында ол МПЖ икемділігін едәуір өсіреді. Стектің жалпы жадыда орналасуы оның ішіндегісіне қол жеткізуді оңайлатады.
Гарвардтік сәулеттің негзгі ерекшелігі - командалар және мәліметтерді сақтау үшін бөлек адресті кеңістіктерді қолдану(3-сурет). Гарвард сәулеті 70-ші жылдардың соңына дейін қолданылмады, одан кейін МК өндірушілері Гарвард сәулетінің автономды басқару жүйелерін жасаушыларға белгілі артықшылықтарды беретінін түсінді.
Сурет-1.3 - Гарвард сәулетінің сұлбасы
1-адрестер шинасы, 2-мәліметтер шинасы, 3- басқару шинасы
Осыдан гарвард сәулетінің фон-нейман сәулетімен салыстырғандағы артықшылығы ол программаның орындалу жылдамдығының жоғары болуын қамтамасыз ететін параллельді операцияларды іске асыру мүмкіндігі.
Команда және мәліметтерді сақтау үшін адрестік кеңістіктің бөлінуінің арқасында келесі команданың таңдалуы бұдан бұрынғы команданың орындалуымен бір уақытта жүзеге асады, бұл әр түрлі командалардың бірдей такт ішінде орындалуын жүзеге асырады. Осыған орай 8-разрядты МК-дің көптеген өндірушілері дәл осы гарвард сәулетін қолданады.
Түрлі сәулетке қарап жасалған әртүрлі МК салыстыру қиын тапсырма болып табылады және оны нақты қосымшаға (программаға) қарай өткізу қажет.
МК жұмыс істеу тиімділігін нағыз объективті сандық түрде бағалау үшін бізге ВКМ-нің жылдамдығын алуға болады, ол МК өнімділігін анықтаушы ол дегеніміз белгілі бір уақыт аралығында орындалатын операциялар саны. МК өнімділігі MIPS(Million Instructions per Second - секундына миллион нұсқаулық).
Тактілік жиілік өскен сайын МК өнімділігі де артады. МК-дің үнемділігін сипаттайтын келесі сандық сипаттама- оның тұтынатын қуаты. Ол да МК тактілік жиілігі өскен сайын артады.
Микроконтроллер жадысын ұйымдастыру
МК-де жадының негізгі 3типі қолданылады:
* Бағдарламалар жадысы бағдарламалық код (команда) және константаны сақтауға арналған ТСҚ (тұрақты сақтау қондырғысы) болып табылады. Оның құрамы бағдарламаны орындау барысында өзгермейді.
* мәліметтер жадысы ЖСҚ (жедел сақтау қондырғысы) болып табылады және бағдарламалар орындау кезіндегі айнымалыларды сақтауға арналған.
* МК регистрлері - бұл процессордың ішкі регистрлерін және қосымша қондырғыларды басқаруға арналған регистрі (арнайы функция регистрі) бар жадының түрі.
Сонымен қатар жадының екі қосымша түрін айтуға болады:
* Стектік жады, үзілісті өңдеу мен астыңғы бағдарламаны шақыруға арналған.
* Сыртқы жады, бағдарламаның немесе мәліметтердің қосымша жадысы МК-ге енгізілген жадысы жетпеген жағдайда сырттан қосылады.
Бағдарламалар жадысы
Бағдарламалар жадысының негізгі қасиеті энергия тәуелсіздігі, яғни қорек көзі болмаған жағдайда да бағдарламаны сақтау мүмкіндігі. Бірақ ол бір немесе бірнеше рет орындалуына бағдарламаланған болуы мүмкін.
Бағдарламаның энергия тәуелсіздігінің келесі типтерін айтуға болады:
1) ТСҚ-ң маскалық типі - mask-ROM. ТСҚ ұяшығының мұндай типінің құрамы технологиялық шаблон - маска комегімен жасалады және кейін өзгертілмейді. Сондықтан МК-ң бұл типі тек ұзақ эксплуатациялауға қолданылады. Бұл типтің кемшілігі фотошаблон жасауға шығынның көп кетуі және өндіріске енгізу қиындығы болып табылады. Әдетте бұндай үрдіс 2-3 ай уақыт алып, экономикалық жағынан мыңдаған аспап жасағанда ғана тиімді болады. ТСҚ маскалы типінің артықшылығы - зауыт жағдайында бағдарламаланатын жоғары сапа.
2) Электрлік бағдарламаланатын ерітілмелі сымы бар ТСҚ, бұл типте тұтынушының нөлдік битқа сәйкес келетін сымы бұзылғанша импульстерін өткізу арқылы өзі бағдарламалайды.
3) ТСҚ-ң қайта бағдарламаланатын ультракүлгін өшіруі бар EPROM (Erasable Programmable ROM). ТСҚ-ң бұл типі электрлік сигналдармен бағдарламаланады және ультракүлгін сәуле арқылы өшіріледі. EPROM жадысының ұяшығы жылжымалы затворы бар сәйкес электрлік сигнал жібергенде заряд басқарылатын затвордан соған тасымалданатын МОП-транзистор.
Ұяшықтың құрамындағысын өшіру үшін ол ультракүлгін сәулемен сәулелендіреді, сәуле жылжымалы затворға потенциалдық кедергі мен табанға ығысуғажеткілікті энергия жеткізеді. Бұл үрдіс бірнеше минут немесе минут алуы мүмкін. EPROM-ы бар МК көпретті бағдарламалануы мүмкін және ультракүлгін сәуле кіретін керамикалық корпуста жасалады. Мұндай корпус қымбат тұрады, яғни МК бағасын қымбаттады.
4) Бірретті бағдарламаланатын ТСҚ- OTPROM (one time Programmable ROM)
EPROM-ң бір версиясы, корпусында тесігі жоқ, МК бағасын азайту үшін жасалған (бұл арзандату соншалық айқын - соңғы кезде маскалы ТСҚ орнына OTPROM-ды жиі қолданады).
5) Электрлік өшіретін қайта бағдарламаланатын ТСҚ-EEPROM (Elecrically Erasable Programmable ROM). ТСҚ-ң бұл типін EPROM-ң жаңасы деп айтуға болады. Мұнда жады ұяшығын өшіру электрлік сигналмен жүргізіледі.
EEPROM қолдану МК-ді платадан алмай-ақ бағдарламалауға болады. Бағасы жағынан EEPROM EPROM мен OTPROM аралығында. EEPROM жадысын бағдарламалау технологиясы ұяшықты байттік өшіру мен бағдарламалауды орындайды. EEPROM-ң айқын артықшылығына қарамастан бағдарлама сақтау үшін МК-ң модельдерінде сирек кездеседі. Бұл EEPROM жадысының шектеулігімен және оған қарағанда арзан Flash-ТСҚ-ң бір уақытта пайда болуымен байланысты.
6) Flash типті электрлік өшіруі бар ТСҚ- Flash-ROM. Функционалдық жағынан Flash жады. EEPROM-нан өзгеше емес. Негізгі айырмашылығы - жазылған ақпаратты өшіруінде. EEPROM жадысында өшіру әрбір ұяшық үшін бөлек жүргізіледі, ал Flash-жадыда өшіру түгел блокпен жүргізіледі. Егер Flash жадының бір ұяшығының мазмұнын өзгерту үшін блокты түгел қайта жазу керек. Декодерлеу сұлбасын EEPROM-ға қарағанда қарапайымдандыру Flash-жадылы МК-ң бірретті бағдарламаланатын ТСҚ және маскалы ТСҚ бар МК-мен бәсекесін тудырды.
Мәліметтер жадысы
МК мәліметтер жадысы әдетте статикалық ЖСҚ негізінде орындалады.
Статикалық термині ТСҚ ұяшығының мазмұны МК-ң тактілік жиілігін қанша болса төмен (энергия үнемдеу үшін) мәнінде де сақталады деген сөз. МК-ң көбі ақпаратты сақтау кернеуі - USTANDBY деген параметрге ие. Кернеу минималды рұқсат етілген UDDMIN деңгейінен төмен, бірақ USTANDBY деңгейінен жоғары болса МК бағдарламасы жұмыс істемейді, бірақ ақпарат ТСҚ-да сақталады. Кернеу қалпына келгенде МК-ді қайта жүктеп және бағдарламаны мәліметтерді жоғалтпай жалғастыруға болады. Сақтау кернеу деңгейі 1В, яғни керек жағдайда МК-ді автономды қорек көзіне ауыстырып, осы режимде ТСҚ мәліметтерін сақтауға болады.
МК жады көлемі әдетте көп болмайды, ондаған, жүздеген байтты құрайды. Бұл жағдайды МК бағдарлама жазғанда ескеру керек.
Сонымен, МК бағдарламалаған кезде константаларды, мүмкін болса, айнымалы ретінде сақтамай, ТСҚ-ға енгізеді.
МК регистрлері
Мк регистрлер жиынтығы оның ресурстарын басқаруға қолданылады.
Бұл регистр санына процессор регистрі (аккумулятор, жағдай регистрі, индексті регистрлар), басқару регистрлері (үзіліс, таймерді басқаратын регистр), мәліметті енгізушығару регистрі (порт мәліметі регистрі, параллель, тізбекті немесе аналогты енгізушығаруды басқаратын регистр). Регистрлерге бағыттау әртүрлі болуы мүмкін. RISC-процессорлы МК-де барлық регистрлер (жиірек аккумулятор) берілген адрес бойынша орналасады. Бұл процессор жұмысына үлкен икемділік береді. Кейбір МК-де барлық регистрлер мен мәліметтер жадысы бір кеңістікте орналасады. Бұл мәліметтер жадысы регистрлермен біріккендігін көрсетеді. Мұндай әдіс МК ресурстарын жадыда көрсету деп аталады.
Басқа МК-де қондырғының енгізушығару адрестік кеңістігі жалпы жады кеңістігінен бөлінген. Енгізушығару кеңістігінің бөлектігі гарвардтық архитектурасы бар процессорға артықшылық береді, яғни енгізушығару регистріне бағыштау кезінде команданы оқу мүмкіндігі.
Стектік жады
Стектік жады деп соңғы жазылған- бірінші оқылады (Last Input First Output - LIFO) принципімен ұйымдастырылған жадыны айтады. Жадының мұндай типі астыңтыңғы бағдарламаны (подпрогамма) және үзілісті өңдеуді ұйымдастыру үшін керек. Мұндай операциялар кезінде бағдарламалық есептегіш пен негізгі регистрлер құрамы стекте сақталады, сосын негізгі бағдарламаға келгенде қайта орнына келеді. МК-де стек ақпаратты немесе бағдарламалық түрде ұйымдастыруы мүмкін.
Аппаратты стек регистрлер жиынтыгынан тұрады және регистрлер арасындағы байланыс мәліметтерді жазу, оқу кезінде стек құрамы автоматты түрде жылжиды. Аппаратты стектің артықшылығы - оның тездігінде, кемшілігі - көлемінің аздығы. Гарвардтық архитектурада стектік операциялар жадынынң сол мақсатқа арналған бөлігінде орындалады. Бұл дегеніміз астыңғы бағдарламаны шақыру кезінде гарвард архитектурасы бар процессор бір мезетте бірнеше қимыл жасайды.
Басқа әдіс - стекті ұйымдастыру үшін ТСҚ мәліметін қолдану. Фон-нейман архитектурасында жадының біртұтас аймағы стекті іске үшін де қолданылады. Бірақ қондырғының өнімділігі төмендейді, өйткені жадының барлық түріне бір уақытта ену мүмкін емес. Астыңғы бағдарламаның командасын шақыру кезінде келесі команданың таңдауы тек бағдарламалық есептегіштің мазмұны стекке орналастырылғаннан кейін орындалады. МК- ның екі архитектурасы да мәліметтерді сақтауға жады көлемінің шектеулігі бар. Егер процессорда бөлек стек пен оған жазылған мәлімет оның көлемінен асып кетсе, стек сілтегішінің құрамы циклдік түрде өзгеріс болады және ол алдында толтырылған стек ұяшығына сілтеме жасайтын болады. Сонда астыңғы бағдарламаны қайтару кезінде қайтару адресі қате болады. Егер МК мәліметтер мен стек үшін жалпы жады аймағын қолданса, стектің толып кету кезінде мәліметтер аймағына жазылу қаупі болады.
Сыртқы жады
МК-ның жабық архитектурасына көшуі тенденциясына қарамастан, кейбір жағдайда бағдарлама немесе мәліметтердің қосымша сыртқы жадысын қосу керектігі туады. Егер МК сыртқы жадыны қосу үшін арнайы әдістері болса онда мұндай операция қарапайым әдіспен жүргізіледі.
Екінші әмбебап әдіс сыртқы жады қосу үшін енгізушығару порттарын қолдану және жадыға жүгіну бағдарламалық әдістермен орындалуында. Мұндай әдісте енгізушығару қарапайым құралдарын қолдануға болады, яғни күрделі шиналы интерфейссіз, бірақ сыртқы жадыға жүгіну кезінде жүйенің теңдігінің азаюына әкеледі. МК-ның сыртқы жақ уақытпен байланысын ұйымдастыру.
Енгізушығару порттары.
Әрбір МК енгізушығару линиясының бірнешеуіне ие, олар көп разрядты (көбіне 8-разрядты) параллельді енгізушығару порттарына біріктірілген.
Порттан жалпы жағдайда асинхронды жұмыс істейтін басқару объектісі мен МК жұмыс жасауының уақытша келістігін атқаратын қондырғы рөлінде істейді.
МК жадысында әрбір енгізушығару портында өзінің мәліметтер регистрі адресі сәйкес келеді. Енгізушығару мәліметтер регистрі портына жүгіну мәліметтер жадысына жүгіну командасына сәйкес келеді. Сонымен қатар көптеген МК-де порттардың бөлек разряды биттік процессор командаларымен сұрастырылуы немесе қондарылуы мүмкін. Функциясына қарай параллельді порттардың келесі түрлері болады:
* Бірбағытты порттар, ақпаратты тек енгізуге немесе тек шығаруға арналған
* Екі бағытты порттар, жіберу бағыты (енгізушығару) МК инициализация кезінде анықталады
* Альтернативті функциясы бар порттар (мультиплексті порттар). Бұл порттардың жекелеген линиялары МК-ның енгізілген перифериялық қондырғыларымен бірге қолданылады, мысалы, таймер, АЦТ, кезекті интерфейсті контроллерлер.
* Бағдарламалық басқармалы схематехникалық енгізушығару буфері бар порттар
МК мен сыртқы қондырғылардың параллельді енгізушығару порттары арқылы ақпарат алмасудың үш алгаритмі бар:
* Қарапайым бағдарламалық енгізушығару режимі
* Стробалау арқылы енгізушығару режимі
* Айырбастауды растайтын сигналдар жиынтығы бар енгізушығару режимі
Таймерлер және оқиғалар процессоры
МК көмегімен жүзеге асатын көптеген басқару есептері оларды нақты уакытта орындалуын талап етеді, яғни басқарылатын объект туралы ақпаратты жүйенің алуы, керек есептерді беру, объектіні өзгерту үшін қысқа уақыт интервалында басқарушы өзгертулерді беру деген сөз.
Нақты маштабта басқару функцияларының ОП-ға жүктеу тиімсіз, себебі есептеу үшін белгілі бір ресурс талап етеді. Сондықтан қазіргі заманғы МК таймер қолданылатын нақты уақытта жұмыс істейтін жұмысты аппараттық қолдауды пайдаланылады.
Таймер модульдері оқиғалар датчигінен келетін ақпараттың уақыты туралы мәліметті қабылдау үшін, уақыт бойынша басқарушы әсер жасау үшін керек.
8-разрядты МК таймерінің классикалық модулі арнайы басқару сұлбасы бар 8 немесе 16-разрядты есептегіштен тұрады.
МК схематехникасында әдетте таймерді кезектес импульс шығару режимімен сыртқы оқиғалар есептегіші режиміндеде жұмыс істеу қарастырылған. Сондықтан оны таймересептегіш деп атайды.
Есептеудің бағыты - тікелей, яғни кіріс импульс келгенде есептегіш құрамы инкременттеледі.
Есептегіш баптауына (настройка) кіріс сигналдың біреуін қолданады: басқарылатын бөлгіштің шығысынан импульсті кезектеу; МК кірісіне келетін сыртқы оқиғалар сигналы.
Бірінші жағдайда есептегіш таймер режимінде десе, екіншісінде - оқиғалар есептегіші режимінде жұмыс істейді дейді. Есептегіш толып кеткен жағдайда бірлікке толып кету триггері қондырылады, ол таймерден үзіліс рұқсат берілсе үзіліске сұраныс жасайды. Таймерде іске қосу, тоқтату есептегіштің ағымдағын жағдайын орнату немесе оқу бағдарламалық әдіспен орындалады.
Қарастырылған классикалық таймересептегіш модулі қарапайым МК-де кеңінен қолданылады. Ол уақыт интервалын өлшеуге және импульс кезектігін жасауға қолданылады. Таймересептегіштің кемшілігі: таймерді іске қосу, тоқтату командаларын орындау кезінде уақыт шығыны, соның кесірінен уақыт интервалын өлшеуде қате кетіп, минималды уақыт ұзақтығын шектейді; уақыт интервалын жасауда қиындықтар (уақыт белгілері), ол толық есеп коэффициентін өзгеше, бір уақытта бірнеше каналға қызмет көрсету болмайтындығы.
Бастапқы екі кемшілік жетілдірілген таймересептегіште жойылды, ол MCS-51 (intel) типті МК-де қосымша есептік кірісті қосумен жүргізіледі. Бұл шешім уақыт интервалын өлшеудің нақтылығын арттырады, яғни іске қосумен тоқтату аппаратты түрде орындалады. Сонымен қатар жетілдірілген таймерде кездейсоқ код арқылы толып кету кезінде есептегішті қайта жүктеу режимі бар. Ол уақыт кезектігін есептік толық коэффициент периодынан бөлек период жасауға мүмкіндік береді.
Алайда бұл жетілдірулер классифкалық таймердің кемшілігін жұмыстың бірканалды режимін жоймайды. Бұл аймақтағы МК-ның нақты уақыт жүйеастын жетілдіру келесі бағытта жүргізілуде: таймересептегіш модулінің санын арттыру. Мұндай жол MCS-51құрылымды МК шығаратын фирмаларға, сонымен қатар Mitsubishi және Hitachi компанияларының МК-не тән.
Таймерлер
Таймерер тек берілген кідірісті қамтамасыз ету үшін қолданылады деп саналады. Бірақ микроконтроллерлерде таймерлер кең шеңбердегі міндеттерді шешу үшін қолданылады.
Әдетте таймерді ауыстырып-қосу үшін процессордың тактілік импульстері қолданылады. Таймерге бастапқы мәнді жүктеп, таймердің толып кету уақытына байланысты интервалдың бітуін тіркеу арқылы, белгілі бір уақыт интервалын санауға болады.
Көп жағдайда таймердің алдында тактілік жиіліктің алдын ала бөлгішін қосады, ол ұзынырақ уақыт интервалын санау мүмкіндігі үшін керек. Бөлгіш белгілі бір тактілік импульстердің жетуінен кейін таймер құрамындағы инкрементті қамтамасыз етеді.
Егер тактілік жиілігі 10 МГц жүйеде 10мс (0.01с) кідірісті іске асыру керек болса, онда 1.4- суретте көрсетілген сұлбаны қолдануға болады. Алдымен талап етілетін бөлу коэффицентін анықтау қажет. 10 МГц тактілік жиілікте таймер толып кетуіне дейін 10000 рет қайта-қосылу керек, бұл 8-разрядты счетчикке мүмкін емес іс. Мұндай кідірісті қамтамасыз ету үшін алдын-ала бөлгішке бөлу коэффицентін анықтау керек, ол әдетте екінің дәрежесі (ол дегеніміз 1, 2, 4, 8, ...256) болып табылады. Егер бөлу коэффицентін 64 деп алсақ, онда таймер 156 рет қайта қосылғанда ол тактілік жиіліктің бөлгішінің алдына түседі 64 х 156 = 9984, бұл талап етілетін шамаға жақын. Кідірістң дәлірек шамасына NOP немесе басқа командаларды қосу арқылы қол жеткізуге болады, ол белгілі уақыт аралығын толтыру үшін қолданылады. Берілген уақыттың санағын жүргізу үшін таймерді тазартып, оның құрамын 156 шамасымен үзіліссіз салыстыруы болады.
1.4-сурет. Микроконтроллердегі таймер құрылымы
Санаудың ең нәтижелі әдісі ол таймерге 100 = 256 - 156 санын енгізіп , таймер толғаннан кейін үзіліс жалаушасы 1 болғанын күту керек. Бұл әдісті қолана отырып программалардың орындалуының мультиміндетті режимін іске асыруға болады. Таймер 10 мс санағаннан кейін тапсырма келесі тапсырмаға ауысады.
Бұл әдіс нақты уақыт жүргізетін сағат жасау үшін қолдануға ұсынылмайды. Себебі таймер қайта жүктелген кезде бөлгіштің бөлу коэффицентінің шамасы белгісіз, ал оның ішіндегісі таймердің регистріне жазылу барысында 0 ге лақтырылады, ол уақыт санағын жүргізгенде қатеге әкеліп соғады. Оның орнына таймерге үзіліссіз санақ жүргізу мүмкіндігін беру керек(сонда бөлгіш ешқашан лақтырылмайды), ал ол толғанда сағаттың счетчигінің құрамын өсіру керек. Программаға нақты уақытты білу керек болғанда ол счетчиктің ішіндегісін таңдап оны түрлендіреді, сол арқылы ол дұрыс уақыттың шамасын біледі. Мұндай әдіс IBM PC де қолданылады, онда таймердің қайта-қосылуы секундына 18,2 рет іске асады.
1.4-суретке қарап таймер сыртқы оқиғаларды санау үшін қолданылуы мүмкін екендігі байқалады, егер оны қайта-қосу үшін сыртқы сигнал пайдаланылса.
Егер микроконтроллерде екі таймер болса, онда қарапайым тахометрді іске асыруға болады - ол уақыт бірлігінде болатын оқиғалардың санағын жүргізетін санауыш (1.5- сурет). Тахометрді іске асыру программасы алдымен TMR2 санауышының құрамын 0 ге лақтырады, одан кейін TMR1 таймері жұмыс істеуі үшін белгілі бір уақыт интервалын бекітеді. Осы интервалдың өтуінен кейін TMR1 жұмыс істеп бастайды (TMR1 толып кетуіне І битке бекітіледі), сол уақытта TMR2 ағымдағы құрамын оқиды.
1.5- сурет. Тахометрді іске асыру.
Микроконтроллердегі таймерлер көп жағдайда кең-импульсті модуляция PWM (Pulse Width Modulated) сигналдарды енгізу-шығару үшін пайдаланады. PWM сигнал көп жағдайда аналогты сигналдың мәнін сандық жүйеге беру үшін немесе одан алу үшін қолданылады. Сигнал қайталанылатын пішінге ие, онда импульстің ұзақтығы берілетін аналогты шамасының мәніне пропорционал (1.6-сурет).
PWM- сигналдар көп жағдайда электроқозғалтқыштарды басқару үшін қолданылады, ол валлдың сервоприводтегі орнын немесе айлану жылдамдығын тапсырады. 1.7-суретте микроконтроллердің шығысындағы PWM сигналының генерациясының сұлбасы көрсетілген. Таймердің құрамына қарағанда импульстің ұзақтығының берілген мәні үлкен болса, бұл сұлбаның шығысында жоғарғы потенциалды (импульстің шыңы) ұстап тұрады. Таймердің құрамы периодтың берілген мәніне тең немесе одан жоғары болса, онда таймер 0 ге лақтырылады, одан соң процесс қайталанады. PWM-сигналын алудың мұндай әдісін қолданғанда процессор аз қатысады, тек импульстің периоды мен ұзақтығының керек шамасын қою қажет. Сонымен бірге импульс ұзақтығының мәні процессор арқылы кез келген уақытта шығару процессінің тоқтауысыз өзгеріледі.
1.6-сурет. Кең-импульсті PWM сигналының мадуляциясы.
1.7-суретте. PWM сигналының генераторының сұлбасы
Егер белгілі бір жиіліктегі тікбұрышты импульстік сигналды құрастыру керек болса, онда жаңағы сұлбаны қолдануға болады, ондағы периодты импульс ұзындығынан екі есеге арттыру керек.
PWM-сигналының импульсінің ұзындығын өлшеу 1.8-суретінде келтірілген сұлба арқылы іске асады. Бұл сұлбада таймердің RESET кірісіне лақтыру сигналы, кіріс сигналы төмен деңгейде болғанша беріледі. Кіріс сигналының жоғары деңгейге түскенде таймер іске қосылады, және оның құрамы импульс ұзақтығының регистріне келіп түседі. Импульстің бітуімен, кірісте қайта төмен деңгей орнағанда, таймердің құрамы импульс ұзақтығының регистрінде сақталады, ал таймер келесі импульс келгенше 0 болып лақтырылады. Оңайлық үшін сұлбада кейбір кідіріс элементтері көрсетілмеген, бұл элементтер таймер мәні ұзақтық регистріне оның лақтырылуына дейін жазылатындығына кепілдік береді.
Импульс ұзақтығы
Мәліметтер шинасы
Кіруші PWM-сигналы
Тактілі сигнал
1.8-суреті. Импульс ұзақтығын ... жалғасы
Көпшілік компьютерлік революцияны автоматты түрде көптеген қиын есептеулерді қажет ететін мәселелерді шешу құралдарын жасау деп қабылдайды. Мұндай есептеулер әр түрлі қызмет түрлерін төлеу кезінде, қиын ғылыми зерттеулерді және әзірлеуді орындағанда, завод және фабрикалардағы технологиялық процессті және құрылғыларды басқару процесі кезінде пайда болады. Уақыт өте келе интернет желісі және сандық телекоммуникациондық жүйені қосудың арқасында компьютерлік революция ұғымы кеңейді.
Сонымен бірге екінші революция жүріп жатты, және ол мүмкін әркімнің өміріне көбірек ықпалын тигізді. Ол бізді қоршаған ортаның барлығын арзан әрі қуатты микроконтроллерлер арқылы автоматтандыру болып табылады.
Микроконтроллерлердің көбісі автокөліктерде қолданылады. Қазіргі кездегі автокөліктер 20- дан астам микроконтроллерді өзінде қамтиды, олар мотордың күйін бақылап және оның жұмысын басқарып қана қоймай, сигнализация жүйесі көмегімен оны бұзу және ұрлаудан сақтап қалу, қорғаныс жүйесінің жұмыс жасауын қамтамасыз етеді, сыртқы жарықтандыруды бақылайды, автокөлік ішіндегі ауа температурасын, радиостереожүйелердің жұмысын бақылайды.
Дербес компьютердің өзінде кем дегенде төрт орнатылған микроконтроллерлері бар болады - екеуі пернетақта мен тышқанның жұмысын қамтамасыз етеді, біреуі қатқыл дискті басқарады, біреуі энергиямен қамтамасыз етілуін қамтамасыз етеді. Мүмкін монитор, принтер немесе модемді басқару үшін одан да көп микроконтроллерлер қолданылады.
Микроконтроллер - ол дербес компьютерлік жүйе, бір корпуста орнатылған мәліметтерді енгізушығау құрылғысы, процессор және қосалқы сұлбаларды қамтиды.
Әртүрлі құрылғыларда қолданатын микроконтроллерлер, сыртқы ортаның параметрлерін анықтайтын датчиктер мен қолданушының пернетақтасынан келіп түсетін мәліметтерді интерпретациялау функциясын орындайды, және жүйенің әртүрлі құрылғыларының арасында байланыс орнатады және басқа құрылғыларға мәліметтерді жібереді. Микроконтроллерлерді қолану қолданылатын материалдар мен жиынтықтаушы бұйымдардың бағасы мен мөлшерін едәуір азайтуға мүмкіндік береді, ол соңғы өнімнің өзіндік бағасының төмендеуін қамтамасыз етеді. Микроконтроллерлерді қолдану тұтынушы үшін өнімнің тартымдылығын едәуір өсіре алады, ол салыстырмалы аз қосымша шығын шығару арқылы достық интерфейсті іске асырудың арқасында болады. Сонымен қатар, әр түрлі функцияларды іске асыру үшін маманадндырылған, әр түрлі программалық жабдықтаманы бір ғана аппаратты құралдарды қолдана отырып шығарылатын өнімнің қолдану аяасының кеңеюінің қамтамасыз етуге болады.
Диплoмдық жұмыcтың мақсаты - микроконтроллер құрылғысына арналған программалық қамтамасыз етуді әзірлеу.
Дипломдық жұмыстың міндеті - Микроконтроллер құрылғыларының дамуы мен тағайындалуының анализдеу, контроллер және микроконтроллерлік құрылғылардың программалау құралдарын қарастыру, өндірістік ПЛК - ді программалау.
Дипломдық жұмыстың өзектілігі - экономикалық жағынан тиімді және қауіпсіз болуға тиісті барлық өндірістік процесстер басқару жүйесін қажет етеді. Соңғы жылдары тез таралған және басқару техникасын түбегейлі өзгерткен программаланатын логикалық контроллер болып табылады, ол өзінің тиімді бағасымен қатар есептеудегі қуаттылығы мен елеулі икемділігін қосады.
Ең оңай мысалдың объектісі ретінде электрқозғалтқыш арқылы айналатын желдеткіш болуы мүмкін. Басқарушы жүйе ретінде қозғалтқышты шамадантыс жүктеуден және проводтың зақымдануынан қорғайтын мына электрлі қосқыш болып табылады. Оператор командасы қосуөшіру батырмасын басуында болады, ал объектінің күйі істейдіістемейді, сонымен қатар ақаулар индикаторы арқылы көрінеді.
Басқа шеткі жағдайда объект - үлкен мұнайхимиялық қондырғы болып табылады. Және мұнда басқару жүйесі өте қиын болады, ол әр түрлі құрылғылардың комбинациясын келтіреді. Оператормен байланыс та мүлдем басқаша болады, мұнда командалардың берілуі және ақпараттың көрінуі көптеген құрылғылардың көмегімен іске асады.
Диплoмдық жұмыc кiрicпеден, теoриялық, негiзгi, ПЛК арқылы басқару артықшылықтары туралы, қoрытынды бөлiмдерден, әдебиеттер тiзiмi және қocымшaлaрдaн тұрaды.
Теориялық бөлімінде микроконтроллердің анықтамасы, тарихы, құрылымы, пайдалылығы, сұлбасы қарастырылады. Және оның қолдану аясы мен артықшылықтары мен кемшіліктері көрсетілген.
Негізгі бөлімінде микроконтроллер құрылғыларын программалау үшін керекті қолданушының құралдары қарастырылады. Және программалау ортасы, тілдері, компилятор, программаторлар, эмуляторлар, симуляторлар, редакторлардың жұмысы сипатталған.
3-ші бөлімде программаланатын логикалық контроллердің артықшылығы, оны программалау, жұмыс істетуден өткізу, техникалық спецификация келтірілген. Диплoмдық жұмыcтa әдебиеттер тiзiмi, coнымен қaтaр прoгрaммaдaн тұрaтын қocымшaлaр берiлген.
1 МИКРОКОНТРОЛЛЕР ҚҰРЫЛҒЫЛАРЫНЫҢ ДАМУЫ МЕН ТАҒАЙЫНДАЛУЫНЫҢ АНАЛИЗІ
0.1 Микроконтроллерлер-даму тарихы, жіктелуі
Микроконтроллер термині алғашында қолданылып жүрген біркристалды микро-ЭЕМ терминін ығыстырып шығарды. 1971 жылы Texas Instruments инжинерлері М. Кочрен және Г. Бун-ге бірінші біркристалды микро-ЭЕМ ге патент берілді. Олар бір кристалда микропроцессормен қатар жады және енгізу-шығару құрылғысын да орналастыруға ұсыныс жасады. 1972 жылы 32 байт мәліметтер жадысы, 1Кбайт программа жадысы, сағат және енгізу-шығару құрылғысы бар бірінші 4-разрядты МКTMS1000 шығарылды. Бірақ оған аса көп мән берілмеді сондықтан бірінші микроконтроллер ретінде 1976 жылы Intel фирмасымен шығарылған I8048 микросхемасын қателесіп санайды.
Орталық процессормен қатар, оның кристалында 1Кбайт программа жадысы, 64 байт мәліметтер жадысы, екі 8-биттік таймер, сағат генераторы және 27 енгізушығару порттары орнатылған. Ендігі кезде бұл құрылғы назарсыз қалмады, соның арқасында 8048 микроконтроллері ойын приставкаларында, пернетақталарда, алғашқы IBM PC да және бірқатар басқа да құрылғыларында қолданды.
1980 жылы Intel компаниясы келесі МКI8051 шығарды. Қосымша құрылғылардың сәтті жинағы, ішкі немесе сыртқы программалық жадының икемді таңдауының мүмкіндігі және бағасының қолжетімді болуы бұл МК-ге нарықтағы артықшылықты қамтамасыз етті және ол берілген кластың классикалық үлгісі болып қалды.
8051 Микроконтроллері
Технологиялық көзқараспен қарағанда МКI8051 өз уақытының өте қиын бұйымы болып табылады. Оның кристалында 128 мың транзистор орналасқан, ол дегенімз 16-разрядты МПI8086 тарнзисторлар санынан 4 есеге көп. Бұл 8-разрядты чип микроконтроллерлардың бір тип бұтағының пайда болуына негіз болды, және бұл тип қазіргі уақытқа дейін нарықта көшбасшы орындарды алып тұрды. I8051 аналогін көптеген кәсіпорындар, соның ішінде совет одағындағы Минск, Киев, Воронеж, Новосибирск қалаларындағы кәсіпорындар шығарған. 8051 МК-де отандық өңдеушiлердi бүтiн ұрпағы өстi. Қазіргі кезде МКI8051мен үйлесімді 200-ден астам модификациялары бар. Бірақ 51 топ өзінің орнын одан жас және кемшіліксіз микроконтроллерлерге босатып беріп жатыр.
Motorola и Zilog
Басқа сегізразрядты микроконтроллерлердің жарқын өкілдері болып Motorola (68HC05, 68HC08, 68HC11) және Zilog (Z8) компанияларының бұйымдары болып келеді.
Motorola өзінің МК мен тез және арзан жұмыс бастау үшін керек құралдарды ұсынбады, осы жағдай корпаративтік емес қызметкерлердің арасында оның танымалды болуына септігін тигізе қоймады. Біздің елімізде де оның танымалдылығы кең жайылмаған, ол оқу құралдары мен жасау құралдары санының аздығынан болуы мүмкін. Бірақ айта кету керек шет елдерде Motorola МК- лі нарықта алдыңғы орындарды алып тұр. Intel-дің бұрынғы қызметкерлері негзін қалаған Zilog фирмасынан шыққан атақты МКZ8-дің болашағы жарқын көрінген, бірақ нарықтың қарқынды дамып келе жатқан бұл бөлігінде жарысқа шыдамаған микроконтроллердің басқару жүйесі ескірген болып көрінеді.
Microchip
Бірінші айтарлықтай өзгерістер Microchip фирмасының PIC МК-нің пайда болуымен басталды. Бұл микросхемалар сол уақытпен салыстрғандағы өте төмен бағалармен сатылды, соның арқасында қысқа уақытішінде олар МК нарығының біраз бөлігін өзіне қаратты. Сонымен қатар Microchip фирмасының кристаллдары өнімділігі жағынан х51 МК-інен кем түспейтін ал кей жағдайларда асып кететін және ол қымбат программаторды қажет етпейді. Бұл МК-лер сауатты жобаланған порттары бар болды, бірақ қалғаны онша ыңғайлы жасалмады: архитектурасы мардымсыз, ал командалар жүйесі өте шектеулі болды. Соған қарамастан PIC МК-і қымбат емес және оңай қызмет ететін жүйені жасағанда қолданылатын таптырмас құрал болып табылады.
Scinex
PIC МК атағы асқан кезде Scinex фирмасынан осыған ұқсас көптеген құрылғылар шықты. Олар PIC-тің 33 командаларына қарағанда 52 командалары болды. Негізінде, тағы жадымен жұмыс жасау үшін ыңғайлы нұсқаулар, әр команда бір такт ішінде орындалатындай дамытылған архитектура осының бәрі PIC МК-мен салыстырғанда тезәрекеттілікті 4 есеге арттырды. Сонымен қатар Scinex фирмасының МК-інің тактілік жиілігі 100 МГц - қа жетті. Осындай микроконтроллердің жоғарғы жылдамығы оның жасаушыларына әр түрлі перефериядан бас тартуға мүмкіндік берді. Осымен бірге МК-де жоғарыжылдамдықты ядро, жады және енгізушығару порттары да бар.
Atmel
1996 жылы микроконтроллер әлемінде нағыз жаңалық, Atmel корпорациясының жаңа прогрессивті AVR ядросы негізінде жасалған өзінің бір топ чиптерін шығаруы болды. AVR МК-і жақсы дамыған командалар жүйесіне ие, оның нұсқаулары 133-ке дейін, жоғарғы өнімділігі 1 MIPSМГц-ке жақын, схема ішіндегі қайтапрограммалау мүмкіндігін беретін Flash-ПЗУ прогрммалары бар. Көптеген чиптер өзін-өзі программалау функциясына ие. AVR-архитектурасы жоғарғыдеңгейлі Си тіліне негізделген. Сонымен қатар топтағы барлық кристаллдар "жоғарыдан төмен" үйлесімді. Ақылмен жасалған AVR архитектурасы, Microchip контроллерімен салыстырғанда озатын тезәрекеттілік, тартымды бағалы саясат, осының бәрі №1 контроллер атағына ие болуына әкелді. AVR МК-нің танымалдылығына программалық жабдықтаманың және жасау құралдарының қолдауы да әсерін тигізді.Atmel фирмасы осы сұраққа көп көңіл бөледі және қолданушыға көптеген тегін таратылатын программалық өнімдерді ұсынады. Жаңадан бастаған құрастырушыға AVR МК-ін программалау үшін апаратты программаторсыз да жұмыс жасауға болатыны маңызды артықшылық болып табылады. Бұл микроконтроллерлерді программалаудың ең танымал түрі ол персоналды компьютердің параллельді портымен 5 өткізгішті байланыс орнату. AVR біртіндеп 8-разрядты жалпы тағайындалған МК арасында индустриалды стандарт болып қалыптасып келе жатыр. Оларды кез келген жерден алуға болады, орташа бағасы жоғары емес, Microchip компаниясының бұйымдарымен тең бәсекеге түсуімен ерекшеленеді. Қазіргі таңда осының бәрі Atmel AVR МК-лерін ең тартымды және көп үмiт күттіретін компания болып отыр.
Жоғарыда айтылған компаниялар мен олар шығаратын МК-дың тізімі толық емес. МК өндіруші ірі компаниялар арасында мыналарды да атап өту қажет: Cypress, Texas Instruments, Dallas Semiconductor, Philips, Siemens, STMicroelectronics, Futjitsu, Mitsubishi Electronics, National Semiconductor және тағы да басқалар. Қазіргі екзде ең танымал микроконтроллерлерге Microchip Technology компаниясының 8-разрядты РІС-МК мен Atmel компаниясының AVR микроконтроллерлері.
Микроконтроллер ұғымы
Біркристаллды микро-ЭЕМ пайда болуымен басқару аймағындағы автоматтандыруда нағыз төңкеріс болды. Дәл осы жағдай микроконтроллер (ағылшын тілінен. control - управление) терминін қолдануды анықтады. Микроконтроллер(МК)- бір микросхемадағы компьютер, әр түрлі электронды құрылғыларды басқару үшін және оған сәйке жазылған программа арқылы олардың арасындағы өзара iс-әрекеттiң жүзеге асыруы. Микропроцессорлық жүйелердің(МПЖ) дамуының қазіргі кезеңдегі негізгі ерекшелігі ол бірнеше интегралды сұлбалардан құралған жүйелерден қазіргі МК ге дейін өтуі. МК универсалды микропроцессордан (МП) айырмашылығы ол бір кристаллда МПЖ-дегі негізгі элементтердің бірігуі: орталық процессор (ЦП), жедел еске сақтау құрылғысы (ОЗУ), тұрақты еске сақтау құрылғысы (ПЗУ), енгізушығару порттары және бірқатар мамандандырылған электронды құрылғылар. Орнатылған құрылғылар сырттан ешқандай электр тізбегін қажет етпегендіктен, олар жоғарғы төзімділікке ие. ПЗУ МК орындайтын программаны сақту үшін қызмет етеді. ОЗУ МК-дің ішкі регистрлерінің пулын ұйымдастыру және айнымалыларды уақтша сақтау үшін қолданылады. Енгізушығару порттары сыртқы құрылғылармен (негізінде персональді компьютермен, себебі көптеген МК стандартты RS-232C интерфейсімен үйлесімді) МК-дің қосылуын қамтамасыз етеді.
Қазірде кең тараған мамандандырылған құралдарға мыналар кіреді:
* АСТ-аналогты-сандық түрлендіргіштер (ADC - Analog-to-Digital Converter);
* САТ- сандық-аналогты түрлендіргіштер (DAC - Digital-to-Analog Converter);
* Сандық потенциометрлер;
* Әртүрлі байланыс интерфейстері;
Таймерлер - бұл құрылғыларды берілген периоды мен ұзақтығы ішінде тік бұрышты импульс беру үшін программалауды іске асыруға рұқсат беретін, сонымен қатар көршілес кіру импульстерінің арасындағы уақыт интервалдарын санау құрылғысы болып табылады.
МК-дің нақты моделіне қарай кейбір құрылғылар болмауы мүмкін немесе МК-де бірегей құрылғылар (мысалы, сұйықкристаллды дисплейдің драйверлері, вакуумды флуоресцентті дисплейдің драйвері және тағы да басқа) орнатылуы ғажап емес. Барлық мамандандырылған құрылғылар өзінің тапсырмаларын МК-дің мкропроцессорлы ядросының басқаруымен орындайды.
Микроконтроллердің құрылымды сызбасы.
МК топтарға біріктіріледі. Бір топқа жататын бұйымдарға бірдей микропроцесорлық ядосы бар бұйымдар кіреді. Топтың ең басты ерекшелігі-оған кіретін барлық МК-дің екілік код деңгейінде үйлесуі. Бір топ ішіндегі әртүрлі МК-дің айырмашылығы ол негізінде перефериялық құрылғылардың тізімі және программа мен мәліметтер жадысының көлемінде. Қазіргі кездегі МК-лер ерекше белглерге ие. Олардың негізгілерін талдайық:
Модульдік ұйымдастыру, бір процессордың ядросының (орталық процессор) негізінде бірқатар МК жобаланады, олардың бір- бірінен айырмашылығы программа жадысының көлемі және түрінен, мәліметтер жадысының көлемінен, перефериялық модульдердің жинағымен, синхрондау жиілігімен танып білінеді;
МК жабық архитектурасын қолдану, ол МК корпусының енгізуіндегі адрес және мәліметтер магистралінің болмауымен сипатталады. Осылайша МК мәліметтерді өңдеуің біткен жүйесі болып табылады, және оның адрестер және мәліметтер магистралін параллельді қолдану арқылы оның мүмкіншіліктерін арттыра алмаймыз.
Жұмыс істеу алгоритмдерінде ешқандай айырмашылық жоқ, әр түрлі өндіушілердің микроконтроллеріне типтік функционалды перефериялық модульдерді (таймерлер, АСТ, САТ, бірбәле контроллерлерінің интерфейстері, және т.б) қолдану.
МК арнайы функциялары регистрлердің инициализация процесі кезінде берілетін, Перефериялық модульдердің жұмыс істеу режимдерінің санын кеңейту.
Модульдік құрылым принципінде бір түрге жататын барлық МК-де біркелкі процессорлық ядро, және өзгермелі функционалды блок, ол МК әртүрлі модельдерінде өзгеше болады. Модульдік МК-дің құрылымдық сұлбасы 1-ші суретте келтірілген.
1-сурет. МК модульдік жүйесі
Процессор ядросы өзіне мыналарды қосады:
* Орталық процессор;
* Ішкі контроллерлі магистраль (внутреннюю контроллерную магистраль(ВКМ)), ол адрестер,мәліметтері, басқару шинасынан тұрады;
* МК синхронизация сызбасы;
* МК жұмыс істеу режимін басқару сызбасынан, оған қоса төмендетілген энергия тұтыну мен бастапқы қалпына келу(реинициализации) және т.б.
Өзгермелі функционалды блок өзіне әртүрлі титі және көлемді жады модулін, енгізушығару құрылғысын, тактілік генераторлардың(Г) модулі, таймерлерді қосады. Өзгермелі функционалды блоктың құрамына келесідей қосымша модульдер, мысалы: кернеу компараторлары, АСТ, САТ, және т.б кіреді. Үзілістерді өңдеу модульдері жайлы айтатын болсақ салыстырмалы қарапайым МК-де ол процессор ядросының құрамында болады ал одан күрделі МК-де ол мүмкіндігі жетілген бөлек модуль түрінде беріледі. Әр модуль МК құрамында жұмыс жасау үшін, ВКМ-нің нақты хаттамасын есепке ала отырып жобаланады. Мұндай тәсіл бір түр ішіндегі құрылымы жағынан әр түрлі МК шығаруға мүмкіндік береді.
Микроконтроллерлердің жіктелуі
Бүгінде дүниеде МК мыңдаған түрлері шығарылады. Оларды жіктеудің негізгі белгісі болып микропроцессор ядросындағы арифметикалық-логикалық құрылғы(АЛҚ) өңдейтін мәліметтер разрядтылығы болып табылады. Осы белгіге қарай олар :
4-разрядты- ең қарапайым және арзан МК. Олар ең төмен функционалды мүмкіндіктерімен сиптталады және бағасы төмен қосымшаларға арналған;
8-разрядты- бағасы мен мүмкіндігі жағынан оңтайлы болғанына байланысты ең көп таралған топ. Бұл топтың жарқын өкілдеріне- MCS-51 сериалы (Intel) МК , сонымен қатар PIC (Microchip), HC68 (Motorola), Z8 (Zilog) жатады.
16-разрядты - 8-разрядты МК-ге қарағанда жоғары өнімді бірақ бағасы да жоғары.
32-және 64-разрядты- әдетте универсалды микропроцессорлардың модификациясы болып табылады.
Бөлек топқа сандық сигналды процессорды (DSP - Digital Signal Processor)-арнайы МК жатқызуға болады. Олар сигналды өңдеу жүйелерінде қолдануға бағытталған.
Қазіргі кездегі әлемдік микроконтроллер нарығының үлкен үлесін 8-разрядты құрылғылар алып жатыр(шамамен 50% бағалық үлесте). Олар өнеркәсіпте, тұрмыстық және компьютерлік техникада кеңінен қолданылады. Одан кейін 16-разрядты МК және DSP ( әр топ нарықтың шамамен 20% алып тұр).
8-разрядты жалпы қолданылатын МП-лар олардан өнімділігі әлдеқайда жоғары модельдермен ығыстырылып шықты, сол уқытта 8-разрядты МК әлі де кеңінен қолданысқа ие. Өзінің даму барысында олар салыстырмалы әлсіз дамыған перефериясы бар қарапайым құрылғылардан қазіргі заманға сай қиын басқару алгоритмдерін жүзеге асыратын көпфункционалды МК-ге айналды. 8-разрядты МК-дің мұндай тіршілікке қабілеттілігі олардың нақты объектілерде пайдалануы және бұл объектілерде негізінен логикалық операциялары басым болатын алгоритмдер қолданылады, олардың жылдам өңделуі процессор разрядтылығынан іс жүзінде тәуелсіз. Бұдан бөлек жоғары өнімділіктің қажеті жоқ, бірақ бағасының төмен болуы шарт көптеген пайдалану аялары бар.
1.2 Микроконтроллер сәулеті
МК процессорлық ядросының сәулеті
МК процессор ядросының өнімділігін анықтайтын басты сипаттамалар:
Процессордың командалар жүйесі және опрандтарды дербестендіру тәсілі;
Аралық мәліметтерді сақтауға арналған регистрлер жиынтығы;
Команданы таңдау және орындау процесін ұйымдастыру;
CISC- және RISC- сәулеті
Командалар жүйесі және опрандтарды дербестендіру тәсілінің көзқарасынан қазіргі заманғы 8-разрядты МК процессорының ядросы осы сәулеттердің біреуіне тиесілі:
CISC-сәулеті (Complicated Instruction Set Computer), толық командалар жүйесін жүзеге асырады;
RISC-сәулеті (Reduced Instruction Set Computer), қысқартылған командалар жүйесін іске асырады;
CISC-процессорлары адрестеудің дамыған мүмкіндіктерімен үлкен командалар жиынтығын орындайды, ол жұмыс жасаушы адамға қажет операцияны орындауға ең қолайлы команданы таңдауға мүмкіндік жасайды. Мұндай командалар жүйесінде, кез келген адресация амалы, кез келген процессор регистріне барлық командаларды қолдана алмайды. Командаларды таңдау және оны орындау МК жұмыс істеу циклының бірнеше рет қайталануы ішінде жүзеге асырылады. CISC-сәулетіне жататын МК-ге мына фирмалар қатысты: MCS-51ядросымен Intel-дің МК, қазіргі кезде олар бірқатар өндірушілерден қолдау тауып отыр, Motorola фирмасының НС05, НС08 және НС11 және т.б.
RISC-сәулетіне жататын процессорларда орындалатын командалар жиынтығы минимумге дейін қысқартылған. Күрделі операциларды орындау үшін қолда бар командаларды құрамдастыруға тура келеді. Сонымен қатар барлық командалар ұзындығы тиянақталған форматқа ие, жадыдан команданы таңдау мен оны орындау бір цикл ішінде жүзеге асады. RISC-процессорының командалар жүйесі барлық регистрлерді тең дәрежеде қолдануды шамалайды. Бұл бірқатар операциялардың орындалу кезінде қосымша икемділікті қамтамасыз етеді. RISC-процессорына жататын МК-ге Atmel фирмасының AVR МК-і және Microchip фирмасының PIC МК-і.
RISC-сәулетінің негізгі идеясы тактілік генераторда бір такт ішінде операцияны орындау үшін кодтардың комбинациясын тиянақты түрде таңдау болып табылады. Мұндай тәсілдің ұтымдылығы - ОП-дың аппаратты іске асыруының оңайлатуы және оның өнімділігін едәуір өсіру мүмкіндігі. Бастапқыда мұндай тәсілді іске асыру тек командалар жиынтығын елеулі түрде қысқартудың арқасында қол жеткізуге болатын, осыдан RISC атауы пайда болды. Жалпы айтқанда CISC-сәулетінің бір командасына RISC-сәулетінің бірнеше командалары сәйкес келу керек. Бірақ әдетте RISC-сәулетінің тезәрекеттілігін өсіруінен табылған ұтыс тиімділігі азырақ командалар жүйесінен келген шығынды толығымен жабады, бұл жағдай CISC жүйесіне қарағанда жалпы RISC жүйесінің тиімділігінің жоғары болуына әкеледі. Сондай-ақ ОП оңайлатумен ондағы транзсторлардың санының азаюына, сол себептен кристаллдың ауданының азаюына да алып келеді. Ал онымен МК бағасы мен тұтынылатын қуатының төмендеуі де байланысты.
Фон-нейман (принстон) және гарвард архитектурасы
Командаларды таңдау және орындау процесстерін ұйымдастыруына қарай қазіргі заманғы МК-лерде осы екі сәулеттің біреуі қолданылады: фон-нейман(принстон) немесе гарвард сәулеті.
Фон-нейман сәулетінің негізгі ерекшелігі программа мен мәліметті сақтау үшін жалпы жадыны қолдануы, ол 1.2-суретте көрсетілген.
Сурет-1.2. Фон-нейман сәулетінің МПЖ (микропроцессорлы жүйе) құрылымы
Фон-нейман сәулетінің негізгі артықшылығы- бір ғана жалпы жадымен жұмыс жасау арқылы МПЖ құрылғысын оңайлату. Біріңғай жады облысын қолдану программа және мәлімет облыстарының арасында қорды тез арада қайта бөлуге мүмкіндік береді, программалық жабдықтаманың құрастырушысының көзқарасында ол МПЖ икемділігін едәуір өсіреді. Стектің жалпы жадыда орналасуы оның ішіндегісіне қол жеткізуді оңайлатады.
Гарвардтік сәулеттің негзгі ерекшелігі - командалар және мәліметтерді сақтау үшін бөлек адресті кеңістіктерді қолдану(3-сурет). Гарвард сәулеті 70-ші жылдардың соңына дейін қолданылмады, одан кейін МК өндірушілері Гарвард сәулетінің автономды басқару жүйелерін жасаушыларға белгілі артықшылықтарды беретінін түсінді.
Сурет-1.3 - Гарвард сәулетінің сұлбасы
1-адрестер шинасы, 2-мәліметтер шинасы, 3- басқару шинасы
Осыдан гарвард сәулетінің фон-нейман сәулетімен салыстырғандағы артықшылығы ол программаның орындалу жылдамдығының жоғары болуын қамтамасыз ететін параллельді операцияларды іске асыру мүмкіндігі.
Команда және мәліметтерді сақтау үшін адрестік кеңістіктің бөлінуінің арқасында келесі команданың таңдалуы бұдан бұрынғы команданың орындалуымен бір уақытта жүзеге асады, бұл әр түрлі командалардың бірдей такт ішінде орындалуын жүзеге асырады. Осыған орай 8-разрядты МК-дің көптеген өндірушілері дәл осы гарвард сәулетін қолданады.
Түрлі сәулетке қарап жасалған әртүрлі МК салыстыру қиын тапсырма болып табылады және оны нақты қосымшаға (программаға) қарай өткізу қажет.
МК жұмыс істеу тиімділігін нағыз объективті сандық түрде бағалау үшін бізге ВКМ-нің жылдамдығын алуға болады, ол МК өнімділігін анықтаушы ол дегеніміз белгілі бір уақыт аралығында орындалатын операциялар саны. МК өнімділігі MIPS(Million Instructions per Second - секундына миллион нұсқаулық).
Тактілік жиілік өскен сайын МК өнімділігі де артады. МК-дің үнемділігін сипаттайтын келесі сандық сипаттама- оның тұтынатын қуаты. Ол да МК тактілік жиілігі өскен сайын артады.
Микроконтроллер жадысын ұйымдастыру
МК-де жадының негізгі 3типі қолданылады:
* Бағдарламалар жадысы бағдарламалық код (команда) және константаны сақтауға арналған ТСҚ (тұрақты сақтау қондырғысы) болып табылады. Оның құрамы бағдарламаны орындау барысында өзгермейді.
* мәліметтер жадысы ЖСҚ (жедел сақтау қондырғысы) болып табылады және бағдарламалар орындау кезіндегі айнымалыларды сақтауға арналған.
* МК регистрлері - бұл процессордың ішкі регистрлерін және қосымша қондырғыларды басқаруға арналған регистрі (арнайы функция регистрі) бар жадының түрі.
Сонымен қатар жадының екі қосымша түрін айтуға болады:
* Стектік жады, үзілісті өңдеу мен астыңғы бағдарламаны шақыруға арналған.
* Сыртқы жады, бағдарламаның немесе мәліметтердің қосымша жадысы МК-ге енгізілген жадысы жетпеген жағдайда сырттан қосылады.
Бағдарламалар жадысы
Бағдарламалар жадысының негізгі қасиеті энергия тәуелсіздігі, яғни қорек көзі болмаған жағдайда да бағдарламаны сақтау мүмкіндігі. Бірақ ол бір немесе бірнеше рет орындалуына бағдарламаланған болуы мүмкін.
Бағдарламаның энергия тәуелсіздігінің келесі типтерін айтуға болады:
1) ТСҚ-ң маскалық типі - mask-ROM. ТСҚ ұяшығының мұндай типінің құрамы технологиялық шаблон - маска комегімен жасалады және кейін өзгертілмейді. Сондықтан МК-ң бұл типі тек ұзақ эксплуатациялауға қолданылады. Бұл типтің кемшілігі фотошаблон жасауға шығынның көп кетуі және өндіріске енгізу қиындығы болып табылады. Әдетте бұндай үрдіс 2-3 ай уақыт алып, экономикалық жағынан мыңдаған аспап жасағанда ғана тиімді болады. ТСҚ маскалы типінің артықшылығы - зауыт жағдайында бағдарламаланатын жоғары сапа.
2) Электрлік бағдарламаланатын ерітілмелі сымы бар ТСҚ, бұл типте тұтынушының нөлдік битқа сәйкес келетін сымы бұзылғанша импульстерін өткізу арқылы өзі бағдарламалайды.
3) ТСҚ-ң қайта бағдарламаланатын ультракүлгін өшіруі бар EPROM (Erasable Programmable ROM). ТСҚ-ң бұл типі электрлік сигналдармен бағдарламаланады және ультракүлгін сәуле арқылы өшіріледі. EPROM жадысының ұяшығы жылжымалы затворы бар сәйкес электрлік сигнал жібергенде заряд басқарылатын затвордан соған тасымалданатын МОП-транзистор.
Ұяшықтың құрамындағысын өшіру үшін ол ультракүлгін сәулемен сәулелендіреді, сәуле жылжымалы затворға потенциалдық кедергі мен табанға ығысуғажеткілікті энергия жеткізеді. Бұл үрдіс бірнеше минут немесе минут алуы мүмкін. EPROM-ы бар МК көпретті бағдарламалануы мүмкін және ультракүлгін сәуле кіретін керамикалық корпуста жасалады. Мұндай корпус қымбат тұрады, яғни МК бағасын қымбаттады.
4) Бірретті бағдарламаланатын ТСҚ- OTPROM (one time Programmable ROM)
EPROM-ң бір версиясы, корпусында тесігі жоқ, МК бағасын азайту үшін жасалған (бұл арзандату соншалық айқын - соңғы кезде маскалы ТСҚ орнына OTPROM-ды жиі қолданады).
5) Электрлік өшіретін қайта бағдарламаланатын ТСҚ-EEPROM (Elecrically Erasable Programmable ROM). ТСҚ-ң бұл типін EPROM-ң жаңасы деп айтуға болады. Мұнда жады ұяшығын өшіру электрлік сигналмен жүргізіледі.
EEPROM қолдану МК-ді платадан алмай-ақ бағдарламалауға болады. Бағасы жағынан EEPROM EPROM мен OTPROM аралығында. EEPROM жадысын бағдарламалау технологиясы ұяшықты байттік өшіру мен бағдарламалауды орындайды. EEPROM-ң айқын артықшылығына қарамастан бағдарлама сақтау үшін МК-ң модельдерінде сирек кездеседі. Бұл EEPROM жадысының шектеулігімен және оған қарағанда арзан Flash-ТСҚ-ң бір уақытта пайда болуымен байланысты.
6) Flash типті электрлік өшіруі бар ТСҚ- Flash-ROM. Функционалдық жағынан Flash жады. EEPROM-нан өзгеше емес. Негізгі айырмашылығы - жазылған ақпаратты өшіруінде. EEPROM жадысында өшіру әрбір ұяшық үшін бөлек жүргізіледі, ал Flash-жадыда өшіру түгел блокпен жүргізіледі. Егер Flash жадының бір ұяшығының мазмұнын өзгерту үшін блокты түгел қайта жазу керек. Декодерлеу сұлбасын EEPROM-ға қарағанда қарапайымдандыру Flash-жадылы МК-ң бірретті бағдарламаланатын ТСҚ және маскалы ТСҚ бар МК-мен бәсекесін тудырды.
Мәліметтер жадысы
МК мәліметтер жадысы әдетте статикалық ЖСҚ негізінде орындалады.
Статикалық термині ТСҚ ұяшығының мазмұны МК-ң тактілік жиілігін қанша болса төмен (энергия үнемдеу үшін) мәнінде де сақталады деген сөз. МК-ң көбі ақпаратты сақтау кернеуі - USTANDBY деген параметрге ие. Кернеу минималды рұқсат етілген UDDMIN деңгейінен төмен, бірақ USTANDBY деңгейінен жоғары болса МК бағдарламасы жұмыс істемейді, бірақ ақпарат ТСҚ-да сақталады. Кернеу қалпына келгенде МК-ді қайта жүктеп және бағдарламаны мәліметтерді жоғалтпай жалғастыруға болады. Сақтау кернеу деңгейі 1В, яғни керек жағдайда МК-ді автономды қорек көзіне ауыстырып, осы режимде ТСҚ мәліметтерін сақтауға болады.
МК жады көлемі әдетте көп болмайды, ондаған, жүздеген байтты құрайды. Бұл жағдайды МК бағдарлама жазғанда ескеру керек.
Сонымен, МК бағдарламалаған кезде константаларды, мүмкін болса, айнымалы ретінде сақтамай, ТСҚ-ға енгізеді.
МК регистрлері
Мк регистрлер жиынтығы оның ресурстарын басқаруға қолданылады.
Бұл регистр санына процессор регистрі (аккумулятор, жағдай регистрі, индексті регистрлар), басқару регистрлері (үзіліс, таймерді басқаратын регистр), мәліметті енгізушығару регистрі (порт мәліметі регистрі, параллель, тізбекті немесе аналогты енгізушығаруды басқаратын регистр). Регистрлерге бағыттау әртүрлі болуы мүмкін. RISC-процессорлы МК-де барлық регистрлер (жиірек аккумулятор) берілген адрес бойынша орналасады. Бұл процессор жұмысына үлкен икемділік береді. Кейбір МК-де барлық регистрлер мен мәліметтер жадысы бір кеңістікте орналасады. Бұл мәліметтер жадысы регистрлермен біріккендігін көрсетеді. Мұндай әдіс МК ресурстарын жадыда көрсету деп аталады.
Басқа МК-де қондырғының енгізушығару адрестік кеңістігі жалпы жады кеңістігінен бөлінген. Енгізушығару кеңістігінің бөлектігі гарвардтық архитектурасы бар процессорға артықшылық береді, яғни енгізушығару регистріне бағыштау кезінде команданы оқу мүмкіндігі.
Стектік жады
Стектік жады деп соңғы жазылған- бірінші оқылады (Last Input First Output - LIFO) принципімен ұйымдастырылған жадыны айтады. Жадының мұндай типі астыңтыңғы бағдарламаны (подпрогамма) және үзілісті өңдеуді ұйымдастыру үшін керек. Мұндай операциялар кезінде бағдарламалық есептегіш пен негізгі регистрлер құрамы стекте сақталады, сосын негізгі бағдарламаға келгенде қайта орнына келеді. МК-де стек ақпаратты немесе бағдарламалық түрде ұйымдастыруы мүмкін.
Аппаратты стек регистрлер жиынтыгынан тұрады және регистрлер арасындағы байланыс мәліметтерді жазу, оқу кезінде стек құрамы автоматты түрде жылжиды. Аппаратты стектің артықшылығы - оның тездігінде, кемшілігі - көлемінің аздығы. Гарвардтық архитектурада стектік операциялар жадынынң сол мақсатқа арналған бөлігінде орындалады. Бұл дегеніміз астыңғы бағдарламаны шақыру кезінде гарвард архитектурасы бар процессор бір мезетте бірнеше қимыл жасайды.
Басқа әдіс - стекті ұйымдастыру үшін ТСҚ мәліметін қолдану. Фон-нейман архитектурасында жадының біртұтас аймағы стекті іске үшін де қолданылады. Бірақ қондырғының өнімділігі төмендейді, өйткені жадының барлық түріне бір уақытта ену мүмкін емес. Астыңғы бағдарламаның командасын шақыру кезінде келесі команданың таңдауы тек бағдарламалық есептегіштің мазмұны стекке орналастырылғаннан кейін орындалады. МК- ның екі архитектурасы да мәліметтерді сақтауға жады көлемінің шектеулігі бар. Егер процессорда бөлек стек пен оған жазылған мәлімет оның көлемінен асып кетсе, стек сілтегішінің құрамы циклдік түрде өзгеріс болады және ол алдында толтырылған стек ұяшығына сілтеме жасайтын болады. Сонда астыңғы бағдарламаны қайтару кезінде қайтару адресі қате болады. Егер МК мәліметтер мен стек үшін жалпы жады аймағын қолданса, стектің толып кету кезінде мәліметтер аймағына жазылу қаупі болады.
Сыртқы жады
МК-ның жабық архитектурасына көшуі тенденциясына қарамастан, кейбір жағдайда бағдарлама немесе мәліметтердің қосымша сыртқы жадысын қосу керектігі туады. Егер МК сыртқы жадыны қосу үшін арнайы әдістері болса онда мұндай операция қарапайым әдіспен жүргізіледі.
Екінші әмбебап әдіс сыртқы жады қосу үшін енгізушығару порттарын қолдану және жадыға жүгіну бағдарламалық әдістермен орындалуында. Мұндай әдісте енгізушығару қарапайым құралдарын қолдануға болады, яғни күрделі шиналы интерфейссіз, бірақ сыртқы жадыға жүгіну кезінде жүйенің теңдігінің азаюына әкеледі. МК-ның сыртқы жақ уақытпен байланысын ұйымдастыру.
Енгізушығару порттары.
Әрбір МК енгізушығару линиясының бірнешеуіне ие, олар көп разрядты (көбіне 8-разрядты) параллельді енгізушығару порттарына біріктірілген.
Порттан жалпы жағдайда асинхронды жұмыс істейтін басқару объектісі мен МК жұмыс жасауының уақытша келістігін атқаратын қондырғы рөлінде істейді.
МК жадысында әрбір енгізушығару портында өзінің мәліметтер регистрі адресі сәйкес келеді. Енгізушығару мәліметтер регистрі портына жүгіну мәліметтер жадысына жүгіну командасына сәйкес келеді. Сонымен қатар көптеген МК-де порттардың бөлек разряды биттік процессор командаларымен сұрастырылуы немесе қондарылуы мүмкін. Функциясына қарай параллельді порттардың келесі түрлері болады:
* Бірбағытты порттар, ақпаратты тек енгізуге немесе тек шығаруға арналған
* Екі бағытты порттар, жіберу бағыты (енгізушығару) МК инициализация кезінде анықталады
* Альтернативті функциясы бар порттар (мультиплексті порттар). Бұл порттардың жекелеген линиялары МК-ның енгізілген перифериялық қондырғыларымен бірге қолданылады, мысалы, таймер, АЦТ, кезекті интерфейсті контроллерлер.
* Бағдарламалық басқармалы схематехникалық енгізушығару буфері бар порттар
МК мен сыртқы қондырғылардың параллельді енгізушығару порттары арқылы ақпарат алмасудың үш алгаритмі бар:
* Қарапайым бағдарламалық енгізушығару режимі
* Стробалау арқылы енгізушығару режимі
* Айырбастауды растайтын сигналдар жиынтығы бар енгізушығару режимі
Таймерлер және оқиғалар процессоры
МК көмегімен жүзеге асатын көптеген басқару есептері оларды нақты уакытта орындалуын талап етеді, яғни басқарылатын объект туралы ақпаратты жүйенің алуы, керек есептерді беру, объектіні өзгерту үшін қысқа уақыт интервалында басқарушы өзгертулерді беру деген сөз.
Нақты маштабта басқару функцияларының ОП-ға жүктеу тиімсіз, себебі есептеу үшін белгілі бір ресурс талап етеді. Сондықтан қазіргі заманғы МК таймер қолданылатын нақты уақытта жұмыс істейтін жұмысты аппараттық қолдауды пайдаланылады.
Таймер модульдері оқиғалар датчигінен келетін ақпараттың уақыты туралы мәліметті қабылдау үшін, уақыт бойынша басқарушы әсер жасау үшін керек.
8-разрядты МК таймерінің классикалық модулі арнайы басқару сұлбасы бар 8 немесе 16-разрядты есептегіштен тұрады.
МК схематехникасында әдетте таймерді кезектес импульс шығару режимімен сыртқы оқиғалар есептегіші режиміндеде жұмыс істеу қарастырылған. Сондықтан оны таймересептегіш деп атайды.
Есептеудің бағыты - тікелей, яғни кіріс импульс келгенде есептегіш құрамы инкременттеледі.
Есептегіш баптауына (настройка) кіріс сигналдың біреуін қолданады: басқарылатын бөлгіштің шығысынан импульсті кезектеу; МК кірісіне келетін сыртқы оқиғалар сигналы.
Бірінші жағдайда есептегіш таймер режимінде десе, екіншісінде - оқиғалар есептегіші режимінде жұмыс істейді дейді. Есептегіш толып кеткен жағдайда бірлікке толып кету триггері қондырылады, ол таймерден үзіліс рұқсат берілсе үзіліске сұраныс жасайды. Таймерде іске қосу, тоқтату есептегіштің ағымдағын жағдайын орнату немесе оқу бағдарламалық әдіспен орындалады.
Қарастырылған классикалық таймересептегіш модулі қарапайым МК-де кеңінен қолданылады. Ол уақыт интервалын өлшеуге және импульс кезектігін жасауға қолданылады. Таймересептегіштің кемшілігі: таймерді іске қосу, тоқтату командаларын орындау кезінде уақыт шығыны, соның кесірінен уақыт интервалын өлшеуде қате кетіп, минималды уақыт ұзақтығын шектейді; уақыт интервалын жасауда қиындықтар (уақыт белгілері), ол толық есеп коэффициентін өзгеше, бір уақытта бірнеше каналға қызмет көрсету болмайтындығы.
Бастапқы екі кемшілік жетілдірілген таймересептегіште жойылды, ол MCS-51 (intel) типті МК-де қосымша есептік кірісті қосумен жүргізіледі. Бұл шешім уақыт интервалын өлшеудің нақтылығын арттырады, яғни іске қосумен тоқтату аппаратты түрде орындалады. Сонымен қатар жетілдірілген таймерде кездейсоқ код арқылы толып кету кезінде есептегішті қайта жүктеу режимі бар. Ол уақыт кезектігін есептік толық коэффициент периодынан бөлек период жасауға мүмкіндік береді.
Алайда бұл жетілдірулер классифкалық таймердің кемшілігін жұмыстың бірканалды режимін жоймайды. Бұл аймақтағы МК-ның нақты уақыт жүйеастын жетілдіру келесі бағытта жүргізілуде: таймересептегіш модулінің санын арттыру. Мұндай жол MCS-51құрылымды МК шығаратын фирмаларға, сонымен қатар Mitsubishi және Hitachi компанияларының МК-не тән.
Таймерлер
Таймерер тек берілген кідірісті қамтамасыз ету үшін қолданылады деп саналады. Бірақ микроконтроллерлерде таймерлер кең шеңбердегі міндеттерді шешу үшін қолданылады.
Әдетте таймерді ауыстырып-қосу үшін процессордың тактілік импульстері қолданылады. Таймерге бастапқы мәнді жүктеп, таймердің толып кету уақытына байланысты интервалдың бітуін тіркеу арқылы, белгілі бір уақыт интервалын санауға болады.
Көп жағдайда таймердің алдында тактілік жиіліктің алдын ала бөлгішін қосады, ол ұзынырақ уақыт интервалын санау мүмкіндігі үшін керек. Бөлгіш белгілі бір тактілік импульстердің жетуінен кейін таймер құрамындағы инкрементті қамтамасыз етеді.
Егер тактілік жиілігі 10 МГц жүйеде 10мс (0.01с) кідірісті іске асыру керек болса, онда 1.4- суретте көрсетілген сұлбаны қолдануға болады. Алдымен талап етілетін бөлу коэффицентін анықтау қажет. 10 МГц тактілік жиілікте таймер толып кетуіне дейін 10000 рет қайта-қосылу керек, бұл 8-разрядты счетчикке мүмкін емес іс. Мұндай кідірісті қамтамасыз ету үшін алдын-ала бөлгішке бөлу коэффицентін анықтау керек, ол әдетте екінің дәрежесі (ол дегеніміз 1, 2, 4, 8, ...256) болып табылады. Егер бөлу коэффицентін 64 деп алсақ, онда таймер 156 рет қайта қосылғанда ол тактілік жиіліктің бөлгішінің алдына түседі 64 х 156 = 9984, бұл талап етілетін шамаға жақын. Кідірістң дәлірек шамасына NOP немесе басқа командаларды қосу арқылы қол жеткізуге болады, ол белгілі уақыт аралығын толтыру үшін қолданылады. Берілген уақыттың санағын жүргізу үшін таймерді тазартып, оның құрамын 156 шамасымен үзіліссіз салыстыруы болады.
1.4-сурет. Микроконтроллердегі таймер құрылымы
Санаудың ең нәтижелі әдісі ол таймерге 100 = 256 - 156 санын енгізіп , таймер толғаннан кейін үзіліс жалаушасы 1 болғанын күту керек. Бұл әдісті қолана отырып программалардың орындалуының мультиміндетті режимін іске асыруға болады. Таймер 10 мс санағаннан кейін тапсырма келесі тапсырмаға ауысады.
Бұл әдіс нақты уақыт жүргізетін сағат жасау үшін қолдануға ұсынылмайды. Себебі таймер қайта жүктелген кезде бөлгіштің бөлу коэффицентінің шамасы белгісіз, ал оның ішіндегісі таймердің регистріне жазылу барысында 0 ге лақтырылады, ол уақыт санағын жүргізгенде қатеге әкеліп соғады. Оның орнына таймерге үзіліссіз санақ жүргізу мүмкіндігін беру керек(сонда бөлгіш ешқашан лақтырылмайды), ал ол толғанда сағаттың счетчигінің құрамын өсіру керек. Программаға нақты уақытты білу керек болғанда ол счетчиктің ішіндегісін таңдап оны түрлендіреді, сол арқылы ол дұрыс уақыттың шамасын біледі. Мұндай әдіс IBM PC де қолданылады, онда таймердің қайта-қосылуы секундына 18,2 рет іске асады.
1.4-суретке қарап таймер сыртқы оқиғаларды санау үшін қолданылуы мүмкін екендігі байқалады, егер оны қайта-қосу үшін сыртқы сигнал пайдаланылса.
Егер микроконтроллерде екі таймер болса, онда қарапайым тахометрді іске асыруға болады - ол уақыт бірлігінде болатын оқиғалардың санағын жүргізетін санауыш (1.5- сурет). Тахометрді іске асыру программасы алдымен TMR2 санауышының құрамын 0 ге лақтырады, одан кейін TMR1 таймері жұмыс істеуі үшін белгілі бір уақыт интервалын бекітеді. Осы интервалдың өтуінен кейін TMR1 жұмыс істеп бастайды (TMR1 толып кетуіне І битке бекітіледі), сол уақытта TMR2 ағымдағы құрамын оқиды.
1.5- сурет. Тахометрді іске асыру.
Микроконтроллердегі таймерлер көп жағдайда кең-импульсті модуляция PWM (Pulse Width Modulated) сигналдарды енгізу-шығару үшін пайдаланады. PWM сигнал көп жағдайда аналогты сигналдың мәнін сандық жүйеге беру үшін немесе одан алу үшін қолданылады. Сигнал қайталанылатын пішінге ие, онда импульстің ұзақтығы берілетін аналогты шамасының мәніне пропорционал (1.6-сурет).
PWM- сигналдар көп жағдайда электроқозғалтқыштарды басқару үшін қолданылады, ол валлдың сервоприводтегі орнын немесе айлану жылдамдығын тапсырады. 1.7-суретте микроконтроллердің шығысындағы PWM сигналының генерациясының сұлбасы көрсетілген. Таймердің құрамына қарағанда импульстің ұзақтығының берілген мәні үлкен болса, бұл сұлбаның шығысында жоғарғы потенциалды (импульстің шыңы) ұстап тұрады. Таймердің құрамы периодтың берілген мәніне тең немесе одан жоғары болса, онда таймер 0 ге лақтырылады, одан соң процесс қайталанады. PWM-сигналын алудың мұндай әдісін қолданғанда процессор аз қатысады, тек импульстің периоды мен ұзақтығының керек шамасын қою қажет. Сонымен бірге импульс ұзақтығының мәні процессор арқылы кез келген уақытта шығару процессінің тоқтауысыз өзгеріледі.
1.6-сурет. Кең-импульсті PWM сигналының мадуляциясы.
1.7-суретте. PWM сигналының генераторының сұлбасы
Егер белгілі бір жиіліктегі тікбұрышты импульстік сигналды құрастыру керек болса, онда жаңағы сұлбаны қолдануға болады, ондағы периодты импульс ұзындығынан екі есеге арттыру керек.
PWM-сигналының импульсінің ұзындығын өлшеу 1.8-суретінде келтірілген сұлба арқылы іске асады. Бұл сұлбада таймердің RESET кірісіне лақтыру сигналы, кіріс сигналы төмен деңгейде болғанша беріледі. Кіріс сигналының жоғары деңгейге түскенде таймер іске қосылады, және оның құрамы импульс ұзақтығының регистріне келіп түседі. Импульстің бітуімен, кірісте қайта төмен деңгей орнағанда, таймердің құрамы импульс ұзақтығының регистрінде сақталады, ал таймер келесі импульс келгенше 0 болып лақтырылады. Оңайлық үшін сұлбада кейбір кідіріс элементтері көрсетілмеген, бұл элементтер таймер мәні ұзақтық регистріне оның лақтырылуына дейін жазылатындығына кепілдік береді.
Импульс ұзақтығы
Мәліметтер шинасы
Кіруші PWM-сигналы
Тактілі сигнал
1.8-суреті. Импульс ұзақтығын ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz