Автор: Пользователь скрыл имя, 16 Мая 2013 в 18:56, отчет по практике
Изучение имеющихся в мире аппаратных и программных средств даст возможность проанализировать плюсы и минусы разработок тех или иных фирм, позволит сравнить их производительность, актуальность, востребованность, и другие характеристики. После сравнивания всех нужных характеристик можно выбрать оптимальные средства для программирования микроконтроллеров для тех или иных задач, которые ставятся на предприятии.
Целью преддипломной практики является изучение аппаратных и программных средств, предназначенных для программирования микроконтроллеров.
ВВЕДЕНИЕ 3
1 ОБЗОР МИКРОКОНТРОЛЛЕРОВ 4
1.1 Общий обзор микроконтроллеров 4
1.2 Семейства микроконтроллеров 4
1.3 Применение микроконтроллеров 6
1.4 Программы для программирования микроконтроллеров 7
2 ПРОГРАММАТОРЫ ДЛЯ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ 9
2.1 Общие сведения и классификация программаторов 9
2.2 Простой программатор 11
2.3 Сложный программатор 15
ЗАКЛЮЧЕНИЕ 19
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 20
оглавление
В преддипломной практике рассматриваются аппаратные и программные средства, которые позволяют программировать микроконтроллеры.
Изучение имеющихся в мире аппаратных и программных средств даст возможность проанализировать плюсы и минусы разработок тех или иных фирм, позволит сравнить их производительность, актуальность, востребованность, и другие характеристики. После сравнивания всех нужных характеристик можно выбрать оптимальные средства для программирования микроконтроллеров для тех или иных задач, которые ставятся на предприятии.
Целью преддипломной практики является изучение аппаратных и программных средств, предназначенных для программирования микроконтроллеров.
1 ОБЗОР МИКРОКОНТРОЛЛЕРОВ
1.1 Общий обзор микроконтроллеров
Микроконтроллер – микросхема, предназначенная для управления электронными устройствами. Микроконтроллеры, как правило сочетают в себе на одном кристалле функции процессора и периферийных устройств, содержат оперативное запоминающее устройство, и (или) постоянное запоминающее устройство.
1.2 Семейства микроконтроллеров
- Intel 8051- однокристальный микроконтроллер гарвардской архитектуры, который был впервые произведет в 1980 году. Использовался во встраиваемых системах. Был актуален до 2000 года, позднее был вытеснен более современными устройствами;
- MSP430- семейство 16- разрядных микроконтроллеров фирмы «Texas Instruments», производимых с 1999 года. Ключевым отличием и «визитной карточкой» семейства MSP430 является возможность тактировать любой модуль периферии асинхронно от ядра. В подавляющем большинстве однокристальных микроконтроллеров периферия синхронна с ядром (за исключением таймера часов реального времени). Такая особенность позволяет гибко управлять скоростью (а значит и потреблением) каждого модуля;
- ARM- семейство лицензируемых 32-битных и 64-битных микропроцессорных ядер разработки компании ARM Limited.
Процессоры имеют низкое энергопотребление, поэтому находят широкое применение во встраиваемых системах и доминируют на рынке мобильных устройств, для которых немаловажен данный фактор.
Среди лицензиатов: Analog Devices, Atmel, Xilinx, Altera, Cirrus Logic , Intel, Marvell , NXP, STMicroelectronics, Samsung, LG, MediaTek, MStar, Qualcomm, Sony Ericsson, Texas Instruments, nVidia, Freescale, Миландр, HiSilicon.
Значимые семейства процессоров: ARM7, ARM9, ARM11 и Cortex. Многие лицензиаты делают собственные версии ядер на базе ARM: DEC StrongARM, Freescale i.MX, Intel XScale, NVIDIA Tegra, ST-Ericsson Nomadik, Qualcomm, Snapdragon, Texas Instruments OMAP, Samsung, Hummingbird, LG H13, Apple A4/A5/A6 и HiSilicon K3;
- AVR- семейство 8-битных микроконтроллеров фирма Atmel, разрабатываемых с 1996 года. Данный RISC контроллер был оснащен Flash памятью для программ на одном кристалле с вычислительным ядром. Стандартными семействами данного типа микроконтроллеров являются: tiny AVR, megaAVR, XMEGA AVR. Все они имеют разный объем памяти, разное количество линий ввода-вывода, и разные встроенные периферийные устройства;
- PIC- микроконтроллеры, производимые американской компанией Microchip Technology Inc. Отличительной особенностью PIC-контроллеров является хорошая преемственность различных семейств. Это и программная совместимость (единая бесплатная среда разработки MPLAB IDE), и совместимость по выводам, по периферии, по напряжениям питания, по средствам разработки, по библиотекам и стекам наиболее популярных коммуникационных протоколов. Номенклатура насчитывает более 500 различных контроллеров со всевозможными вариациями периферии, памяти, количеством выводов, производительностью, диапазонами питания и температуры и т. д.;
- STM8- это новое семейство микроконтроллеров компании STMicroelectronics. Основными плюсами считается цена, за сами микроконтроллеры и за ПО для них. Так же не дорого стоят отладочные платы, драйвера, и в целом всё что связано с этим семейством, в то время как по качеству и характеристикам далеко не уступают другим семействам;
1.3 Применение микроконтроллеров
Использование в современном микроконтроллере достаточного мощного вычислительного устройства с широкими возможностями, построенного на одной микросхеме вместо целого набора, значительно снижает размеры, энергопотребление и стоимость построенных на его базе устройств. Используются в управлении различными устройствами и их отдельными блоками:
-в вычислительной
технике: материнские платы,
-электронике
и разнообразных устройствах
бытовой техники, в которой
используется электронные
В промышленности:
-устройств промышленной автоматики — от программируемого реле и встраиваемых систем до ПЛК;
-систем управления станками.
В то время как
8-разрядные процессоры общего назначения
полностью вытеснены более
1.4 Программы для программирования микроконтроллеров
Программирование
Известные компиляторы Си для МК:
-GNU Compiler Collection - Поддерживает
ARM, AVR, MSP430 и многие другие архитектуры-
набор компиляторов для
Изначально названный GNU C Compiler поддерживал только язык Си. Позднее, GCC был расширен для компиляции исходных кодов на таких языках программирования как C++, Objective-C, Java, Фортран и Ada.
С версии 4.2.2 GCC перешёл на лицензию GPLv3.
-CodeVisionAVR (для AVR)- интегрированная
среда разработки программного
обеспечения для
CodeVisionAVR включает в себя следующие компоненты:
1) компилятор Си-подобного языка для AVR;
2) компилятор языка ассемблер для AVR;
3) генератор начального кода программы, позволяющего произвести инициализацию периферийных устройств;
4) модуль взаимодействия с отладочной платой STK-500;
5) модуль взаимодействия с программатором;
6) редактор исходного кода с подсветкой синтаксиса;
7) терминал.
-WinAVR (для AVR и AVR32)- программный
пакет для операционных систем
семейства Windows, включающий в себя
кросс-компилятор и
WinAVR и все входящие в него программы являются открытым программным обеспечением, выпущенным под лицензией GNU, но распространяются в скомпилированном виде. Версия WinAVR обозначается датой выхода (например, WinAVR-20060125 вышла 25 января 2006 года);
-Keil (для архитектуры 8051 и ARM)- Среда разработки Keil позволяет создавать сколь угодно сложные проекты, состоящие из модулей написанных как на языке C, так и на языке ассемблера, подключать библиотеки, функции и т.д. Кроме того эта среда включает удобный отладчик (симулятор), позволяющий оценить и быстро проверить работоспособность программы, графическая среда Uvision4 позволяет автоматизировать сборку программ и проверить их на работоспособность при помощи отладчика. Реализация языка C51 является полностью совместимой с ANSI-стандартом, при этом компилятор С51 не является инструментом общего применения, адаптированным для применения с микроконтроллерами 8051, он специально разработан для создания эффективного и быстрого кода при работе с данным типом микроконтроллеров, позволяя разрабатывать очень быстрые программы, сравнимые по быстродействию с программами на ассемблере.
Для отладки программ используются программные симуляторы (специальные программы для персональных компьютеров, имитирующие работу микроконтроллера), внутрисхемные эмуляторы (электронные устройства, имитирующие микроконтроллер, которые можно подключить вместо него к разрабатываемому встроенному устройству) и интерфейс JTAG.
2 ПРОГРАММАТОРЫ ДЛЯ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ
2.1 Общие сведения и классификация программаторов
Программатор- аппаратно программное устройства предназначенное для записи и считывания информации в постоянное запоминающее устройства.
Программаторы классифицируются:
1) По типу микросхем:
- программируемые микросхемы ПЗУ (РЗУ с ультрафиолетовым стиранием, ППЗУ, флэш-память);
- программирующие внутреннюю память микроконтроллеров;
- программирующие логические интегральные микросхемы.
2) По сложности:
- простейшие- используются если нужно единожды запрограммировать микроконтроллер, подключается к СОМ или LTP- порту. Например, самый простой программатор для микросхем AVR — это кабель из шести проводов и четырёх резисторов (так называемый программатор PonyProg;
- сложные- программаторы которые в себе содержат свой микроконтроллер. Имеют в себе определенный набор функций. Сложные программаторы могут стоить очень дорого.
3) По подключению микросхемы:
-параллельный;
-внутрисхемный.
4) По подключению к компьютеру:
-последовательный порт - СОМ порт;
- параллельный порт - принтерный порт, порт Centronics;
-специальная интерфейсная плата- подключается к ISA или PCI;
-USB;
-Ethernet.
5) По дополнительным функциям:
- наличие программного обеспечения под распространённые платформы (обычно под Windows и Linux; остальные ОС среди разработчиков непопулярны);
- проверка правильности подключения ещё до попытки стереть микросхему;
- проверка исправности программатора;
- JTAG-адаптеры, пригодные
одновременно как для
- автономные (Полевые) программаторы имеют компактные размеры и содержат внутреннюю память для хранения прошивки. Такие программаторы предназначены для обслуживания техники прямо в местах её установки (подчас труднодоступных);
- встроенный HEX-редактор, позволяющий откорректировать записанную в микросхеме информацию;
-возможность самостоятельного обновления прошивки самого́ программатора;
-возможность одним нажатием кнопки выполнить некоторую последовательность действий — например, стереть, проверить стирание, записать, проверить правильность записи и установить конфигурационные биты (так называемое автоматическое программирование);
-в программаторах для массового программирования может применяться скриптовый язык, на котором можно реализовать, например, автоинкремент серийных номеров — таким образом, каждая микросхема будет иметь уникальный номер.
2.2 Простой программатор
Рассмотрим программатор для микроконтроллеров семейства PIC. Преимущества данного программатора- простота, компактность, питание без внешнего источника.
Питание программатора на саму схему не требуется, ведь для этого служит COM порт компьютера, через который и осуществляется управление прошивкой микроконтроллера. Для низковольтного режима программирования вполне достаточно 5 Вольт, но могут быть не доступны все опции для изменения. Разъем подключения СОМ-9 порта смонтирован прямо на печатную плату программатора для PIC – это очень удобно.
Рисунок 1 – Схема программатора
Данное устройство простейшего программатора было использования для программирования на различных компьютерах и при программировании микроконтроллеров серий 12F, 16F, и 18F, показал высокое качество прошивки. Предложенная схема позволяет программировать микроконтроллеры PIC12F509, PIC16F84A, PIC16F628.
Рисунок 2 - схема печатной платы программатора
Для программирования используется WinPic800 – т.к. зарекомендовала себя как одна из лучших программ для программирования PIC микроконтроллеров. Программа позволяет выполнять операции для микроконтроллеров семейства PIC чтения, записи, стирания, проверки FLASH и EEPROM памяти и установку битов конфигураций.
Рисунок 3 - Вид спереди простого программатора
Рисунок 4 - Вид сзади простого программатора
2.3 Сложный программатор
Сложные программаторы как правило изготовить самостоятельно довольно сложно. Рассмотрим сложные программаторы на примере ChipPro-40, который подключается к USB порту.
1) Характеристики программатора ChipProg-40:
-универсальная 40 DIP колодка с нулевым усилием с возможностью установки микросхем с шириной корпуса 300 mil ~ 600 mil;
-подключение к компьютеру через USB 2.0 совместимый порт;
-поддержка программирования: FLASH, EPROM, EEPROM, NVRAM, MCU;