Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программирование » Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - Стивен Барретт

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

Читать онлайн Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - Стивен Барретт

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 136 137 138 139 140 141 142 143 144 ... 150
Перейти на страницу:

  PORTT = 0x01;

  break;

 case 'R': //готовность (R)

  PORTT = 0x02;

  break;

 case 'A': //активность (A)

  PORTT = 0x04;

  break;

 case'W': //ожидание (W)

  PORTT = 0x08;

  break;

 case 'S': // приостановка(S)

  PORTT = 0x10;

  break;

 case 'X': //восстановление (X)

  PORTT = 0x20;

  break;

 }

 PORTA = task & 0x7F; /*выбор задачи, активизируйте декодер */

 PORTA = 0xFF /*Высокоомный выход (Hi-Z) декодера */

}

/****************************************************************/

/****************************************************************/

8.11.Заключение по главе 8

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

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

1. Barrett S. F, D. J. Pack, С Straley, L. Sircin, and G. Janack. «Real-Time Operating Systems: A Visual Simulator.» Paper presented at the annual meeting of the American Society for Engineering Educations, June 2004.

2. Ganssle, J. «Writing a Real-Time Operating System-Part I: A Multitasking Event Scheduler for the HD64180.» Circuit Cellar Ink (January/February 1989): 41–51.

3. Ganssle, J. «Writing a Real-Time Operating System-Part II: Memory Management and Applications for the HD64180.» Circuit Cellar Ink (March/April 1989): 30–33.

4. Ganssle, J. «An OS in a CAN.» Embedded Systems Programming (January 1994): 1–6. ImageCraft Creations, Inc. «ICC12, ImageCraft С Compiler and Development Environment for Motorola HC12.» 2001.

5. Korsch, J. F., and L. J. Garrett. Data Structures, Algorithms, and Program Style Using С. Boston: PWS-Kent Publishing Company, 1988.

6. Labrosse, J. J. Micro C/OS-II The Real-Time Kernel, 2nd ed. Lawrence, KS: CMP Books, 2002.

7. Lafore, R. The Waite Group's Microsoft С Programming for the PC, 2nd ed. Carmel, IN, Howard W. Sams and Company, 1990.

8. Laplante, P. Real-Time Systems Design and Analysis: An Engineer's Handbook. New York: IEEE Computer Society Press, 1993.

9. Miller, G. H. Microcomputer Engineering, 2nd ed. Englewood Cliffs, NJ: Pearson Education, 1998.

10. Moore, R. How to Use a Real-time Multitasking Kernels in Embedded Systems, Costa Mesa, CA: Micro Digital Associates, 2001.

11. Motorola Inc. «68HC12 M68EVB912B32 Evaluation Board User's Manual.» Motorola Document 68EVB912B32 UM/D, 1997.

12. Motorola Inc. «HC12 M68HC12B Family Advance Information.» Motorola Document M68HC12B/D, 2000.

13. Pack, D. J., and S. F. Barrett. 68HC12 Microcontroller: Theory and Applications. Upper Saddle River, NJ: Prentice Hall, 2002.

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

Основные

1. Что такое — ОСРВ?

2. Что называется задачей в системах реального времени?

3. Что такое контекст задачи? Приведите конкретные примеры содержимого контекста задачи.

4. Опишите действия, которые ОСРВ должен выполнить относительно задачи.

5. Что такое — ядро ОСРВ? Какими основными свойствами оно должно обладать?

6. Каковы различия между глобальной и локальной переменной?

7. Что понимается под динамическим распределением памяти?

8. Какая память (RAM, ROM, и т.д.) используется при динамическом распределении памяти? Объясните почему.

9. Опишите следующие структуры данных. Где они обычно используются:

 • Структура/запись;

 • Список с указателями;

 • Очередь;

 • Круговая очередь;

 • Стек.

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

1. Объясните различие между жесткой, твердой, и мягкой системами в режиме реального времени. Приведите пример для каждой из них.

2. Сравните динамическую память со стеком. Где они обычно размещаются в системе памяти? Почему?

3. Каких методов программирования нужно избегать, чтобы сохранить память RAM? Почему?

4. Определите каждое из различных состояний, в которых может находиться задача. Во скольких состояниях задача может находиться одновременно?

5. Что такое — управляющий блок задачи (TCB)? Из чего он должен состоять? Какая структура данных была бы хорошим выбором для TCB? Почему?

6. Какова функция диспетчера/планировщика в ядре ОСРВ? Определите каждый из различных алгоритмов планирования и их свойственные им преимущества и недостатки.

7. Что такое конкуренция? Как это происходит? Как этого избежать?

8. Что такое повторная входимость? Как это происходит? Как это предотвратить?

9. Что понимается под отказоустойчивой работой ОСРВ? Почему — это проблема является критичной при разработке ОСРВ?

10. Управляемая прерыванием ОСРВ должна быть выполнена на 68HC12. Вы решили, что система всегда должна отвечать на прерывания с более высоким приоритетом, когда они происходят. Как это может быть выполнено? Вспомните, что 68HC12 автоматически отключает систему прерывания при ответе на прерывание, Подсказка: Посмотрите описание команд CLI и SEI ассемблера 68HC12.

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

1. Разработайте стек и связанные с ним функции, использовав список с указателями для динамического распределения памяти.

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

На рис. 8.25 (совпадающим с рис. 8.21 и повторенном здесь для удобства) показана система защиты от транзистора от перегрева. Температура транзистора постоянно контролируется датчиком температуры LM34 (в пластмассовое корпусе) приклеенным к металлическому корпусу мощного транзистора K-220. Напряжение на на выходе датчика линейно связано с его температурой (коэффициент 10 мВ/°С). Выход LM34 подан на один из входов аналогового компаратора, построенного на ОУ. На другой вход подается опорное напряжение, задающее порог температуры. Когда температура мощного транзистора достигает этого порога, на входе системы прерывания микроконтроллера появляется активный сигнал низкого уровня формирующий запрос на прерывание IRQ.

Рис. 8.25. Система защиты транзистора от перегрева

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

4. Выполните управляющий блок задачи (TCB) при помощи соответствующей структуры данных. Обеспечьте функции поддержки, чтобы обращаться к различным информационным полям TCB и модифицировать их.

5. Опишите различные методы выполнения межзадачной связи в ОСРВ.

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

Глава 9

РАСПРЕДЕЛЕННЫЕ СЕТИ С ИНТЕРФЕЙСОМ msCAN

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

• Рассказать о назначении информационных промышленных сетей;

• Описать протокол CAN;

• Рассказать об аппаратных средствах, необходимых для объединения в CAN сеть нескольких микропроцессорных контроллеров;

• Создать программу синхронизации контроллеров в CAN;

• Описать различия между модулем msCAN семейства HC12 и модулем msCAN семейства HCS12;

• Создать программу для модуля msCAN12, позволяющую осуществлять связь с другими узлами CAN сети;

• Кратко рассказать о работе контроллера последовательного обмена BDLC, также позволяющего объединять МК в информационную сеть, но более медленную и менее надежную, чем CAN.

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

9.1. Компьютерные сети

Система, состоящая из некоторого количества компьютеров, объединенных локальной вычислительной сетью, имеет ряд преимуществ перед совокупностью отдельных компьютеров. Одной из основных причин, по которым целесообразно объединять независимые компьютеры в сеть, является способность совместно использовать ресурсы. Например, при создании сети компьютеров в офисе, нет необходимости оснащать каждый компьютер отдельным принтером. Принтер, связанный с информационной сетью, может использоваться всеми компьютерами этой сети. Точно так же программные ресурсы могут быть распределены между объединенными в сеть компьютерами. Тогда каждый компьютер сети может обращаться к необходимым программам, которые хранятся на жестком диске другого компьютера. В дополнение к совместному использованию программ, информационные сети позволяют быстро обмениваться данными. Наиболее ярко преимущества обмена информацией по сети демонстрирует гигантская сеть Internet. Каждый пользователь Internet имеет доступ к чрезвычайно обширному объему данных, хранящихся в миллионах компьютеров во всем мире. И в заключение, сегодняшние компьютерные сети облегчают связь между пользователями компьютеров, увеличивая производительность, эффективность работы и прибыль компании.

1 ... 136 137 138 139 140 141 142 143 144 ... 150
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - Стивен Барретт.
Комментарии