TWR-MCF51CN. Микроконтроллеры MCF51CN128 — Лабораторные работы 1, 2, 3 и 4
Система Tower
Модуль TWR-MCF51CN
Рис. 1
TWR-MCF51CN-KIT Freescale Tower System
|
Модуль TWR-MCF51CN является составной частью Freescale Tower System — модульной платформы для разработки, позволяющей быстро создавать прототипы и неоднократно использовать инструментальные средства путём изменения аппаратной конфигурации. Выведите вашу разработку на новый уровень — начните собирать свою систему Tower уже сегодня. |
Охранная система, Freescale MQX™ RTOS для MCF51CN128 Введение
В ходе данной лабораторной работы вы познакомитесь с общими принципами использования операционной системы Freescale MQX™ в интегрированной среде разработки CodeWarrior™ и узнаете о процессах компиляции и загрузки. В этой лабораторной работе будет симулирована домашняя охранная Ethernet-система, доступ к которой осуществляется посредством telnet-сессий.
Рис. 2. Блок-схема ПО
При выполнении этой работы демонстрируются:
- Проект MQX в интегрированной среде разработки CodeWarrior
- Сборка, загрузка и выполнение проекта в интегрированной среде разработки CodeWarrior
- Акселерометр
- Оболочка MQX
- Драйвер MQX портов ввода/вывода общего назначения (кнопок и светодиодов)
- Стек TCP/IP MQX RTCS
- Функциональные возможности telnet-сервера
Пошаговая инструкция
- Установите CodeWarrior for Microcontrollers 6.2 Professional (доступна 30-дневная пробная версия; для выполнения лабораторных работ по MQX требуется версия Basic (базовая) или выше). После этого установите обновление CodeWarrior 6.2.2, а затем установите MQX версии 3.2 или более новую. Теперь откройте CodeWarrior.
- Вставьте основной (Primary) краевой разъём микроконтроллерного модуля в слот на функциональной (основной) соединительной плате. Точно также установите модуль TWR-SER (Tower Serial). Модули можно вставлять в любые слоты функциональной соединительной платы, но для того, чтобы не было затруднений с доступом к переключателям и светодиодам, рекомендуется устанавливать микроконтроллерный модуль сверху. Затем вставьте дополнительные краевые разъёмы (Secondary) модулей в дополнительную соединительную плату («заглушку»).
- Подключите MCF51CN128 Tower System к компьютеру, как показано на Рис. 1:
- Подключите USB-кабель между OSBDM-отладчиком (разъём J14 на модуле TWR-MCF51CN) и USB-портом компьютера. - Подключите Ethernet-кабель между Ethernet-портом модуля TWR-SER и Ethernet-портом компьютера.
- Когда вы в первый раз подключите кабель USB-отладчика к компьютеру, Windows автоматически начнёт установку драйвера для отладчика. Для автоматического обнаружения и установки драйвера следуйте появляющимся указаниям.
- Если вы включаете плату первый раз, то в имеющемся на ней микроконтроллере уже есть прошитая демонстрационная telnet-программа. Пропустите все шаги вплоть до девятого, где описывается настройка сети. Затем перейдите сразу к шагу 16 и запустите демонстрационную программу. Если вы хотите перезаписать во флэш-память микроконтроллера исходный код демонстрационной программы, то переходите к следующему шагу.
- Если во время инсталляции вы установили MQX-проект не в принятую по умолчанию директорию C:/Program Files/Freescale/Freescale MQX 3.2, то вам необходимо сначала перекомпилировать библиотеки MQX. Дополнительная информация об этом содержится в сопроводительной документации.
- Откройте рабочий проект, воспользовавшись меню File > Open и далее выбрав C:/Program Files/Freescale/Freescale MQX 3.2/demo/security_telnet/codewarrior/sectelnet_twrmcf51cn.mcp.
- В окне проекта выберите сборку «SecTelnet – OSBDM Debug Int Flash». См. Рис. 3.
Рис. 3. Проект, загруженный в ИСР CodeWarrior
- По умолчанию для платы задан IP-адрес 169.254.3.3. Обычно при непосредственном подключении платы к компьютеру он автоматически устанавливает IP-адрес в той же самой подсети, к которой относится плата (169.254.x.x), поэтому настройка не требуется. В процессе подключения вы можете увидеть сообщение Windows: «Limited Connectivity» («Ограниченные возможности соединения»), оно не должно вас смущать.
Примечание. Компьютеру может потребоваться несколько минут для автоматического задания IP-адреса и создания соединения. Однако при проблемах с установкой соединения вы можете задать IP-адрес компьютера вручную. Выберите Start > Settings > Network Connections > Local Area Connection. Запомните оригинальные настройки TCP/IP вашего компьютера, а затем задайте свой IP-адрес 169.254.3.4 и маску подсети 255.255.0.0.
- Откройте в окне CodeWarrior файл Security.h, дважды кликнув по названию файла в папке Source дерева проектов CodeWarrior. См. Рис. 3.
- Если вы хотите изменить IP-адрес, присвоенный плате по умолчанию, то найдите строку кода, начинающуюся с #define ENET_IPADDR, и задайте собственный IP-адрес и маску IP-адреса, используя макрос IPADDR. По умолчанию установлен IP-адрес 169.254.3.3, а маска подсети — 255.255.0.0.
Рис. 4. Исходный код MQX
- Скомпилируйте проект, нажав клавишу F7 или кликнув по иконке Make на панели инструментов. Эта иконка видна на Рис. 3.
- Теперь запустите отладчик, кликнув по иконке Debug. Эта иконка тоже видна на Рис. 3.
- Появится диалоговое окно отладчика V1 ColdFire с вопросом, не хотите ли вы стереть флэш-память и загрузить в неё новое программное обеспечение (см. Рис. 5). Выберите OK.
Рис. 5. Предложение о перезаписи флэш-памяти
- После прошивки программы во флэш-память вы увидите в окне программ входную функцию MQX. Нажмите кнопку Start (показана на Рис. 6). В некоторых случаях может потребоваться нажать на кнопку Start дважды.
Рис. 6. Отладчик
- Запустите на компьютере сеанс командной строки (Start > Programs > Accessories > Command Prompt).
- В командной строке вызовите сессию telnet с платой, напечатав telnet 169.254.3.3. Будет установлено telnet-соединение с платой.
Рис. 7. Подключение через telnet
- Напечатайте help для просмотра списка доступных команд.
Рис. 8. Команды telnet
- Простая охранная система была здесь реализована в качестве примера, чтобы продемонстрировать возможности операционной системы реального времени (RTOS) MQX. Это приложение позволяет детектировать нажатие кнопок и движение системы Tower, вести протокол событий, а также обеспечивает интерфейс пользователя через telnet.
- Светодиоды на плате микроконтроллера отображают текущее состояние системы:
- Когда система Tower удерживается в горизонтальном положении, светодиодами LED1, LED2 и LED3 можно управлять с помощью команд ledon и ledoff (например, ledon 2).
- Когда система наклонена, светодиоды LED1, LED2 и LED3 отражают, насколько сильно наклонена плата в направлении оси Y.
- Светодиод LED4 индицирует состояние двери (SW2) или окна (SW3) — ОТКРЫТО (OPEN) или ЗАКРЫТО (CLOSED).
Рис. 9. Светодиоды
- Чтобы проверить текущее состояние платы, воспользуйтесь командой status. Эта команда покажет текущее состояние ключей, потенциометра, акселерометра, а также время, прошедшее с момента запуска приложения.
Рис. 10. Команда status
- Одной рукой удерживая в нажатом состоянии кнопку SW2, имитирующую дверь, другой рукой напечатайте команду status и нажмите клавишу Enter. Вы увидите, что дверь находится в состоянии OPEN (ОТКРЫТО).
Рис. 11. Команда status
- Чтобы увидеть последние 10 событий, обнаруженные системой Tower, напечатайте команду displaylog. Команда clearlog очистит протокол событий.
Рис. 12. Вывод протокола событий на экран (команда displaylog)
- Энергично потрясите систему Tower в течение нескольких секунд. Теперь снова напечатайте displaylog.
Рис. 13. Вывод протокола событий на экран (команда displaylog)
- Воспользуйтесь командами ledon и ledoff для управления линиями ввода/вывода, к которым подключены светодиоды.
Рис. 14. Команды управления светодиодами
Охранная система с Web-сервером, Freescale MQX™ RTOS для MCF51CN128 Введение
В этой лабораторной работе используются динамические Web-страницы, обслуживаемые платой TWR-MCF51CN-KIT, которые формируют графический интерфейс пользователя охранной системы.
Рис. 15. Блок-схема ПО
При выполнении этой работы демонстрируются:
- Стек TCP/IP MQX RTCS
- Функциональные возможности HTTP-сервера
Пошаговая инструкция
- Для сборки и настройки системы Tower повторите шаги 1...4 Лабораторной работы 1.
- Откройте проект, выбрав File > Open и далее указав C:/Program Files/FreescaleMQX3.2/demo/security_webserver/codewarrior/secwebserver_twrmcf51cn.mcp.
- В окне проекта выберите сборку «SecWebServer – OSBDM Debug Int Flash». См. Рис. 16.
Рис. 16. Проект, загруженный в ИСР CodeWarrior
- IP-адрес платы по умолчанию 169.254.3.3. Если вы хотите изменить IP-адрес, откройте файл security.h и далее следуйте указаниям, описанным в шагах 9...11 Лабораторной работы 1.
- Скомпилируйте и загрузите проект во флэш-память платы, следуя шагам 12...15 Лабораторной работы 1.
- Запустите интернет-браузер и укажите в адресной строке адрес целевого устройства. В данном случае: 169.254.3.3. Отключите все настройки прокси-серверов, которые могут быть включены в вашем браузере.
- В окне браузера вы должны увидеть начальную страницу Web-сервера, как показано на Рис. 17.
Рис. 17. Web-интерфейс
- Попробуйте понажимать кнопки и покачать плату. Вы увидите, как будет изменяться состояние входов на Web-странице, а также как будет вестись протокол выполненных действий.
Рис. 18. Web-интерфейс
- Покликайте по находящимся слева ссылкам, чтобы получить дополнительную информацию о микропроцессоре MCF51CN128 и системе Tower.
- Web-страницы хранятся в папке /demo/security_webserver/web_pages. Вы можете отредактировать их в любом текстовом редакторе. Затем дважды кликните по командному файлу Build_Webpages.bat, который вызывает исполняемый файл mktfs.exe. Данный сценарий преобразует Web-страницы в массив Си, хранящийся в файле tfsdata.c.
- Затем перекомпилируйте проект, и при его перезапуске будут появляться новые Web-страницы. По умолчанию стартовой страницей Web-сервера является страница mqx.html.
Энергоэффективная охранная система с передачей сообщений по электронной почте, Freescale MQX™ RTOS для MCF51CN128 Введение
В ходе данной лабораторной работы демонстрируется, как система Tower при нажатии одной из кнопок высылает сообщение по электронной почте. Также система сама обновляет текущее время, используя протокол SNTP, и получает IP-адрес через сервер DHCP (Dynamic Host Configuration Protocol — протокол динамической конфигурации хоста). Она также работает в энергосберегающем «спящем» режиме Stop2, пробуждаясь по нажатию одной из кнопок.
Пожалуйста, обратите внимание, что для этой лабораторной работы вам понадобятся основные сведения о конфигурации вашей сети и электронной почты. Конфигурационные параметры в разных сетях могут отличаться друг от друга, и не во всех сетях имеется сервер электронной почты (e-mail-сервер) или SNTP-сервер. Также некоторые корпоративные сети локализованы средствами межсетевой защиты — брандмауэрами и модулями доступа (proxy), которые могут не позволить реализовать те функции, которые описаны в данной лабораторной работе. Требуемую информацию о конфигурации вашей сети вы можете получить у своего сетевого администратора.
Рис. 19. Блок-схема ПО
При выполнении этой работы демонстрируются:
- Стек TCP/IP MQX RTCS
- Функциональные возможности DHCP
- Функциональные возможности SNTP
- Функциональные возможности DNS
- Сокеты
Пошаговая инструкция
- Установите программное обеспечение, о котором говорилось в шаге 1 Лабораторной работы 1, если вы ещё этого не сделали.
- Соберите TWR-MCF51CN-KIT согласно описанию шага 2 Лабораторной работы 1. Затем подключите TWR-MCF51CN-KIT к компьютеру, как показано на Рис. 1:
- Подключите USB-кабель между OSBDM-отладчиком (разъём J14 на модуле TWR-MCF51CN) и USB-портом компьютера.
- Подключите Ethernet-кабель между Ethernet-портом модуля TWR-SER и Ethernet-портом компьютера.
- Последовательный порт модуля TWR-SER соедините с последовательным портом компьютера (кабель в комплект поставки не входит).
- Когда вы в первый раз подключите кабель USB-отладчика к компьютеру, Windows автоматически начнёт установку драйвера для отладчика. Для автоматического обнаружения и установки драйвера следуйте появляющимся указаниям.
- Если во время инсталляции вы установили MQX-проект не в принятую по умолчанию директорию C:/Program Files/Freescale/Freescale MQX 3.2, то вам, чтобы указать новое местоположение, необходимо сначала перекомпилировать библиотеки MQX. Дополнительная информации об этом содержится в сопроводительной документации (release notes), с которой следует ознакомиться, прежде чем продолжить выполнение данной лабораторной работы.
- Откройте рабочий проект, выбрав File > Open и далее указав C:/Program Files/Freescale/FreescaleMQX3.2/demo/security_email/codewarrior/secemail_twrmcf51cn.mcp.
- В окне проекта выберите сборку «SecEmail – OSBDM Debug Int Flash».
- Откройте файл security.h в папке Sources.
Рис. 20. Каталог исходных файлов MQX
- Необходимо сконфигурировать сеть. Найдите в файле security.h строку, начинающуюся с #define DEMOCFG_ENABLE_DHCP 1.
- Если в сети, к которой вы подключены, используется DHCP, то перейдите к шагу 10. Однако если в сети, к которой вы подключены, требуется статический IP-адрес, то измените строку
#define DEMOCFG_ENABLE_DHCP 1 на #define DEMOCFG_ENABLE_DHCP 0 Затем измените другие параметры, показанные на Рис. 21, таким образом, чтобы они соответствовали вашей сети. Это требуется только в случае использования статического IP-адреса.
Рис. 21. Параметры сети
Требуемые значения вы можете узнать у сетевого администратора. Если ваш компьютер уже подключён к сети через Ethernet-кабель, то есть и другой способ. Запустите на компьютере сеанс командной строки (Start > All Programs > Accessories > Command Prompt). Затем, чтобы получить информацию о подключении к Интернету вашей локальной сети, напечатайте ipconfig /all, как показано на Рис. 22. Затем отключите Ethernet-кабель от компьютера и вставьте его в Ethernet-порт системы Tower.
Рис. 22. Результат выполнения команды ipconfig в случае простой сети
- Время по Гринвичу (GMT) можно передать в MCF51CN128, используя протокол SNTP. Сервер SNTP, с которым устанавливается контакт, определяется именем домена, которое должно быть заключено в кавычки, как показано на Рис. 23. По умолчанию SNTP-адрес — это адрес сервера времени Национального института стандартов и технологий США (National Institute of Standards and Technologies — NIST). Однако, если ваше внешнее Интернет-подключение проходит через proxy-сервер или брандмауэр, то вы должны использовать SNTP-сервер, расположенный в вашей сети. Узнайте у администратора вашей сети адрес сетевого SNTP-сервера. Если вы не можете определить параметры сетевого SNTP-сервера, то отключите функцию SNTP, приравняв DEMOCFG_ENABLE_SNTP нулю:
#define DEMOCFG_ENABLE_SNTP 0
Рис. 23. Параметры SNTP
- Далее, настройте конфигурацию электронной почты. Если вы используете Outlook Express или Thunderbird, то все требуемые настройки вы можете найти в конфигурационных опциях данных программ. Также эти настройки можно найти на справочной странице (странице помощи абонентам) вашего провайдера.
Примечание. Серверы электронной почты (например, Gmail, Hotmail и т.д.), в которых требуется передача данных аутентификации в зашифрованном виде (обычно через протокол защищённых сокетов SSL) не будут работать с данной версией MQX.
Рис. 24. Параметры e-mail
- Основные настройки электронной почты конфигурируются посредством директив #define, перечисленных на Рис. 24. Убедитесь, что все значения заключены в кавычки.
- EMAIL_SERVER: имя домена SMPT-сервера, используемого для отправки/приёма электронной почты. Это не может быть SMPT-сервер, использующий для аутентификации протокол SSL (как, например, Gmail, Hotmail и т.п.). Если ваша сеть защищена proxy-сервером или брандмауэром, то вы должны использовать SMPT-сервер, размещённый в вашей сети.
- EMAIL_TO: адрес электронной почты, на который будут отправляться сообщения. Им может быть любой e-mail-адрес.
- EMAIL_FROM: официальный адрес вашей электронной почты для SMPT-сервера, к которому вы подключены. Вы не можете использовать адрес-псевдоним или «дружеский адрес» (friendly address). Многие серверы отказывают в подключении, которое не обеспечено реальным адресом электронной почты, поскольку предполагают, что это спам.
- Если вашему SMPT-серверу аутентификация не нужна, то переходите сразу к шагу 14. Если всё же аутентификация требуется, но не требуется шифрование, то измените строку:
#define DEMOCFG_AUTH_REQUIRED 0 на #define DEMOCFG_AUTH_REQUIRED 1 Затем поменяйте имя пользователя и пароль (см. Рис. 25). Имя пользователя и пароль обычно представляют собой ту же пару, которую вы используете для получения доступа к своей электронной почте.
Рис. 25. Параметры аутентификации
- Теперь создайте последовательное соединение, используя Hyperterminal. Это опция, но в окне Hyperterminal будет выведена отладочная информация, которая может оказаться полезной в случае возникновения каких-либо проблем с подключением к сети.
- Запустите на персональном компьютере программу HyperTerminal (Start menu > Programs > Accessories > Communications). Выберите последовательный порт, который подключён к плате (обычно это COM1).
Рис. 26. Подключение к COM1
- Настройте порт следующим образом: скорость передачи данных 115 200 бит/с, без контроля чётности, 8 бит данных. Нажмите OK.
Рис. 27. Задание параметров порта COM1
- Скомпилируйте, загрузите и запустите приложение, как делали это в шагах 12...15 Лабораторной работы 1.
- Теперь нажмите какую-нибудь кнопку на Tower System. После того, как вы её отпустите, будет послано сообщение по адресу, который вы задали. В письме будет указано время в момент нажатия кнопки, а также, сколько времени прошло с этого события.
Рис. 28. E-mail
- Вы также можете посылать текстовые сообщения через электронную почту. Например, в поле EMAIL_TO задайте значение 5125551234@tmomail.net. В этом случае текстовые сообщения будут отправляться пользователю телефонной сети T-Mobile с номером телефона 512-555-1234. За дополнительной информацией обратитесь к вашему провайдеру мобильной связи или воспользуйтесь онлайн-поиском.
Рис. 29. Задание параметра EMAIL_TO
Мост между Telnet и последовательным портом, Freescale MQX RTOS для MCF51CN128 В этой лабораторной работе рассказывается, как создать мост между TCP/IP-подключением (telnet) и каналом последовательной передачи данных.
Рис. 30. Блок-схема ПО
При выполнении этой работы демонстрируются:
- Стек TCP/IP MQX RTCS
- Реализация клиентского telnet-сервера
- Перенаправление линий STDIN и STDOUT в MQX-задаче
Пошаговая инструкция
- Установите программное обеспечение, о котором говорилось в шаге 1 Лабораторной работы 1, если вы ещё этого не сделали.
- Соберите TWR-MCF51CN-KIT согласно описанию шага 2 Лабораторной работы 1. Затем подключите TWR-MCF51CN-KIT к компьютеру так, как это показано на Рис. 1:
- Подключите USB-кабель между OSBDM-отладчиком (разъём J14 на модуле TWR-MCF51CN) и USB-портом компьютера.
- Подключите Ethernet-кабель между модулем TWR-SER и Ethernet-портом внешней сети.
- Последовательный порт модуля TWR-SER соедините с последовательным портом компьютера (кабель в комплект поставки не входит).
- Когда вы в первый раз подключите кабель USB-отладчика к компьютеру, Windows автоматически начнёт установку драйвера для отладчика. Для автоматического обнаружения и установки драйвера следуйте появляющимся указаниям.
- Если во время инсталляции вы установили MQX-проект не в принятую по умолчанию директорию C:/Program Files/Freescale/Freescale MQX 3.2, то вам, чтобы указать новое местоположение, необходимо сначала перекомпилировать библиотеки MQX. Дополнительная информация об этом содержится в сопроводительной документации (release notes), с которой следует ознакомиться, прежде чем продолжить выполнение данной лабораторной работы.
- Откройте рабочий проект, выбрав File > Open и далее указав C:/Program Files/Freescale/FreescaleMQX3.2/demo/telnet_to_serial/codewarrior/telnet2ser_twrmcf51cn.mcp.
- В окне проекта выберите сборку «Telnet2Ser – OSBDM Debug Int Flash».
Рис. 31. Каталог исходных файлов MQX
- По умолчанию для платы задан IP-адрес 169.254.3.3. Обычно при непосредственном подключении платы к компьютеру он автоматически устанавливает IP-адрес в той же самой подсети, к которой относится плата (169.254.x.x), поэтому настройка не требуется.
Примечание. Для автоматического задания IP-адреса и установления соединения компьютеру может потребоваться несколько минут. Однако при проблемах с установкой соединения вы можете задать IP-адрес компьютера вручную. Выберите Start > Settings > Network Connections > Local Area Connection. Запомните оригинальные настройки TCP/IP вашего компьютера, а затем задайте IP-адрес 169.254.3.4 и маску подсети 255.255.0.0.
- Откройте файл config.h в окне CodeWarrior, как показано на Рис. 31, дважды кликнув по названию файла в папке Source дерева проектов CodeWarrior.
- Если вы хотите изменить установленный по умолчанию IP-адрес платы, то найдите в коде строку, начинающуюся с #define ENET_IPADDR, и задайте собственные значения IP-адреса и его маски, используя макрос IPADDR. Значение IP-адреса по умолчанию — 169.254.3.3, а маски подсети — 255.255.0.0.
- Скомпилируйте и загрузите проект во флэш-память, как делали это в шагах 12...15 Лабораторной работы 1.
- Запустите на компьютере сеанс командной строки (Start > Programs > Accessories > Command Prompt). В командной строке вызовите telnet-сессию с платой, напечатав telnet 169.254.3.3. Тем самым вы подключитесь к оболочке MQX через telnet.
Рис. 32. Подключение через telnet
- Откройте консоль последовательной передачи данных согласно шагам 15 и 16 Лабораторной работы 3.
- Теперь сессии консоли последовательной передачи данных и telnet должны быть «соединены мостом». Напечатайте несколько символов в окне telnet-сессии. Вы увидите, как эти символы появляются в окне консольного терминала. На Рис. 33 показано, как это будет выглядеть.
Рис. 33. Мост между Ethernet и последовательным портом
- Потом попробуйте попечатать в окне консольного терминала, и вы увидите символы, появляющиеся в telnet-сессии.
Узнайте больше
Получить дополнительную информацию о продукции Freescale можно, посетив Web-страницу www.freescale.com/tower.
Freescale и логотип Freescale являются товарными знаками или зарегистрированными товарными знаками компании Freescale Semiconductor, Inc. в США и других странах. Названия всех остальных товаров и услуг являются собственностью их владельцев. © Freescale Semiconductor, Inc. 2009.
|