Создаем достаточно крупную систему управления и передачи данных. Используются Altera Stratix II GX. Требуется передача со скоростью 2,7-3,2 Гбит/с. Сначала интерфейс Serial Lite II мне приглянулся, я испытал его на PCI Express Development Kit, но сейчас меня гложат сомнения по нескольким вопросам.
Мне нравится: его простота, отсутствие лишних наворотов.
Необходима передача пакетов различной длины с гарантированной доставкой и проверкой целостности (в терминах Serial Lite II это High Priority Packet).
Струтура системы - пирамида, на самом нижнем уровне - некие модули, поставляющие данные. Для сбора данных и передачи команд управления используются блоки, имеющие 24 оптических канала вниз и один наверх.
0
/|\ 24 канала вниз
/ | \
/ | \ от каждого - 1 канал наверх.
0 0 0
/|\ /|\ /|\
1. Два экземпляра компонента (instances) функции Serial Lite II Quartus не позволяет класть в один Quad (счетверенный блок приемопередатчика), ругается, что не может использовать "Quad Control Block". В таком случае, 3/4 приемопередатчиков ПЛИС просто не используются. Можно ли это обойти ? Скорость передачи во всех каналах одинаковая.
2. У мегафункции Serial Lite II есть настройка "Broadcast", которая позволяет блоку работать в режиме вещания, при этом работают все приемопередатчики. Меня это устраивает : вниз команды передаются одинаковые, наверх данные от каждого свои. Сомнение: будет ли такое устройство корректно работать? Например если один из низлежащих блоков выключен или отвалился кабель, то как в таком режиме будет обеспечиваться гарантированная доставка ? Не "повиснет" ли функция, пока не доставит данные до всех низлежащих (а пока их включат... что будет ?).
3. Можете посоветовать другие интерфейсы. Требования: простота реализации, минимум ресурсов, защита целостности, передача пакетами, гарантированная доставка. Некоторые эти пункты я смогу надстроить сам, но время поджимает.
Кто работал с Serial Lite II расскажите с чем пришлось столкнуться, что порадовало, с чем завязли