Цитата(Александр77 @ May 28 2014, 22:39)

Есть пожелание передавать данные блоками "максимальной длины" (для программиста это значение в десятки кБ, я ограничен ресурсами ПЛИС и максимум смог бы согласиться на 8кБ). В реалии договорились на блок из 256 Б (попробуем, а дальше примем решение - потянем или нет).
В протоколе управления, заложена возможность ввода "используемых АЦП". Из беседы (пока краткой) понял что в ПЛИС передается один байт, в котором каждый бит указывает будут ли включаться данные с АЦП в протокол или нет.
Если исходить из того, что пакет должен быть фиксированной длины (256 Б), то напрашивается достаточно хитроумный формирователь адреса для мультиплексора. Количество состояний по моей оценке, чуть меньше 2^16.
Я бы поменял протокол, передавал бы фиксированное количество точек с каждого канала, а длина пакета зависела бы от количества выбранных каналов и фиксированного числа точек. DSP задаёт Вам какие каналы выбрать, т.е. при фиксированном количестве точек с каждого канала, он может определить длину пакета. В Вашем случае, для каких-то каналов передаётся одно число точек, для других другое, потом надо думать, как это всё склеить, сложнее получается.