Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С — страница 58 из 70

1. Подать питание на B32 (+5 В и +12 В).

2. Найти программное обеспечение PROG12Z на вашем компьютере (c:\pemicro\Prog12z\prog12z).

3. Дважды щелкнуть на prog12z.

4. Появляется окно Connect Assistant, которое поможет установить связь с переходная приставка CABLE12 BDM интерфейс.

 • Проверьте параметры настройки окна, затем нажмите OK.

 • В окне состояния должно появиться сообщение о появлении связи программы prog12z с интерфейсом CABLE12 BDM.

 • Если связь ПК с интерфейсом CABLE12 отсутствует, на экране ПК появится информация для поиска неисправностей.

5. Должно появиться всплывающее меню Specify Programming Algorithm to Use!

 • Выберите правильный программный модуль с расширением '

*.12P
' P&E, чтобы использовать необходимый драйвер программирования. Например, чтобы программировать Flash память объемом 32Кб, входящую в состав МК B32, выберите
912B32_32K.12Р
.

 • Окно состояния показывает, что выбранный драйвер программирования загружен.

6. Затем появляется окно Base Address.

 • Вы должны определить базовый адрес программируемой Flash памяти.

 • Информация о базовом адресе обеспечивается в карте памяти программируемого МК, которая, в том числе, приводится в Руководстве пользователя отладочной платы MС68HC912B32EVB (68HC12 M68EVB912B32 Evaluation Board User's Manual, Таблица 3–5, страницы 3–55)

 • Адрес начала блока Flash памяти равен $8000.

 • Введите это значение в ПК и нажмите OK.

7. Щелкните SM Show Module, чтобы отобразить текущее содержание модуля Flash памяти в МК.

8. Выполните операцию стирания текущего модуля перед программированием нового модуля во Flash память.

Предостережение: программа монитора D-BUG12 пока еще во Flash-памяти, это и есть текущий модуль в памяти МК B32. Как только вы сотрете модуль, код монитора отладки D-BUG12 будет потерян.

Сотрите модуль.

9. Выберите SS Specify Record и затем *.S19 для загрузки в буфер программы программатора на ПК модуля, подлежащего программирования в МК.

10. Выберите PM, чтобы инициировать программирование модуль во Flash-память МК.

7.9. Заключение по главе 7

В этой главе мы рассмотрели ряд встроенных микроконтроллерных систем на базе МК 68HC12 и HCS12. В частности мы описали робот, движущийся в лабиринте, лазерный проектор, цифровой вольтметр, стабилизатор скорости вращения двигателя с оптическим тахометром, парящий робот, систему защиты компьютерной сети на базе нечеткой логики и электронную версию популярной игры в «15». Для всех этих систем мы привели описание проекта, системные требования, основную информацию, структуру программы, блок схему алгоритма и код программы на языке Си. Хотя функции встроенных систем существенно различаются, мы показали, что для их создания можно использовать одну и ту же методику.

7.10. Что еще прочитать?

1. American National Standards Institute (ANSI) Z136.1, Safe Use of Lasers (ANSI Z136.1), 1993.

2. Cooper, W. D. Electronic Instrumentation and Measurement Techniques. Upper Saddle River, NJ: Prentice-Hall, 1970. 

3. Edmund Industrial Optics, Barrington, NJ, www.edmundoptics.com, 2004.

4. GSI Lumonics, «General Scanning Scanners and Drivers.» www.gsilumonics.com, 2004.

5. Honeywell Sensing and Control, www.honeywell.com/sensing, 2004.

6. Lind, Magnus. Motorola M68HC912B32EVB Evaluation Board: PCPODTarget Set Up, Western Washington University Electronics Engineering Technology, Bellingham, WA, http://eet.etec.www.edu.

7. 68HC12 M68EVB912B32 Evaluation Board User's Manual, 68EVB912B32 UM/D, Motorola Inc., 1997.

8. LINOS Photonics, Milford, MA, www.linos.com. Newport Corporation Irvine, CA, www.newport.com, 2004.

10. Pack, D. J., W. Strelein, S. Webster, and R. Cunningham. «Detecting HTTP Tunneling Activities.» Paper presented at the annual Information Assurance Workshop, West Point, NY, June 2002.

11. Servo-Tek, «Encoders and Other Position/Velocity Sensors for Motion Control», www.servotek.com, 2004.

12. Vij, D. R. and K. Mahesh. Medical Applications of Lasers. Kluwer Academic Publishers, 2002.

13. Vincent Associates, «Uniblitz Electronic Drive Equipment and Shutters.» www.uniblitz.com, 2004.

7.11. Вопросы и задания 

Основные

1. Опишите принцип работы ИК локатора (пары излучатель-приемник), который используется роботом для обнаружения стенок лабиринта.

2. Зачем нужен роботу датчик Холла?

3. Опишите принцип работы ЦАП с параллельным и последовательным интерфейсом.

4. Что такое лазер?

5. Что такое гальванометр?

6. Опишите два способа увеличения разрешающей способности модуля ATD в системах на базе МК 68HC12.

7. Опишите принцип действия оптического кодера.

8. Для чего во встроенных системах применяется прерывания от модуля меток реального времени RTI ?

9. Какие преимущества можно извлечь, применяя при проектировании функциональные схемы системы, структуры программы и блок-схемы алгоритма?

10. В чем различия между системными требованиями и параметрами системы при проектировании встроенных МП систем?

11. Какая процедура может помочь в выборе конкретной модели МК семейства 68HC12, удовлетворяющего требованиям проекта, из большого числа модификаций МК этой серии?

Более сложные

1. Создайте блок-схемы алгоритмов для каждой функции, используемой системой робота, движущегося в лабиринте (раздел 7.1.5).

2. Разработайте эксперимент, позволяющий точно установить, удовлетворяет ли проектному заданию время запаздывания, формируемое устройством задержки в лазерном проекторе.

3. Каковы различия между лазерами различных типов?

4. Если удалить инверторы 74HC04 из структуры входного интерфейса лазерной системы, то как можно обеспечить программную корректировку такого изменения?

5. Пересчитайте значения сопротивлений и Vref, чтобы обеспечить работу DAC0808LCN при питании этой ИС напряжением ±4 В.

6. Разработайте структуру программы и блок-схему алгоритма для поддержки функций цифрового вольтметра.

7. Какова разрешающая способность 8-разрядного цифрового вольтметра, описанного в разделе 7.3? Чем она определяется? Опишите метод, позволяющий увеличить разрешающую способность. Подсказка: вспомните назначение бита S10BM в регистре ATDCTL4. В чем заключается решение проблемы?

8. В разделе, описывающем проект стабилизации частоты вращения двигателя, мы указали, что каждое инкрементирование коэффициента заполнения ШИМ приводит к изменению скорости приблизительно на 8.5 об/мин. Вы согласны с результатами этого анализа? Подтвердите ваш ответ вычислениями.

9. Создайте блок-схемы алгоритмов для каждой функции, используемой системой стабилизации частоты вращения двигателя, рассмотренной в разделе 7.4.5.

10. Разработайте методику испытаний системы стабилизации частоты вращения двигателя, основанную на восходящих методах проектирования.


Исследовательские

1. Замените параллельный интерфейс цифро-аналогового преобразователя DAC0808LCN в устройстве управления лазерным проектором на последовательный в стандарте SPI. Внесите изменения в схему электрических соединений для ЦАП и также в текст функции move-laser (x,y) для программного обслуживания ЦАП.

2. Измените код, содержащийся в laser.с (раздел 7.2.6) таким образом, чтобы выбранный образ постоянно воспроизводился, пока не будет выбран другой.

3. Запишите функцию для каждого образа в laser.с (раздел 7.2.6).

4. Измените программное обеспечение для цифрового вольтметра, чтобы осуществить работу с 10-разрядным кодом оцифровки модулем ATD.

5. Разработайте и реализуйте метеостанцию с тремя каналами измерения: окружающей температуры, относительной влажности и барометрического давления. Отобразите каждую из измеренных величин через интервал в 3 секунды на ЖК индикаторе. Разработайте структуру программы, блок-схемы алгоритмов, код программы и методику проверки для метеостанции.

Глава 8ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

ПОСЛЕ ИЗУЧЕНИЯ ГЛАВЫ ВЫ СМОЖЕТЕ:

• Подробно описать понятия и термины, касающиеся операционных систем реального времени, ОСРВ (RTOS — Real Time Operating System).

• Понять принципы работы ОСРВ.

• Различать жесткие, твердые и мягкие ОСРВ.

• Описать основные свойства записи, списков связей, стеков и очередей.

• Дать определение динамическому распределению памяти и описать связанные с ним преимущества и недостатки.

• Описать методы управления задачами с помощью блока управления задачами.

• Объяснить важность системных таблиц, блоков управления устройствами и диспетчера при реализации ОСРВ.

• Объяснить различия между алгоритмами планирования ОСРВ.

• Рассказать о проблемах, связанных с ОСРВ.

Операционные системы реального времени достаточно давно и успешно используются в промышленных программируемых контроллерах и во встраиваемых приложениях на основе 32-разрядных МК. Однако в настоящее время, в связи со значительного роста функциональности и быстро действии 16-разрядных МК наблюдается тенденция внедрения ОСРВ в системы на основе этой элементной базы. Поэтому авторы предлагают читателю познакомится с основными идеями, на основе которого строится ОСРВ.

8.1. Рассказ: официант — «живая» операционная система реального времени

В этой главе мы представим вам понятия, связанные с операционными системами реального времени. Начнем с притчи, чтобы показать некоторые ключевые моменты и концепции ОСРВ.

Я (Стивен Ф.Барретт) испытываю глубокое и подлинное уважение к профессии официанта. Я восхищаюсь умениями, связанными с этим трудным, часто неблагодарным ремеслом. Я был непосредственным свидетелем всех сложностей этой профессии, когда был старшеклассником средней школы. По вечерам и выходным я подрабатывал в качестве уборщика/посудомойки/помощника повара в офицерском обеденном клубе на авиабазе Минот, в Северной Дакоте. Вот тогда я с трепетом наблюдал за работой официантов. Так или иначе они были способны с успехом запоминать и выполнять требования людей за множеством столиков одновременно. Порой казалось, что они способны делать все сразу. Если случалось что-то необычное, например на обеде появлялся генерал со своей свитой, или ребенок опрокидывал на стол свой стакан молока, они сходу реагировали на эти непредвиденные события. И снова, даже при этих дополнительных покушениях на свое драгоценное время, они умудрялись каким-то образом следить за всеми событиями сразу. Они должны были одновременно следить за состоянием множества заказов на различных столиках и наличием блюд на кухне (например, знать, сколько еще осталось ежедневных удешевленных обедов). Для этого они должны были постоянно держать тесную связь с поварами.