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

 
 
> Ввод данных в компьютер., Бинарный поток.
SNR
сообщение Jul 19 2012, 09:15
Сообщение #1


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

Группа: Свой
Сообщений: 135
Регистрация: 17-05-09
Из: Kiev
Пользователь №: 49 171



Здравствуйте!
Тема для меня новая , поэтому попрошу особо не пинать. До этого все более с радиочастотными трактами занимался.

Итак есть некое устройство которое на выходе имеет три провода: DATA, CLK ну и естественно GND.
Меандр тактирования CLK может идти c максимальной частотой 5,6МГц.
Подскажите, чем мне эти данные ввести в комп, чтоб потом записать в бинарный файл.
Может есть готовые модули, или собрать - не проблема или хоть подскажите в направлении чего "копать".

Большое спасибо!

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andrew smirnov
сообщение Sep 28 2012, 09:41
Сообщение #2





Группа: Новичок
Сообщений: 8
Регистрация: 28-09-12
Пользователь №: 73 719



Если не секрет, какую максимальную скорость получили?
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Sep 28 2012, 16:13
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(andrew smirnov @ Sep 28 2012, 12:41) *
Если не секрет, какую максимальную скорость получили?

Цитата(SNR @ Aug 16 2012, 22:06) *
...Тестировал на домашнем компьютере, на разных скоростях (СLK от 3 до 24.5 МГц)...

То есть, для данного применения достаточной была скорость обмена 4 Мбайта в секунду.
Go to the top of the page
 
+Quote Post
andrew smirnov
сообщение Sep 28 2012, 16:51
Сообщение #4





Группа: Новичок
Сообщений: 8
Регистрация: 28-09-12
Пользователь №: 73 719



Цитата(Konst_777 @ Sep 28 2012, 20:13) *
То есть, для данного применения достаточной была скорость обмена 4 Мбайта в секунду.

Интересуюсь не из праздного любопытства - стоит задача по вводу сигнала как раз со спутникового модема, но за основу взят отладочный модуль ftdi um232h. Пока темный лес - я скорее программист, чем схемотехник...
Не подскажете, какую микросхемку можно использовать для преобразования из последовательного кода в параллельный на 8 бит и формировать управляющий сигнал при заполнении регистра, чтобы передать их в um232h (сдвиговый регистр и делитель частоты, так сказать, в одном флаконе)? Хотелось бы выжать из этой микросхемки максимум...

Сообщение отредактировал andrew smirnov - Sep 28 2012, 16:55
Go to the top of the page
 
+Quote Post
_pv
сообщение Sep 28 2012, 21:40
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(andrew smirnov @ Sep 28 2012, 22:51) *
Интересуюсь не из праздного любопытства - стоит задача по вводу сигнала как раз со спутникового модема, но за основу взят отладочный модуль ftdi um232h. Пока темный лес - я скорее программист, чем схемотехник...
Не подскажете, какую микросхемку можно использовать для преобразования из последовательного кода в параллельный на 8 бит и формировать управляющий сигнал при заполнении регистра, чтобы передать их в um232h (сдвиговый регистр и делитель частоты, так сказать, в одном флаконе)? Хотелось бы выжать из этой микросхемки максимум...

у ft232h есть режимы последовательного интерфейса.
а если скорости до 20-30МГц то можно тупо параллельным интерфесом сэмплить и клоки и данные на максимально частоте а потом программно разбирать.
Go to the top of the page
 
+Quote Post
andrew smirnov
сообщение Sep 29 2012, 07:01
Сообщение #6





Группа: Новичок
Сообщений: 8
Регистрация: 28-09-12
Пользователь №: 73 719



Цитата(_pv @ Sep 29 2012, 01:40) *
у ft232h есть режимы последовательного интерфейса.
а если скорости до 20-30МГц то можно тупо параллельным интерфесом сэмплить и клоки и данные на максимально частоте а потом программно разбирать.

Да нет, хотелось бы получить значение, близкое к теоретическому максимуму для ft232h. Да и программно разбирать клоки и данные - не лучшее занятие.
После ввода сигнал еще обрабатывать программно.
Go to the top of the page
 
+Quote Post
_pv
сообщение Sep 29 2012, 08:23
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(andrew smirnov @ Sep 29 2012, 14:01) *
Да нет, хотелось бы получить значение, близкое к теоретическому максимуму для ft232h.
Да и программно разбирать клоки и данные - не лучшее занятие. После ввода сигнал еще обрабатывать программно.

а что же это за последовательный интерфейс такой на ~300мбит?

если сделать что-то вроде
Код
#define CLK_BIT 0x01
#define DATA_BIT 0x02

int bitCnt = 0;
int b1, b2 = 0;
char data[100500];
while(1){
  b1 = GetByteFromFT232H();
  if ((b1 & (b1 ^ b2)) & CLK_BIT){
    if (b1 & DATA_BIT) data[bitCnt>>3] |= (1 << (bitCnt & 0x07));   // (1 << (7 - (bitCnt & 0x07))) если байт вносят ногами вперед.
    bitCnt++;
  }
  b2 = b1;
}

по сравнению с обработкой данных не сильно много процессорного времени займёт.
хотя по скорости в режиме FT1248 или MPSSE быстрее получится.
FT1248 вроде как spi slave можно заставить работать до 30МГц.
в MPSSE только как мастер.

Цитата
Не подскажете, какую микросхемку можно использовать для преобразования из последовательного кода в параллельный на 8 бит и формировать управляющий сигнал при заполнении регистра.

мелкую cpld
Go to the top of the page
 
+Quote Post
andrew smirnov
сообщение Sep 29 2012, 10:47
Сообщение #8





Группа: Новичок
Сообщений: 8
Регистрация: 28-09-12
Пользователь №: 73 719



Цитата(_pv @ Sep 29 2012, 12:23) *
а что же это за последовательный интерфейс такой на ~300мбит?

если сделать что-то вроде
Код
#define CLK_BIT 0x01
#define DATA_BIT 0x02

int bitCnt = 0;
int b1, b2 = 0;
char data[100500];
while(1){
  b1 = GetByteFromFT232H();
  if ((b1 & (b1 ^ b2)) & CLK_BIT){
    if (b1 & DATA_BIT) data[bitCnt>>3] |= (1 << (bitCnt & 0x07));   // (1 << (7 - (bitCnt & 0x07))) если байт вносят ногами вперед.
    bitCnt++;
  }
  b2 = b1;
}

по сравнению с обработкой данных не сильно много процессорного времени займёт.
хотя по скорости в режиме FT1248 или MPSSE быстрее получится.
FT1248 вроде как spi slave можно заставить работать до 30МГц.
в MPSSE только как мастер.


мелкую cpld

нужно знать частоту следования клоков, как я понял. а это величина не постоянная и заранее не известная. последовательный интерфейс на 300 мбит? есть стандарт спутниковой связи DVB-S2 - там скорость примерно 30МГц*5 (размерность модуляции - АФМ32) - т.е., за вычетом декодера (например 9/10), скорость потока составит порядка 135 МБит/с. Демодулятор выдает в последовательном виде. Перспективный стандарт DVB NS3 обеспечивает скорость передачи до 365 МБит/с. Хотелось бы быть к нему готовым sm.gif. Ну, а пока хватит и заявленных 200 МБит/с, если получится.

а насчет CPLD - я думал, что простой логики должно хватить? или я не прав? вопрос только в скорострельности...

Сообщение отредактировал andrew smirnov - Sep 29 2012, 10:16
Go to the top of the page
 
+Quote Post
_pv
сообщение Sep 29 2012, 17:10
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(andrew smirnov @ Sep 29 2012, 17:47) *
нужно знать частоту следования клоков, как я понял. а это величина не постоянная и заранее не известная.

нет, ((b1 & (b1 ^ b2)) & CLK_BIT) выделяет положительный фронт и по нему защёлкивает данные.

Цитата(andrew smirnov @ Sep 29 2012, 17:47) *
Перспективный стандарт DVB NS3 обеспечивает скорость передачи до 365 МБит/с. Хотелось бы быть к нему готовым . Ну, а пока хватит и заявленных 200 МБит/с, если получится.

я к тому что это, скорее всего, не cmos 3.3V на таких скоростях.
и 365Мбит/с с ft232h пожалуй не получится.

Цитата(andrew smirnov @ Sep 29 2012, 17:47) *
а насчет CPLD - я думал, что простой логики должно хватить? или я не прав? вопрос только в скорострельности...

хватит, только понадобится сдвиговый регистр, счётчик на 8, пара триггеров, может инвертор, даже такую простую логику как правило проще в одном корпусе мелкой cpld иметь.
а скорострельности логики какой-нибудь LVC/AUC серии должно хватить.
Go to the top of the page
 
+Quote Post
andrew smirnov
сообщение Oct 5 2012, 07:44
Сообщение #10





Группа: Новичок
Сообщений: 8
Регистрация: 28-09-12
Пользователь №: 73 719



Так, просьба не пинать - схемотехника была когда-то давно в институте. Начнем с начала. Есть желание ввести сигнал (за скоростью пока не гонимся, дальше разберемся) от источника в PC через USB. Сигнал представляет собой данные в последовательном виде, непрерывные. Данные идут в сопровождении тактовой. Итого имеем две линии. Сигнал в линии представляет собой последовательность прямоугольных импульсов. Уровень "0" - где-то в районе 0 Вольт, уровень "1" - где-то 5 Вольт (вроде TTL, если я ничего не путаю). Есть отладочный модуль FTDI - FT2232H mini module (есть еще одноканальный вариант - FT232H). Сигнал и тактовая подаются по кабелю длиной до 5 метров (пока реально используем 1,5 метра). На выходе источника сигнала - прямоугольные импульсы. На выходе кабеля - импульсы теряют свою форму, дробятся. Плюс появляется "двойник" сигнала - что-то похожее на сигнал, сдвинутое по времени. Сделан вывод о необходимости согласования нагрузки на выходе линии - включили между сигнальной жилой и землей сопротивление порядка 50 Ом. Сигнал на выходе кабеля стал похож на исходный. Теперь пытаемся подключить это на вход FT2232H в режиме синхронного FIFO по следующей схеме (почти так, как советовали выше): сигнальные жилы такта и данных - на входы данных первого канал (биты 0 и 1 буфера); сигнал записи берем от встроенного генератора на 60 МГц. Землю от входных линий цепляем на землю платы. Плата по питаю в режиме Bus-powered. Ничего не получается. В схемотехнике не силен, поэтому, если кто-то может ткнуть, где почитать или просто подсказать, как подключить - помогите, пожалуйста.
Go to the top of the page
 
+Quote Post
_pv
сообщение Oct 5 2012, 09:50
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(andrew smirnov @ Oct 5 2012, 13:44) *
Начнем с начала
...
Теперь пытаемся подключить это на вход FT2232H в режиме синхронного FIFO по следующей схеме (почти так, как советовали выше): сигнальные жилы такта и данных - на входы данных первого канал (биты 0 и 1 буфера); сигнал записи берем от встроенного генератора на 60 МГц. Ничего не получается.

самого главного - тактовую частоту приходящих данных не сказали.
ft[2]232 не может в усб непрерывно передать поток 60МБайт/с. посмотрите на сигнал TXE#, он показывает когда у ft внутренний буфер закончился.
поделите 60МГц пополам тогда возможно получится, при этом, частота последовательного интерфейса должна быть еще более чем в два раза меньше.
либо попробуйте режим FT1248 - это как раз spi slave. до 30МГц.
а по хорошему надо взять какой-нибудь быстрый сдвиговый регистр, вроде 74[F/AHC][594/595], и из пары 74ххх74 или еще одного сдвигового регистра и пары лог вентилей сделать счётчик на 8 чтобы он на один такт CLKOUT дергал WR по заполнению сдвигового регистра. ну или мелкую cpld.
Go to the top of the page
 
+Quote Post
andrew smirnov
сообщение Oct 5 2012, 10:11
Сообщение #12





Группа: Новичок
Сообщений: 8
Регистрация: 28-09-12
Пользователь №: 73 719



Цитата(_pv @ Oct 5 2012, 13:50) *
самого главного - тактовую частоту приходящих данных не сказали.
ft[2]232 не может в усб непрерывно передать поток 60МБайт/с. посмотрите на сигнал TXE#, он показывает когда у ft внутренний буфер закончился.
поделите 60МГц пополам тогда возможно получится, при этом, частота последовательного интерфейса должна быть еще более чем в два раза меньше.
либо попробуйте режим FT1248 - это как раз spi slave. до 30МГц.
а по хорошему надо взять какой-нибудь быстрый сдвиговый регистр, вроде 74[F/AHC][594/595], и из пары 74ххх74 или еще одного сдвигового регистра и пары лог вентилей сделать счётчик на 8 чтобы он на один такт CLKOUT дергал WR по заполнению сдвигового регистра. ну или мелкую cpld.

за микруху спасибо, поищем. вопрос в другом - правильно ли я подключаю (нужно ли еще где-нибудь что-нибудь навесить, емкость, например, сопротивление) с точки зрения схемотехники, чтобы заработало. а то модуль не всегда определяется системой.
тактовая частота приходящих данных задается на источнике сигнала (аппаратный имитатор). скорость может быть от 32 кбит/с до 10 мбит/с.

есть еще вариант на 40 мбит/с, но пока даже 1 мбит/с не получили. не могу понять, как ее подключать. в даташитах ничего не нашел...

Сообщение отредактировал andrew smirnov - Oct 5 2012, 10:12
Go to the top of the page
 
+Quote Post
_pv
сообщение Oct 5 2012, 10:35
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(andrew smirnov @ Oct 5 2012, 16:11) *
вопрос в другом - правильно ли я подключаю (нужно ли еще где-нибудь что-нибудь навесить, емкость, например, сопротивление) с точки зрения схемотехники, чтобы заработало. а то модуль не всегда определяется системой.
тактовая частота приходящих данных задается на источнике сигнала (аппаратный имитатор). скорость может быть от 32 кбит/с до 10 мбит/с.

если это готовый модуль всё что надо там уже есть.
а подключаете неправильно, нельзя в синхронном режиме гнать непрерывно поток 60МБайт/с и уж тем более таким образом:
Цитата
сигнал записи берем от встроенного генератора на 60 МГц


для начала попробуйте в асинхронном режиме фифо, клоки последовательно интерфейса на WR, только с нужной полярностью, данные на D0, до 8 МГц должно работать. каждый бит - один байт.

зы про режим FT1248 наврал, никакой это не spi slave, ему там команды еще надо в поток данных подмешивать.
а режим Fast Serial Interface, хоть и slave и до 50МГц, требует старт/стоповых битов.
то есть чесловеческого режима spi slave у ft232h похоже нету.
Go to the top of the page
 
+Quote Post
andrew smirnov
сообщение Oct 5 2012, 11:56
Сообщение #14





Группа: Новичок
Сообщений: 8
Регистрация: 28-09-12
Пользователь №: 73 719



Цитата(_pv @ Oct 5 2012, 14:35) *
...
клоки последовательно интерфейса на WR, только с нужной полярностью
...

что Вы имеете ввиду под нужной полярностью? 05.gif есть жила и земля (обмотка). Подаю клоки с жилы
Go to the top of the page
 
+Quote Post
_pv
сообщение Oct 5 2012, 13:23
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(andrew smirnov @ Oct 5 2012, 17:56) *
что Вы имеете ввиду под нужной полярностью? 05.gif есть жила и земля (обмотка). Подаю клоки с жилы

не электричекую, а в смысле логических уровней.
в асинхронном режиме фифо, данные защелкиваются по отрицательному фронту на WR, то есть по переходу 1 -> 0.
в Вашем последовательном интерфейсе они скорее всего в этот момент как раз изменяются на линии данных. то есть если не инвертировать клоки данные будут захватываться в момент перехода от одного бита к другому, что не есть хорошо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SNR   Ввод данных в компьютер.   Jul 19 2012, 09:15
- - demiurg_spb   Можно наверное на чипе от ftdi придумать что-нибуд...   Jul 19 2012, 09:47
|- - SNR   Смотрел в сторону ФТ245 но наверное не потянет.   Jul 24 2012, 10:14
|- - kolobok0   Цитата(SNR @ Jul 24 2012, 14:14) Смотрел ...   Jul 24 2012, 10:45
|- - iosifk   Цитата(SNR @ Jul 24 2012, 14:14) Смотрел ...   Jul 24 2012, 10:45
|- - _4afc_   Цитата(iosifk @ Jul 24 2012, 14:45) а 223...   Jul 24 2012, 13:03
- - Danis   Цитата(SNR @ Jul 19 2012, 13:15) Здравств...   Jul 27 2012, 10:43
|- - SNR   Вобщем пошарился по инету, подумал что проще и дос...   Jul 28 2012, 17:19
|- - iosifk   Цитата(SNR @ Jul 28 2012, 21:19) Вобщем п...   Jul 28 2012, 18:09
|- - SNR   Цитата(iosifk @ Jul 28 2012, 21:09) Вообщ...   Jul 28 2012, 19:39
- - SNR   Остановился на CY7C68013A. Подкорректировал для не...   Aug 7 2012, 06:53
|- - Konst_777   Цитата(SNR @ Aug 7 2012, 09:53) ...Может ...   Aug 7 2012, 17:47
|- - _pv   Цитата(SNR @ Aug 7 2012, 12:53) Остановил...   Aug 8 2012, 21:38
- - SNR   Накрапал примитивную программу в Билдере 6. Читаю ...   Aug 8 2012, 14:38
|- - Konst_777   Вам нужно получить определенный объем данных (како...   Aug 8 2012, 19:41
- - SNR   Спасибо за ответы. Поток от устройства (спутниковы...   Aug 9 2012, 06:37
|- - Konst_777   Цитата(SNR @ Aug 9 2012, 09:37) ...А вот ...   Aug 9 2012, 10:34
- - SNR   Сделал в отдельном потоке, считываю по вишеописано...   Aug 10 2012, 10:06
|- - Konst_777   Цитата(SNR @ Aug 10 2012, 13:06) ...Иногд...   Aug 10 2012, 13:11
- - SNR   Большое спасибо Вам Konst_777 за разьяснение. Для ...   Aug 12 2012, 20:33
|- - Konst_777   Цитата(SNR @ Aug 12 2012, 23:33) ...А вот...   Aug 13 2012, 15:08
- - SNR   Буду разбираться с этими функциями. Нет это хобби,...   Aug 13 2012, 16:54
|- - Konst_777   Цитата(SNR @ Aug 13 2012, 19:54) ...Нет э...   Aug 13 2012, 19:56
- - SNR   Наборы от китайцев с ебея где-то в дороге едут. Бр...   Aug 13 2012, 21:04
|- - Konst_777   Цитата(SNR @ Aug 14 2012, 00:04) ...Пока ...   Aug 14 2012, 05:57
- - SNR   Полной схемы на CY7С68013A+EP1C6T144 к сожалению н...   Aug 14 2012, 07:29
|- - Konst_777   Цитата(SNR @ Aug 14 2012, 10:29) Полной с...   Aug 14 2012, 07:53
- - SNR   Вот весь проект:   Aug 14 2012, 08:31
|- - Konst_777   Цитата(SNR @ Aug 14 2012, 11:31) Вот весь...   Aug 15 2012, 05:45
- - SNR   Итак, результаты тестов на ноутбуке на работе: ант...   Aug 15 2012, 08:13
- - SNR   Дома более пристально изучил принятую структуру и ...   Aug 15 2012, 19:23
|- - Konst_777   Цитата(SNR @ Aug 15 2012, 22:23) Дома бол...   Aug 16 2012, 07:47
- - SNR   Спасибо за подсказку. Теперь все заработало. Тести...   Aug 16 2012, 19:06
|- - Konst_777   Цитата(SNR @ Aug 16 2012, 22:06) Попутно ...   Aug 16 2012, 20:20
- - SNR   День добрый! Вчера до поздней ночи тестил - на...   Aug 17 2012, 08:37
|- - Konst_777   Цитата(SNR @ Aug 17 2012, 11:37) ... при ...   Aug 17 2012, 09:53
- - SNR   Все доделал, теперь работает отлично. Большое спас...   Aug 17 2012, 19:34
- - SNR   В составе модема все работает отлично. Вот получен...   Aug 28 2012, 20:58
|- - _pv   Цитата(SNR @ Aug 29 2012, 02:58) В состав...   Aug 28 2012, 22:38
- - SNR   Ответил в личку.   Aug 30 2012, 10:13
- - andrew smirnov   Цитата(_pv @ Oct 5 2012, 17:23) не электр...   Oct 6 2012, 07:24


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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 04:11
Рейтинг@Mail.ru


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