Проставить сноски, внести более точные указания на источники.
После исправления проблемы исключите её из списка. Удалите шаблон, если устранены все недостатки.
Последовательный КАМАК (или КАМАК-A2, от CAMAC — Computer Automated Measurement and Control) — способ организации многокрейтовой КАМАК-системы при помощи последовательного канала Highway.
Все крейты, подключённые к шине объединяются в кольцо. Между каждыми двумя крейтами устанавливается последовательный канал с 8-битным байтом. Кольцо замыкается через последовательный драйвер (англ.Serial Driver, SD). Последовательный драйвер соединяется с ЭВМ, владеющей шиной.
Соединение производится при помощи двух или девяти витых пар для последовательного или параллельно-последовательного обмена. При этом одна витая пара передаёт синхронизирующий сигнал и одна или восемь — информацию, содержащуюся в посылке.
Физические характеристики шины
Максимальная тактовая частота на шине равна 5 МГц.
Все сообщения передаются побайтно и следуют одно за другим. При последовательной передаче сообщение содержит стартовый (нулевой) бит, 8 информационных битов и стоповый бит (единичный). Байты передаются начиная с наименьшего значащего разряда.
При параллельно-последовательной передаче за один так синхросигнала передаётся один байт информации.
Протокол взаимодействия
В каждом передаваемом байте разряды 7 и 6 используются в качестве служебных для контроля чётности и для определения конца посылки. Остальные 6 разрядов содержат информационную посылку:
7
6
5
4
3
2
1
0
Контроль чётности
Признак конца
Информационная посылка
Бит конца сообщения равен нулю во время передачи посылки. Для сигнализации об окончании посылки используется байт, в котором этот бит установлен в единицу.
Сообщения протокола
В таблице приведена структура некоторых наиболее важных сообщений, используемых при передаче данных по последовательной шине.
7
6
5
4
3
2
1
0
Пояснение
CMD—Общее командное сообщение (9 или 5 байт)
Описывает одну команду. В случае, если команда не предусматривает передачу данных, байты 4..7 не передаются.
P0
0
SC5
SC4
SC3
SC2
SC1
SC0
SC5..0 — Адрес крейта, которому предназначена команда.
P1
0
0
0
SA3
SA2
SA1
SA0
Биты в разрядах 5 и 4 — идентификатор типа посылки. SA3..0 — субадрес модуля.
P2
0
1
SF3
SF3
SF2
SF1
SF0
SF3..0 — номер функции.
P3
0
1
SN3
SN3
SN2
SN1
SN0
SN3..0 — номер модуля.
P4
0
SW23
SW22
SW21
SW20
SW19
SW18
SW23..0 — передаваемые данные. В зависимости от номера функции эта секция может отсутствовать.
P5
0
SW17
SW16
SW15
SW14
SW13
SW12
P6
0
SW11
SW10
SW9
SW8
SW7
SW6
P7
0
SW5
SW4
SW3
SW2
SW1
SW0
P8
0
S5
S4
S3
S2
S1
S0
S5..0 — биты контроля чётности по столбцам.
SPACE—Байт заполнения
SPACE-байты передаются для резервирования позиций в потоке, куда крейд сможет записать результат выполнения команды.
1
0
1
1
1
1
1
1
Передаётся только последовательным драйвером.
WAIT—Байт ожидания
WAIT-байты по шине тогда, когда шина не загружена.
0
1
0
0
0
0
0
0
Отсутствует передача на данном такте.
RPY—Общее ответное сообщение (7 или 3 байта)
Посылается вместо сообщения команды (с использованием резервных байт). Информирует о результате выполнения команды. В случае, если команда не предусматривает передачу данных, байты 2..5 не передаются.
P0
0
SC5
SC4
SC3
SC2
SC1
SC0
SC5..0 — Адрес крейта, от которого поступил ответ.
P1
0
0
1
DERR
SQ
SX
ERR
Биты в разрядах 5 и 4 — идентификатор типа посылки. DERR, SQ, SX, ERR—флаги.
P2
0
SR23
SR22
SR21
SR20
SR19
SR18
SR23..0 — передаваемые данные. В зависимости от номера функции эта секция может отсутствовать.
P3
0
SR17
SR16
SR15
SR14
SR13
SR12
P4
0
SR11
SR10
SR9
SR8
SR7
SR6
P5
0
SR5
SR4
SR3
SR2
SR1
SR0
P6
0
S5
S4
S3
S2
S1
S0
S5..0 — биты контроля чётности по столбцам.
SRPY—Укороченное ответное сообщение
Посылается вместо сообщения команды. Информирует о приёме команды.
P0
0
SC5
SC4
SC3
SC2
SC1
SC0
SC5..0 — Адрес крейта, от которого поступил ответ.
P2
1
1
0
0
0
0
0
S5..0 — биты контроля чётности по столбцам.
DMD—Запрос на обслуживание
Аналог прерывания. Посылается для извещения ЭВМ о событии.