Программирования микроконтроллеров

Автор: Пользователь скрыл имя, 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 файл

ПРАКТИКА.doc

— 735.50 Кб (Скачать)


 

оглавление

 

ВВЕДЕНИЕ

В преддипломной практике рассматриваются аппаратные и программные средства, которые позволяют программировать микроконтроллеры.

Изучение имеющихся  в мире аппаратных и программных  средств даст возможность проанализировать плюсы и минусы разработок тех  или иных фирм, позволит сравнить их производительность, актуальность, востребованность, и другие характеристики. После сравнивания всех нужных характеристик можно выбрать оптимальные средства для программирования микроконтроллеров для тех или иных задач, которые ставятся на предприятии.

Целью преддипломной  практики является изучение аппаратных и программных средств, предназначенных для программирования микроконтроллеров.

 

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 Применение микроконтроллеров

Использование в современном  микроконтроллере достаточного мощного  вычислительного устройства с широкими возможностями, построенного на одной  микросхеме вместо целого набора, значительно снижает размеры, энергопотребление и стоимость построенных на его базе устройств. Используются в управлении различными устройствами и их отдельными блоками:

-в вычислительной  технике: материнские платы, контроллеры  дисководов жестких и гибких дисков, CD и DVD;

-электронике  и разнообразных устройствах  бытовой техники, в которой  используется электронные системы  управления — стиральных машинах,  микроволновых печах, посудомоечных  машинах, телефонах и современных приборах.

В промышленности:

-устройств промышленной автоматики — от программируемого реле и встраиваемых систем до ПЛК;

-систем управления  станками. 

В то время как 8-разрядные процессоры общего назначения полностью вытеснены более производительными  моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость. В то же время, есть микроконтроллеры, обладающие большими вычислительными возможностями, например цифровые сигнальные процессоры.

1.4 Программы для программирования микроконтроллеров

Программирование микроконтроллеров  обычно осуществляется на языке ассемблера или Си, хотя существуют компиляторы  для других языков, например, Форта. Используются также встроенные интерпретаторы Бейсика.

Известные компиляторы  Си для МК:

-GNU Compiler Collection - Поддерживает ARM, AVR, MSP430 и многие другие архитектуры-  набор компиляторов для различных  языков программирования, разработанный  в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется фондом свободного программного обеспечения (FSF) на условиях GNU GPL и GNU LGPL и является ключевым компонентом GNU toolchain. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.

Изначально названный GNU C Compiler поддерживал только язык Си. Позднее, GCC был расширен для компиляции исходных кодов на таких языках программирования как C++, Objective-C, Java, Фортран и Ada.

С версии 4.2.2 GCC перешёл на лицензию GPLv3.

-CodeVisionAVR (для AVR)- интегрированная  среда разработки программного  обеспечения для микроконтроллеров  семейства Atmel AVR.

CodeVisionAVR включает в  себя следующие компоненты:

1) компилятор Си-подобного языка для AVR;

2) компилятор языка ассемблер для AVR;

3) генератор начального кода программы, позволяющего произвести инициализацию периферийных устройств;

4) модуль взаимодействия с отладочной платой STK-500;

5) модуль взаимодействия с программатором;

6) редактор исходного кода с подсветкой синтаксиса;

7) терминал.

-WinAVR (для AVR и AVR32)- программный  пакет для операционных систем  семейства Windows, включающий в себя  кросс-компилятор и инструменты  разработки для микроконтроллеров серий AVR и AVR32 фирмы Atmel;

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;

Информация о работе Программирования микроконтроллеров