Чтение онлайн

ЖАНРЫ

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

Пак Дэниэл Дж.

Шрифт:

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 имеет доступ к чрезвычайно обширному объему данных, хранящихся в миллионах компьютеров во всем мире. И в заключение, сегодняшние компьютерные сети облегчают связь между пользователями компьютеров, увеличивая производительность, эффективность работы и прибыль компании.

Существует множество различных типов компьютерных сетей. Глобальная сеть (WAN — Wide Area Network), такая, например, как Internet — это компьютерная сеть, которая охватывает большую область информационных ресурсов, включая компьютерные ресурсы многих государств, стран и целых континентов. Локальная сеть (LAN — Local Area Network) — это сеть, которая существует внутри учреждения, компании, или организации — например, сеть для вашей школы или вашей компании. Малая локальная сеть (SAN — Small Area Network) — это компьютерная сеть, созданная для небольшого офиса или для нескольких домашних компьютеров. При этом типе сети число компьютеров, связанных с сетью, обычно не превышает десяти.

9.2. Промышленные сети

В этой главе мы рассмотрим локальные промышленные сети, которые объединяют некоторое количество встраиваемых микропроцессорных систем. Поскольку встраиваемые системы в соответствие с их назначением принято также именовать именовать контроллерами (от слова control — управлять), то один из наиболее перспективных стандартов промышленных сетей назвали CAN (Controller Area Network). Сети CAN появились в середине 1980-ых в автомобильной промышленности, когда возникла необходимость связать несколько микроконтроллеров автомобиля с целью повышения эффективность управления. На рис. 9.1. приведен пример такой системы, в которой сеть CAN объединяет контроллер системы подачи топлива, контроллер, следящий за уровнями нескольких жидкостей в агрегатах автомобиля, контроллер антиблокировки тормозов, контроллер привода каждого из четырех колес, контроллер регулятора температуры, контроллер приборной панели и навигационный контроллер. Достаточно быстро концепция CAN вышла за пределы автомобильной промышленности. Сегодня мы можем обнаружить сети CAN в звуковых системах, домашних театрах, системах связи, военных системах и в ряде бытовых приборов.

Поделиться с друзьями: