HELLORADIO.RU — интернет-магазин средств связи
EN FR DE CN JP

CANbus в ИЯФе

Микропроцессорные устройства, встраиваемые в оконечную аппаратуру.

(CANbus в ИЯФе)

Институтский семинар (ускорительная секция) от 14 апреля 2005 г.

Козак В.Р.

В институте ядерной физики микропроцессоры используются с давних времен. Когда-то это была микросхема INTEL4040, про которую вспомнить что-либо могут только люди с очень хорошей памятью. Затем в институте появилось несколько комплектов INTEL8080. Когда производство микропроцессоров было освоено отечественной промышленностью, они перестали быть экзотикой и стали встраиваться в самую различную аппаратуру.

Устройства управления, встраиваемые в оконечную аппаратуру, также имеют в нашем институте давнюю историю. Первые полномасштабные системы управления (ВЭПП-2, ВЭПП-3 и т.п.) базировались именно на таких устройствах (аналого-цифровые и цифроаналоговые преобразователи, преобразователи код-скважность и т.д.). С управляющим компьютером такие устройства соединялись посредством иерархической системы последовательной связи.

Время от времени разработчиками делались попытки объединить эти два подхода (разработки Останина и другие) и создать встраиваемый многофункциональный универсальный контроллер на базе микропроцессора. Как правило, такие устройства соединялись с управляющей ЭВМ посредством недорогого интерфейса RS-232. Пожалуй, наиболее удачной попыткой в этом направлении (создании встраиваемых устройств) явилось создание двух моделей интерполирующих цифроаналоговых преобразователей с интерфейсом MIL-STD для управления источниками питания на накопителе ВЭПП-4. Эти устройства были произведены в количестве нескольких десятков и эксплуатируются до сих пор.

В 90-х годах прошлого века мировая электронная промышленность создала предпосылки для нового шага разработчиков в этих направлениях. Широкая гамма недорогих микропроцессоров, недорогие сетевые интерфейсы, высокая функциональная насыщенность микросхем- все это позволяло создать аппаратуру массовой автоматизации нового поколения. Этому же способствовало состояние автоматизационного сегмента деятельности института.

В ИЯФ проводятся работы по созданию новых (ВЭПП-5, ЛСЭ) и модернизации действующих (ВЭПП-2000) электрофизических установок. До недавнего времени системы автоматизации установок базировались на аппаратуре в стандарте КАМАК. В 80-х годах в институте был разработан широкий спектр КАМАК модулей, позволяющий решить практически все реальные задачи автоматизации физических установок. Некоторый избыток производственных мощностей в то время позволил произвести достаточно большой запас модулей, с помощью которого и решались автоматизационные задачи в 90-х годах. Однако, к началу третьего тысячелетия этот запас был исчерпан и даже естественная убыль устройств восполнялась со все большими трудами. Возникшая проблема дефицита устройств для систем автоматизации могла быть решена различными путями.

Первым, лежащим на поверхности решением, является производство КАМАК модулей, разработанных ранее. Достоинство этого решения - расширение существующих систем и замена безвозвратно утраченных модулей не приводит к дополнительным работам по переделке соединительных трасс и программного обеспечения. В то же время практически в любых задачах параметры старой аппаратуры вполне устраивают пользователей. К сожалению, этот путь на сегодняшний день нереален. Большинство устройств последний раз запускались в производство более 10 лет назад. Файлы для производства печатных плат давно утеряны, а многие комплектующие сегодня невозможно купить. Кроме того, старые разработки, как правило, успешно налаживать мог только разработчик. Большинство разработчиков в институте уже не работает, а документация, достаточная для наладки, в институте обычно не создавалась.

Вторым вариантом решения проблемы является разработка новой серии КАМАК устройств, которые были бы совместимы с устаревшими блоками, как по соединительным разъемам, так и программно. Это решение также не представляется реализуемым на сегодняшний день. Системы управления крупных установок института используют очень широкую номенклатуру управляющих устройств (свыше полусотни моделей). Переработка большей части этих устройств требует ресурсов больших, чем имеющиеся в наличии. Кроме того, как показывает опыт, достичь полной совместимости со старыми разработками по различным причинам удается не всегда.

Третьим вариантом является создание новых, оригинальных разработок. Отказ от совместимости с историческими наслоениями в системах автоматизации дает возможность ограничиться небольшим набором вновь разрабатываемых устройств. Применение современной элементной базы позволяетмногократно уменьшить трудоемкость как изготовления так и наладки даже прецизионной аппаратуры. Безусловно, в этом случае модернизация функционирующих комплексов, особенно на первом этапе, будет весьма болезненным процессом. Автоматизация же строящихся комплексов (ВЭПП-5, ЛСЭ) или перестраиваемых (ВЭПП-2000) может сэкономить массу сил и средств.

Нами было принято решение разработать небольшой набор модулей, способный заменить максимальное количество старых устройств. Новые модули должны быть встраиваемыми в оконечные устройства (источники питания, ВЧ-стойки, импульсные генераторы) и иметь недорогой и надежный сетевой интерфейс. В качестве первых кандидатов на разработку претендовали, безусловно, многоканальные цифроаналоговые и аналого-цифровые преобразователи- самые массовые устройства в системах автоматизации электрофизических установок. В частности, в системе управления ВЭПП-2 использовалось 9 моделей таких устройств. Кроме этих устройств, значительный объем аппаратуры составляли регистры цифрового ввода/вывода и генераторы задержанных импульсов.

В качестве сетевого интерфейса был выбран CANbus, имеющий гарантированное время доставки пакета и невысокую стоимость тракта передачи данных.

Большинство оконечных устройств в нашем институте выполнено в стойках типа ”Вишня”. Это и обусловило выбор конструктива для разрабатываемых устройств. Использование штатных разъемов для таких блоков представлялось нерациональным из-за малого количества контактов. Было принято решение использовать два типа разъемов (DRB37 и DHR62). Использование этих разъемов вызвало некоторые конструктивные неудобства, но существенно уменьшало трудоемкость изготовления модулей, а также обеспечило вывод необходимого количества сигналов.

Первые встраиваемые устройства нового поколения были разработаны в 2001 году и в этом же году испытаны в системе питания ЛИНАКа. Это многоканальные аналого-цифровой и цифроаналоговый преобразователи среднего класса точности (0,05%).

Ниже показаны фотографии двух стоек с источниками питания на ЛИНАКе. Одна из стоек включает в свой состав набор различных источников питания (от 5-амперных до 300-амперных), а вторая стойка включает в свой состав только 300-амперные источники ВЧ-300.

Одновременно эти же блоки были использованы для управления мощными источниками питания типа ИСТР (на фотографиях не показаны).
 
  Опыт применения подтвердил правильность выбранных решений и позволил широко тиражировать эти разработки. В 2002 году была запущена система питания ЛСЭ (192 3-15 амперных управляемых источников и три мощных прецизионных источника). Ниже на фотографиях показаны части системы питания. На первой фотографии можно увидеть 48-канальные управляемые источники питания линз и коррекций.

На следующей фотографии показан один этаж стойки питания коррекций. На этом этаже расположены выходные каскады источников питания (УМ-5) и блоки управления и контроля источников питания (CANADC40 и CANDAC16). Этот комплект (пара блоков) обслуживает 16 источников питания, расположенных на смежных этажах стойки.

На следующей фотографии показана стойка 1000-амперного источника питания поворотных магнитов. Если хорошо присмотреться, то можно увидеть и управляющий блок- CANDAC20.

На следующей фотографии показана стойка управления 2500-амперным источником питания ондуллятора. Этот источник также обслуживается прецизионным контроллером CANDAC20.

Схему системы питания можно увидеть на следующем рисунке, любезно предоставленном Славой Середняковым.

Как видно из фотографий (и схемы) интерфейс между ЭВМ и источниками питания выглядит довольно уныло- единственный кабель объединяет все радиостойки.

Можно подсчитать сколько КАМАК оборудования потребовалось бы для обслуживания системы питания, приведенной на схеме и фотографиях. Для каждой стойки питания корреций потребовалось бы 3 блока ЦАП-16*16 (это 2*3=6М), интегрирующий вольметр и два аналоговых коммутатора (это1+2*2=5М). Итого, управление одной стойкой требует 6 КАМАК блоков и 11М позиций в КАМАК крейте. Управление системой питания (учитывая обслуживание мощных источников) потребовало бы 3-4 КАМАК крейтов (с контроллерами) и множества трасс с аналоговыми сигналами.

Для сравнения новой системы питания с классической для института вполне уместно привести фотографии систем, базирующихся на стандарте КАМАК. Первая фотография показывает остатки старой системы питания ЛСЭ. Здесь можно увидеть сколько кабелей с аналоговыми сигналами должно быть между стойками источников питания и крейтами КАМАК.

На следующей фотографии показан крейт КАМАК системы управления ускорителя в KAERI. К сожалению на фотографии запечатлены только остатки старой системы, поскольку в в 2003 году она была существенно модернизирована.
И еще одна фотография, с ВЭПП-2000. Немодернизированные остатки. Кабельное хозяйство должно впечатлять любого непредубежденного наблюдателя.

В 2003 году была запущена система питания ускорителя в KAERI (Korea), включающая в себя 96 3-15 амперных управляемых источника и два 300 амперных источника. На фотографии показаны три радиостойки- две 48-канальные стойки маломощных источников питания (от 3-х до 15 А) и дальняя стойка содержит два мощных 300-амперных источника питания. Все радиостойки соединяются с управляющей ЭВМ посредством единственного связного кабеля.

Следует отметить, что новые устройства были внедрены не только в системе питания ускорителя, но и в других системах- в системе термоконтроля (это будет упомянуто ниже) и в ВЧ-системе (это упоминаться не будет).


Первые устройства (CANADC40 и CANDAC16) разрабатывались именно для встраивания в стойки многоканальных источников питания. Однако, первые же применения разработанных устройств вызвали соблазн использовать разработанные блоки и в других типовых приложениях. Первым таким приложением явились системы термоконтроля. Как правило, термодатчики с установки сводились к специализированному измерителю в стандарте КАМАК через посредство нескольких клеммников и переходных трасс. На ЛСЭ было решено в качестве измерителя использовать блок CANADC40, а нормировку сигнала (и/или питание датчиков) осуществлять на клеммнике. Такая 160-канальная система термоконтроля была запущена на ЛСЭ в 2002 году.

Разбиение блока термоконтроля на стандартный измеритель и недорогую плату-клеммник обработки сигнала датчиков, позволяет легко адаптировать систему к самым различным термодатчикам. Это могут быть полупроводниковые датчики (самые распространенные), это могут быть резистивные датчики, которые используются для измерения температуры в условиях высокой радиации, это могут быть термопарные датчики.


  Новая система термоконтроля позволила уменьшить количество аналоговых трасс и промежуточных разъемов, однако все еще оставалась достаточно громоздкой. При запуске системы термоконтроля на ускорителе в KAERI (Korea) разработчиками системы был сделан следующий шаг- тракт обработки сигналов с датчиков и измеритель были совмещены с клеммником. Весь 40-канальный модуль размещался в небольшом шкафчике- клеммнике, как показано на следующих иллюстрациях.

На первой фотографии показан клеммник, совмещенный с трактом обработки сигналов с датчиков.

На следующей фотографии в шкафчик добавлен стандартный измеритель CANADC40. Конструкция легко разнимается, но для удобства работы предусмотрена небольшая механика, позволяющая измерительному блоку поворачиваться относительно основной платы, предоставляя удобный доступ к клеммнику.

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

Эта система была запущена в 2003 году и с тех пор успешно функционирует.

Такой вариант очень понравился как производителю системы, так и потребителям. На комплексе ВЭПП-2000 сейчас устанавливается такая же система. 40-канальные модули рассредоточиваются по кольцу ускорителя, и объединяются между собой (и с ЭВМ) линией связи.
 
Кроме описанных приложений, разработанные устройства использовались для автоматизации различных небольших установок и стендов (ВЧ-станции для Ланчжоу, управление высоковольтными источниками питания для Cooler'ов, стенды для испытаний сверхпроводящих вигглеров и др.). Кроме этого, система автоматизации модернизируемого комплекса ВЭПП-2000 базируется, в основном, на новых устройствах с интерфейсом CANbus, встраиваемых в оконечную аппаратуру. К 2005 году в институте была разработана уже широкая гамма устройств для систем автоматизации электрофизических установок.

Ниже приводится таблица серийно производимых устройств с интерфейсом CANbus.

Название Краткая характеристика
CANDAC16 16-канальный, 16-разрядный ЦАП, 8-битовые входной и выходной регистры
CANADC40 40-канальный, 24-разрядный АЦП (класса 0,03%), 8-битовые входной и выходной регистры
CDAC20 20-разрядный ЦАП, 5-канальный, 24-разрядный АЦП (класса 0,003%), 8-битовые входной и выходной регистры
CEDAC20 20-разрядный ЦАП, 5-канальный, 24-разрядный АЦП (класса 0,003%), 8-битовые входной и выходной регистры, формат евромеханики
CAC208 8-канальный 16-разрядный ЦАП, 20-канальный, 24-разрядный АЦП (класса 0,003%), 8-битовые входной и выходной регистры
CGVI8 8-канальный, 16-разрядный генератор задержанных импульсов, 8-битовые входной и выходной регистры
CPKS8 8-канальный, 16-разрядный преобразователь код- скважность
SLIO24 Интерфейс CANbus - 24-разрядная двунаправленная шина, встраиваемая плата
CKVCH Коммутатор высокочастотных сигналов 8-1, 2*(4-1), 4*(2-1)
CANIPP Интерфейс CANbus- 2 ветви типа ИПП
CANIVA 16-канальный измеритель вакуума (тока магниторазрядного насоса)
CURVV Универсальный регистр ввода/вывода (2 выходных и 4 входных регистра по 8 бит)
CAC168 8-канальный 16-разрядный ЦАП, 16-канальный, 24-разрядный АЦП (класса 0,03%), входной и выходной регистры, встраиваемая плата
CAN-DDS Модуль CAN-DDS представляет собой делитель входной тактовой частоты с дистанционно перестраиваемым дробным коэффициентом. Модуль предназначен для использования в цепи обратной связи возбудителей для ВЭПП-5 и ВЭПП-2000
CAN- ADC3212 Для замыкания цепи обратной связи в схеме термоподстройки резонатора, контроля температур в отдельных точках резонатора и осуществления блокировок. 24-канальный 12-битный дифференциальный АЦП с переключаемым коэффициентом усиления; 4-канальный 12-битный двуполярный ЦАП;

Из таблицы видно, что в институте серийно производится довольно широкий набор устройств с интерфейсом CANbus, позволяющий решать широкий круг автоматизационных задач. Практически все устройства выполнены в конструктиве ВИШНЯ. Это вызвано тем обстоятельством, что подавляющее большинство оконечной аппаратуры (источники питания, ВЧ-устройства и т.п.) реализуются в институте преимущественно в этом стандарте. Однако, использование интерфейса CANbus, предоставляет, в отличие от магистрально-модульных стандартов, легкую миграцию разработок в любой другой конструктив. Ниже приводятся фотографии двух разных устройств (CDAC20 и CEDAC20). Несмотря на внешнюю непохожесть устройств, логически они представляют из себя один и тот же блок. Первый блок предназначен для встраивания в Вишневые стойки, а второй блок предназначен для систем на основе евромеханики. Переработка блока заключается в смене соединительных разъемов. Стоимость этой работы несопоставимо мала по сравнению со стоимостью полной разработки.

Некоторые устройства выполняются в виде встраиваемой платы. Ниже показана фотография одного из таких устройств- CAC168.

На сегодняшний день разработанные устройства применяются в самых различных системах, различных установках, в разных странах. Это можно проиллюстрировать следующими данными (в таблице и на картинке учитывается не вся институтская номенклатура, а только та, к которой имеет отношение докладчик). Данные приводятся на состояние к 1 января 2005 года.

 

Динамика поставок.

 
2001
2002
2003
2004
Total
Комментарии
CANDAC16
3
28
23
7
61
ЦАП 16*16 
CANADC40
3
33
28
8
72
АЦП 40 каналов
CDAC20
0
14
11
28
53
Прецизионный ЦАП+ 5*АЦП
CEDAC20
0
0
2
0
2
То же в евромеханике
CAC208
0
0
0
0
0
8*ЦАП + 20* АЦП с регистрами
CGVI8
0
0
2
8
10
ГВИ 8 каналов с регистрами
CPKS8
0
0
2
8
10
ПКС 8 каналов
CURVV
0
0
0
4
4
Регистры ввода/вывода
CKVCH
0
0
0
6
6
Коммутатор ВЧ-сигналов
SLIO24
0
5
3
5
13
Встраиваемый CAN интерфейс
CAMCAN
2
2
2
2
8
КАМАК – CANbus
 
8
82
73
76
239
 

Из таблицы видно, что первые устройства были поставлены на установки в 2001 году и с тех пор потребление институтом блоков было более-менее равномерное. Тем не менее, на сегодняшний день объем устройств, разработанных первыми (АЦП и ЦАП) на институтских установках становится сопоставим с объемами КАМАК аппаратуры.

Не менее интересна и география поставок. Кроме четкого выделения строящихся установок, можно отметить, что более четверти аппаратуры поставляется вне института. Как правило, это установки сооружаемые институтом по контрактам (ускоритель в KAERI, кулеры и ВЧ-станции в Ланчжоу, модернизация систем питания на установках СИБИРЬ и ТНК). Однако, есть и исключение. По стечению обстоятельств, пара блоков попала в ОИЯИ ("на попробовать") и с тех пор они их у нас покупают для своих систем.

 

География поставок

Известные приложения (на август 2004 года)

Ниже перечисляются установки и их системы, использующие CANbus устройства.

Лазер на свободных электронах (микротрон-рекуператор, 11-е здание):

    • система питания (192 маломощных источника, 3 мощных источника), управление использует блоки CANDAC16, CANADC40, CDAC20;
    • система термоконтроля (160 каналов) базируется на устройствах CANADC40;
    • система контроля источников питания ВЧ-системы использует платы SLIO24;
    • кое-что по мелочам.
Инжекционный комплекс:
    • система питания линейного ускорителя (разнородные источники и блоки CANDAC16, CANADC40);
    • система питания накопителя-охладителя (источники питания В1000 и блоки CDAC20), в процессе запуска;
    • небольшие стенды с CANADC40.
ВЭПП-2000: установка находится в стадии строительства, используется вся номенклатура CANbus устройств.

Стенд отладки вигглеров:

Используются источники питания ВЧ-300 с блоками CDAC20.

Источник питания сверхпроводящего магнита Кедра:

Используется источник питания ВЧ-300 с блоком CDAC20.

Стенд магнитных измерений:

Используется прецизионный источник питания с управлением от блока CDAC20.

Лазер на свободных электронах (вторая очередь) в KAERI (Korea):

    • система питания канала (96 каналов источников 3-15 А и два источника ВЧ-300), управление использует блоки CANDAC16, CANADC40.
    • система термоконтроля (40 каналов) базируется на устройстве CANADC40;
    • ВЧ-система использует блоки CANDAC16, CANADC40, а также CAN-DDS.
Установки электронного охлаждения (по контракту с Китаем) используют блоки CDAC20.
ВЧ-системы (по контракту с Китаем) используют блоки CANADC40 и SLIO24.

Курчатовский центр синхротронного излучения: в рамках программы модернизации запущен первый источник ИСТР с управлением отCDAC20.

ОИЯИ – поставлены устройства CANDAC16, CANADC40, SLIO24. Блоки используются в стендах.  

Любопытный побочный эффект распространения CANbus аппаратуры- в институте появился новый поставщик электроники. В процессе модернизации комплекса ВЭПП-2000 высвобождаются старые КАМАК модули, которые перераспределяются по другим установкам.

Из вышеизложенного очевидно, что встраиваемые устройства с интерфейсом CANbus прочно укоренились в автоматизационном сегменте деятельности института и перспективы расширения их применений являются очевидными. Возникает резонный вопрос: чем же эти устройства хороши и почему они начинают теснить традиционные решения на основе стандарта КАМАК. Ниже перечисляются самые существенные факторы, обусловившие процветание таких устройств.

  • Новые блоки встраиваются в оконечную аппаратуру (источники питания, ВЧ-устройства и т.п.). Это позволяет значительно сократить количество промежуточных разъемов и аналоговых трасс. В свою очередь, эта экономия заметно уменьшает расходы по созданию и эксплуатации новых подсистем и значительно повышает общую надежность.
  • Мобильность новых разработок. Отсутствие привязки к магистрально-модульным системам позволяет безболезненно сменить конструктив любого устройства, перевести, например, устройство в евромеханику либо выполнить его в виде встраиваемой платы. При этом все управляющее программное обеспечение сохраняется неизменным. Трансформация КАМАК блока в VME-модуль и наоборот требует полноценной новой разработки.
  • Очень существенное обстоятельство- встраиваемость устройств на основе довольно сложного сетевого стандарта неизбежно влечет за собой обязательное использование в блоке микроконтроллера. Это, конечно, несколько удорожает разработку, но зато позволяет значительно упростить взаимодействие с устройством программиста, реализовать массу новых функций, добавлять новые функции при возникновении новых потребностей у пользователей. Кроме этого, микроконтроллер на плате позволяет создать совершенно новое устройство простой сменой программы (разумеется, если для решения новой задачи на плате имеется достаточно аппаратных ресурсов). Такой прецедент уже был, на базе стандартного блока CANDAC16 был реализован блок управления источника питания ВЧ-генератора для ВЭПП-2000. Написание новой программы для стандартного блока позволило избежать разработки специализированного устройства.
  • Использование современной элементной базы позволяет реализовать любые требуемые функции достаточно компактным образом и обеспечить очень высокую надежность устройств. Реализация прецизионного АЦП- это всего лишь одна микросхема, переключение 8-ми дифференциальных входов с защитой от перенапряжений- тоже только одна микросхема.
  • Новые устройства реализуют концепцию построения распределенной системы управления. При ремонте или модификации какого-либо узла системы все остальные компоненты продолжают функционировать. При попытке сменить КАМАК блок или добавить новый приходится выключать КАМАК крейт, нарушая работоспособность значительной части системы управления.
  • Ну и еще один существенный фактор процветания новых устройств. Поскольку сейчас идут работы по автоматизации крупных установок (ЛСЭ, ВЭПП-5, ВЭПП-2000), существует значительный запас новых устройств, позволяющий удовлетворить запросы мелких потребителей "с полки".
 

У многих людей возникает вопрос: почему в качестве сетевого интерфейса был выбран CANbus? Вопрос резонный. Однако, любой профессионал, рассмотрев распространенные сетевые стандарты и зная сферу применения разрабатываемых устройств, оставит для выбора всего два сетевых стандарта- Ethernet и CANbus. Оба стандарта имеют массу преимуществ друг перед другом и, соответственно, массу недостатков. Все эти достоинства и недостатки перечислять здесь не представляется целесообразным. Можно честно признаться, что выбор в пользу CANbus не представлялся бесспорным. Пожалуй, наиболее сильно в пользу интерфейса CANbus повлиял пример Европы, где в системах автоматизации как индустриальных, так и научных, для объединения устройств с невысоким уровнем информационного обмена используется обычно как раз CANbus. В частности, CERN принял CANbus в качестве стандарта полевой шины.

В последние годы этот интерфейс широко распространился в мире, практически все производители микроконтроллеров выпускают модели со встроенным CAN контроллером. Иллюстрация ниже показывает устройств (узлов) с интерфейсом CANbus.

Вообще говоря, стандарт CANbus не определяет физический уровень передачи сигнала. Физическая среда может быть самая разная- витая пара, коаксиальный кабель, оптоволокно, радиочастота и т.п. В стандарте определяются абстрактные логические уровни (доминантный и рецессивный), кодирование сигнала, правила передачи бита в линии. Это проиллюстрировано ниже.

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

Следующая иллюстрация показывает распространение сигнала в тракте приема- передачи.

 

Все это так подробно расписывается по одной простой причине- CANbus является сетевым интерфейсом реального времени с неразрушающими столкновениями пакетов. Если два узла начали передачу одновременно, то в процессе передачи по определенным правилам низкоприоритетный узел освобождает шину высокоприоритетному узлу, не испортив уже начавшуюся передачу. Таким свойство обладает, пожалуй, только CANbus. Как известно, за все надо платить. Для того чтобы арбитраж на шине происходил неразрушающим образом, нужно чтобы все узлы одновременно увидели один и тот же бит и приняли решение (отключиться или продолжать передачу) в процессе передачи этого бита.

Очевидно, что скорость обмена на линии CANbus определяется не качеством линии передачи, а временем распространения сигнала по тракту (по линии, приемопередатчикам и оптопарам). Из этого вытекает принципиально низкая скорость обмена по линии CANbus, а также ограничения на длину линии. Таблица ниже иллюстрирует сказанное.

Как уже упоминалось ранее, собственно стандарт CANbus не определяет среду передачи данных и в мире существуют разные способы передачи пакетов CAN. Наиболее широко распространена передача сигналов по витой паре. Это определяется стандартом ISO11898-2. Ниже приводятся соответствующие иллюстрации.

Уровни сигналов в линии выглядят при этом следующим образом.

 

Существуют стандарты детально регламентирующие допустимое сечение проводов линии связи, величину временных сегментов для разных скоростей обмена, стандартные типы разъемов (десятки различных типов) и разводку выводов на них. Ниже приводится иллюстрация разводки выводов наиболее распространенного разъема типа DB9.

 

В заключение следует подчеркнуть, что обычно употребляя термин CANbus, как разработчики, так и пользователи подразумевают совокупность нескольких стандартов, определяющих собственно стандарт CANbus, передачу сигнала по витой паре, стандартную сетку рабочих скоростей, использование разъема типа DB-9 со стандартным назначением выводов. Обычно подразумевается и гальваническая изоляция узла от линии связи.

В качестве примера терминологических недоразумений можно привести следующий. В США довольно широко распространен стандарт DeviceNet, и далеко не все разработчики и пользователи знают, что это тоже CANbus, но с тремя допустимыми скоростями (500, 250 и 125 Кбод), специальным соединителем и несложным протоколом верхнего уровня.
 
  Очень часто приходится слышать рассуждения о малой скорости линии CANbus и о том, что ограничения на длину линии препятствуют широкому использованию этого интерфейса на крупных установках. В разработанных устройствах предусмотрено использование четырех возможных скоростей обмена- 1000, 500, 250 и 125 Кбод. Это соответствует длинам линии 30, 100, 250 и 500 м. Часто утверждается, что длина линии 500 м является недостаточной для крупных комплексов. Не следует забывать, что эта линия является моноканалом и порча линии в единственной точке может лишить связи все узлы. Даже при длине линии 500 м поиск повреждения кабеля на установке может быть весьма длительным. Более длинный моноканал не хочется даже представлять в воображении. С другой стороны, в нашем институте существует разработка шлюза Ethernet-CANbus. Это позволяет делать CANbus сегменты разумной длины и подключать их к сети Ethernet, которая обладает запасом скорости и набором switch'ей, repeater'ов и тому подобным оборудованием.

Вопрос быстродействия является несколько более сложным. Существует понятие быстродействия шины и понятие быстродействия системы (аппаратного и программного комплекса). Как шина CANbus существенно медленнее КАМАКа, не говоря уже о VME. Если же рассматривать реально используемые системы нашего института (система питания ускорителя, система контроля источников питания на детекторе), то при анализе реально используемых интерфейсов, блоков, программных алгоритмов мы обнаружим, что разрыва в быстродействии между КАМАК-системами и CANbus системами практически не существует. Из-за дефицита времени этот анализ здесь проводиться не будет, желающие могут обратиться к препринту ИЯФ 2003-70. Здесь же достаточно упомянуть, что на первой установке массового использования CANbus устройств (ЛСЭ) после запуска системы питания в эксплуатацию многие пользователи стали утверждать, что CANbus быстрее КАМАКа. Это, конечно же, преувеличение, психологическая реакция на неоправдавшиеся ожидания очень низкого быстродействия.

Вопрос быстродействия может быть рассмотрен и с другой стороны- достаточно ли быстродействие шины для тех применений, где она используется. В случае системы питания ЛСЭ эта оценка делается очень просто. Наибольший информационный поток в линии создают многоканальные измерители, которые непрерывно обмеряют токи и напряжения источников питания и передают данные по моноканалу в ЭВМ. На линии работают 15 измерителей, которые каждые 80 мсек передают по одному информационному пакету длиной 0,4 мсек (для скорости 250 Кбод). Таким образом, из 80 мсек времени передача занимает 6 мсек, т.е. линия загружена на 7,5%. Эта оценка совпадает с реальными измерениями загрузки линии, проведенными Середняковым Славой.
 
  Инфраструктура. В понятие инфраструктуры я бы отнес следующие моменты- наличие, доступность и типы интерфейсов, номенклатуру доступных устройств, операционные системы, с которыми можно использовать новые блоки, обученность персонала и программистов.

Что касается номенклатуры, то она упоминалась выше.

Интерфейсы. В институте в разное время попало несколько моделей интерфейсов различных типов. На сегодняшний день представляются перспективными следующие модели. Интерфейс PCI-CANbus производства фирмы Марафон. Это наиболее распространенная модель в институте и используется под всеми операционными средами. В нашем институте разработан и выпущен в некотором количестве шлюз Ethernet- CANbus. Этот шлюз также представляется весьма перспективным. По всей видимости именно эти два варианта будут типовыми в институте. Для мелких стендов или установок (типа промышленных ускорителей) с программным обеспечением под Windows, может оказаться привлекательным интерфейс USB-CANbus. Этот вариант у нас в институте еще никем не опробован.

Нельзя не упомянуть и еще одну разработку. Небольшими партиями в институте производится оптический линк CAN-CAN. Он уже был успешно использован в системах, где CANbus устройства оказываются "подвешенными" на высокие напряжения или в условиях очень больших импульсных помех.

Что касается обученности персонала, то при рассмотрении списка применений (был приведен выше) становится очевидным, что новое оборудование научились применять в большинстве подразделений нашего института и, соответственно, там имеются программисты, освоившие новую для себя "кухню".

Следует отметить, что в НГУ в классе ТСАНИ, успешно знакомившем студентов с аппаратурой КАМАК, запущена лабораторная работа с CANbus устройствами.

Рассмотрим один из блоков нового поколения, в качестве иллюстрации к сказанному выше. Ниже приводится фотография блока CAC208.

Это блок широкого назначения, хотя основным назначением является использование в многоканальных системах питания корректирующих магнитов. Блок имеет в своем составе

  • 20-канальный 24-разрядный АЦП с точностью 0,003%, разрешение по шумам 19 бит при времени измерения 20 мсек, 16 бит при времени измерения 1 мсек;
  • 8- канальный 16-разрядный ЦАП с точностью 0,03%;
  • 8-канальный входной регистр с оптической изоляцией;
  • 8-канальный выходной регистр с оптической изоляцией.

Два блока CDAC20 эквивалентны следующим КАМАК блокам: АЦП20, КАС-128, ЦАП16*16, УРВВ.Следует отметить, что во многих приложениях (ВЧ-станции, стенды) достаточно ресурсов единственного блока CAC208, в то время как КАМАК автоматизация все равно требует 4-х модулей (6М).

Ниже приводится несколько картинок, характеризующих параметры устройства.

Для сопоставления с широкораспространенными в институте интегрирующими измерителями уместно упомянуть, что при времени интегрирования 20 мсек (время измерения 30 мсек) все они имеют разрешение 16 бит (±15). Современные же измерители при времени измерения 20 мсек имеют разрешение около 19 бит.

Сравнивая с интегрирующими вольтметрами, отмечаем, что классические вольтметры при времени измерения 2мс/отсчет давали 10-12 бит разрешения, современные же устройства при времени измерения 1мс/отсчет разрешают около 16 бит.

Таблица параметров блока CAC208.  

Параметр  Значение
Разрядность АЦП  24 бит.
Разрешающая способность АЦП  24 бит.
Эффективное количество разрядов АЦП  от 16-20 бит
Смещение нуля АЦП в диапазоне температур не более 0.1 мВ.
Точность АЦП во всем диапазоне температур не менее  0.003%
Диапазон входных напряжений АЦП  ±10В.
Входной ток АЦП не более  1 нА. 
Допустимое синфазное напряжение АЦП  10.5 В.
Подавление синфазной помехи АЦП не менее 75 дб.
Время измерения АЦП  1 мс до 160 мс. 
Разрядность ЦАПа  16 бит.
Время установления ЦАПа на полную точность  0.01 сек.
Точность ЦАПа во всем диапазоне температур 0.03%
Выходное напряжение ЦАПа  ±10 В. 
Сопротивление нагрузки для ЦАПа не ниже  10 КОм.
Количество каналов выходного регистра  8.
Коммутируемое напряжение для выходного регистра  50 В.
Коммутируемый ток для выходного регистра 32 мА.
Количество каналов входного регистра  8.
Входное напряжение для входного регистра  2.5-10.0 В.
Входное сопротивление входного регистра 510 Ом.
Крутизна температурного датчика  1.9 мВ (типичное)
Напряжение с температурного датчика при +25 °С  0.56 В ±10%.
Скорости обмена  1000, 500, 250 и 125 Кбод.
Напряжение питания блока +5 В.
Потребляемый ток во всех режимах  Менее 1.0 А.
типовое 0.7 А

Если 20 лет назад таблица параметров практически полностью описывала возможности устройства и определяла сферы его применения, то для современного микропроцессорного устройства это совсем не очевидно. Таблица параметров описывает всего лишь аппаратные возможности блока. Программное обеспечение встроенного микроконтроллера существенно влияет на возможности устройства. Базовое программное обеспечение (версия 1) предоставляет пользователю следующие возможности.

Работа аналого-цифрового преобразователя в многоканальном режиме. При этом устройство сканирует указанные входные сигналы, обмеряет их и либо посылает данные в линию связи, либо запоминает во внутренней памяти, чтобы компьютер мог их считать в удобный для него момент. Цикл сканирования может быть либо единичным, либо бесконечным. В начале каждого цикла измерений производится калибровка "нуля" измерителя и его масштаба, чтобы гарантировать метрологию измерителя. Входные сигналы могут быть усилены программируемым усилителем, с тем чтобы понизить уровень шумов, приведенных ко входу, до уровня микровольт. Это дает возможность непосредственного подключения к термопарным сенсорам.

Работа аналого-цифрового преобразователя в одноканальном режиме (осциллографический режим). Этот режим предназначен в первую очередь для измерения пульсаций выходного тока источников питания либо для регистрации спорадических колебаний выходного тока. Соответственно, в этом режиме устройство измеряет непрерывно указанный входной канал (с возможностью усиления) и либо посылает данные в линию (при контроле пульсаций тока) либо укладывает данные во внутренний кольцевой буфер (на 4000 измерений). Второй случай предназначен для поиска причин спонтанного сброса пучка из-за дефектов источников питания (известный режим "время назад"). В случае сброса пучка по непонятным причинам измерения всех блоков останавливаются и программа просматривает кольцевые буфера "сторожевых" измерителей.

Для расширения возможностей программиста все измерители могут быть предварительно помечены программной меткой и в процессе работы все измерители с одинаковой меткой могут останавливать измерения или стартоваться заново единственной групповой командой.

Цифроаналоговый преобразователь в основном режиме работает как 8 независимых ЦАПов. Запись в какой-то канал приводит к изменению соответствующего выходного напряжения. Кроме классической работы устройство предоставляет возможность использовать цифроаналоговый преобразователь как генератор функций. Во внутреннюю память прибора может быть записан файл (несколько файлов), который описывает форму выходного сигнала как последовательность линейных отрезков. Каждый записанный файл снабжается программной меткой. Единственной групповой командой программист может стартовать исполнение файлов во всех устройствах на линии (с одинаковой меткой), приостановить исполнение, продолжить его (возможно подкорректировав некоторые выходные напряжения, либо сами файлы) или прервать исполнение.

Входной и выходной регистры не обладают в этой версии интеллектуальными возможностями и работают простейшим образом.

Из вышеизложенного вполне очевидно, что ресурсы и возможности устройства позволяют собирать на его основе целые микросистемы, которые раньше требовали бы нескольких КАМАК модулей.

Как уже отмечалось выше, устройство, благодаря наличию в своем составе микроконтроллера, является программируемым и простым изменением программы можно, по мере необходимости, добавлять новые функции. Новые возможности ограничиваются только имеющимися аппаратными ограничениями. Более того, не разрабатывая нового блока, достаточно написать новую программу, чтобы создать новое устройство с совершенно другими возможностями. В частности, можно создать полуавтономную систему автоматического регулирования. Встроенная программа может обмерять входные датчики и, в соответствии с некими критериями выдавать выходное аналоговое воздействие. Наличие каналов дискретного ввода/вывода дополнительно расширяет возможности управления. Flash память на плате позволяет записывать режим управления от ЭВМ и в дальнейшем выполнять работу без участия управляющего компьютера. Т.е. блок сразу после включения может выполнять, например, задачу термостабилизации резонатора даже при не включенной ЭВМ.

Следует отметить, что микроконтроллер, использованный в устройстве, предоставляет программисту вполне заметную вычислительную мощность- 20-40 миллионов операций в секунду и размер программной памяти до 64Кбайт. Это позволяет писать управляющие программы на языке С с достаточно высоким быстродействием конечного продукта.
 
  Примеры применений современных CANbus устройств.

Здесь мы рассмотрим более подробно несколько конкретных применений новых устройств.

Устройство CDAC20 разрабатывалось специально для использования в составе прецизионного источника питания ВЧ-300, в соответствии со спецификациями разработчиков источника питания. В этом приложении используются все ресурсы блока. Цифроаналоговый преобразователь задает выходной ток. 5 входов аналого-цифрового преобразователя используются для измерения выходного тока и некоторых дополнительных контрольных напряжений. Выходной регистр используется для управления дискретными сигналами- сброс триггеров защиты, включение/отключение силовых цепей. Входной регистр используется для передачи в ЭВМ состояний цепей защиты и блокировок.

Ниже приводится фотография источника ВЧ-300.


  Ниже приводится ряд схем, любезно предоставленных Николаем Лебедевым, иллюстрирующих применение современных устройств в эксперименте. Test measurement on different materials for neutron target. Contract INP - LNL(Italy). Эта работа проводилась в лаборатории 5.

На первом рисунке приводится схема эксперимента.

 

Схема автоматизации приводится на следующем рисунке.

 

Как видно из схемы вся автоматизация эксперимента обошлась использованием единственного стандартного устройства- CANADC40. Это одно из первых приложений, где были использованы все функциональные "излишества" блока. Единственное устройство управляет электродвигателем посредством выходного регистра, контролирует положение диска со светофильтрами и номер включенного светофильтра посредством входного регистра и многоканальный АЦП блока обмеряет линейку фотоприемников. И еще один примечательный момент должен быть отмечен- пользователей удовлетворило стандартное встроенное программное обеспечение блока. Это свидетельствует как о достаточной функциональности устройства, так и о высокой квалификации пользователей.

Для сравнения можно сравнить описанную систему с вариантом, использующим КАМАК модули. Для описанного эксперимента потребовались бы следующие блоки: АЦП, КАС-128, УРВВ и контроллер (всего 6 М) и КАМАК крейт. Между КАМАК модулями и блоками обработки сигнала пришлось бы пробросить несколько аналоговых и цифровых трасс. Нетрудно понять выбор разработчиков системы, которые предпочли единственный блок вставить в ту же корзину, где расположены их электроника, минимизировав объем аппаратуры, трассы, трудоемкость.
   

В заключение хотелось бы привести несколько ссылок, по которым интересующиеся люди могут узнать по теме доклада больше.

http://www.inp.nsk.su/activity/automation/device/devicenew/canbus/devcan.html - официальная номенклатура устройств с интерфейсом CANbus, производимых в нашем институте (с описаниями).

Партнеры