Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PZ_Sasha.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

5.1 Используемые технические средства Программа CodeVisionAvr

Программа представляет собой интегрированную среду разработки ПО для AVR микроконтроллеров.

Из основных достоинств CodeVisionAVR то, что программа поддерживает все многочисленное семейство микроконтроллеров AVR (включая чипы с ядром ATxmega), формирует емкий и результативный программный код. Помимо компилирования среда разработки способна записать созданную программу в память микроконтроллера. Модуль прошивки может взаимодействовать со всеми популярными программаторами (AVR910, STK200/300 и многими другими). Редактор позволяет работать с двумя проектами одновременно, размещать закладки, настраивать время автоматического сохранения результатов.

Рис. 4 Программа CodeVisionAVR

Основными модулями, входящими в состав CodeVisionAVR являются:

• трансляторы программ, составленных на «Си» языках или ассемблере, в машинный код для AVR;

• элементы для инициализации периферийных устройств;

• модуль для работы с платой отладки STK-500;

• компоненты взаимодействия с внешними программаторами;

• редактор первичного кода;

• терминальный модуль.

Результат работы в программе CodeVisionAVR может быть представлен в виде HEX, ROM или BIN-файла для прямой прошивки микроконтроллера путем использования стороннего программатора. Кроме этого, программа может быть передана в формате COFF (файл отладчика) или OBJ. Число библиотек CodeVisionAVR растет с каждой новой версией и включает в себя поддержку продукции от таких известных производителей как Philips, National Semiconductor, Maxim-Dallas Semiconductor и многих других.

Компилятор CodeVisionAVR отличается от AVR-GCC, который можно наблюдать в программе WinAVR, синтаксисом, количеством поддерживаемых микроконтроллеров и быстродействием конечного кода. Но больше всего по специфике работы, расположению команд и своим возможностям программа напоминает PonyProg.

При работе важно не забывать, что процедура прошивки самой программы, fuse битов и ПЗУ в CodeVisionAVR являются самостоятельными процедурами. Разработчик рекомендует сначала прописать пользовательский код, затем EEPROM-память, а в конце fuse’ы. Чтобы убедиться, что CodeVisionAVR обнаружил внешний программатор, который подключается к LPT порту рабочей станции, необходимо нажать кнопку «Reset Chip». При этом на программаторе обязаны загореться индикаторы чтения/записи.

5.2 Описание макета программатора

Макет программатора состоит из общей платы и вспомогательных плат реализующих необходимые функции заданий. Общая плата имеет разъем, соединяющая программатора с параллельным портом компьютера. На общей плате также расположены две контактных колодки (дип панели) для установки программируемых микроконтроллеров. Они позволяют использовать МК следующих типов: а) дип панель DIP2x20.2 для МК серий AT90S4414 и AT90S8515; б) дип панель DIP2x10.1 для МК серии AT90S1200 AT90S2313.

Вспомогательные платы позволяют макетировать проектируемое устройство, управляемое микроконтроллером, не подвергая нежелательным механическим воздействиям сам программатор и микросхему контроллера. Вспомогательные платы соединяются с общей платой через дополнительные разъемы, что позволяет использовать имеющиеся порты (выводы) МК.

Питание программатора обеспечивается от внешнего блока стабилизированного питания МС9011.02 с выходным напряжением Vcc=+5В при максимальном токе нагрузки Iн=1.5А.

Рис. 4.17 - Принципиальная схема макета программатора

На рисунок 4.17. приведена принципиальная схема макета программатора для последовательного программирования МК серии AT90S1200 и AT90S8515 через параллельный (LPT) порт компьютера. Подсоединение к компьютеру осуществляется с помощью кабеля подключения изображенного на рисунок 4.18.

Соединительный кабель для подключения макета программатора к параллельному (LPT) порту компьютера состоит из двух разъемов DB25F и BH10.1 и двух шлейфов по 26 и 10 жил соединенных между собой согласно таблице 4.1. и таблице 4.2. Разъем DB25F (штырь) подсоединяется к параллельному (LPT) порту компьютера, а BH10.1 (гнездо) к разъему BH10.2 (штырь) на макете программатора рисунок 4.16.

Рисунок 4.18 - Кабель подключения макета к LPT порту компьютера

Таблица 4.1 Соответствие номера контакта разъема DB25F и

Порядковый номер 25 жильного шлейфа

1(красный)

2

3

4

5

6

7

8

9

10

11

12

13

Номер контакта в разъме DB25F

1

14

2

15

3

16

4

17

5

18

6

19

7

Порядковый номер 25 жильного шлейфа

14

15

16

17

18

19

20

21

22

23

24

25

26

Номер контакта в разъме DB25F

20

8

21

9

22

10

23

11

24

12

25

13

-

Таблица 4.2 Соответствие номеров контактов разъема DB25F

и разъема BH10.1

Разъем DB25F

Символьное обозначение

Разъем ВН 10.1

5

XTAL1

4

6

RESET

5

7

MOSI

1

8

SCK

7

10

MISO

9

19-25

Gnd

10

На приведенной схеме макета программатора кроме соединительных разъемов и контактных колодок МК находятся внешние элементы необходимые для обеспечения работы тактового генератора. Это конденсаторы С2=С1=39 пФ, С3=1000 пФ и кварц с частотой генерации колебаний 4 МГц. Кнопка В1 обеспечивает сброс МК в начальное состояние.

Подключение вспомогательных плат к макету программатора осуществляется через штыревые разъемы PLS.1, PLS.2 и PLS.3. Так как разъем PLS.1 соединен с дип панелью DIP2x10.1, в которую устанавливается МК серии AT90S2313 и AT90S1200, а разъемы PLS.2 и PLS.3 соединены с дип панелью DIP2x20.2, в которую устанавливается МК серий AT90S4414 и AT90S8515, то нумерация выводов разъема PLS.1 соответствует нумерации ножек AT90S1200, а нумерация выводов разъемов PLS.2 и PLS.3 соответствует нумерации ножек AT90S4414 и AT90S8515.

В макете программатора при программировании и последующей работе должен находиться только один микроконтроллер, либо в панели DIP2x10.1 (AT90S1200 или AT90S2313), либо в панели DIP2x20.2 (AT90S4414 или AT90S8515). К разъемам PLS.n (n=1,2,3) через соответствующую колодку можно подсоединять любые внешние устройства: светодиоды, ССИ, кнопки, матричную клавиатуру, подавать сигнал на какой либо порт (вывод) микроконтроллера или считывать его. При этом надо помнить, что на контакт 20 разъема PLS.1 и на контакт 40 разъема PLS.3 подается напряжение Vcc=+5В.

Макет программатора имеет два режима работы. Первый – непосредственное программирование микроконтроллера с помощью компьютера. Как с подключенными внешними устройствами, так и без них. Второй режим – автономный, когда происходит работа с внешними устройствами, выполненными на вспомогательных платах. При этом режиме макет программатора должен быть отсоединен от компьютера.

Сначала обучающийся должен, получив задание, подготовить (написать и отладить) программное обеспечение с помощью AVR Studio, согласно пп. 1-6 раздела 3.2. (Принципы выполнения заданий). Результатом данного этапа является безошибочная трансляция разработанной программы. Только после этого можно приступить к использованию макета программатора и построению внешнего устройства на вспомогательной плате, если это предусмотрено заданием.