Коммутатор потоков данных
Коммутатор потоков данных осуществляет перенаправление потоков данных от источников к приемникам, исходя из конфигурационных регистров каждого канала. Направление передачи данных, цветовые фильтры каждого их каналов программируются независимо для каждого канала в регистровом файле блока конфигурации, который записывается во время конфигурации контроллера. При наличии данных в приемнике от нескольких источников и соответственно сконфигурированных регистров контроллера передача осуществляется согласно алгоритма, описанного в пункте А.3.3. В общем случае схема распространения данных имеет вид, представленный на рисунке 4.
Блок конфигурационных регистров
Рис. 4Схема распространения данных
Компаратор адресов дешифрирует адреса команд, поступающих из приемных каналов. В случае, если команда содержит адрес устройства, равный адресу контроллера, компаратор адресов вырабатывает сигнал на запись конфигурационного регистра контроллера, адрес которого совпадает с адресом регистра принятой команды. Причем в случае, когда команда является конфигурационным словом контроллера, она не будет передана в каналы (если установлен соответствующий бит в конфигурационных регистрах каналов, разрешающий передачу команд в данный канал). Адрес контроллера содержится в регистре REG_BASE_ADDR.
Коммутатор потоков данных автоматически осуществляет включение и выключение арбитра каналов, исходя из конфигурационных регистров контроллера.
Инициализация
Инициализация контроллера состоит в назначении базового адреса и последующей записи конфигурационных регистров, которая завершается переходом в режим ON-LINE. Базовый адрес может быть записан из любого канала; запись регистров возможна также из любого канала, но только после записи базовых адресов.
Базовый адрес контроллера для обращения к нему со стороны всех каналов устанавливается в регистре REG_BASE_ADDR конфигурационного блока контроллера. После включения питания или аппаратного сброса возможна только одна запись в регистр базового адреса, все последующие записи игнорируются.
При получении из любого канала конфигурационных данных, содержащих в поле адреса устройства адрес контроллера, записанный в REG_BASE_ADDR, контроллер записывает данные в один из регистров, адресованный полем адреса регистра; при этом данные не передаются на выход. Если адрес устройства не совпадает с адресом контроллера, то в режиме OFF_LINE данные будут потеряны, а в режиме ON_LINE передаются на все выходные каналы.
Присвоив базовый адрес контроллеру, необходимо записать базовые адреса контроллеров модулей, подключенных к каналам А и В.
