Весь ассортимент компании "Симметрон электронные компоненты" вы можете
приобрести в розницу в фирменных магазинах "Микроника".
Лабораторный практикум по TWR-S08LL64. Лабораторные работы 1 и 2
Модуль TWR-S08LL64
Рис. 1 TWR-S08LL64-KIT Freescale Tower System
Модуль TWR-S08LL64 является составной частью Freescale Tower System — модульной платформы для разработки, позволяющей быстро создавать прототипы и неоднократно использовать инструментальные средства путём изменения аппаратной конфигурации. Выведите вашу разработку на новый уровень — начните собирать свою систему Tower уже сегодня.
Рис. 2
Джамперы (перемычки) на модуле микроконтроллера Tower установлены в положение, разрешающее запуск приложения Quick Start (Быстрый старт), записанного во флэш-память микроконтроллера MC9S08LL64.
TWR-S08LL64 — Лабораторные работы 1 и 2
Введение
MC9S08LL64 — это один из микроконтроллеров Freescale с интегрированным драйвером ЖК-дисплея и с пониженным энергопотреблением. Модуль TWR-S08LL64 содержит встроенный дисплей, благодаря которому разработчики могут анализировать создаваемое ПО с помощью интегрированного драйвера ЖК-дисплея. Данное руководство поможет вам за считанные минуты подготовиться к разработке своего следующего ЖК-приложения на базе микроконтроллера MC9S08LL64. Примечание. Прежде чем приступить к лабораторным работам, описанным в данном руководстве, выполните все шаги руководства Quick Start Guide (Быстрый старт), полностью установите требуемое программное обеспечение и загрузите документацию.
Использование кода Quick Start, запуск CodeWarrior и открытие проекта
В данной лабораторной работе показаны возможности микроконтроллера MC9S08LL64 и приложения Quick Start (Быстрый старт). Нажимая кнопку SW2, можно выбрать одно из четырёх состояний:
Состояние 1. Пониженное энергопотребление и отображение времени
Состояние 2. Потенциометр и светочувствительный датчик
Состояние 3. Демо-режим акселерометра, вывод координат X, Y и Z через порт SCI
Состояние 4. Демо-режим АЦП — в состоянии АЦП при нажатии кнопки SW4 номер канала увеличивается на 1, конвертируется в шестнадцатеричный вид и отображается на дисплее
Установите программное обеспечение и инструментальные средства в соответствии с указаниями руководства Quick Start Guide (Быстрый старт).
Откройте приложение CodeWarrior для микроконтроллеров.
Для этого в меню ПускWindows выберите Programs > Freescale CodeWarrior > CW for Microcontroller 6.3 > CodeWarriorIDE.
Нажмите кнопку Start Using CodeWarrior (Запустить CodeWarrior).
В меню приложения CodeWarrior выберите File > Open (Файл > Открыть) и откройте файл PE_LL64 Quick_Start.mcp, который находится на диске c:/ в каталоге с распакованными проектами. Этот файл представляет собой проект Quick Start, в котором для инициализации устройства используется инструментальное средство Processor Expert программы CodeWarrior.
Знакомство с окном проекта Quick Start
На Рис. 3 показаны закладки Processor Expert и Files (Файлы).
Рис. 3
В окне проекта есть четыре закладки: Files (Файлы), Link Order (Порядок подключения), Target (Целевой микроконтроллер), Processor Expert.
На каждой закладке отображается содержимое проекта, соответствующее её названию. Код пользователя отображается на закладке Files (Файлы).
Установка модуля TWR-S08LL64
Подключитесь к 10-контактному разъёму на модуле, помеченному COM PORT и J3 (см. Рис. 4). В состояниях 2, 3 и 4 данные пересылаются через порт SCI микроконтроллера на консоль терминала вашего компьютера.
Подсоедините разъём DB9 гибкого кабеля RS232 к последовательному порту компьютера.
Рис. 4
Запуск инструментального средства P&E для разработки приложений программатора/отладчика
Откройте инструментальное средство P&E Multilink Toolkit Launch Pad и окно терминала. В главном меню Windows выберите Programs > P&E Embedded Multilink Toolkit > Toolkit Launchpad.
Запустите консоль терминала и настройте параметры COM-порта компьютера: Скорость — 19 200 бит/с, Биты данных — 8, Стоп-биты — 1, Чётность — нет.
С помощью ПО CodeWarrior скомпилируйте код и перепрограммируйте микроконтроллер MC9S08LL64, записав в него приложение — для этого кликните по кнопке Debug (Отладка) или нажмите клавишу F5 на клавиатуре, запускающую программатор и отладчик BDM с открытым исходным кодом (OSBDM).
Если появится сообщение «Load Executable File» (Загрузка исполняемого файла), нажмите Yes (Да).
Рис. 5
Если появятся сообщения «Set Connection» (Установка подключения) и «Set Derivative» (Тип микропроцессора), то выберите значения «HCS08 – FSL Open Source BDM» (HCSO8 и Freescale OSBDM) и тип микропроцессора MC9S08LL64, затем нажмите OK.
Рис. 6
Рис. 7
Если микроконтроллер остановлен и находится в состоянии с пониженным энергопотреблением, то может появиться сообщение «There is currently no communication» (Подключения отсутствуют). Нажмите ОК. Восстановите подключение, нажав кнопку SW2 и выбрав пункт Component > Set Connection (Компонент > Установить соединение), укажите «HCS08 and FSL open source BDM» (HCS08 и FSL OSBDM). Подключение по интерфейсу BDM восстановится.
Рис. 8
Когда появится сообщение «Loading a new application will stop execution of the current one» (Загрузка нового приложения приведёт к остановке выполняемого приложения), нажмите OK.
Рис. 9
Когда появится сообщение «The debugger is going to mass erase the non-volatile memory of the current device, then program the application» (Отладчик полностью очистит содержимое энергонезависимой памяти текущего устройства, а затем перепрограммирует приложение), нажмите OK.
Рис. 10
Окно отладчика
Откроется новая среда отладчика. В основном меню выберите Run > Start/Continue (Запуск > Старт/Продолжение) или нажмите кнопку . Начнётся выполнение программы в режиме реального времени.
Рис. 11 Отображение времени
При включении питания или сбросе все сегменты на ЖК-дисплее загорятся, затем погаснут, далее появятся надписи «9LL64» и «CL». После этого микроконтроллер перейдёт в режим пониженного энергопотребления с отображением времени/дня недели. При инициализации показаний дисплея используются значения времени и дня недели. Микроконтроллер отслеживает время с помощью модуля TOD, в котором используется часовой кварц с частотой 32.768 кГц.
Рис. 12
В режиме остановки и пониженного энергопотребления задействованы функции TOD и управление ЖК-дисплеем. В режиме остановки работает функция мигания сегментов ЖК-дисплея.
Измерение тока. Чтобы измерить средний ток микроконтроллера, снимите перемычку «MCU IDD» J2 и подключите амперметр между двумя выводами J2. Произведите сброс модуля TWR_S08LL64 нажатием кнопки Сброс. Показания должны быть ниже 3 мкА.
Интервал пробуждения. Микроконтроллер возобновляет работу каждую секунду и обновляет значение программного счётчика секунд. Чтобы сократить энергопотребление, можно установить временной интервал пробуждения микроконтроллера равным 60 с. Это уменьшит число переключений микроконтроллера из режима остановки в рабочий режим с обновлением показаний времени на ЖК-дисплее.
В файле LL64_Demo.c код, включающий 60-секундный интервал пробуждения, закомментирован. В функции void StopClock(void) сделайте комментарием строку, которая начинается с vfnTOD_Init и удалите символы комментария «//» в начале следующей строки. После перезаписи нового кода микроконтроллер будет активироваться каждые 60 с. Таким образом, ежесекундный интервал отменён.
Снова измерьте значение тока и сравните с предыдущим. Возможно, вам придётся закрыть окно отладчика для перехода в режим с более низким потреблением тока.
Потенциометр и светочувствительный датчик
В этом состоянии для считывания показаний потенциометра и встроенного светочувствительного датчика используются два канала АЦП. Нажмите переключатель SW2, и программа перейдёт в состояние Потенциометр и светочувствительный датчик.
На дисплее отобразится «LI», а также показания потенциометра (большими символами в нижней части экрана) и показания светочувствительного датчика (справа вверху двумя символами меньшего размера). Третьим отображаемым символом будет <, > или =, сравнивающий показания POT (потенциометра) и светочувствительного датчика. Одновременно показания пересылаются через SCI-порт на скорости 19 200 бит/с.
Запустите утилиту Serial Grapher из программы PEMICRO UTILITY LAUNCH PAD.
Выберите COM-порт компьютера (как правило, это COM1) и установите: Скорость — 19 200 бит/с, Биты данных — 8, Стоп-биты —1, Чётность — нет.
Кликните по Open Serial Port and and Start Demo (Открыть последовательный порт и запустить демо-приложение). В окне терминала появится следующее: "POT = FD Light Sensor Z1 = C4 " "POT = FD Light Sensor Z1 = C4 " "POT = FD Light Sensor Z1 = C4 "
Графическое отображение работы акселерометра
Нажмите кнопку SW2, программа перейдёт в состояние Демо-режим акселерометра. В этом состоянии для измерения и вывода данных по трём направлениям используется трёхкоординатный акселерометр, каналы АЦП и SCI-порт. При тех же настройках, что и для Состояния 2, можно получить графическое отображение движения акселерометра при перемещении модуля. В Лабораторной работе 2 представлена более полная демонстрация возможностей акселерометра. Чтобы получить изображение, показанное на Рис. 13, необходимо выбрать увеличение (zoom in) и включить повторное воспроизведение, нажав кнопку воспроизведения .
Рис. 13 Демонстрация возможностей АЦП
Нажмите кнопку SW2 ещё раз, программа перейдёт в состояние Демо-режим АЦП. На ЖК-дисплее отобразится «ADC» и 12-битное значение в трёх первых разрядах, а также номер канала в двух верхних правых разрядах. При нажатии на кнопку SW4 номер канала увеличивается на 1, преобразуется в шестнадцатеричный вид и отображается на дисплее.
В этом состоянии производятся измерения и отображение данных для выбранного канала АЦП с одновременной отправкой данных на SCI-выход. При тех же установках терминала, что и в Состоянии 2, в окне терминала можно увидеть следующие данные:
Где:
Колонка 1 — содержимое регистра ADCCFG1
Колонка 2 — номер канала в соответствии с Табл. 2
Колонка 3 — выровненный по правому краю результат преобразования 12 бит
Колонка 4 — переменная в шестнадцатеричном виде, записанная в регистр VREF Trim
Колонка 5 — содержимое регистра ADCCFG2
В Табл. 1 приведено распределение каналов АЦП.
Для смены канала и его просмотра на ЖК-дисплее и SCI-выходе нажмите SW4.
Обратите внимание: канал VREFO (0x13, Табл. 2) изменяется, так как циклический код постоянно меняет настройки этого опорного напряжения. Таким образом, имеется возможность установки или регулировки выходного напряжения VREF.
Таблица 1
Регистр ADCH
Канал
Вход
Управляющий вывод
0
AD0
ADP0
ADPC0
1
AD1
Зарезервирован
ADPC1
10
AD2
Зарезервирован
ADPC2
11
AD3
Зарезервирован
ADPC3
100
AD4
PTA0/ADP4
ADPC4
101
AD5
PTA1/ADP5
ADPC5
110
AD6
PTA2/ADP6
ADPC6
111
AD7
PTA3/ADP7
ADPC7
1000
AD8
PTA4/ADP8
—
1001
AD9
PTA5/ADP9
—
1010
AD10
PTA6/ADP10
—
1011
AD11
PTA7/ADP11
—
1100
AD12
ADP12
ADPC12
10000
AD16
Зарезервирован
—
10001
AD17
Зарезервирован
—
10010
AD18
Зарезервирован
—
10011
AD19
VREFO
—
10100
AD20
Зарезервирован
—
10101
AD21
Зарезервирован
—
10110
AD22
Зарезервирован
—
10111
AD23
VLCD
—
11000
AD24
VLL1
—
11001
AD25
Зарезервирован
—
11010
AD26
Датчик температуры
—
11011
AD27
Внутренний источник опорного напряжения (bandgap)
—
11100
AD28
Зарезервирован
—
11101
VREFH
VREFH
—
11110
VREFL
VREFL
—
11111
Модуль отключён
Нет
—
В Табл. 2 приведено распределение каналов при подключении к модулю Tower.
Подпрограмма обработки прерываний пропускает зарезервированный канал и переходит к следующему.
Таблица 2
Канал (hex)
Функция 1
Функция 2
Функция 3
0
Подключение отсутствует
JP10
J1-A30
4
Потенциометр
Нулевое ускорение
5
Ось X
6
Ось Y
7
Ось Z
8
SW3
J2-B27
9
Подключение отсутствует
J2-B28
0A
Светочувствительный датчик RZ1
SW1
J1-A27
0b
SW2
J1-A28
0C
JP10
J1-A29
13
VREFO
17
VLCD
18
VLL1
1A
Датчик температуры
1B
Опорное напряжение
1D
VREFH
1E
VREFL
Демонстрация возможностей акселерометра
В данной лабораторной работе вы познакомитесь с рабочими характеристиками микроконтроллера MC9S08LL64, а также убедитесь в простоте его сопряжения с датчиком. Кроме того, вы подробно познакомитесь с одной из множества программных утилит, включённых в комплект поставки модуля TWR-S08LL64.
Приложение акселерометра считывает с трёхкоординатного акселерометра в модуле TWR-S08LL64 координаты по осям X, Y и Z с помощью АЦП микроконтроллера. Оно выводит необработанные значения данных акселерометра на последовательный коммуникационный интерфейс микроконтроллера.
При нажатии на SW1 программа переключается в режим вывода скользящего среднего необработанных данных акселерометра.
Нажатие SW2 включает режим вывода фильтрованных значений. При нажатии на SW3 снова выводятся необработанные данные.
Открытие кода Accelerometer и программирование микроконтроллера с его помощью
Удалите перемычку RZ1 с JP7, чтобы светочувствительный датчик не мешал работе переключателя SW1. Остальные переключатели должны находиться в положениях, предусмотренных по умолчанию.
В приложении CodeWarrior, выберите File > Open (Файл > Открыть) и откройте файл TWR9S08LL64_Accelerometer.mcp из каталога с распакованными проектами на диске c:/.
Скомпилируйте код и перепрограммируйте микропроцессор, нажав кнопку Debug (Отладка), запускающую отладчик.
Когда появится сообщение «Loading a new application will stop execution of the current one» (Загрузка нового приложения приведёт к остановке выполняемого приложения), нажмите OK.
Когда появится сообщение «The debugger is going to mass erase the non-volatile memory of the current device, then program the application» (Отладчик полностью очистит содержимое энергонезависимой памяти текущего устройства, а затем перепрограммирует приложение), нажмите OK.
Откроется среда отладчика. В основном меню выберите Run > Start/Continue (Запуск > Старт/Продолжение). Начнётся выполнение программы в режиме реального времени.
Запустите утилиту акселерометра из приложения PEMICRO TOOLKIT LAUNCH PAD и выберите Accelerometer (Акселерометр).
Настройте COM-порт компьютера, установите скорость 19 200 бит/с и кликните по Open Serial Port and Start Demo (Открыть последовательный порт и запустить демонстрационное приложение).
Запуск демонстрации и просмотр графиков
Обратите внимание на гистограмму со столбцами X, Y, Z и C, а также на окно границ (Scope) на графике для акселерометра. Если изменения значений слишком малы, то выделите прямоугольник вокруг графических данных и нажмите кнопку воспроизведения в окне графика. Вы получите необработанные координаты XYZ на графике с большим увеличением. Нажмите кнопку SW2 — активируется «усреднение». Обратите внимание на столбец C (счётчик циклов) гистограммы — с увеличением числа циклов наблюдается эффект сглаживания координат XYZ при перемещениях модуля.
Рис. 14
Нажмите кнопку SW1 — начнётся исполнение алгоритма FIR-фильтрации. Значение счётчика циклов снова возрастёт, и масштаб графика изменится. Вы увидите это на графике.
При нажатии на кнопку SW3 произойдёт возврат к потоковой передаче необработанных данных с акселерометра.