Содержание
Введение
1. Анализпоставленнойзадачи
1.1 Обоснованиедостаточностиаппаратныхипрограмма ресурсов
1.2 Доопределениенаборааппаратныхсредствдляреализации устройства
1.3 Распределениефункцийустройствамеждуузламимикроконтроллера
2. Проектированиепринципиальнойсхемыустройства
2.1 Схемавключениямикроконтроллера
2.2 Формированиетактовыхимпульсов
2.3 Схемасброса
2.4 Схемавходныхивыходныхустройств
2.5 Схемастабилизаторанапряжения
3. Проектированиепрограммногообеспечениямикроконтроллера
3.1 Проектирование функцииинициализациимикроконтроллера
3.2 Проектирование процедуробработкипрерываний
3.3 Проектирование процедурвводаинформации
3.4 Проектирование процедурвыводаинформации
3.5 Проектирование процедуруправленияпериферийны! устройствами
3.6 Проектирование процедурыmain()
4. Листингпрограммы
Приложение 1. Схемаэлектрическаяпринципиальная
Приложение 2. Чертежпечатнойплаты (видсверху)
Приложение 3. Чертежпечатнойплаты (видснизу)
Ведение
Широкораспространенноесемейство микроконтроллеровMCS51, выпускаемоецелымрядомфирм-производителей (Intel, Philips, Temic, OKI, Siemensидр.), уже являлосьде-фактопромышленнымстандартомдля 8-разрядныхсистем ипрекрасноподходилодляиспользованиявширокомклассезадач, особенноесливыбиралиськристаллысдополнительнымивстроенными периферийнымиустройствамииповышеннойтактовойчастотой. Но этимикроконтроллерыобладализначительнымэнергопотреблением. Тогда, еслинеобходимобылополучитьвысокуюпроизводительность кристаллапрификсированномэнергопотребленииили, наоборот, снизитьпоследнеенетеряяпроизводительности, внимание разработчика, какправило, останавливалосьнамикросхемахDallasSemiconductor, MicrochipилиHitachi. ШирокоразвитыелинииPIC-контроллеровфирмыMicrochipимикроконтроллеровН8/300 фирмы Hitachiобеспечиваютдостаточновысокуюпроизводительностьпри небольшомэнергопотреблении. Эффективностьработы микроконтроллеровDallasSemiconductor, имеющихбазовую архитектуруMCS51, всреднемпревышаетстандартнуюв 2,5 - 3 раза. Появившиесявпоследнеевремяновыепроцессорныеплатформы MSP430 фирмыTexasInstrumentsиХЕ8000 фирмыXeraicsтакже заслуживаютсамогопристальноговнимания, особенноеслиосновным критериемдляконечногоприложенияявляетсяминимальное энергопотребление.
Окончательныйвыборразработчикомтойилииной микропроцессорнойплатформыдляреализациисвоейзадачизависит отбольшогочисларазнообразныхфакторов, включаяэкономические. Нообычнопервостепеннымусловиемостаетсяполучениемаксимально выгодногосоотношения "цена - производительность энергопотребление", определяемогосложностьюрешаемойзадачи. Видимо, этообстоятельствоипослужилотолчкомкразработкев середине 1990-хнового 8-разрядногомикроконтроллера.
AVRодноизсамыхинтересныхнаправлений, развиваемых корпорациейAtmel. Онипредставляютсобоймощныйинструментдля созданиясовременныхвысокопроизводительныхиэкономичных многоцелевыхконтроллеров. Нанастоящиймоментсоотношение "цена - производительность - энергопотребление" дляAVRявляетсяодним излучшихнамировомрынке 8-разрядныхмикроконтроллеров. Объемы продажAVRвмиреудваиваютсяежегодно. Вгеометрической прогрессиирастетчислостороннихфирм, разрабатывающихи выпускающихразнообразныепрограммныеиаппаратныесредства поддержкиразработокдляних. Можносчитать, чтоAVRпостепенно становитсяещеодниминдустриальнымстандартомсреди 8-разрядных микроконтроллеровобщегоназначения.
ОбластипримененияAVRоченьшироки. Длясемейства "tiny" -этоинтеллектуальныеавтомобильныедатчикиразличного назначения, игрушки, игровыеприставки, материнскиеплаты персональныхкомпьютеров, контроллерызащитыдоступавмобильных телефонах, зарядныеустройства, детекторыдымаипламени, бытоваятехника, разнообразныеинфракрасныепульты дистанционногоуправления. Длясемейства "classic" - этомодемы различныхтипов, современныезарядныеустройства, изделиякласса SmartCardsиустройствачтениядляних, спутниковые навигационныесистемыдляопределенияместоположенияавтомобилей натрассе, сложнаябытоваятехника, пультыдистанционного управления, сетевыекарты, материнскиеплатыкомпьютеров, сотовыетелефоныновогопоколенияатакжеразличныеи разнообразныепромышленныесистемыконтроляиуправления. Для "mega" AVR - этоаналоговые (NMT, ETACS, AMPS) ицифровые (GSM, CDMA) мобильныетелефоны, принтерыиключевыеконтроллерыдля них, контроллерыаппаратовфаксимильнойсвязииксероксов, контроллерысовременныхдисковыхнакопителей, CD-ROMит.д.
ВданнойработеприводитсяпримериспользованияAVRтипа ATmega16 дляпостроенияустройстваудаленнойиндикации, принимающеесигналыпопротоколусвязиRS-485 иотображающее соответствующуюинформациюнаграфическомЖКИдисплеефирмы Bolyrain.
1. Анализпоставленнойзадачи
Постановказадачи; спроектироватьудаленноеустройство индикациинаоснове 8-битногоAVRмикроконтроллератипаATmega16 спитаниемданногоустройстваотисточникапитанияна 10 V. ТребуетсяобеспечитьприемданныхпопротоколуRS-485 на скорости 9600 битвсекунду, сразмеромпосылкиданных 8 бит, проверкойначетностьиоднимстоповымбитом. Данныедолжны отображатьсянаграфическомLCD-дисплеефирмыBolymin.
1.1 Обоснованиедостаточностиаппаратныхсредствипрограммных ресурсов
ПредложенныйдлярешениязадачимикроконтроллерATmegal6 обладаетследующимихарактеристиками:
• напряжениепитания+5 V
• размерпамятипрограмм 16 К
• размерEEPROM512 В
• размервнутреннейSRAM 1 К
• портыввода/вывода4x8 bit
• четыретаймерасчетчика
• программируемыйпоследовательныйУСАПП
Этихсвойствмикроконтроллеравполнедостаточнодля обеспечениявзаимодействиясграфическимLCD-дисплееми протоколомобменаданнымиRS-485, посколькубольшойобъемпамяти программпозволяетобеспечитьлогикуработывсехаппаратных средствмикроконтроллераиуправлениеLCD-дисплеем. Крометого, подключениевнешнегоисточникатактовыхимпульсовпозволяет обеспечитьскоростьобменаданнымидо 1 миллионабитвсекунду.
1.2 Доопределениенаборааппаратныхсредств
ДляорганизацииканаласвязипопротоколуRS-485 необходимо использованиеустройств, отвечающихтребованиямэтогопротокола. Возможноерешение - использованиесхемыМАХ485, котораяработает отодногоисточникапитания +5 V, иеговыходноесопротивление становитсявысокимвдиапазонесинфазногосигналаот -7 до +12 Vприподачеипривыключениипитания. Передатчикимеет максимальноевремязадержки 50 пзивремянарастанияиспада менее 80 ns. Этопозволяетполучитьскоростьпередачиданныхдо 4 Mbaud.
Посколькуразрабатываемоеустройствопитаетсяотисточника напряжения +10 V, тодляобеспеченияпитаниямикросхем устройстванеобходимоиспользованиестабилизаторанапряжения, которыйможнореализоватьнамикросхемеLM2574 (понижающий импульсныйстабилизаторнапряжения).
1.3 Распределениефункцийустройствамеждуузлами микроконтроллера
Разрабатываемоеудаленноеустройствоиндикациидолжно выполнятьследующиедвеглавныефункции: обеспечениеприема данныхпоканалусвязиииндикацияобработанныхданныхнаLCD-дисплей.
Вполнелогичновкачествеприемникаиспользоватьвстроенныйв контроллерпрограммируемыйпоследовательныйуниверсальный синхронно-асинхронныйприеме-передатчик (УСАПП). Приэтомбудут задействованывыводыPDO (RxD) иPD1 (TxD), которыеподключаются ксоответствующимвыводаммикросхемыМАХ485. Крометого, для управлениямикросхемойМАХ485 необходимоподключитьтакже сигналыразрешенияприемаипередачиданных (сигналразрешения приема - инверсный), Нопосколькувнашемустройствене предусмотренавозможностьодновременноприниматьипередавать данные, представляетсяудобнымиспользованиеобщегосигналас одногоизвыводовконтроллерадляуправленияприемомипередачей (выводпортаСРС5). Болеетого, вчастномслучаенаше устройствонебудетпередаватьданныенавнешниеустройства, поэтомукакодинизвариантовможетбытьиспользованопросто подключениеразрешающихвыводовмикросхемыМАХ485 кобщему постоянномусигналунизкогоуровня, чтозапретитмикросхеме передачуданныхионабудетвсевремяиспользоватьсякак приемник.
УправлениеLCD-дисплеемосуществляетсяспомощьювосьми линий, покоторымпередаютсяданные, ипятилиний, покоторым передаютсясигналыуправления (чтение/записьданных, запись командыит.п.}. Поэтомудляуправлениядисплееммывыделимпорт АконтроллерадляпередачисигналовданныхилинииРСО - РС4 портаСдляпередачисигналовуправления.
Всеостальныеустройстваконтроллеравнашем (простейшем) случаеостаютсянезадействованными.
2. Проектированиепринципиальнойсхемыустройства
2.1 Схемавключениямикроконтроллера
МикроконтроллерAVRтипаATmegal6 имеетнапряжениепитания +5 V, котороеподводитсяквыводуVCC. Таккакпитаниевсегонашего устройства +10 V, топитаниекмикроконтроллерудолжно подводитсячерезпонижающийимпульсныйстабилизатор. Кроме этого, микроконтроллеримеетещедвавыводадляпитанияпортаА (илиАЦП), одинизкоторых (AVCC) долженбытьподключенк напряжениюпитаниядажееслипортАнеиспользуется. Приесли используетсяАЦП, тоэтопитаниедолжноподключатсячерезфильтр низкихчастот. Второйвывод (AREF) используетсядляподачи напряжениясмещениянаАЦП.
ВнашемустройствеАЦПнеиспользуется, поэтомуквыводамVCCиAVCCможноподключитьпредварительностабилизированноепитание +5 Vотстабилизатора, авыводAREFподключитькобщейшине земли.
Рис.1 Схемавключениямикроконтроллера
2.2 Формированиетактовыхимпульсов
Тактовыеимпульсыдляработымикроконтроллераможно формироватьспомощьюлибовстроенногогенератораимпульсов, либоподключаявнешнийгенераторнакварцевомрезонаторе. Внутреннийгенератортактовыхимпульсоввнашемслучаене обеспечитнеобходимуюстабильностьдляработысинтерфейсомRS-485, поэтомумыбудемиспользоватьвнешнийкварцевыйгенератор на 7.3728 MHz. Дляработынатакойчастотеразработчикифирмы ATMELсоветуютиспользоватьдвадополнительныхконденсатора емкостью 22 pF, включенныепоследующейсхеме: