Автор работы: Пользователь скрыл имя, 29 Ноября 2013 в 21:58, дипломная работа
Қазіргі заманда микропроцессорларды қолданбайтын техника аймағын табу қиын. Олар есепетеулер жүргізу, басқару функцияларын жүргізу үшін, сонымен қатар дыбыстар мен бейнелерді қолданған кезде де пайдаланылады. Қолдану аймағына қарай микропроцесоарларға деген талаптар да өзгере береді. Бұл микропроцессордың ішкі құрылымына байланысты. Контроллер термині ағылшынның control – басқару сөзінен шыққан. Микроконтроллерлер әртүрлі жұмыс принциптарына негізделіп механикалық немесе оптикалық құрылғылардан бастап электронды аналогтық немесе цифрлық құрылғыларға дейін пайдаланылуы мүмкін. Қазіргі кезде кеңінен тараған басқару схемаларының бірі ол, сандық микросхема негізінде құрылғандар.
КІРІСПЕ 5
1 HCS12 БІР КРИСТАЛДЫ МИКРОКОНТРОЛЛЕРЛЕР КЛАСЫ 7
1.1 Кластардың жалпы сипаттамасы 7
2 ELVIS_S12C128ЭКСПЕРИМЕНТАЛДЫ – ЛАБОРАТОРИЯЛЫҚ ҚОНДЫРҒЫСЫ 11
2.1 Қондырғының жалпы сипаттамасы 11
2.2 Микроконтроллердің тақшасы 12
2.3 CSMB12C128 тақшасы + PBMCUSLK тақшасы 17
2.4 CSMB12C128 тақшасы + PBMCUSLK тақшасы + ELVIS II платформасы 20
3 МИКРОПРОЦЕССОРЛЫҚ ЖҮЙЕЛЕРГЕ АРНАЛҒАН CODEWARRIOR ПРОГРАММАЛЫҚ ОРТАСЫ 21
3.1 Өңдеу ортасының жалпы сипаттамасы 21
3.2 CodeWarrior ортасында жоба құру техникасы 23
4 МК MC9S12C128 ПЕРИФИРИЯЛЫ МОДУЛЬДЕРІН ЗЕРТТЕУ 28
4.1 Микроконтроллерлер жайлы жалпы түсінік 28
4.2 Elvis II қондырғысыныңвиртуальды құралдарының жиыны 30
4.4 Микроконтроллердің ШИМ(кең импульсті модуляция) модулін зерттеу 37
4.5 Берілген параметрлері бар жекелеген импульстер генерациясын зерттеу 40
4.6 Аналогты-цифрлы түрлендіргіштің модулі 42
4.7 SPI тізбекті синхронды интерфейсін зерттеу 44
4.8 SCI тізбекті асинхронды интерфейсін зерттеу 46
ҚОРЫТЫНДЫ 48
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ 49
ҚОСЫМША 50
Жоғарыда жазылған тізбекті енгізілетін микропроцессорлық жүйе үшін қолданбалы басқару программасының дұрысталу және өңделу процесі деп атауға болады. CodeWarrior пакетімен жұмыс істеуді бастау үшін келесі
операциялар тізбегін орындау қажет. Ол үшін CodeWarrior Development Studio for S12(X) программасын іске қосу керек. Егер көрсетілген тізімде қажет микроконтроллер болмаса, онда жаңалау мастерін (CodeWarrior Updater) қолдану керек. CodeWarrior-дың профессионалды версиясында Processor Expert құралының көмегімен кейбір алгоритмдер үшін берілген кодты жасауға болады. Дәл нақты контроллермен жұмыс істеу режимінде сияқты толық программалық симуляция режимінде де тұтас программаны түзету ортасы тек оқушыға ғана емес, сонымен қатар тәжірибелі өңдеушіге де өте қолайлы. Мұндай пакеттерге микроконтроллердің немесе процессорлар класына бағыттауышы бар CodeWarrior Development Tools-тың немесе CodeWarrior Development Studio-ның аты беріледі.
3.2.1 сурет - Бастапқы іс-әрекетті таңдау терезесі
Алғашқыда 3.2.1 суретте көрсетілгендей терезе пайда болады. Жаңа жоба құру үшін ондағы «Create New Project» батырмасын шерту керек. Егер бұрын басталған программаны ашу керек болса, онда «Load Previous Project» пунктін таңдау қажет.
3.2.2 сурет - Жоба құрудың алғашқы терезесі
Осы терезеде (3.2.2 сурет) жоба құратын МК-дің моделін таңдау қажет. Ол- MC9S12C128. Егер көрсетілген тізімде қажет микроконтроллер болмаса, онда жаңалау мастерін (CodeWarrior Updater) қолдану керек. Connections жолағында қолданатын жобаның программаны дұрыстау тәсілін таңдау керек. Бұл жұмыста екі таңдау нұсқасы бар:
Full Chip Simulation – таңдап алынған микроконтроллердің толық программалық симуляциясы. Бұл жағдайда компьютерлік модель қолданылады, ал нақты элемент қажет етілмейді. Программаны дұрыстаудың мұндай тәсілі алгоритмдерді алғаш тексеру үшін, уақытты тексеру үшін және оның аппараттық құрылғыларды қолданбай орындалуын тексеру үшін қолданылады.
TBDML - Turbo BDM Light интерфейсін қолдану арқылы аппараттық үлгіде қосымшаның программасын дұрыстау. Компьютермен байланыс үшін программасы дұрысталатын микроконтроллердің тақшаснда BDM (Background Debug Mode) адаптері орнатылған болуы тиіс.
3.2.3 сурет - Жоба құрудың екінші терезесі
МК-ді таңдағаннан кейін келесі терезеге көшу керек (3.2.3 сурет). Бұл жерде МК-ді программалайтын бір немесе бірнеше тілді, жоба атын, жоба файлдарына арналған папканы таңдау қажет.
CodeWarrior пакетінің бірнеше программалау тілі бар: ассемблер, С және С++. Оларды бірге бір жобада қолдануға рұқсат етілген. С тілі Freescale Semiconductor компаниясының сайтынан жазып алуға болатын тегін арнайы версиясында программаның максималды көлемі 32 КБ-пен шектелген IDE-нің барлық версия қолдайды. С++ тілі CodeWarrior-дың профессионалды версиясын ғана қолдайды. Төмен деңгейлі тілдердің ішінен қолданушы программалау барысында айнымалылар программисттің өзінің белгілеген жад ұяшықтарында орналасатын абсолютті ассемблер тілін таңдай алады. Бастапқы деңгейде ассемлер тілін қолданамыз [14]. Сондықтан С тілінің қасында тұрған жалаушаны алып тастап, оны «Absolute assembly» опциясының қасына белгілейміз. Осы терезеде «Project name» жолағында жасалынатын жобаның атын теру керек, ал «Location»-да оның файлдарының орналасу жолы көрсетіледі. «Set…» батырмасы арқылы бірден папканы көрсетуге болады, онда оның аты автоматты түрде жолаққа көшіріледі.
3.2.4 сурет - Жоба құрудың үшінші терезесі
Осы терезеде (3.2.4 сурет) жаңадан жасалынып жатқан жобаға дайын бар материалды қосуға болатын мүмкіндік көрсетілген. Ол үшін керек файлдарды кезек-кезек таңдап, (Add) батырмасын басу керек. «Copy files to project» пунктін белгілеу жаңа жоба папкасына таңдалынған материалдардың автоматты түрде көшірмесін жасауға алып келеді, ал «Create main.c/main.asm» пунктінің қасына жалауша қою берілген коды бар негізгі файлдың автоматты түрде құрылуына алып келеді [14].
Егер өзге сырт файлдарды қосу керек болса, онда жай ғана «Next >»-ті басу керек. 4 терезесі жаңа жобаны конфигурациялауда аяқтаушы болып табылады. Бұл жерде БҚ-дың өдеуді жылдамдатуға арналған компонетті таңдау қажет. Барлығы үш нұсқа қол жетімді:
None – қосымша құралдарды пайдаланбау.
Device Initialization – перифериялы құралдарды инициализациялау құралы. Интуитивті түсінікті интерфейстің көмегімен қолданушы МК-дің әр түрлі модульдерінің бастапқы жұмыс істеу режимдерін таңдайды. Содан кейін Device Initialization С-де немесе ассемблерде берілген кодты автоматты түрде генерациялайды. Онда арнайы функциялардың керекті регистрлеріне сәйкес екілік мәндегі орнату операциялары жазылады.
Processor Expert – типік функцияларды автоматты түрде құрушы және құрылғыларды инициализациялау құралы. Device Initialization секілді ол да перифериялы модульдердің бастапқы тәртіптерін орнатуға арналған мәтінді автоматты түрде генерациялауға мүмкіндік береді. Бұл жерде БҚ-дың өдеуді жылдамдатуға арналған компонетті таңдау қажет. CodeWarrior-дың профессионалды версиясында Processor Expert құралының көмегімен кейбір алгоритмдер үшін берілген кодты жасауға болады. Бұл арнайы функциялардың керекті регистрлеріне сәйкес келеді. Төмен деңгейлі тілдердің ішінен қолданушы программалау барысында айнымалылар программисттің өзінің белгілеген жад ұяшықтарында орналасатын абсолютті ассемблер тілін таңдай алады.
3.2.5 сурет - Жоба құрудың төртінші терезесі
Бұл жұмыста микроконтроллерді және оның компоненттерін өз бетінше күйге келтіруді үйреніп алу қажет, сондықтан «None» опциясын таңдау керек. «Finish» батырмасын басқаннан кейін CodeWarrior Development Studio for S12(X) интегралданған өңдеу ортасының негізгі терезесі ашылады.
Зертханалық жұмыс 3 бөлімнен тұрады:
1) «HCS12 класына жататынон алты разрядты микроконтроллерлер » зертханалық жұмыс алғаш микропроцессорлық техниканы оқып үйренушілерге арналған. Бұл жұмыс 16 разрядты процессорлық ядроның CISC-архитектурасының құрылымымен танысуға және 8-16 разрядты микроконтроллерлерге жарамды операндтарды адресациялауға, инструкция жиыны мен мнемоникалық команда әдістерін қолдануға, программалаудың ассемблер тiлінде орнықты дағдыларды алуға мүмкіндік береді. Бұл практикум бір семестрлік микропроцессорлық техника курсымен сәйкес келеді.
2) Бұрын микроконтроллерлер немесе микропроцессорлар жайлы оқыған тыңдаушыларға арналған және олар HCS12 16 разрядты микроконтроллердің процессорлық ядросының ерекшеліктері мен архитектурасы туралы жалпы түсінік алуы қажет. Онда тек зерттелетін МК-ге қатысты адресациялаудың және қосымша командалардың қосымша әдістері көрсетіледі.
3) С тілін қолдану арқылы MC9S12C128 микроконтроллердің перифериялы модульдерін зерттеу бойынша зертханалық жұмыс. Бұл жұмыс микропроцессорлық техниканың екі семестрлік курсына негізделген және микроконтроллердің 16 разрядты перифериялы модульдерін зерттеуді мақсат тұтады.
Бір семестрлік курста студенттер тек CSMB12C128 тақшасын қолдануымен шұғылдана алады. Сонымен бірге студенттер орталық процессорлар туралы ғана емес, жалпы біркристалды микроконтроллер туралы мәлімет алатын боладыжәне соңғы жұмыстарда перифериялы модульдерді ассемблер тілінде программалауға негізделген. HCS12 класына жататын микроконтроллердің перифериялы модульдерін зерттеу 3-ші бөліктің жұмыстарында келтірілген, атап айтқанда: уақытша интервал процессорының модулі, аналогты-цифрлық түрлендіргіш модулі, контроллерлердің SCI, SPI тізбекті ауысуының модульдері. Әр модульдерді зерттеу барысында келесідей сұрақтар туындайды [1].
Модуль жұмысының құрылымы және типтік алгоритмы;
Модульдің арнайы функцияларының регистерлері;
Басқарудың типтік есептерінің шешімдері үшін нақты уақытта модульдың порграммалық қызмет көрсетуінің алгоритмдары;
CodeWarrior ортасында программалық қызмет көрсету алгоритімін C тілінде жазу;
Жасалған бағдарламардың
басқаруымен перифериялы
С тілінде программаның жазылу негізін үйрену;
CodeWarrior ортасында микроконтроллер үшін жобаны реттеу және құру техникасын үйрену;
Әрбір модульді басқару үшін арнайы функция биттері және регистр тізімі мен аттары;
Зертханалық жұмыстарда микроконтроллердің нақты перифериялы модульдерін зерттеу бойынша эталонды мысалы және күрделілігі жағынан 3 деңгейден тұратын жеке тапсырмалар жиыны келтірілген:
Өзiндiк жұмысқа арналған бастапқы деңгейдiң есептері;
Өзiндiк жұмысқа арналған орташа деңгейдің есептері;
Өзіндік жұмысқа арналған күрделі деңгейдің есептері;
Бірінші топтың тапсырмасы: эталондық мысалдағы программалық кодтың мәтінің өзгерту және осы материалды толықтай игеру. Екінші топтың тапсырмасы: өзіндік жұмыстағы орташа деңгейдің есептері үшін эталондық мысалдағы программалық кодтың мәтінің айтарлықтай өзгерту. Үшінші топтың тапсырмасы: оқушының жеке отырып кейбір күрделі деңгейдегі есептердің программалық кодын және алгоритмін жазу. Осы жұмыс негізінде сабақты ұйымдастырудың 2 стратегиясы болуы мүмкін. Бірінші стратегия – сабақбарысында әрбір оқушымен эталондық мысалдан келтірілген эксперименттерді зерттеу. Екінші стратегия – үйде оқитын оқұшылар, лабораториялық сабаққа дайындалу барысында эталондық мысалды зерттейді [1]. Бұдан әрі осының негізінде өзіндік тапсырманың 2-ші немесе 3-ші деңгейдегі есептерін шешеді. Бұл жұмыс микропроцессорлық техниканың екі семестрлік курсына негізделген және микроконтроллердің 16 разрядты перифериялы модульдерін зерттеуді мақсат тұтады. Осындай зерттеулер оқушыларға өзіндік жұмыс ретінде берілуі мүмкін. HCS12 класына жататын микроконтроллердің перифериялы модульдерін зерттеу 3-ші бөліктің жұмыстарында келтірілген, атап айтқанда: уақытша интервал процессорының модулі, аналогты-цифрлық түрлендіргіш модулі, контроллерлердің SCI, SPI тізбекті ауысуының модульдері.
Бұл жұмыста ELVISmx жиынына кіретін 3 стандартты виртуалды құралдары және 8 арнайы жасалған құралдар қолданылады.
Стандартты құралдар:
1) Екі каналды осциллограф – Scope. Сигналдарды зерттеу үшін Elvis II платформасының бүйіріндегі BNC типтің ұяшығын немесе PBMCUSLK тақшасындағы ACH аналогты кірістін желісін қолдануға болады.
2) FGEN – функционалды генераторы. Құрылған сигнал Elvis II тақшасының бүйіріндегі BNC типінің ұяшығына немесе PBMCUSLK тақшасына шығарылады.
3) Digital Reader – күй индикаторы. DI немесе DO сегіз желісінен компьютердің мониторында екілік кодты оқиды және шығарады.
Осы жұмыстар үшін 8 арнайы аспаптар жасалынды:
1) Two Channel Generator – құралы. Логикалық деңгейі бар тікбұрышты импульстің 2 каналды генераторы:төменгі күй кезіндегі кернеу – 0В, ал жоғарғы күй кезінде – 5 В. Екі каналда да сигналдардың жиілігі әрқашанда бірдей және оның өзгеру диапазоны – 4 тен 40 кГц-ке дейін. Әрқайсыларындағы импульстің салыстырмалы ұзақтығын (0..100 пайыз), сонымен бiрге екi сигналдардың арасындағы фазалардың айырымын өзгерту мүмкіндігі болады [9].
2) Analog Level – құралы. Аналогтық шығыстың екі каналында кернеудің аналогтық деңгейін береді. Сигналдардың өзгеру диапазоны – U = 0..5В, шығысы PBMCUSLK (DAC0 и DAC1) тақшасында орналасқан.
3) Voltage out – құралы. Микроконтроллермен өлшенген кернеудiң мәнiн бейнелейдi. DI желілерінде 8 разрядты екiлiк кодты қабылдайды. 0xFF-тің мәні V = 5 В-ке сәйкес келеді.
4) T out – құралы. Микроконтроллермен өлшенген сигнал периоды мәнiн бейнелейдi. DI желілерінде 8 разрядты екiлiк кодты қабылдайды. 0xFF-тің мәні T = 255 мкс-ке сәйкес келедi.
5) ti out – құралы. Микроконтроллермен өлшенген сигнал импульсi ұзақтығының мәнiн бейнелейдi. DI 8 разрядты екiлiк кодты қабылдайды. 0xFF-тің мәні ti = 255 мкс-ке сәйкес келедi.
6) f out – құралы. Микроконтроллермен өлшенген сигнал жиiлiгiнiң мәнiн бейнелейдi. DI желілерінде 8 разрядты екiлiк кодты қабылдайды. 0xFF-тің мәні f = 40 кГц-ке сәйкес келедi.
7) Duty cycle out – құралы. Микроконтроллермен өлшенген сигнал импульсi салыстырмалы ұзақтығының мәнiн бейнелейдi. DI желілерінде 8 разрядты екiлiк кодты қабылдайды. 0x64 мәні γ = 100 пайызға сәйкес келеді.
8) Phase difference out – құралы. Микроконтроллермен өлшенген екi сигнал арасындағы фазалар айырымының мәнін бейнелейді. DI желілерінде 8 разрядты екiлiк кодты қабылдайды. 0xFF мәні Δφ = 360 градусқа сәйкес келеді. Барлық қосымша құрылған 8 құралдар бір орнату пакетіне біріктірілген және осы практикумға қоса тіркелген.
4.3 Таймер модулі кірісін ұстап алу режимін зерттеу
Осы жұмыста микроконтроллер таймері ішкі жүйесінің ұстап алу режимі зерттеледі. Бұл функционалдық мүмкіндік осы жасалып жатқан жұмыстарда және келесіде жасалатын зерттеу жұмыстарында Elvis II платформасы көмегімен кейбір сандық сигналдар жайлы мәлімет алуға мүмкіндік береді. Осы жұмысты және келесі жұмыстарды ойдағыдай орындау үшін 3-ші конфигурация қондырғының ерекшеліктерімен танысу қажет. Екі тақшада да ұстатқыштар мен тіркеуіштердің дұрыс қойылуын қадағалау қажет, себебі олардың дұрыс қойылмауы жабдықтың бұзылуына әкеп соғуы мүмкін. Осы жұмысқа дайындалу барысында микроконтроллердің таймер модулі кірісін ұстап алу режимімен және төменде келтірілген мысалмен танысу қажет [12].
Информация о работе MC9S12C128 микроконтроллерінің перифериялы модульдері