реклама на сайте
подробности

 
 
> FT232R<->uC, протокол верхнего уровня
MicroDiP
сообщение Mar 6 2015, 03:39
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 104
Регистрация: 31-07-05
Из: Shenzhen, China (深圳市, 中国)
Пользователь №: 7 233



Добрый день.

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

Заранее благодарю за любые комменты и предложения.


--------------------
Все языки несут в себе черты своих обладателей. И идиомы каждого языка повторяются снова и снова: "Он чужеземец, а значит - варвар". (Роберт Хайнлайн)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Lmx2315
сообщение Mar 6 2015, 05:01
Сообщение #2


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Если есть АЦП и есть желание сделать осциллограф то нужно в протоколе иметь привязки по времени или порядку следования передаваемых кадров с данными. Еще не понятно как непрерывный поток с 6ти АЦП с неизвестной разрядностью плюс избыточная информация протокола будут передаваться через уарт на такой скорости. Тут USB2 нужен.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
MicroDiP
сообщение Mar 6 2015, 06:30
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 104
Регистрация: 31-07-05
Из: Shenzhen, China (深圳市, 中国)
Пользователь №: 7 233



Цитата(Lmx2315 @ Mar 6 2015, 13:01) *
Если есть АЦП и есть желание сделать осциллограф то нужно в протоколе иметь привязки по времени или порядку следования передаваемых кадров с данными. Еще не понятно как непрерывный поток с 6ти АЦП с неизвестной разрядностью плюс избыточная информация протокола будут передаваться через уарт на такой скорости. Тут USB2 нужен.

По временным привязкам - я так в общем-то и думал. А по скорости передачи - многие цифровые осциллы передают данные "окнами", размер которых зависит от имеющийсся на борту памяти. Поэтому говорить о непрерывном потоке наверное не стоит. Хотелось бы понять структуру этих пакетов-окон. И собственно как это обрабатывается на ПК. Есть ли какие-то более-менее стандартные методы. Даже не столько стандартные, сколько правильные, стабильно и корректно работающие?


--------------------
Все языки несут в себе черты своих обладателей. И идиомы каждого языка повторяются снова и снова: "Он чужеземец, а значит - варвар". (Роберт Хайнлайн)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 17:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01407 секунд с 7
ELECTRONIX ©2004-2016