
- •Введение
- •Глава 1. Основные принципы организации операционных систем реального времени
- •1.1. Общие положения и определения
- •1.2. Отличие механизма современных осрв
- •1.3. Параметры осрв
- •1.4. Программное обеспечение многозадачности ос
- •1.5. Архитектура осрв. Классы осрв
- •1.6. Синхронизация задач
- •1.7. Базовые понятия программного обеспечения реального времени
- •1.8. Асинхронный обмен данными
- •1.9. Надежность систем реального времени
- •1.10. Планирование задач
- •1.11. Планирование периодических процессов
- •1.12. Взаимоблокировки
- •Контрольные вопросы
- •Глава 2. Типовые операционные системы реального времени
- •2.1. Обзор систем реального времени
- •2.2. Операционная система Windows nt
- •2.2.1. Ужесточение требований к ос 90-х годов
- •2.2.2. Операционные системы реального времени и Windows nt
- •2.2.3. Процессы и потоки nt
- •2.2.4. Пути расширения реального времени для nt
- •2.2.5. Обработка прерываний и исключений
- •2.2.6. Особенности системы ввода/вывода системы nt
- •2.2.7. Windows nt как операционная система реального времени
- •2.2.8. Расширения Windows nt
- •2.3. Операционная система qnx
- •2.3.1. Общие положения
- •2.3.2. Системная архитектура qnx
- •2.3.3. Qnx как сеть
- •2.3.5. Оконная система Photon microGui
- •2.3.6. Phocus 4 для создания встраиваемых scada
- •2.4. Операционные системы реального времени для встраеваемых систем
- •2.5. Ос рв для встраиваемых модулей от компании Microsoft
- •2.6. Функциональные потребности scada-системы
- •Контрольные вопросы
- •Глава 3. Общий анализ контроллеров
- •3.1. Аппаратное обеспечение
- •3.2. Программирование plc
- •3.3. Выбор контроллерных средств
- •3.4. Классификация современных контроллеров
- •3.5. Взаимодействие компонентов
- •3.6. Проектирование распределенных систем управления
- •3.7. Открытая модульная архитектура контроллеров
- •3.8. Архитектура производственной базы данных реального времени
- •3.9. Эволюция стандарта pci для жестких встраиваемых приложений
- •3.11. Одно- и многоуровневые системы диспетчерского контроля и управления
- •3.12. Технологии и протоколы передачи данных в промышленности: Industrial Ethernet
- •3.13. Обеспечение надежности асу тп с использованием резервированного кольца Turbo Ring
- •3.14. Анализ архитектур контроллеров с параллельной шиной
- •3.15. Повышенные требования к устойчивости функционирования
- •Контрольные вопросы
- •Глава 4. Примеры реализации типовых контроллеров
- •4.1. Промышленные контроллеры для автоматизации технологических процессов
- •4.2. Модули adam-8000 от компании Advantech9 и система программирования adam-winplc7
- •4.3. LabView Real-Time LabView реального времени
- •4.4. Встраиваемые системы и ос для них
- •4.5. Промышленный контроллер р-130isa
- •4.6. Совместное использование hmi и pac
- •4.7. Система Реального Времени cf-mntr
- •4.8. Экономичные контроллеры Pico
- •4.9. RapidIo: технология для приложений реального времени
- •4.10. Trace mode 6 и t-factory 6: обзор исполнительных модулей
- •4.11. Контроллер Crestron cp2e
- •4.12. Асу тп на базе контроллеров micro-pc
- •4.14. Itv ndc-f18 – универсальные контроллеры ndc-f18
- •4.15. Сетевой контроллер компании Lenel для систем контроля доступа
- •4.16. Сетевой контроллер реального времени
- •Контрольные вопросы
- •Глава 5. Мультимедийные системы реального времени
- •5.1. Требования реального времени в системах мультимедиа
- •5.2. Требования к архитектуре мультимедиа-систем
- •5.3. Объединение графического и мультимедийного ядра в систему Freescale
- •5.5. Scsa: архитектура для систем мультимедиа реального времени
- •Контрольные вопросы
- •Заключение
- •Рекомендуемый библиографический список
- •Оглавление
- •Глава 1. Основные принципы организации операционных систем реального времени 6
- •Глава 2. Типовые операционные системы реального времени 55
- •Глава 3. Общий анализ контроллеров 179
- •Глава 4. Примеры реализации типовых контроллеров 236
- •Глава 5. Мультимедийные системы реального времени 292
- •Системы реального времени Программно-технический комплекс
- •346428, Г. Новочеркасск, ул. Просвещения, 132
4.16. Сетевой контроллер реального времени
В последнее время в автомобильной электронике всё чаще наблюдается отказ от применения оригинальных сетей и переход к использованию CAN-микроконтроллеров. Чтобы удовлетворить спрос на микроконтроллеры с полным набором встроенных CAN-функций версии 2.0B, компания Toshiba интегрировала собственный модуль контроллера TCAN в новые CISC 16/32-бит микроконтроллеры и 16/32-бит высокопроизводительные RISC-процессоры.
Модуль TCAN. Основные характеристики модуля TCAN делают возможным его использование во всех автомобильных сетях, начиная от низкоскоростных приложений до высокоскоростных требований трансмиссии. Скорость передачи данных до 1 Мбит/с и полная внутренняя синхронизация позволяют использовать модуль совместно с быстродействующими процессорами, работающими на высоких тактовых частотах, а версия со встроенным предделителем позволяет получить пониженную тактовую частоту из более высокой частоты синхронизации процессоров. Широкие функциональные возможности версии CAN2.0B обеспечивают активное взаимодействие (приём, передача и управление) при трафике с 29-бит идентификатором (расширенный кадр). При индивидуальном программировании каждого отдельного регистра модуль также может поддерживать режим приёма и передачи с 11-бит идентификатором (стандартный кадр).
Полный CAN-контроллер с набором параметров Basic-CAN. Модуль TCAN производства компании Toshiba представляет собой полный CAN-контроллер, включая возможности Basic-CAN. Модуль содержит собственное регистровое ОЗУ, которое имеет 15 регистров приёма/передачи (майлбоксов), а также один регистр только приёма. Каждый из регистров может хранить полные 8 байт данных, расширенный или стандартный идентификатор и управляющую информацию, например, 16-бит метки времени. Сообщения могут записываться автоматически без взаимодействия центрального процессора с системой передачи ответных кадров, причём повторение прерванных сообщений также происходит автоматически.
Параметры битовой синхронизации TCAN. Для облегчения программирования битовой синхронизации, параметры TSEG1 и TSEG2 были реализованы в регистре битовой конфигурации, что обеспечило совместимость модуля с контроллером Intel 82527. Это гарантирует непосредственное использование параметров, оптимизированных с учётом времени задержки и топологии сети.
Счетчик меток времени. Для подтверждения приёма/передачи сообщения реализован 16-бит таймер, содержимое которого записывается в регистр меток времени соответствующего майлбокса в момент, когда происходит передача сообщения или запись принятого сообщения. Счётчик меток времени включает 4-битовый предделитель частоты, благодаря чему он синхронизируется тактовой последовательностью шины CAN и может быть считан или обновлён независимо от центрального процессора. Введение прерывания по переполнению счётчика меток времени позволяет реализовать его обработку программными методами.
Обработка ошибок. Для улучшения обработки ошибок используют три варианта прерывания.
Прерывание по предупреждению об уровне ошибок. Если содержимое одного из двух счётчиков ошибок превысит 96, генерируется прерывание по предупреждению об уровне ошибок. Это говорит о серьёзных нарушениях в шине и требует дополнительных мер безопасности под управлением программного обеспечения.
Пассивное прерывание по ошибке. Если содержимое передающего или принимающего счётчика ошибок достигнет или превысит значение 128, модуль TCAN из активного состояния по ошибке перейдёт в пассивное. Одновременно с этим передаётся последний активный флаг ошибки (до того, как начнут передаваться пассивные флаги ошибки) и генерируется пассивное прерывание по ошибке.
Прерывание по отключению шины. Когда содержимое передающего счётчика ошибок достигает 256, модуль переходит в состояние bus off, и генерируется прерывание по отключению шины. По соображениям безопасности после прохождения данного прерывания модуль CAN не принимает активного участия в трафике шины.
Дополнительные функции режима тестирования. Для обеспечения расширенного самотестирования в модуль TCAN включён механизм локальной обратной связи. При активизации этого механизма битовый поток с выхода передатчика возвращается в приёмник. Входной сигнал CAN-RX игнорируется, а выходной сигнал CAN-TX входит в рецессивное состояние. После генерации сигнала подтверждения переданные и полученные сообщения записываются в регистр с соответствующим идентификатором.
В дополнение к самотестированию счётчика ошибок существует специальный защищённый тестовый режим, обеспечивающий доступ для тестовой записи в счётчик ошибок. Это позволяет устанавливать в счётчиках ошибок значения, например, нескольких уровней предупреждений об ошибках или порога ошибок и проверять правильность генерации прерываний в нестандартных условиях. В соответствии с техническими требованиями CAN такой доступ для записи может быть прекращён в любой момент времени.
Механизм внутреннего ре-арбитража. Другой специфической функцией критичных ко времени автомобильных приложений является наличие механизма внутреннего ре-арбитража. Выгоды от его применения можно оценить на примере решения следующей проблемы, иногда связываемой с реализацией контроллеров CAN.
Если для передачи сообщения сконфигурированы несколько буферов сообщений, полнофункциональный контроллер CAN должен принять решение, какое сообщение передавать первым из внутреннего регистрового ОЗУ на передающий слот канального уровня. Контроллер канального уровня пытается передать сообщение в шину CAN. Если в этот момент по шине CAN друг за другом следуют несколько сообщений от различных блоков, контроллер канального уровня начинает процедуру разрешения коллизий (арбитража) и задерживает передачу, пока какой-либо другой блок показывает более высокий приоритет.
Эта проблема, известная как проблема внутренней инверсии приоритета, может стать главным неудобством в СРВ, и, в то время как средняя загрузка шины будет значительно ниже 100%, появится большая вероятность конфликта сообщений от различных блоков, соединённых с шиной CAN, т.е. срочное сообщение с высоким приоритетом может появиться в шине CAN со значительной временной задержкой.
Компания Toshiba решила эту проблему введением в свой модуль TCAN дополнительного механизма ре-арбитража. Когда сообщение записывается в регистр и маркируется на передачу, его идентификаторы сравниваются с таковыми у сообщений, уже находящихся в передающем слоте канального уровня. Если новое сообщение имеет более высокий приоритет, то сообщение с более низким приоритетом будет удалено из контроллера канального уровня и заменено на новое. Затем следующий слот арбитража на шине CAN разрешает передачу сообщения с высоким приоритетом.