Есть девайс с FT232R<->uC (обмен по УАРТу). АЦП микроконтроллера делает замеры по шести каналам + считывает некоторые данные на плате по I2C. Все эти данные должны передаваться на FT232 и далее на ПК по USB. Разработка девайса складывается из нескольких этапов, после каждого из которых предполагается полноценная работа устройства. На первых этапах скорость передачи не критична, 10-100мс влево-вправо (что называется «+- трамвайная остановка»). Но на последних этапах разработки ожидается нечто приближённое к осциллографическим функциям. Частота сэмплирования АЦП 1.1МГц. Собственно есть несколько вопросов:
- Какой протокол верхнего уровня выбрать для этих целей? Сразу с прицелом на последние этапы разработки (выдача оцифрованных данных от 6-ти каналов с достаточно высокой скоростью + данные от I2C). Modbus ? Что вообще применяется (какие протоколы) в цифровых осциллографических приставках к ПК ? Что-то стандартное, или производители сами лепят, кто во что горазд?
- Обработка на стороне ПК (используется драйвер D2XX): мануалы и исходники FTDI предлагают использование Таймеров, заряженных на 50мс: в каждом таком «псевдо»-прерывании читаем буфер и обрабатываем его. Но мне кажется, что использование потоков более стабильно: для потоков Винда выделяет более стабильные промежутки времени, чем на таймер. Или я ошибаюсь? Есть ли какие-то ещё варианты ? Не хотелось бы изобретать велосипед.
Заранее благодарю за любые комменты и предложения.