«Шина» - лучше называть ее «линия» - одна из самых широко распространенных топологических структур. Однако следует помнить об ее недостатке. Несмотря на то, что каждый узел электрически имеет всего одно соединение с линией, физически для подключения требуются либо сдвоенные, либо Т-образные разъемы, затраты на которые часто недооценивают. Значительная часть стоимости узла приходится именно на соединение, из-за чего эта структура не может применяться во многих последовательных системах, хотя в параллельных способна обеспечить более высокую производительность.
Основной проблемой этой топологической структуры является доступ к шине . В связи с этим необходимо упомянуть один очень важный аспект: для многих приложений требование «real-time» (реального масштаба времени) является критическим. Под реальным масштабом времени подразумевается гарантированное время реакции системы. Например, водитель автомобиля должен иметь гарантию, что при нажатии на педаль тормоза желаемый эффект торможения будет достигнут без задержки.
Рассмотрим этот аспект более подробно. Полное время задержки реакции есть сумма задержек всех процессов, происходящих в системе. Задержка, вызываемая шиной, может быть минимальной по сравнению с другими - в этом случае она не оказывает существенного влияния на процесс управления. Существует и еще один момент, которому часто не уделяют должного внимания. Real-time требуют многие системы, однако, по экономическим соображениям, определенное время реакции обычно гарантируют лишь с высокой вероятностью. Какой смысл гарантировать время реакции «абсолютно», в то время как надежность системы задается вероятностными величинами (ведь система может включать в себя множество непомехозащищенных электронных компонент)? Если время задержки гарантируется с экономически приемлемой вероятностью, этого вполне достаточно. Эта идея и была подхвачена LonWorks (LonWorks гарантирует время доступа с определенной вероятностью, которую, можно определить так, что система будет пригодна даже в случаях, касающихся безопасности человека).
И еще несколько кратких замечаний относительно методов доступа. В локальных сетях чаще всего применяют два метода доступа к шине: маркерный и множественный. Последний носит название CSMA/CD (CarrierSenseMultipleAccess/ Collision Detection-множественный доступ с контролем несущей / распознаванием коллизий). Маркерный метод доступа проще, но, к сожалению, по сравнению с CSMA/CD его реализация обходится, как правило, значительно дороже. Суть этого метода состоит в следующем. В шинной системе существует один маркер, который передается от узла к узлу согласно определенному алгоритму. Узел, который в какой-то момент владеет маркером, получает право отправлять сообщения (занимать шину). Нужно следить за тем, чтобы во время работы системы не происходило обмена двумя или более маркерами, чтобы маркер не терялся и т.д.. Метод CSMA означает, что прежде чем получить доступ к шине, узлы «прислушиваются» к среде (listenbeforetalk –слушать прежде, чем говорить).
1.5. Инструментарий
Одна из наиболее важных причин успеха на рынке Fieldbus-систем –наличие инструментария для их разработки, настройки и сопровождения. Здесь уместно привести классический пример из истории 16-разрядных микропроцессоров. После разработки разными компаниями первых трех моделей анализ их производительности показывал: у 8086 она была очень небольшой, у 68000 – значительно выше, а наибольшую производительность демонстрировал Z8000 со своими чрезвычайно гибким набором регистров. Но именно последний исчез с рынка в первую очередь, 68000 также не смог приблизится по объему продаж к 8086. это объясняется рядом причин, но одна из них стала решающей: фирма Zilog, разработавшая Z8000, не смогла своевременно предложить соответствующий инструментарий. Поэтому компании, представляющие на рынок новые типы микропроцессоров, должны четко представлять себе полную стоимость будущей системы на всех этапах ее существования ( разработка, реализация и сопровождение).
Несомненно, что с появлением NEURONChip («нейронного чипа»-программно-аппаратный комплекс, предназначенный для разработки и отладки приложений для NEURONChip) в распоряжение разработчиков поступил необходимый инструментарий – LonBuilder. Echelon не стала повторять ошибок других компаний и не концентрировала вес свои ресурсы на разработке новых версий NEURONChip. Наоборот, приоритет был отдан разработке нового и улучшению существующего инструментария. Если сравнить результаты достигнутые в этом направлении LON-технологией и другими Fieldbus-системами, то LON значительно опережает все остальные. Так от стандартного аппаратного языка Assembler, компания Echelon перешла к программированию NEURONChip на языке более высокого уровня NEURONC.
Язык программирования приложения для NEURONChip (CPU-3) основывается на ANSI-C, является ответвлением языка программирования С. Он был создан для NC и не может применятся для других процессоров.
В основе построения локальной сети в стандарте LONWORKS лежит применение специализированных гибридных микросхем NEURON Chip в качестве микроконтроллеров узлов локальной сети.
Микроконтроллер NEURON Chip содержит три 8-разрядных процессора, объединенных внутренней шиной со встроенными блоками общей оперативной и энергонезависимой памяти, а также периферийными устройствами (сетевым коммуникационным портом, таймерами, управляющими регистрами, портами ввода/вывода). Модель NEURON MC143120 также предусматривает использование и внешней памяти хранения программ. Несмотря на архитектурную симметричность внутренних процессоров, функциональное назначение каждого из них строго детерминировано. Два из них управляют сетевой передачей данных на основе многоуровнего сетевого протокола, а один предназначен для обслуживания прикладной части программного обеспечения узла. Синхронизация работы процессоров осуществляется за счет использования общих областей памяти данных. Уникальность адреса каждого из микроконтроллеров стандарта LONWORKS может быть обеспечено благодаря наличию собственного 48-разрядного идентификационного кода, записываемого в энергонезависимую память при их производстве.
Взаимодействие с внешними устройствами производит процессор прикладного уровня посредством 11-выводного порта ввода/вывода. Функциональное назначение выводов порта может быть задано прикладным программным обеспечением, в зависимости от типов внешних устройств, обслуживаемых микроконтроллером.
В случае недостаточной вычислительной или функциональной мощности микроконтроллера NEURON Chip для реализации функций узла по взаимодействию с внешними устройствами, в составе узла может быть применен дополнительный микроконтроллер, удовлетворяющий задаче сбора данных или управления. В этом случае порт ввода/вывода может быть использован для связи микроконтроллеров с целью организации обмена данными по параллельному интерфейсу, а сам микроконтроллер NEURON Chip выполняет только коммуникационные функции.
Для реализации сетевых функций микроконтроллера служит 5-выводной коммуникационный порт, управляемый процессором, обслуживающим два нижних уровня сетевого протокола. С целью сопряжения микроконтроллера с физическим каналом связи, к коммуникационному порту подключаются приемопередатчики в соответствии с выбранным типом канала связи.
1.5.1. Основные характеристики микроконтроллеров NEURON Chip.
Количество микропроцессоров в кристалле - 3, типа MC143120.
Уникальный 48-битный код (NEURON ID).
11 двунаправленных линий ввода/вывода.
2 16-битных таймера/счетчика.
5 линий коммуникационного интерфейса.
Микроконтроллеры NEURON выпускаются в 64 выводном QFP (NEURON 3150) и 32 выводном SOIC корпусах (NEURON 3120xx ).
Производитель | Наименование | EEPROM | RAM | ROM |
Motorola | MC143120B1DW | 0.5K | 1K | 10K |
MC143150B1FU | 0.5K | 2K | Нет | |
MC143120E2 | 2K | 2K | 10K | |
Toshiba | TMPN3120B1F | 0.5K | 1K | 10K |
TMPN3150B1F | 0.5K | 2K | Нет | |
TMPN3120E1 | 1K | 1K | 10K |
Промышленно выпускаемые в стандарте LONWORKS приемопередатчики обеспечивают организацию следующих типов каналов связи: линейного, свободной топологии, RS-485, радиочастотного, элекросетевого и т.д. Скорость передачи данных в каналах, в зависимости выбранного типа канала, обеспечивается в диапазоне 330 бит/с – 1.25 Mбит/c.
Для сопряжения каналов связи различных типов могут применяться специальные маршрутизаторы, построение которых основано на применении двух микроконтроллеров NEURON, связанных по параллельному интерфейсу порта ввода/вывода, и имеющих собственные приемопередатчики, соответствующие характеристикам типов сопрягаемых каналов. На программно-логическом уровне построения маршрутизатора, устройству могут быть предписаны различные функции по передаче данных между сегментами локальной сети.
Программное обеспечение микроконтроллеров NEURON составляется из трех разделов: системного программного обеспечения, прикладного, и программного обеспечения уровня связи данных.
Структурная схема нейрочипа изображена на рисунке [рис.3-2]
Системное программное обеспечение является резидентным для каждого из микроконтроллеров. Его программный код либо прошивается во встроенный узел ROM моделей NEURON3120 на этапе производства микроконтроллеров, либо записывается в модуль внешней памяти моделей NEURON3150. На программно-логическом уровне системное программное обеспечение полностью реализует функции многоуровневого сетевого протокола LONWORKS, планировщика задач для прикладного уровня программного обеспечения, и содержит код библиотеки программных функций для управления портом ввода/вывода микроконтроллера. На основе применения программных средств, предоставляемых системным программным обеспечением, на базе порта ввода/вывода возможна организация нескольких типов интерфейсов с внешними устройствами: дискретного, параллельного, I2C, RS-232, Microwire, MicroLan и т.д.