Внутренние конфигурационные регистры контроллера
Контроллер модуля ВСК имеет в своем составе конфигурационные регистры, которые делятся на следующие группы:
- регистр управления работой контроллера;
- регистр базового адреса контроллера;
- конфигурационный регистр цветовых фильтров канала А;
- конфигурационный регистр цветовых фильтров канала В;
- конфигурационный регистр цветовых фильтров канала передающего FIFO;
- регистры количества слов, используемые при арбитраже каналов, для каждого из каналов А или Б и канала передающего FIFO;
- статусный регистр контроллера;
- регистры чтения статуса;
- базовые регистры модулей, подключенных к каналам А и В.
Регистр управления работой контроллера REG_CFG_CTRL служит для управления и контроля состоянием и функционированием контроллера.
Регистр базового адреса контроллера является 16-ти разрядным регистром, содержащим базовый адрес контроллера.
Конфигурационный регистр цветовых фильтров канала А представляет набор цветовых фильтров для канала В и канала передающего FIFO.
Конфигурационный регистр цветовых фильтров канала В представляет собой набор цветовых фильтров для канала А и канала передающего FIFO.
Конфигурационный регистр цветовых фильтров канала передающего FIFO представляет собой набор цветовых фильтров для канала А, канала В и канала передающего FIFO.
Регистры количества слов идентичны для каждого канала и представляют собой 16-ти разрядные регистры, содержащие количество слов. Данные регистры участвуют в арбитраже каналов в случае коммутации нескольких источников на один приемник. Если регистр количества слов соответствующего канала содержит 0, то данный канал не будет опрашиваться во время арбитража.
Статусный регистр контроллера содержит признаки сбоев в работе обоих каналов А и В, связанных с потерей несущей.
Регистры чтения статуса предназначены для реализации механизма чтения статусного регистра контроллера любым из имеющихся каналов (каналы А и В и канал FIFO).
Базовые регистры мезонинов, подключенных к каналам А и В предназначены для остановки/запуска передачи данных по каналам А и В в случае переполнения входного FIFO приемной части любого канала А и В.
Арбитр каналов
Арбитр каналов предназначен для арбитража каналов в случае, когда несколько источников данных подключены к одному приемнику коммутатором потоков данных. Арбитраж каналов осуществляется в двух режимах, которые программируются битом NO_WAIT регистра REG_CFG_CTRL. Структурная схема арбитра каналов представлена на рисунке А.3.2. В случае коммутации более одного источника на один приемник происходит последовательный опрос всех источников. Порядок опроса следующий: канал А, канал В, канал приемного FIFO. Количество слов, которое будет прочитано из каждого источника и передано в приемник зависит от того, в каком режиме работает арбитр каналов.
В случае если бит NO_WAIT регистра REG_CFG_CTRL установлен в"0", из каждого канала-источника будет прочитано то количество слов, которое запрограммировано в регистре количества слов соответствующего канала. Далее канал будет отключен от приемника, дав возможность следующему по опросу каналу-источнику передать соответствующее количество слов. Таким образом, каждый канал-источник передает в канал-приемник заданное для него количество слов.
Если бит NO_WAIT регистра REG_CFG_CTRL установлен в "1", что означает работу арбитра в режиме без ожидания, то схема арбитража будет похожа на предыдущую. Различие заключается том, что в случае образования паузы в передаваемых данных (признак отсутствия данных в канале-источнике) одним из каналов, арбитр не ждет пока канал передаст положенное ему количество слов, а переключает приемник на другой источник, исходя из существующего опроса каналов. Если бит NO_WAIT регистра REG_CFG_CTRL установлен в "1" и пауз в поступлении данных нет, то арбитраж будет выполняться исходя из регистров количества слов для каждого канала.
Рис. 3 Структурная схема арбитра каналов
Таким образом, в случае работы арбитра каналов, данные в приемники, независимо от того, являются ли они приемниками нескольких источников, или одного, будут поступать из источников согласно алгоритму арбитража, т.е. если допустить, что канал А (приемная часть) является приемником для канала В и канала приемного FIFO, канал передающего FIFO является приемником для канала В, то данные в канал передающего FIFO будут поступать также, как и канал А согласно алгоритму работы арбитра.
