AVR микроконтроллерінің қызмет мүмкіндіктерін зерттеу
6
7
8
Аңдатпа
9
Дипломдық жобаның мақсаты AVR микроконтроллерінің қызмет
мүмкіндіктерін зерттеу болып табылады.
Қызмет мүмкіндіктерін зерттеуге IAR Embedded Workbench IDE
бағдарламалау ортасы пайдаланылды. Жүзеге асыру барысында НТЦ-31.100
оқу стендісі арқылы зерттеу нәтижелері алынды.
Өміртіршілік қауіпсіздігі бөлімінде еңбек ету ортасының еңбек
жағдайына, жұмыс орнына талдау жасалынды. Жұмыс орнында жасанды
және табиғи жарықтандыру бойынша есептеулер жүргізілді.
Бизнес жоспар бөлімінде негізгі күрделі қаржы салымы және
енгізілген ақпараттық жүйеден алынған экономикалық тиімділікке есептеу
жүргізілді.
Аннотация
Целью дипломного проекта является — исследование функциональных
возможностей микроконтроллера AVR.
Для исследование возможностей микроконтроллера использована
среда программирование IAR Embedded Workbench IDE. Результаты
исследование были получены с учебного стенда НТЦ-31.100.
В разделе Безопасность жизнедеятельности проведен анализ условий
труда, рабочего помещения. На основании полученных данных сделан расчет
естественного и искусственного освещения.
В разделе Бизнес план произведен расчет расчет капитальных затрат
и полученной экономической эффективности от внедряемой системы.
Annotation
The purpose of the graduation project is — researching of capability
microcontroller AVR.
For a feasibility study of the micro-controller is used programming IAR
Embedded Workbench IDE. The results of the study were obtained from the
training kit NTC-31.100.
In the section Safety analysis of working conditions, working space.
Based on these data, calculations of natural and artificial lighting.
In the section Business Plan is produced settlement capital costs and the
resulting cost-effectiveness of the system being implemented.
МАЗМҰНЫ
10
КІРІСПЕ
1 МИКРОКОНТРОЛЛЕРЛЕРДІҢ ҚҰРЫЛЫМЫ
1.1 МИКРОКОНТРОЛЛЕРДІҢ ҚҰРЫЛЫМ ЕРЕКШЕЛІКТЕРІ
1.2 AVR МИКРОКОНТРОЛЛЕРЛЕРІ
1.2.1 Atmega128 микроконтроллерін сипаттау
1.2.2 Зертханалық құрылым
2 AVR МИКРОКОНТРОЛЛЕРІН БАҒДАРЛАУ
2.1 ЗЕРТХАНАЛЫҚ ҚҰРЫЛЫМНЫҢ НЕГІЗГІ ЖҰМЫС БУЫНДАРЫ
2.1.1 Нақты уақыттық сағатты бағдарлау
2.1.2 АЦТ және ЦАТ құрылымдарын бағдарлау
2.2 1-WIRE ИНТЕРФЕЙСІ
2.2.1 Дерек таратылымының 1-Wire интерфейсінің
ұйымдастырылуы
2.2.2 Дерек таратылымының 1-Wire интерфейсімен жүзеге
асырылуы
3 БИЗНЕС ЖОСПАР
3.1 ЕҢБЕК СЫЙЫМДЫЛЫҒЫН ЕСЕПТЕУ
3.2 БАҒДАРЛАМАЛЫҚ ҚАМТАМАСЫЗДАНДЫРУ ШЫҒЫНЫН ЕСЕПТЕУ
3.3 БАҒДАРЛАМАНЫ ЕНГІЗУГЕ ЖҰМСАЛҒАН ШЫҒЫНДАРДЫ ЕСЕПТЕУ
3.4 ИГЕРУ САЛАСЫНДАҒЫ ЖЫЛДЫҚ БІР ЖОЛҒЫ ШЫҒЫНДЫ ЕСЕПТЕУ
3.5 ҮНЕМ МЕН ТАБЫС МӨЛШЕРІН ЕСЕПТЕУ
3.6 САЛЫСТЫРМАЛЫ ЭКОНОМИКАЛЫҚ ТИІМДІЛІКТІ ЕСЕПТЕУ
3.7 ЖОБАНЫ ӨТКІЗУДЕ ЭКОНОМИКАЛЫҚ ТИІМДІЛІГІН БАҒАЛАУ
4 ӨМІРТІРШІЛІК ҚАУІПСІЗДІГІ
4.1 КОМПЬЮТЕРЛІК КАБИНЕТТІҢ ЖҰМЫС ЖАҒДАЙЫН ТАЛДАУ
4.2 ЖАСАНДЫ ЖАРЫҚТАНДЫРУДЫ ЕСЕПТЕУ
4.3 ЖАРЫҚТАНДЫРУДЫ КОЭФФИЦИЕНТТІ ҚОЛДАНУ ӘДІСІМЕН ЕСЕПТЕУ
4.4 ЖАРЫҚТАНДЫРУДЫ НҮКТЕЛІК ӘДІС БОЙЫНША ЕСЕПТЕУ
ҚОРЫТЫНДЫ
ӘДЕБИЕТТЕР ТІЗІМІ
ҚОСЫМША А
ҚОСЫМША Б
ҚОСЫМША В
11
12
14
14
16
18
20
27
27
27
30
42
42
48
55
56
58
61
62
64
64
65
70
70
73
73
76
79
80
81
85
91
КІРІСПЕ
Қазіргі замaнда әртүрлі өндіріс сaлалaры мен тұрмыс қажетінде
пайдаланылатын алуaн түрлі техникaлық құралымдaр жұмысының
басқaрылуы цифрлық техникa негізінде жүзеге асырылaтындығы белгілі.
Басқaру жұмысының белгіленген
тәртіппeн
жүзeге асырылуы үшін
бекітіленген мезгілдерде басқaрылым объектісінің параметрлері өлшеніп
және басқaрушы құрылымның сәйкeсті жaғдайы aнықталып, aлынған
мәліметтерге қажетті түрлендірілімдер aрқылы өңдеу жүргізіліп, нәтижесінде
басқaру сигналдары тудырылaды да, олардың сәйкесті іс-әрекетімен
объектінің жағдайы қажетті бaғытқа өзгертіледі. Келтірілген жұмыстaрдың
жүзеге асырылуын, жaлпылама түрдe микропроцессорлық жүйе деп
аталатын, микропроцессор негізіндегі электрондық құрылымдaр атқарады.
Микропроцессорлық жүйені кіріс сигнaлдарын өңдеу aрқылы қажетті
техникaлық құрылғының жұмысын басқaру жұмысын жүзeге асыратын
шығыс сигналдaрын қaлыптастырушы электрондық жүйенің жеке бір түрі
ретінде қарастыруғa болады.
Микропроцессорлық техникaны айтарлықтай деңгейде игеру үшін,
микропроцессорлық жүйе жұмысының жүзeге aсырылу барысын толықтай
түсіну үшін, aлдымен жүйенің негізгі қызмет буындарының өзара іс-
әрекеттерінің ұйымдастырылу принциптерін игеру керектігін түсіну қиын
емес. Микропроцессорлық жүйе құрaмындағы әртүрлі қызмeт блоктарының
құрылымын түсінумeн қатaр олaрдың өзара іс-әрекеттерінің
ұйымдaстырылым тәртібін, яғни микропроцессорлық жүйeнің қойылған
талапқа сай жұмыс істеу бағдaрламаларын құру тәсілдeрін игеру керек
болады. Демек, микропроцессорлық жүйе жөніндe толық білім алу үшін,
оның аппaраттық бөлігін де, бағдарламалық бөлігін де игеру керек.
Микропроцессорлық техниканы игеругe байланысты тағы бір маңызды
мәселе, ол микропроцессорлық жүйелердің қазіргі зaмандағы ең таралған
түрі — микроконтроллерлeр негізінде нақтылы қызмет атқаруға арналған
арнайы жүйелерді жобалау жұмыстaрының жүзeге асырылу жолдарын игеру,
яғни микроконтроллерлердің командaлар жүйесінің
құрамындағы
командалардың орындaлу ереккшеліктерін ұтымды пaйдалана отырып,
сәйкесті жұмыс бағдарлaмаларын құра білу.
Микропроцессорлық жүйe құрaмындағы әртүрлі қызмет блоктaрының
құрылымы мен олaрдың өзара іс-әрекеттерін ұйымдaстыру принциптерін
игеру негізінде сәйкeсті пәнді оқыту бaрысындағы зертханалық сабақтар
арқылы жүзеге асырылады. Сондықтан, бұл мәселeні шешу үшін осындай
құрылымдарға бaйланысты зертханалық жұмыстaр қойылып, олардың
мазмұны, көлемі техникaлық қамтамасыздандырылуы жағымен қатaр
әдістемелік жағынан да қарастырылуының қажеттігі түсінікті.
Осы aйтылғандарға байланысты, мeнің бакалавриаттық шығарым
жұмысым
ретіндe, микроконтроллерлердің
комaндалар жүйесінің
құрамындағы командалардың орындалу ереккшеліктерін анықтап, оларды
12
сол ерекшеліктеріне байланысты ұтымды пайдалану арқылы бірнеше түрлі
қызмет атқаратын, микроконтроллeрлік жүйелер құрып, олардың жұмыс
бағдарламаларын құру және олардың негізінде оқу процесіне қолдануға
жарамды сәйкесті ұсыныcтар беру тапсырылды.
Шығaрым жұмысыма қойылған тапсырмaны орындaу мынадай жеке
мәселелерді шешу aрқылы орындалды:
микроконтроллерлeрдің жaлпылама құрылымымен және олардың
ішкі құрaма бөліктемелерінің, яғни сәйкесті қызмет буындaрының құрылым
принциптерімен танысу;
AVR микроконтроллерлерінің сәйкeсті өндірістe шығaрылатын,
құрылым мен жұмыс мүмкіндіктeрі жaғынан ерекше түрлерімен танысып,
олардың ішінде сәйкесті пәнді оқыту барысындағы зертханалық сабақтарға
пайдалануға ыңғайлы түрін таңдау;
1 — Wire интерфейсі aрқылы дeрeк таратылымын зерттеп, жүзеге
асыру жолдарын түсіндіріп, бағдарламалар құру;
AVR микроконтроллерінің құрама буындарының жұмыс
мүмкіндіктері мен оның командаларының орындалу ерекшеліктеріне
негізделген құрылымдар құрып, олардың сәйкесті жұмыс бағарламаларын
дайындау және оларды зерттеу.
Бакалавриаттық шығарым жұмысымa қойылған тапсырмaның
және
оған байланысты туынды мәселелердің шешілу барысы жұмыс жазбасында
келесі тәртіппен баяндалды:
Бірінші
бөлімде
микроконтроллeрлердің жaлпылама құрылымы,
нақтылы түрде AVR микроконтроллерінің құрылымы мен түрлері қысқаша
баяндалып, екінші бөлімде AVR микроконтроллерінің негізінде техникалық
қолданымға арналған бірнеше құрылымның жұмыс бағыты баяндалып,
сәйкесті жұмыс бағдарламаларының жалпылама түсініктемесі келтірілді.
Үшінші тарауда істелгeн жұмысыма байланысты экономикалық
есептеу нәтижелері кeлтіріліп, төртінші тарауда өміртіршілік қауіпсіздігі
мәселелeрі талқыланды.
13
1 Микроконтроллерлердің құрылымы
1.1 Микроконтроллердің құрылым ерекшеліктері
Микроконтроллер — бір чипке сиятын компьютер. Ол жадыдан,
процессордан және кіріс-шығыс порттарынан тұратын интегралды жүйе
болып табылады. Микроконтроллер белгілі бір қойылған тапсырманы
орындау үшін бағдарламаланады. Егер оның қызметін өзгерту немесе
толықтыру қажет болған жағдайда чипке қайта бағдарламаны жүктеу қажет.
Микроконтоллерлердің кәдімгі компьютерлерден айырмашылығы келесідей:
барлық функциялар бір ғана кіші және ыңғайлы мөлшерде
орналасады;
нақты тапсырманы орындау үшін бағдарламаланады;
аз көлемде
энергиямен қоректенеді. Себебі физикалық
параметрлеріне қарай аз мөлшерде ғана энергия қорымен қамтамасыз етіледі;
бірбағытты кіріс-шығыс порты бар. Перифериялық құрылғылармен
байланыс орнатылатындықтан тиімді болып табылады.
Микроконтоллерді күнделікті
адам қолданатын көптеген
құрылғылардан, мысалы үй техникасынан, қозғалыс құралдарынан және тағы
басқалардан кездестіруге болады. Қазіргі таңда микроконтоллерді
бағдарламалаудың қызметтік және пайдаланушылық мүмкіндіктері
артқандықтан кеңінен қолданысқа ие болып отыр.
Микроконтоллерлердің ең кең таралған түрлері:
Atmel AVR (ATmega, ATtiny және т.б.) микроконтоллерлері;
Microchip Technology PIC (PIC16, PIC24 және т.б.)
микроконтоллерлері;
ARM технологиясына негізделген микроконтоллерлер.
Қарастырып отырған микроконтоллерлердің ішінде тиімдірегін
анықтау үшін сапасына қарай 4 категорияға бөлеміз: бағасы, физикалық
сипаттамасы, құрылым ортасы және техникалық қолдау. Физикалық
сипаттамасы бойынша келесідей болып табылады:
процессордың жұмыстық жиілігі — чиптің жұмыс жылдамдығын
анықтайды;
бағдарламаның жады — чипке жүктелетін максимал көлемін
анықтайды;
деректерді сақтау жадысының көлемі — бағдарламаның өңделу
көлемін көрсетеді;
кіріс пен шығыстың саны және оны тағайындау — әртүрлі
өткізгіштің әртүрлі мүмкіндіктері бар;
таймер саны — уақыт критерийлерінің орындауы үшін маңызды;
энергияны пайдалану — мобильді қосымшаларда маңызды болып
табылады.
14
Микроконтроллер — электронды құрылғыны басқаруға арналған
микросхема. Қарапайым микроконтроллер жедел есте сақтау құрылғысынан
және тұрақты есте сақтау құрылғысынан тұрады, оның бір кристаллы
процессор мен сыртқы құрылғы қызметін атқарады.
Микроконтроллерлер басқару саласында компьютерлік
автоматтандыруды жаппай қолдану кезінен кеңінен пайдаланыла басталды.
Контроллер дегеніміз басқару. Ең алғашқы і8048 микроконтроллерді
америкалық Intel фирмасы 1976 жылы шығарған болатын. 1978 жылы
Motorola фирмасы МС6801 микроконтоллерін шығарды. Төрт жыл уақыт
өткеннен кейін Intel фирмасы і8051 микроконтоллерін нарыққа шығарады.
Осы микроконтоллер пайдалу жағынан ыңғайлы, құрылғының ішкі және
сыртқы бағдарламалық жады икемді және бағасы қолжетімді болғандықтан
нарықта і8051 микроконтоллері фирмаға көп табыс әкелген болатын.
Микроконтроллердегі жедел есте сақтау құрылғысында бағдарламаны
және деректерді сақтайтын энергияға тәуелсіз жады болады. Кейбір
микроконтроллерлерлерде сыртқы жадыны қосатын шина мүлдем болмайды.
Жадыға жазу тек бір рет қана жүзеге асады.
Микроконтроллерлерлерде келесідей перифериялар болады:
кіріс және шығысты баптауға болатын әмбебеп цифрлық порттар;
UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet
сияқты әртүрлі
интерфейстер;
аналогты -цифрлық және цифрлы — аналогтық түрлендіргіштер;
компараторлар;
кең импульсті модулятор;
таймерлер;
дисплей мен пернетақта контроллері;
радиожиілікті қабылдағыш мен таратқыш;
флеш жады;
орнатылған тактілік генератор;
Өндірісте шығарылатын микроконтроллерлердің әйгілі түрлері:
MCS 51 (Intel);
MSP430 (TI);
ARM (ARM Limited);
AVR (Atmel);
PIC (Microchip);
STM8 (STMicroelectronics).
Микроконтроллерді түрлі басқару саласында және жеке бөліктерде
пайдалану:
есептеу техникасында: аналық плата, қатты және илгіш дисктер
контроллерінде, CD және DVD, есептеу аппараттары;
электронды басқару жүйесі қолданылатын, элекроника және
тұрмыстық техникада: кір жуу машиналары, микротолқынды пештер, ұялы
телефондар және қазіргі заманғы аспаптар;
15
өндірісте: өнеркәсіптік автоматика құрылғылары, білдекпен басқару
жүйесі.
Микроконтроллерлерді бағдарламалау Си және ассемблер тілдерінде
жүргізіледі. Фортран мен Бейсик тілдерінің де компиляторы бар.
Микроконтроллер үшін Си тілінің келесідей белгілі компиляторлары бар:
GNU Compiler Collection;
Small Device C Compiller;
CodeVisionAVR (AVR үшін);
IAR (кез келген МК үшін);
WinAVR (AVR және AVR32 үшін);
Keil (8051 және ARM үшін);
HiTECH (8051 және PIC үшін);
CooCox (ARM үшін).
Бағдарламаны қалыптау үшін арнайы бағдарламалық симуляторлар,
ішкісхемалық эмулятор және JTAG интерфейсі қолданылады.
Қазіргі таңда микроконтроллерлер қарапайым микротолқынды пештен
күрделі басқару жүйелеріне дейін өміріміздің барлық саласында қолданыс
табуда.
Микроконтоллерлер туралы айта келе, келесідей қорытынды жасауға
болады, яғни микроконтроллерлер қарапайым схемалардағы
микропроцессорлардың орнын басты,
құрастырушының жұмысын
жеңілдетті, өнімді арзан әрі қолжетімді жасады.
Осы дипломдық жобада Atmel компаниясының АVR
микроконтроллерлері зерттелінеді.
1.2 AVR микроконтроллерлері
AVR бұл Atmel
компаниясы шығаратын RISC 8-битті
микроконтроллерлер топтамасы болып табылады. AVR
микроконтроллерінің Гарвардтық архитектурасы, жеке бағдарламалық
жады және деректер жады бар.
Бағдарлама үшін ішкіжүйелік қайта жазушы Flash жады және
статикалық деректерге арналған EEPROM жадысы орналасқан. Тактілік
жиілігі 16 МГц-ке дейін жетеді.
AVR микроконтроллерлерінің басым бөлігін бағдарламалық жады
үлкен көлемді серия megaAVR құраса, қалған бөлігін tinyAVR сериялы кіші
корпусты микроконтроллер құрайды. Одан бөлек USB, CAN, LCD, ZigBee,
автоматтар, жарықты басқару және жинақтауыш қорек көзі бар
құрылғыларға арналған сериялары бар.
Барлық AVR-де Flash-жады бағдарлама бар, ол 1-ден 256 кбайтка
дейінгі әртүрлі мөлшерде болады. Оның ең басты ерекшелігінің бірі —
электрлік қайтабағдарламалау негізінде құрылуы. Яғни, бірнеше мәрте
ақпаратты өшіріп, қайта жазуға болады.
16
1.1 Сурет — АVR микроконтроллерінің түрлері
Деректер жады үш бөліктен тұрады: регистрлік жады, оперативті жады
(ОЗУ) және энергияға тәуелсіз жады (EEPROM).
Регистрлік жады 32 жалпы тағайындалған, құрама файл регистрлерден
және қызметтік кірісшығыс регистрлерден тұрады.
Деректерді ұзақ уақыт аралығында сақтау және микроконтроллерлік
жүйенің қызметін өзгерту барысында қолдану үшін EEPROM жады
қолданылады. EEPROM 64 байттан 4 кбайтка дейінгі энергияға тәуелсіз
электрлік қайта жазу блоктарынан тұрады. EEPROM жады аралықтағы
деректерді сақтауға өте ыңғайлы.
Ішкі жедел статикалық жады Static RAM (SRAM) байттық форматта
болады және деректерді жедел сақтауда қолданылады. RAM-ға жазу және
оқуға шектеу жоқ, бірақ қорек көзін кернеуден алғанда барлық ақпарат
жоғалуы мүмкін.
AVR микроконтроллерінің перифериясына порттар, таймер-есептеуіш,
бақылау таймері, аналогты компараторлар, 10 разрядты 8 арналы АЦТ,
UART, JTAG, SPI интерфейстерінен, кең импульсті модулятордан тұрады.
Микроконтроллердің ең маңызды бөлігі — үзіліс жүйесі. Барлық AVR
микроконтроллерлерде көпдеңгейлі үзіліс жүйесі бар. Үзіліс бағдарламаның
жұмыс кезінде ішкі және сыртқы жағдайды анықтау үшін басым тапсырманы
орындайды.
AVR микроконтроллерлері сегіз немесе он алты битті разрядты бірден
төртке дейінгі таймересептегіштен тұрады, олар таймер ретінде де және ішкі
тактілік жиілікті есептегіш болып жұмыс жасайды. Таймер-есептегішті
нақты уақыттық интервалдарды құру, микроконтроллер шығысындағы
импульстарды есептеу, ретті импультерді құру және қабылдап-жіберу ретті
байланыс арнасын тактілеу үшін қолданылады.
Аналогты компаратор микроконтроллердің екі шығысындағы кернеуді
салыстырады. Салыстыру нәтежиесінде бағдарламадан оқылған логикалық
17
мән шығады. Аналогты компаратор mega8515-тен басқа соңғы шыққан
барлық AVR — де бар.
Аналогты-цифрлық түрлендіргіш оның кірісіне берілген кернеуді
сандық мәнде алу үшін қызмет етеді. Оның нәтежиесі АЦТ деректер
регистрінде сақталады.
Ретті перифериялық үшсымды SPI интерфейсі екі құрылғы арасында
ақпаратпен алмасуды ұйымдастыруға арналған. Оның көмегімен цифрлық
патенциометр, АЦТ, ЦАТ, Флеш-ПЗУ т.б. әртүрлі құрылғылар маен
микроконтроллер арасында ақпарат амау жүзеге асады. Осы интерфейс
негізінде микроконтроллерді бағдарламалау жүргізіледі.
JTAG интерфейсі алдыңғы қатарлы мамандар тобы шығарған
электронды компоненттерді тестілеу үшін құрастырылған. Төртсымды JTAG
интерфейсі ішкіжүйелік қалыптауда, микроконтроллерді
бағдарлауда
қолданылады.
AVR 1,8-ден 6 вольт кернеуінде қоректеніп, қызмет етеді. Активті
режимде тоқты пайдалану қоректену кернеуі мен жиілігіне тәуелді.
AVR микроконтроллерлерін сипаттай келе, зерттелетін жұмыста
ATmega128 микроконтроллері таңдалып алынды.
1.2.1 Atmega128 микроконтроллерін сипаттау
ATmega128 — аз қуатты, 8 разрядты кеңейтілген AVR RISC —
архитектурасына негізделген микроконтроллер. Көптеген нұсқауларды
орындау негізіндегі бір машиналық цикл ішіндегі ATmega128-дің өнімділігі
1млн. операция секундМКц-ке жетеді. Бұл жобалаушыға энергияны
пайдалану және тезәрекеттілік қатынасында жүйені оптимизациялауға
мүмкіндік береді. Келесі 1.2 суреттен ATmega128-дің шығыстарын көруге
болады.
18
1.2 Сурет — ATmega128 кірістері
ATmega128 AVR микроконтроллерінде ішкіжүйелі бағдарламаланатын
128 кбайтты сыйымдылықты флеш-жады, 4 кбайт тұрақты есте сақтау
құрылғысы (ПЗУ), 4кбайт статикалық жедел есте сақтау құрылғысы (ОЗУ)
орналасқан. Сыртқы жадыға 64 кбайтқа дейінгі адрестеу мүмкіндігі бар.
AVR ядросында 32 әмбебап жұмыстық регистр орналасқан. Барлық
сегіз разрядты 32 регистр арифметикалы-логикалық құрылғыға қосылған. Ол
екі түрлі регистрді бір нұсқауда көруге мүмкіндік береді және оны бір циклда
орындайды.
Ішкіжүйелік құрылған бағдарламалаушы флеш-жады бағдарламаның
жадын ішкі жүйе арқылы ретті интерфейс SPI арқылы қарапайым
прогрмматор немесе жүктеу секторында автономды бағдарламалармен қайта
орындауға мүмкіндік береді.
ATmega128 толықтай бағдарламалар жинытығы мен жобалау үшін
аппаратты әдістерде байланыс жасауға болады. Оған Си компиляторы,
19
макроассемблер, бағдарламалық қалыптаушысимулятор және бағалау
жиынтығы кіреді.
ATmega128 арнайы мүмкіндіктеріне қорек көзін беру кезінде тастау
және қоректену кезінде кернеуді азайту кезіндегі тазату, ішкі және сыртқы
үзіліс көздерін, тактілік жиілікті таңдау, барлық кіріс пен шығыстағы
созатын резистрлерді жалпы сөндіруді, жұмыстық 4,5 — 5,5 В кернеуін
жатқызуға болады.
1.2.2 Зертханалық құрылым
Дипломдық жобада зерттеуге арнайы оқу стенді НТЦ — 31.100
пайдаланылды және бағдарламалау ортасы ретінде IAR Embedded Workbench
IDE таңдалынды. Осы бөлімде қысқаша сипаттама берелік.
СУ-МК НТЦ
—
31.100 оқу стенді AVR микроконтроллерлер
топтамасын оқып үйренуге негізделген және микропроцессорлік техникада
қолданылады, арнайы есептерді шешу, ақпаратты жинау, сақтауға және
өңдеуге қолданылады. Стенд 8 разрядты ATmega128 микроконтроллері
негізінде құрылған. Ол компьютермен RS-232, USB интерфейстері арқылы
байланысады.
Стендтің басқару бөліктері 1.3 суртте көрсетілген.
1.3 Сурет — СУ-МК НТЦ — 31.100 оқу стендінің алдыңғы панелі
Алдыңғы панелінде келесі басқару бөліктері орналасқан:
дискретті жарықдиодты индикатор (ДСИ1…ДСИ10 аралығындағы
10 жарықдиодтары) (1);
сегізтаңбалы жетісегментті жарықдиодты индикатор ССИ (2);
қалыптамалық сұйықкристалды индикатор МЖКИ (3);
20
аналогты сигналды шығыс индикаторы ЦАП-ЛСИ (4);
кірістегі аналогтық сигнал имитаторы АЦП АД1…АД3 (5);
дискретті сигнал датчигі (6);
тазарту батырмасы (7);
12 батырмалы КЛ (8).
Оқу стендінің артқы панелі келесі 1.4 суретте көрсетілген.
1.4 Сурет — СУ-МК НТЦ-31.100 оқу стендісінің артқы панелі
Оқу стендінің артқы панелінде келесі тетіктер орналастырылған:
қорек көзін сөндіріпқосу (1);
RS232 ажыратып-қосқыш арқылы компьютермен стендті қосу (2);
RS422RS485 ажыратып-қосқыш арқылы стендке сыртқы
құрылғыларды қосуға арналған (3);
USB ажыратып-қосқыш арқылы компьютермен жеке компьютерді
байланыстаруға арналған (4);
сыртқы құрылғылар ажыратып-қосқыш арқылы қосымша
құрылғыларды қосуға арналған (5);
SD CARD стендке FLASH — карта жадын қосу (SD, MMC) (6).
Стенд құрамында келесі жұмыс буындары орнатылған:
өндірісте: өнеркәсіптік автоматика құрылғылары, білдекпен басқару
жүйесі;
ATmega128 микроконтроллері;
JTAG ICE модулі. Бұл модуль қолданбалы бағдарламаны аппарат
ішіндегі схеманы калыптауды жүзеге асырады;
дискретті 10 ажыратып-қосқыш;
дискретті 10 жарықдиодты индикатор;
7 сегментті динамикалық 8 символдық индикатор;
сұйықкристалды қалыпты индикатор (2 жолды 16 символ);
қалыптамалы пернетақта (12 батырма);
аналогты-цифрлық түрлендіргіш;
АЦП жұмысын зерттеуге арналған аналогтық сигнал имираторы;
ЦАП жұмысын зерттеуге арналған аналогтық сигнал имираторы;
21
USB порты;
ретті порт RS232;
деректерді сақтауға арналған dataflash 512 байттық жады;
SPI шинасы;
I2C шинасы;
SDMMC шинасы;
SD Memory Card қосуға арналған ажыратып қосқыш.
Стенд келесі үш режимде жұмыс жасайды:
қолданушының бағдарламаны жүктеу режимі;
қолданушының ішкісхемалық бағдарламаны қалыптау режимі;
қолданушының бағдарламаны нақты уақыт масштабында орындау
режимі.
Қолданушының ішкісхемалық бағдарламаны қалыптау режимі келесі
мүмкіндіктерді қамтамасыз етеді:
негізгі мәтін бойынша берілген бағдарламаның орындалуын
қадағалау (С және ассемблер тілінде жазу);
бағдарламаның рет бойынша қалыпталуын;
бағдарламаны тоқтату, үзіліс жасау;
регистрлердегі кіріс пен шығысты модификациялау.
Жеке компьютерге қойылатын талаптар:
қолданушының бағдарламаны нақты уақыт масштабында орындау
режимі;
операциялық жүйе: Microsoft Windows 7, Microsoft Windows XP;
байланыс порттары: USB;
процессор: Intel Atom 1600 MHz;
жедел жады: 512 MB;
ақпаратты енгізу құрылғысы: пернетақта, тышқан;
ауыстырмалы оқу тасушы құрылғысы: CD-ROM.
НТЦ-31.100 оқу стендісінің жалпы түрі 1.5 суретте келтірілген.
22
1.5 Сурет — НТЦ-31.100 оқу стенді
Құрылым бағдарламалы IAR Embedded Workbench ортасында жұмыс
істеуге бағытталған. IAR Embedded Workbench — С, С++ және ассемблер
тілдерінде әртүрлі микроконтроллерлерге қосымша құрастыруға арналған
көпқызметтік орта. Бағдарламалау ортасының негізгі артықшылығы — нақты
уақыттағы әртүрлі операциялық жүйелерде жүзеге асуы және JTAG —
адаптері орналасуында. Қазіргі таңда IAR Embedded Workbench 8-, 16-, 32-
разрядты Atmel, ARM, NEC, Analog Devices, Freescale, NXP, Samsung,
Renesas және т.б. компаниялардың микроконтроллерлерімен
жұмыс
жасайды. Әрбір платформа үшін өз құру ортасы бар.
Бағдарлама құрамындағы оның жеке жұмыстарға арналған
бөліктемелеріне қысқаша түсініктеме бере кетелік.
СС++ компиляторы — ең тиімді компилятор, онда ANSI C толықтай
қамтылған.
Ассемблер трансляторында микроассемблер және СС++ компиляторы
үшін бағытталған препроцессор орналасқан.
Си тілінің синтаксисіне арналған мәтіндік редакторы бағдарламалық
кодтағы қателікті автоматты түрде көрсетеді. Оның құрал-сайман панелінде
ыңғайлы пайдаланушылық интерфейсі бар.
Жұмыстық модульдерді басқару және жеңілдетуге арналған жоба
менеджері бар.
23
Си және ассемблер тілдеріне арналған қалыптауыш пен симулятор.
Қалыптауыш арқылы EEPROM, DATA, CODE аймағын, кірісшығыс
регистрлерін және аялдау нүктелерін көруге және үзілісті болжауды өңдеуге
болады.
Бағдарлама құру үшін алдымен жұмыс кеңістігін құрамыз. Оны құру
үшін NewWorkspace деп таңдалынады. Жаңа жобаны немесе бағдарламаны
жұмыс ортасында құрылған Create New Project арқылы микроконтроллерді
және бағдарламамалау тілін таңдап аламыз. Келесі 1.6 суретте негізгі беті
көрсетілген.
1.6 Сурет — Бағдарлама құру
1.7 Сурет — Бағдарламалау ортасы
24
Бағдарламалауды жүзеге асырмас бұрын микроконтроллер түрі,
бағдарламалау интерфейсі, байланыс порттары таңдалып алынады. 1.8
суретте Options категориясынан AVR микроконтроллерінің түрі ATmega128
таңдау бөлігі көрсетілген. 1.9 суреттен JTAGICE интерфейсінің таңдалуы
келтірілген.
1.8 Сурет — Микроконтроллерді таңдау
1.9 Сурет — Бағдарламалау интерфейсін таңдау
25
Бағдарламалаушы интерфейсті анықтағаннан кейін, жұмыс істеу
жиілігін, компьютер мен стенд байланысының портын орнату керек. 1.10
суретте жұмыс істеу жиілігін 540 кГц екендігін, байланыс порты СОМ 6
қойылғандығын көруге болады.
1.10 Сурет — Стендпен байланыстыру портын таңдау
26
2 AVR микроконтроллерін бағдарлау
AVR микроконтроллерінің командалар жүйесіндегі командалар арқылы
оның жұмысын бағдарлау жолдарын қарастыралық.
AVR микроконтроллерлерінің жұмыс бағдарламасын IAR Embedded
Workbench IDE аталымды бағдарламалау ортасында жазып, бұл
бағдарламаны оның құрамындағы әртүрлі виртуалды перифериялық
құрылғыларды тікелей пайдалану арқылы баптау өте ыңғайлы келеді.
Осы бөлімде қарастырылатын AVR микроконтроллерінің әртүрлі
бағыттағы жұмысын ұйымдастырушы бағдарламалар оның командалар
жүйесіндегі командалардың пайдаланылу және орындалу ерекшеліктерін
біртіндеп таныстыру тәсілімен құрылған.
2.1 Зертханалық құрылымның негізгі жұмыс буындары
2.1.1 Нақты уақыттық сағатты бағдарлау
Интегралды нақты уақыт сағаттарының микросхемасына тұрақты
кварцты генератор, секунд, сағат, күн, ай, жылдың санын анықтайтын
есептегіштен, басқару логикасынан, сыртқы интерфейстер схемасынан,
резервті қорек көзінен тұрады. Генератор үшін 32,768 КГц жиілік
қолданылады. Екілік бөлгіш арқылы одан 1 Гц жилілік алуға болады.
Логикалық есептегіш кібісе жылдарды кең диапозонда есептейді. Батареялық
қорек көзі сағат жұмысының қорек көзі бар-жоқтығына қарамастан жұмысын
жалғастыруын қамтамасыз етеді. Микросхема жиі қосымша қызметтік жады,
ұйқыашар сиақты блоктармен жабдықталған.
Нақты уақыт сағаты DS1307 микросхемасының ерекшеліктерін
қарастыралық. Ол уақытты секуднпен, минутпен, сағатпен, ай мен күнді,
апта күндерімен, жылмен есептеуге мүмкіндік береді. Деректерді сақтауға 56
байт энергияға тәуелсіз
қызмет жадысы (ҚЖ),
тіктөртбұрышты
импульстарды бағдарламалау генераторы, негізгі қорек көзін автоматты
түрде өшіруді таңдау және резервті қосу бар.
Микросхема DS1307 DIP типті 8-байланысы бар корпусқа орналасқан.
Микросхемада 7-битті 1101000 идентификатор бар.
Адрестік кеңістігін келесі 2.1 кестеде көрсетілген.
27
2.1 Кесте — Адрестік кеңістік
Уақыт пен күнтізбе сәйкес келетін регистрлерге жазылады. Бит 7
0-регистрінің — сағатты тоқтатуы. 0-ді жазғаннан кейін 0-регистріне 7-ші
битіне жазыла басталады.
Atmega128 микроконтроллерін пайдаланып, оқу стенді НТЦ-31.100
арқылы сұйықкристалды индикаторға уақытты орнату және өзгерту
бағдарламасын жазып, қызметін келтіретін болсақ.
Жоғарыда DS1730 микросхемасы арқылы нақты уақытты орнатуға
болатындығын айтылып өтті. Схема жұмысын жүзеге асыру үшін Си
тіліндегі бағдарламалау кодын IAR Embedded Workbench арқылы тексеріп,
JTAG интерфейсі арқылы микроконтроллерге жазуды бастайды. Алдымен,
микроконтроллерлердің кірістері анықталады. Кірістері
келтірілген.
28
2.2
кестедеАдре
с
Бит 7
Бит 6
Бит 5
Бит 4
Бит 3
Бит 2
Бит 1
Бит 0
Функция
Диапазон
0х0
СН
10-шы секунд
Секундтар
Секундтар
00-59
0х1
0
10-шы минут
Минуттар
Минуттар
00-59
0х2
0
12
24
10
сағат
PM
AM
10-
шы
сағат
Сағатттар
Сағаттар
1-
12+АМ+Р
М 00-23
0х3
0
0
0
0
0
Апта күндері
Күн
01-07
0х4
0
0
10-шы
мерзім
Мерзім
Мерзім
01-31
0х5
0
10-
шы
ай
Айлар
Айлар
01-12
0х6
10-шы жыл
Жылдар
Жылдар
00-99
0х7
Out
0
0
0
0
RS1
RS2
Басқару
0х8-
0хF
ЖЕҚ 56-8
0х0-0хF
2.2 Кесте — Микроконтроллер порттарын анықтау
Сурeттeме ретінде бағдарлама кодының келесі мысалын келтірелік:
Секундтар
tmp = (time[10] & 0x7) 4;
tmp = time[11] & 0xF;
rtc_write_byte(0, tmp);
Минуттар
tmp = (time[8] & 0x7) 4;
tmp = time[9] & 0xF;
rtc_write_byte(1, tmp);
Сағат
tmp = (time[6] & 0x3) 4;
tmp = time[7] & 0xF;
rtc_write_byte(2, tmp);
Күн
tmp = (time[0] & 0x3) 4;
tmp = time[1] & 0xF;
rtc_write_byte(4, tmp);
Ай
tmp = (time[2] & 0x1) 4;
tmp = time[3] & 0xF;
rtc_write_byte(5, tmp);
tmp = rtc_read_byte(5);
Жыл
tmp = (time[4]) 4;
29 Сигналдар атауы
Микроконтроллер порттары
Пернетақталық матрица сигналдары
Adis0
Adis1
Adis2
PC.0 — шығыс
PC.1 — шығыс
PC.2 — шығыс
Басылатын батырмаларды санау
кірістері
COL1
COL2
COL3
PC.0 — кіріске
PC.1 — кіріске
PC.2 — кіріске
СКМИ сигналдарын басқару
DB4…DB7
RS
RW
E
PF.0…PF.3 — кіріске
PD.7 — кіріске
PD.5 — кіріске
PE.2 — кіріске
ДД1, ДД2
PG.0, PG.1 — кіріске
ДСИ1, ДСИ
PG.4, PG3 — кіріске
tmp = time[5] & 0xF;
rtc_write_byte(6, tmp);
Алынған мәндерді оқу стендісіндегі сұйықкристалды матрицалық
индикаторға шығарып көреміз. Нақты уақытты бағдарлама бойынша
орнатамыз, өзгерту жасаймыз. 2.1 суреттен оқу стендісіне шыққан нәтижені
көруге болады.
2.1 Сурет — Нақты уақыттық сағат
2.1.2 АЦТ және ЦАТ құрылымдарын бағдарлау
Микроконтроллер
—
цифрлық сигналдарды қабылдайтын және
солармен жұмыс істейтін цифрлық құрылғы. Айналамыздағы барлық сигнал
аналогты түрде берілетін жарық, температура, қысым, ылғалдылық,
дыбыстар әрқашан үздіксіз физикалық шамаларын өзгертіп отырады.
Аналогты сигнал шығару үшін көптеген AVR микроконтроллерлерінде
аналогты-цифрлық түрлендіргіш орналасады.
Аналогты-цифрлық
түрлендіргіш аналогты сигналды микроконтроллерге түсінікті болатын
цифрлық түрге ауыстырады. Қазіргі таңдағы барлық микроконтроллерлер 10
битті АЦТ-дан тұрады. Ол 1024 мәнді дискреттілікпен цифрлық түрге
30
айналдыруға мүмкіндік туғызады. Бұл кернеуді жеткілікті мәнде өлшеуге,
көрсеткіштерді алуға болатын әртүрлі аспаптарда (датчик) қолданылады.
Аналогты-цифрлық түрлендіргіштерінің әртүрлі құрылу схемалары
болады. Олар бір бірінен жүзеге асыру қиындығы, тезәрекеттілігі, кедергіге
тұрақтылығы жағынан өзгешеленеді. Негізгі белгісі жылдамдылық болып
табылатын жүйелерде АЦТ-ның праллель түрлендіру түрі қолданылады.
Жоғары кедергіге төзімді жүйе құру үшін интергалдау АЦТ
қолданылады. Мұндай АЦТ екі түрлендіргіштен тұрады. Өлшенетін кернеу
импульс ұзақтығына қарай түрленеді, кейін импульс ұзақтығы цифрлық
кодқа айналады.
Ең кең таралған схема сигналдарды салыстыруға негізделген. Ол цифр
аналогты түрлендіргіш пен кіріс аналог сигналын шығарады. АЦТ осы
принципке негізделіп құрылады.
Зерттеу барысында НТЦ-31.100 стендінде жиналған схемалардың бірі
AD7417 арқылы аналогты-цифрлық түрлендіргішті пайдалану арқылы
бағдарлама жазамыз.
AD7417 микросхемасы 10-разрядты аналогты сигнал қалыптастыруға
негізделген. Негізгі сипаттамалары:
түрлену уақыты — 15 мкс;
аналогты кіріс сандары — 4;
температуралық датчик — 55°С…+125°С;
қорек көзі кернеуінің диапазоны — 2,7 В…5,5 В.
Микросхеманың шартты белгісі 2.2 суретте көрсетілген.
2.2 Сурет — Микросхеманың шартты белгісі
AD7417 микросхемасы 16-контакті SOIC типті корпуста орнатылған.
Оның шығыстары 2.3 кестеде берілген.
31
2.3 Кесте — AD7417 микросхемасының шығыстары
Адрес регистрі 8 разрядты, мұндағы 6 деректер регистрінің біріне адрес
сақталады. Адрестеу үшін тек 3 кіші бит регистрлері қолданылады.
Температура мәнінің регистрі 16 битті регистрден тұрады. Ол тек оқуға
рұқсат етеді. Екілік сандар 10 0000 0000 мен 11 1111 1111 температураны —
127°С…-0,25°С аралығында кодтайды, ал 00 0000 0000 мен 01 1111 1100
сандары 0°С-ден +127°С-ге дейін кодтайды.
Басқару регистрі 8 битті регистрден тұрады және ол микросхеманың
жұмысы туралы ақпаратты енгізеді, жазады және оқиды. 2.4 кестеде деректер
регистрінің адрестері берілген.
2.4 Кесте — Деректер регистрінің адрестері
32 Шығыстарының
белгіленуі
Номер
Тағайындалуы
VDD
14
Қорек көзі
GND
6
Жер
SDA
2
Біртекті екіжақты I2C интерфейсінің
деректері.
SCL
3
I2C интерфейсінің цифрлік тактілік
импультер кірісі.
OTI
4
Температура шегінен асыруының
цифрлы сигнал индикаторының
шығысы.
REFin
5
Сыртқы тірек кернеуінің шамасы 2,5 В.
CONVEST
15
АЦТ цифрлы кіріс сигналдарының басы.
Егер CONVEST импульсы 4 мкс көп
болса, онда теріс фронт түрлендіргіш
циклын жібереді.
Ain1…Ain4
7…10
Аналогты кіріс каналдары.
A0…A2
11…13
I2C интерфейсі үшін үш
бағдарламалаушы бит адресінің
микросхемасы.
Адрестердің кіші биттері
Адрестелетін регистр
Р2
Р1
Р0
Адрестелетін регистр
1
2
3
4
0
0
0
Температура мәнінің регистрі (тек оқуға
арналған)
0
0
1
Басқару регистрі (оқужазу)
0
1
0
Температуралық гетерезис регистрі
(оқужазу)
0
1
1
Температура шегінің регистрі (оқужазу)
1
0
0
АЦТ регистрі (оқу үшін)
1
0
1
Басқару регистрі (оқужазу)
Микросхемамен басқару біртекті интерфейс I2C арқылы орындалады.
Микросхемада 7-битті идентификатор, 0101 тең 4 жоғары бит бар. Оның
үшеуі А2…А0 шығытарын Vcc немесе GND-ға қосу үшін беріледі.
Осылайша, жалғыз І2С шинасына сегіз AD7417 микросхемасын қосуға
болады.
Құрылғыға жазуға арналған үш типті жазу циклы беріледі:
адрестік регистрге жазу;
бір байт деректі басқару, температура мәні мен гетерезисі, шегі
регистрлеріне жазу;
екі байтты деректі басқару, температура мәні мен гетерезисі, шегі
регистрлеріне жазу.
Микросхеманың шартты белгісі 2.3 суретте көрсетілген.
2.3 Сурет — AD7414 логикалық микросхемасы
Зерттеу нәтижесі НТЦ-31.100 оқу стендісінен алынатындықтан,
стендіде орналасқан АД1, АД2, АД3 аналогтық сигнал имитаторын
пайдаланып жүзеге асырамыз. АД — аналогты сигнал шығарады, оның
цифрлық түрлендіруін IAR Embedded Workbench арқылы бағдарлаймыз.
AVR микроконтроллерінде орналасқан микросхема мен АЦТ арқылы АЦТ
33
жұмысын оқу стендісіндегі сұйықкристалды матрицалық индикаторға
шығарамыз.
Стендте үш аналогты сигнал шығаратын канал орнатылған. Қызметін
көрсету үшін микроконтроллер кірістері мен шығыстарын белгілейміз.
Сұйықкристалды матрицалық индикаторды басқару үшін PF.0…PF.2,
PE.2, PD.5, PD.7 порттары қолданылады. І2С шинасын құру үшін PD.0, PD.1,
ал микроконтроллерге жарық диодты индикаторды қосу үшін DD2
регистріне қосылған. PA порты сегізбитті микроконтроллердің параллель
шинасына пайдаланылады.
Оқу стендісіндегі АД1 сигналын аналогты-цифрлық түрлендіргіш
арқылы СКМИ шығаруды бағдарлайық.
Схемада І2С шинасына қосылған АЦТ AD7417 микросхемасы
пайдаланылады. Енгізілген адрестің бөлігі 0101, конфигурацияланатыны 001.
Толық жеті битті адрес 0101001. Сегізінші бит — оқужазу биті. АЦТ-ға
деректерді енгізу кезінде басқарушы сөз 010100102=0х5216 түрінде болады.
Суреттеме ретінде бағдарлама кодының келесі мысалын келтірелік:
void adc_select_channel(unsigned char channel)
{
unsigned char msg[3];
msg[0] = 0x52; Микросхеманың адресі
msg[1] = 0x01; Басқару регистрінің нөмірі
msg[2] = (unsigned char) (channel 5);
TWI_write_data(msg, 3);
msg[1] = 0x04; АЦП көрсеткішінің регистр нөмірі
TWI_write_data(msg, 2);
}
unsigned int adc_read (void)
{
unsigned char msg[3];
unsigned int adc_data;
msg[0] = 0x53; Микросхеманың адресі
TWI_read_data(msg, 3); 10-битті санды құру
adc_data = (unsigned int) ((msg[1] 2) ( msg[2] 6));
return (adc_data);
}
Алынған мәнді келесі 2.4 сурет арқылы көруге болады. АД1 арқылы
берілген аналогты сигналды индикатордан 599 мәні ретінде көреміз. Ал, АД1
1,5-ті көрсетеді.
34
2.4 Сурет — AD7414 логикалық схемасы
IAR Embedded Workbench бағдарламалау ортасында жүзеге асыру 2.5
суретте көрсетілген.
2.5 Сурет — Бағдарламалау ортасында жазу
АД1 каналы арқылы алынған аналогты сигналдың МЖКИ-да цифрлық
сигнал түрінде берілуі. Алынған нәтиже 2.6 суретте келтірілген.
35
2.6 Сурет — Стендіден алынған АЦТ мәні
АД1 каналы арқылы алынған аналогты сигналдың МЖКИ-да цифрлық
сигнал түрінде берілуі. Алынған нәтиже 2.7 суретте берілген.
2.7 Сурет — Стендіден алынған АЦТ мәні
36
Цифлы-аналогты түрлендіргіш — цифрлық басқару кодпен аналогты
өлшемді шығарады. ЦАТ өлшеу, есептеу және басқару құрылғыларында
шығыс аналогты сигналдарды құру үшін қолданылады.
ЦАТ негізгі екі түрін қоланады: бірлік эталондық өлшемдердің
қосындысы арқылы және салмағы әртүрлі эталондық өлшемдер қосындысы.
Бірінші түрінде шығыс өлшемдерінде тек бір ғана эталондық өлшемдегі бір
квант қолданылады. Екінші әдісте эталондық өлшемдер салмақпен
қолданылады, яғни разряд нөміріне және кірісіндегі кодта тек 1 мәні сәйкес
келгені қосылады.
ЦАТ келесідей түрлерге бөлінеді:
Шығыс сигналдарын құру әдісі арқылы (кернеу қосындысы,
кернеуді бөлу, ток қосындысы);
Шығыс сигналының түріне байланысты (өзгеретеін кедергіге,
шығыс кернеуіне);
Шығыс кернеуінің полярлығына байланысты;
ЦАТ жеңілдетілген түрі 2.8 суретте көрсетілген.
2.8 Сурет — ЦАТ схемасы
ЦАТ жұмысын микроконтроллерде орналасқан микроксхема AD5241
арқылы жүзеге асырамыз.
AD5241 микросхемасы 256 кванттау деңгейінен І2С шинасымен
басқарылатын цифлық ауыстырылымды кедергіден тұрады. Микросхеманың
шаррты белгісін 2.9 суреттен көруге болады.
37
2.9 Сурет — AD5241 микросхемасының шартты белгіленуі
AD5241 микросхемасы SOIC типті корпуста
орналасқан.
Шығыстарының тағайындалуы 2.4 кестеде келтірілген.
2.4 Кесте — AD5241 микросхемасы шығыстарының тағайындалуы
Микросхема жұмысының құрылымы 2.10 суретте келтірілген.
А және В нүктелерінің арасындағы кедергі 10 кОм, 100 кОм және
1МОм болуы мүмкін. Кедергілер 256 нүктеге бөлінеді. Олар W шығысына
SW кілттері арқылы қосылады. RDAC 8 разрядты регистр D0…D7 деректерін
қайта кодтайды және 256 позицияның бірін таңдайды.
В және W шығысытарың арасындағы кедергіні келесі формуламен
есептелінеді:
RWB=RAB*(D256)+Rw
RWA кедергісі сәйкесінше келесі формула арқылы анықталады:
RWA= RAB*(256-D256)+Rw
38
Шығыстарының
мәні
Нөмірі
Тағайындалуы
Vdd
4
Оң мәнді қорек көзі
GND
10
Жер
Vss
11
Теріс мәнді қорек көзі
A1, B1
1, 3
Резистр шығыстары
W1
2
Резистрдің ортаңғы шығысы
SHDN
6
Микросхеманы сөндіру.
SDA
7
Біртекті екіжақты І2С интерфейсі
SCL
6
І2С интерфейсінің тактілік
импульстарының кірісі
A0, A1
8, 9
Микросхема адресінің екі
бағдарламаланатын биті
Q1, Q2
14, 12
Логикалық шығыстар
2.10 Сурет — Микросхема жұмысының құрылымы
Патенциометрмен жұмыс кезінде W шығысындағы кернеуді келесі
формуламен есептеп алуға болады:
Vw=(RWBRAB)*VA+(RWA RAB)*VB
Микросхеманы басқару біртекті І2С интерфейсі арқылы жүреді.
Микросхемада 7-битті идентификатор, 5 жоғары бит бар. Үш төменгі бит
конфигурациясы А1…А0 шығыстарымен Vcc немесе GND-ге байланысады.
Кез келген І2С интерфейсіне байланыс құрылғы идентификаторынан
басталады. 2.11 суреттен құрылғы адресіне цикл жіберу процесін көруге
болады.
2.11 Сурет — Құрылғы адресіне цикл жіберу
Басқару байтының форматы 2.5 кестеде көрсетілген.
39
2.5 Кесте — Басқару байтының форматы
RS биті — тазарту. Ауысымды кедергінің орташа қалыпқа келтіру.
SD биті — микросхеманы қосу. O1, O2 биттері — Q1, Q2 логикалық
шығыстарын орнату.
Басқару байтын орнатқаннан кейін, деректер байты жазылады.
Схемада екі дискретті ДД1 мен ДД2 датчиктері SW1және SW2 екі
ауыстырып қосқыш ретінде енгізілген. Олар микроконтроллердің PG0 және
PG1 порттарына қосылған.
НТЦ — 31.100 стендінде біртекті шина бар, ондағы нақты құрылғыны
таңдай үшін CS0…CS7 сигналдар жиынын пайдаланамыз.
Микроконтроллер қызметінің тағы бір мүмкіндіктерін ЦАТ арқылы
көрсету үшін оқу стендісінде орналасқан дискретті датчиктер көмегімен
екілік сандар арқылы аналогты сигнал енгізіп, оны цифрлы-аналогты
сигналға айналдырамыз. Яғни датчиктер ДД3-ДД10 жағдайларын екілік
сегізразрядты сан ретінде қарастырып, ЦАТ сигналын сәйкес сан бойынша
шығарамыз.
Суреттеме ретінде бағдарлама кодының келесі мысалын келтірелік:
void set_dac (unsigned char dac_position)
{
unsigned char msg[3];
msg[0] = 0x5C; Микросхема адресі
msg[1] = 0x0; Басқару сөзі
msg[2] = dac_position; ЦАТ мәні
TWI_write_data(msg, 3); TWI арқылы жазу
}
__task void main( void )
{
common_init(); стендтің іске қосылуы
dd_init(); ДД іске қосылуы
TWI_master_initialise(); twi шинасының іске қосылуы
while (1)
{
set_dac(get_DD3_10()); ЦАТ сигналын
ДД3-ДД10 жағдайындағы
мәнге келтіру
__delay_cycles(Del_ms(400));
}
ДД3-ДД10 дискретті датчиктер арқылы цифлық сигналдарды
аналогты сигналға айналдырамыз. Оны ЛСИ-дан көруге болады. Алынған
нәтиже 2.12 суретте берілген.
40
Бит
Тағайындалуы
7
6
5
4
3
2
1
0
Тағайындалуы
0
RS
SD
O1
O2
кез келген
2.12 Сурет — ЦАТ нәтижесі
ДД3-ДД10 дискретті датчиктер арқылы цифлық сигналдарды аналогты
сигналға айналдырамыз. 11011011 екілік кодының аналогты сигнал түрін
ЛСИ-дан көруге болады. Алынған нәтиже 2.13 суретте берілген.
2.13 Сурет — ЦАТ нәтижесін ЛСИ
41
2.2 1-Wire интерфейсі
2.2.1 Дерек
таратылымының
1-Wire
интерфейсінің
ұйымдастырылуы
Бітіру жұмысында AVR микроконтроллердің қызмет мүмкіндіктерінің
бірін, таңдап алынған ATmega128 микроконтроллерінде жүзеге асырамыз.
Температура мәнін есептеу датчиктерінің жұмысын зерттеу үшін 1-Wire
интерфейсі пайдаланамыз. Осы интерфейспен дерек алмасуды жүзеге асыру
үшін 1-Wire интерфейсіне толықтай сипаттама берелік.
1-Wire интерфейсі Dallas Semiconductor фирмасында шығарылған. Бұл
интерфейстің ерекшелігі
—
микроконтроллерлерге сансыз көп
микросхемаларды аз шығыстары арқылы қосылуы. Екі жақты дерек алмасу
тек бір сым арқылы болады. Алмасу хаттамасы өте қарапайым және жеңіл
түрде барлық микроконтроллерде жүзеге асады. 2.14 суретте 1-wire
интерфейсінің оңайлатылған схемасы көрсетілген.
2.14 Сурет — 1-wire интерфейсінің схемасы
DQ шығыс құрылғысы КМОП — логикалық элементіне кіріс болып,
жалпы желімен жазық транзистор бола алады. Каналдың кедергісі осы
транзистор үшін ашық түрле 100 Ом құрайды. Транзистор жабық болғанда
жалпы желіге аздаған ток ағыны өтеді.
1-wire шинасын микроконтроллерге қосу шартты 2 түрлі нұсқада
көрсетіледі: МК-дің екі жеке шығысын қолдану арқылы және біреуін шығыс
үшін де кіріс үшін де жұмысын атқару арқылы. Ол 2.14 суретте үзік
сызықпен көрсетілген. МК корпусынын шекарасын білдіреді.
1-wire шинасындағы ақпарат алуды қарастыралық:
ақпаратпен алмасу көп жағдайда микроконтроллер арқылы
жүргізіледі;
42
кез келген ақпаратпен алмасу тастау импульсын 1-wire
құрылғысының желісіне беруден басталады (RESETнемесе Reset Pulse);
1-wire интерфейсі үшін жалпы жағдайдағы қосып-өшіру
қарастырылады;
1-wire қосылған кез келген құрылғы қорек көзін алғанннан кейін DQ
желісіне импульстын бар-жоқтығын береді;
1-wire-да PRESENCE импульсының бергеннен кейін RESET кем
дегенде бір қосылған құрылғы туралы ақпарат береді;
ақпаратпен алмасу тайм-слот арқылы жүзеге асады. Бір тайм-слот
бір биттік ақпаратпен алмасуды білдіреді;
деректер байтпен беріледі, кіші биттен басталады. Деректердің
беріліп-кабылдануын CRC бақылау қосындысы арқылы тексеріледі.
Төменде
2.15
көрстеліген суретте RESET және PRESENCE
сигналдарының диаграммасы көрсетілген.
2.15 Сурет — Импульс жіберу және қабылдау
RESET импульсы алмасу кезінде ақпараттың уақытынан ерте аяқталу
процедурасын жүзеге асырады.
Көптеген уақыт интервалдарының ұзақтығы өте жақын мәнге ие
болады … жалғасы
Дереккөз: https://stud.kz