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-сервера

Пошаговая инструкция

  1. Установите CodeWarrior for Microcontrollers 6.2 Professional (доступна 30-дневная пробная версия; для выполнения лабораторных работ по MQX требуется версия Basic (базовая) или выше). После этого установите обновление CodeWarrior 6.2.2, а затем установите MQX версии 3.2 или более новую. Теперь откройте CodeWarrior.
  2. Вставьте основной (Primary) краевой разъём микроконтроллерного модуля в слот на функциональной (основной) соединительной плате. Точно также установите модуль TWR-SER (Tower Serial). Модули можно вставлять в любые слоты функциональной соединительной платы, но для того, чтобы не было затруднений с доступом к переключателям и светодиодам, рекомендуется устанавливать микроконтроллерный модуль сверху. Затем вставьте дополнительные краевые разъёмы (Secondary) модулей в дополнительную соединительную плату («заглушку»).
  3. Подключите MCF51CN128 Tower System к компьютеру, как показано на Рис. 1:
    – Подключите USB-кабель между OSBDM-отладчиком (разъём J14 на модуле TWR-MCF51CN) и USB-портом компьютера.
    – Подключите Ethernet-кабель между Ethernet-портом модуля TWR-SER и Ethernet-портом компьютера.
  4. Когда вы в первый раз подключите кабель USB-отладчика к компьютеру, Windows автоматически начнёт установку драйвера для отладчика. Для автоматического обнаружения и установки драйвера следуйте появляющимся указаниям.
  5. Если вы включаете плату первый раз, то в имеющемся на ней микроконтроллере уже есть прошитая демонстрационная telnet-программа. Пропустите все шаги вплоть до девятого, где описывается настройка сети. Затем перейдите сразу к шагу 16 и запустите демонстрационную программу. Если вы хотите перезаписать во флэш-память микроконтроллера исходный код демонстрационной программы, то переходите к следующему шагу.
  6. Если во время инсталляции вы установили MQX-проект не в принятую по умолчанию директорию C:/Program Files/Freescale/Freescale MQX 3.2, то вам необходимо сначала перекомпилировать библиотеки MQX. Дополнительная информация об этом содержится в сопроводительной документации.
  7. Откройте рабочий проект, воспользовавшись меню File > Open и далее выбрав C:/Program Files/Freescale/Freescale MQX 3.2/demo/security_telnet/codewarrior/sectelnet_twrmcf51cn.mcp.
  8. В окне проекта выберите сборку «SecTelnet – OSBDM Debug Int Flash». См. Рис.3.



    Рис. 3. Проект, загруженный в ИСР CodeWarrior

  9. По умолчанию для платы задан 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.
  10. Откройте в окне CodeWarrior файл Security.h, дважды кликнув по названию файла в папке Source дерева проектов CodeWarrior. См. Рис.3.
  11. Если вы хотите изменить IP-адрес, присвоенный плате по умолчанию, то найдите строку кода, начинающуюся с #define ENET_IPADDR, и задайте собственный IP-адрес и маску IP-адреса, используя макрос IPADDR. По умолчанию установлен IP-адрес 169.254.3.3, а маска подсети — 255.255.0.0.



    Рис. 4. Исходный код MQX

  12. Скомпилируйте проект, нажав клавишу F7 или кликнув по иконке Make на панели инструментов. Эта иконка видна на Рис.3.
  13. Теперь запустите отладчик, кликнув по иконке Debug. Эта иконка тоже видна на Рис.3.
  14. Появится диалоговое окно отладчика V1 ColdFire с вопросом, не хотите ли вы стереть флэш-память и загрузить в неё новое программное обеспечение (см. Рис.5). Выберите OK.



    Рис. 5. Предложение о перезаписи флэш-памяти

  15. После прошивки программы во флэш-память вы увидите в окне программ входную функцию MQX. Нажмите кнопку Start (показана на Рис.6). В некоторых случаях может потребоваться нажать на кнопку Start дважды.



    Рис. 6. Отладчик

  16. Запустите на компьютере сеанс командной строки (Start > Programs > Accessories > Command Prompt).
  17. В командной строке вызовите сессию telnet с платой, напечатав telnet 169.254.3.3. Будет установлено telnet-соединение с платой.



    Рис. 7. Подключение через telnet

  18. Напечатайте help для просмотра списка доступных команд.



    Рис. 8. Команды telnet

  19. Простая охранная система была здесь реализована в качестве примера, чтобы продемонстрировать возможности операционной системы реального времени (RTOS) MQX. Это приложение позволяет детектировать нажатие кнопок и движение системы Tower, вести протокол событий, а также обеспечивает интерфейс пользователя через telnet.
  20. Светодиоды на плате микроконтроллера отображают текущее состояние системы:
    • Когда система Tower удерживается в горизонтальном положении, светодиодами LED1, LED2 и LED3 можно управлять с помощью команд ledon и ledoff (например, ledon 2).

    • Когда система наклонена, светодиоды LED1, LED2 и LED3 отражают, насколько сильно наклонена плата в направлении оси Y.

    • Светодиод LED4 индицирует состояние двери (SW2) или окна (SW3) — ОТКРЫТО (OPEN) или ЗАКРЫТО (CLOSED).




    Рис. 9. Светодиоды

  21. Чтобы проверить текущее состояние платы, воспользуйтесь командой status. Эта команда покажет текущее состояние ключей, потенциометра, акселерометра, а также время, прошедшее с момента запуска приложения.



    Рис. 10. Команда status

  22. Одной рукой удерживая в нажатом состоянии кнопку SW2, имитирующую дверь, другой рукой напечатайте команду status и нажмите клавишу Enter. Вы увидите, что дверь находится в состоянии OPEN (ОТКРЫТО).



    Рис. 11. Команда status

  23. Чтобы увидеть последние 10 событий, обнаруженные системой Tower, напечатайте команду displaylog. Команда clearlog очистит протокол событий.



    Рис. 12. Вывод протокола событий на экран (команда displaylog)

  24. Энергично потрясите систему Tower в течение нескольких секунд. Теперь снова напечатайте displaylog.



    Рис. 13. Вывод протокола событий на экран (команда displaylog)

  25. Воспользуйтесь командами ledon и ledoff для управления линиями ввода/вывода, к которым подключены светодиоды.



    Рис. 14. Команды управления светодиодами


Охранная система с Web-сервером, Freescale MQX™ RTOS для MCF51CN128

Введение

В этой лабораторной работе используются динамические Web-страницы, обслуживаемые платой TWR-MCF51CN-KIT, которые формируют графический интерфейс пользователя охранной системы.



Рис. 15. Блок-схема ПО

При выполнении этой работы демонстрируются:

  • Стек TCP/IP MQX RTCS
  • Функциональные возможности HTTP-сервера

Пошаговая инструкция

  1. Для сборки и настройки системы Tower повторите шаги 1...4 Лабораторной работы 1.
  2. Откройте проект, выбрав File > Open и далее указав C:/Program Files/FreescaleMQX3.2/demo/security_webserver/codewarrior/secwebserver_twrmcf51cn.mcp.
  3. В окне проекта выберите сборку «SecWebServer – OSBDM Debug Int Flash». См. Рис.16.



    Рис. 16. Проект, загруженный в ИСР CodeWarrior

  4. IP-адрес платы по умолчанию 169.254.3.3. Если вы хотите изменить IP-адрес, откройте файл security.h и далее следуйте указаниям, описанным в шагах 9...11 Лабораторной работы 1.
  5. Скомпилируйте и загрузите проект во флэш-память платы, следуя шагам 12...15 Лабораторной работы 1.
  6. Запустите интернет-браузер и укажите в адресной строке адрес целевого устройства. В данном случае: 169.254.3.3. Отключите все настройки прокси-серверов, которые могут быть включены в вашем браузере.
  7. В окне браузера вы должны увидеть начальную страницу Web-сервера, как показано на Рис.17.



    Рис. 17. Web-интерфейс

  8. Попробуйте понажимать кнопки и покачать плату. Вы увидите, как будет изменяться состояние входов на Web-странице, а также как будет вестись протокол выполненных действий.



    Рис. 18. Web-интерфейс

  9. Покликайте по находящимся слева ссылкам, чтобы получить дополнительную информацию о микропроцессоре MCF51CN128 и системе Tower.
  10. Web-страницы хранятся в папке /demo/security_webserver/web_pages. Вы можете отредактировать их в любом текстовом редакторе. Затем дважды кликните по командному файлу Build_Webpages.bat, который вызывает исполняемый файл mktfs.exe. Данный сценарий преобразует Web-страницы в массив Си, хранящийся в файле tfsdata.c.
  11. Затем перекомпилируйте проект, и при его перезапуске будут появляться новые 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 Лабораторной работы 1, если вы ещё этого не сделали.
  2. Соберите TWR-MCF51CN-KIT согласно описанию шага 2 Лабораторной работы 1. Затем подключите TWR-MCF51CN-KIT к компьютеру, как показано на Рис.1:
    • Подключите USB-кабель между OSBDM-отладчиком (разъём J14 на модуле TWR-MCF51CN) и USB-портом компьютера.
    • Подключите Ethernet-кабель между Ethernet-портом модуля TWR-SER и Ethernet-портом компьютера.
    • Последовательный порт модуля TWR-SER соедините с последовательным портом компьютера (кабель в комплект поставки не входит).
  3. Когда вы в первый раз подключите кабель USB-отладчика к компьютеру, Windows автоматически начнёт установку драйвера для отладчика. Для автоматического обнаружения и установки драйвера следуйте появляющимся указаниям.
  4. Если во время инсталляции вы установили MQX-проект не в принятую по умолчанию директорию C:/Program Files/Freescale/Freescale MQX 3.2, то вам, чтобы указать новое местоположение, необходимо сначала перекомпилировать библиотеки MQX. Дополнительная информации об этом содержится в сопроводительной документации (release notes), с которой следует ознакомиться, прежде чем продолжить выполнение данной лабораторной работы.
  5. Откройте рабочий проект, выбрав File > Open и далее указав C:/Program Files/Freescale/FreescaleMQX3.2/demo/security_email/codewarrior/secemail_twrmcf51cn.mcp.
  6. В окне проекта выберите сборку «SecEmail – OSBDM Debug Int Flash».
  7. Откройте файл security.h в папке Sources.



    Рис. 20. Каталог исходных файлов MQX

  8. Необходимо сконфигурировать сеть. Найдите в файле security.h строку, начинающуюся с #define DEMOCFG_ENABLE_DHCP 1.
  9. Если в сети, к которой вы подключены, используется 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 в случае простой сети

  10. Время по Гринвичу (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

  11. Далее, настройте конфигурацию электронной почты. Если вы используете Outlook Express или Thunderbird, то все требуемые настройки вы можете найти в конфигурационных опциях данных программ. Также эти настройки можно найти на справочной странице (странице помощи абонентам) вашего провайдера.
    Примечание. Серверы электронной почты (например, Gmail, Hotmail и т.д.), в которых требуется передача данных аутентификации в зашифрованном виде (обычно через протокол защищённых сокетов SSL) не будут работать с данной версией MQX.



    Рис. 24. Параметры e-mail

  12. Основные настройки электронной почты конфигурируются посредством директив #define, перечисленных на Рис.24. Убедитесь, что все значения заключены в кавычки.
    • EMAIL_SERVER: имя домена SMPT-сервера, используемого для отправки/приёма электронной почты. Это не может быть SMPT-сервер, использующий для аутентификации протокол SSL (как, например, Gmail, Hotmail и т.п.). Если ваша сеть защищена proxy-сервером или брандмауэром, то вы должны использовать SMPT-сервер, размещённый в вашей сети.
    • EMAIL_TO: адрес электронной почты, на который будут отправляться сообщения. Им может быть любой e-mail-адрес.
    • EMAIL_FROM: официальный адрес вашей электронной почты для SMPT-сервера, к которому вы подключены. Вы не можете использовать адрес-псевдоним или «дружеский адрес» (friendly address). Многие серверы отказывают в подключении, которое не обеспечено реальным адресом электронной почты, поскольку предполагают, что это спам.
  13. Если вашему SMPT-серверу аутентификация не нужна, то переходите сразу к шагу 14. Если всё же аутентификация требуется, но не требуется шифрование, то измените строку:
    #define DEMOCFG_AUTH_REQUIRED 0
    на
    #define DEMOCFG_AUTH_REQUIRED 1
    Затем поменяйте имя пользователя и пароль (см. Рис.25). Имя пользователя и пароль обычно представляют собой ту же пару, которую вы используете для получения доступа к своей электронной почте.



    Рис. 25. Параметры аутентификации

  14. Теперь создайте последовательное соединение, используя Hyperterminal. Это опция, но в окне Hyperterminal будет выведена отладочная информация, которая может оказаться полезной в случае возникновения каких-либо проблем с подключением к сети.
  15. Запустите на персональном компьютере программу HyperTerminal (Start menu > Programs > Accessories > Communications). Выберите последовательный порт, который подключён к плате (обычно это COM1).



    Рис. 26. Подключение к COM1

  16. Настройте порт следующим образом: скорость передачи данных 115200 бит/с, без контроля чётности, 8 бит данных. Нажмите OK.



    Рис. 27. Задание параметров порта COM1

  17. Скомпилируйте, загрузите и запустите приложение, как делали это в шагах 12...15 Лабораторной работы 1.
  18. Теперь нажмите какую-нибудь кнопку на Tower System. После того, как вы её отпустите, будет послано сообщение по адресу, который вы задали. В письме будет указано время в момент нажатия кнопки, а также, сколько времени прошло с этого события.



    Рис. 28. E-mail

  19. Вы также можете посылать текстовые сообщения через электронную почту. Например, в поле 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 Лабораторной работы 1, если вы ещё этого не сделали.
  2. Соберите TWR-MCF51CN-KIT согласно описанию шага 2 Лабораторной работы 1. Затем подключите TWR-MCF51CN-KIT к компьютеру так, как это показано на Рис.1:
    • Подключите USB-кабель между OSBDM-отладчиком (разъём J14 на модуле TWR-MCF51CN) и USB-портом компьютера.
    • Подключите Ethernet-кабель между модулем TWR-SER и Ethernet-портом внешней сети.
    • Последовательный порт модуля TWR-SER соедините с последовательным портом компьютера (кабель в комплект поставки не входит).
  3. Когда вы в первый раз подключите кабель USB-отладчика к компьютеру, Windows автоматически начнёт установку драйвера для отладчика. Для автоматического обнаружения и установки драйвера следуйте появляющимся указаниям.
  4. Если во время инсталляции вы установили MQX-проект не в принятую по умолчанию директорию C:/Program Files/Freescale/Freescale MQX 3.2, то вам, чтобы указать новое местоположение, необходимо сначала перекомпилировать библиотеки MQX. Дополнительная информация об этом содержится в сопроводительной документации (release notes), с которой следует ознакомиться, прежде чем продолжить выполнение данной лабораторной работы.
  5. Откройте рабочий проект, выбрав File > Open и далее указав C:/Program Files/Freescale/FreescaleMQX3.2/demo/telnet_to_serial/codewarrior/telnet2ser_twrmcf51cn.mcp.
  6. В окне проекта выберите сборку «Telnet2Ser – OSBDM Debug Int Flash».



    Рис. 31. Каталог исходных файлов MQX

  7. По умолчанию для платы задан 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.
  8. Откройте файл config.h в окне CodeWarrior, как показано на Рис.31, дважды кликнув по названию файла в папке Source дерева проектов CodeWarrior.
  9. Если вы хотите изменить установленный по умолчанию IP-адрес платы, то найдите в коде строку, начинающуюся с #define ENET_IPADDR, и задайте собственные значения IP-адреса и его маски, используя макрос IPADDR. Значение IP-адреса по умолчанию — 169.254.3.3, а маски подсети — 255.255.0.0.
  10. Скомпилируйте и загрузите проект во флэш-память, как делали это в шагах 12...15 Лабораторной работы 1.
  11. Запустите на компьютере сеанс командной строки (Start > Programs > Accessories > Command Prompt). В командной строке вызовите telnet-сессию с платой, напечатав telnet 169.254.3.3. Тем самым вы подключитесь к оболочке MQX через telnet.



    Рис. 32. Подключение через telnet

  12. Откройте консоль последовательной передачи данных согласно шагам 15 и 16 Лабораторной работы 3.
  13. Теперь сессии консоли последовательной передачи данных и telnet должны быть «соединены мостом». Напечатайте несколько символов в окне telnet-сессии. Вы увидите, как эти символы появляются в окне консольного терминала. На Рис.33 показано, как это будет выглядеть.



    Рис. 33. Мост между Ethernet и последовательным портом

  14. Потом попробуйте попечатать в окне консольного терминала, и вы увидите символы, появляющиеся в telnet-сессии.

Узнайте больше

Получить дополнительную информацию о продукции Freescale можно, посетив Web-страницу www.freescale.com/tower.

Freescale и логотип Freescale являются товарными знаками или зарегистрированными товарными знаками компании Freescale Semiconductor, Inc. в США и других странах. Названия всех остальных товаров и услуг являются собственностью их владельцев. © Freescale Semiconductor, Inc. 2009.

Электронные компоненты Freescale >>>
О компании Freescale >>>