Realking
Sep 10 2008, 09:40
Можно ли оцифрованные данные 16 бит 2 МГц передать по витой паре на 100 метров (и более)
если можно - в какую сторону смотреть,
хотелось бы чтобы передатчик не был слишком навороченным
MrYuran
Sep 10 2008, 09:53
Ethernet
Зачем? аля-485й вполне справится (только надо драйвер и приемник взять с соответствующим быстродействием). Тем более, что эзернет надо 100 (потому как 2*16=32МБит/с) и много другого надо воротить.
sera_os
Sep 10 2008, 10:51
USB 2.0
Realking
Sep 10 2008, 11:08
Цитата(Rst7 @ Sep 10 2008, 14:50)

Зачем? аля-485й вполне справится (только надо драйвер и приемник взять с соответствующим быстродействием). Тем более, что эзернет надо 100 (потому как 2*16=32МБит/с) и много другого надо воротить.
интересно, это как это 485 справится, и нужно ли кодирование информации, как в Ethernet
Цитата
интересно, это как это 485 справится,
Имеется в виду, что дифференциальный передатчик в линию и дифференциальный приемник на другой стороне и обрамление байтов стартовым и стоповым битом вполне решает вопрос передачи.
А вообще, для корректного ответа на Ваш вопрос очень мало информации. Что есть источник информации, что есть приемник - например, эти данные хотелось бы получить.
MrYuran
Sep 10 2008, 11:51
Цитата(sera_os @ Sep 10 2008, 14:51)

USB 2.0

И репитер через каждые 5 метров
USB - это офисный настольный интерфейс, также как и RS-232
А есть драйвера RS-485 на 32Mbit ? Да чтоб 100 метров.
Цитата
А есть драйвера RS-485 на 32Mbit ?
На 20 точно есть. У AD. Надо у других глянуть.
На крайний случай можно 2 потока организовать. Наверняка ж обычная витуха CAT5 ляжет, пар аж 4 штуки.
rezident
Sep 10 2008, 19:12
Цитата(Rst7 @ Sep 10 2008, 17:45)

Имеется в виду, что дифференциальный передатчик в линию и дифференциальный приемник на другой стороне и обрамление байтов стартовым и стоповым битом вполне решает вопрос передачи.
ИМХО асинхронный протокол при таком битрейте не подойдет. Это же нужно чтобы разбег тактовых частот был не хуже 0,2-0,5%. Даже при тактовой 64МГц требования к долговременной стабильности и джиттеру уже весьма нехилые получаются. Так что либо нужно синхру гнать параллельно, либо использовать самосинхронизирующиеся протоколы типа Манчестера. Что всяко ближе к Ethernet, чем к RS485
Realking
Sep 11 2008, 04:43
нашел LTC1688 100Mbps RS485
если кодировать 4b5b (или каким другим самосинхр. кодом), можно ли передать на 100-200 метров по витой паре кат. 6?
USB не годится принципиально.
RS-485 может и пройдёт, но поизвращаться придётся.
Всякие LVDS-ы по дальности тоже сомнительно, и с кодированием придётся возиться.
Так что Ethernet было бы правильно по моему.
MrYuran
Sep 11 2008, 06:11
Если цель - передать 16 бит параллельно со стробом записи, то проще всего манчестер. На концах - простенькие плиски и оконечники. Я такое делал на советской логике. Пара десятков корпусов 533/1533 серии. Частота была 10 МГц.
Хотя "проще" - понятие растяжимое.
Кому-то проще поставить немеряный Virtex, насовать туда IP-корок и наслаждаться...
GetSmart
Sep 11 2008, 06:17
Цитата(Realking @ Sep 11 2008, 10:43)

нашел LTC1688 100Mbps RS485
если кодировать 4b5b (или каким другим самосинхр. кодом), можно ли передать на 100-200 метров по витой паре кат. 6?
У всех 485-ых передатчиков скорость передачи завязана с длиной линии. У LTC1688 написано 100 мбод на 30 метрах. По 485 стандарту 30 мбод идёт до 10 метров. А далее по убывающей. Сколько мбод останется на 100-200 метрах... Надо проверять. Зависит ещё от сопротивления самого кабеля. На длинных кабелях при стандартных терминальных резисторах 100 ом может не хватать напряжения для срабатывания приёмника. Придётся увеличивать резистор и уменьшать скорость передачи. Но в LTC1688 есть 4 передатчика и если использовать 2 или 3 из них, то 32 мбод сделать на 200 метров проблем не будет.
Realking
Sep 11 2008, 06:46
Цитата(GetSmart @ Sep 11 2008, 10:17)

У всех 485-ых передатчиков скорость передачи завязана с длиной линии. У LTC1688 написано 100 мбод на 30 метрах. По 485 стандарту 30 мбод идёт до 10 метров. А далее по убывающей. Сколько мбод останется на 100-200 метрах... Надо проверять. Зависит ещё от сопротивления самого кабеля. На длинных кабелях при стандартных терминальных резисторах 100 ом может не хватать напряжения для срабатывания приёмника. Придётся увеличивать резистор и уменьшать скорость передачи. Но в LTC1688 есть 4 передатчика и если использовать 2 или 3 из них, то 32 мбод сделать на 200 метров проблем не будет.
говорю, UTP 6, а кодирование какое-нибудь нужно?
GetSmart
Sep 11 2008, 06:54
Цитата(Realking @ Sep 11 2008, 12:46)

говорю, UTP 6, а кодирование какое-нибудь нужно?
Кодирование... Дык неизвестно откуда идут данные и в каком формате и ещё много чего неизвестно. 485-ый представляет из себя просто помехозащищённую передачу сигналов на большие расстояния. А по сути это простейшее соединение двух устройств одним (несколькими) сигнальным проводом. Что на вход передатчика подаёте, то на выходе приёмника и получаете. Один в один, только с задержкой распостранения сигнала по линии. Поэтому кодирование и разделение своего сигнала на несколько параллельных сигналов для 485-ого это уже совсем другая тема.
Realking
Sep 11 2008, 07:00
Цитата(GetSmart @ Sep 11 2008, 10:54)

Кодирование... Дык неизвестно откуда идут данные и в каком формате и ещё много чего неизвестно. 485-ый представляет из себя просто помехозащищённую передачу сигналов на большие расстояния. А по сути это простейшее соединение двух устройств одним (несколькими) сигнальным проводом. Что на вход передатчика подаёте, то на выходе приёмника и получаете. Один в один, только с задержкой распостранения сигнала по линии. Поэтому кодирование и разделение своего сигнала на несколько параллельных сигналов для 485-ого это уже совсем другая тема.
данные идут с датчика, оцифрованный аналоговый сигнал 16 битным АЦП с частотой дискретизации 2 МГц
blackfin
Sep 11 2008, 07:08
Цитата(Realking @ Sep 11 2008, 11:00)

данные идут с датчика, оцифрованный аналоговый сигнал 16 битным АЦП с частотой дискретизации 2 МГц
А что произойдет, если половина всех принятых данных будет содержать ошибки?
Это приемлемо? А если четверть? И вообще, о каком допустимом BER идет речь?
GetSmart
Sep 11 2008, 07:09
Цитата(Realking @ Sep 11 2008, 13:00)

данные идут с датчика, оцифрованный аналоговый сигнал 16 битным АЦП с частотой дискретизации 2 МГц
Нужна ли контрольная сумма при передаче или информация для восстановления? Если да, то всё придётся делать через ПЛИС. Если же искажения (очень редкие) не смертельны, а искажения возможны всегда (!) при передаче данных, то всё будет проще.
Realking
Sep 11 2008, 07:33
Цитата(GetSmart @ Sep 11 2008, 11:09)

Нужна ли контрольная сумма при передаче или информация для восстановления? Если да, то всё придётся делать через ПЛИС. Если же искажения (очень редкие) не смертельны, а искажения возможны всегда (!) при передаче данных, то всё будет проще.
ошибок не должно быть
GetSmart
Sep 11 2008, 07:48
Цитата(Realking @ Sep 11 2008, 13:33)

ошибок не должно быть
Тогда сочувствую
Самое смешное, что эзернет тоже не так просто реализовать. По одной простой причине - надо накапливать данные с АЦП для сборки в пакеты. Потом - разгребать. И если будет ошибка, то грохнется весь пакет (т.е. много измерений), а не одно измерение. А насчет "ошибок не должно быть" это автор темы погорячился. А если помеха влетает на вход АЦП? Чем такой вариант отличается от порчи бита в потоке?
MrYuran
Sep 11 2008, 08:35
Цитата(Rst7 @ Sep 11 2008, 12:27)

А если помеха влетает на вход АЦП? Чем такой вариант отличается от порчи бита в потоке?
Биты разные бывают.
Когда я интересовался помехоустойчивым кодированием (писал диплом в 2000 году), то встречал коды, в которых разные биты имеют разный вес (как раз наш случай). То есть, порча старшего бита - это катастрофа, поэтому он максимально защищён, а младший - всё равно содержит один шум, его потеря ничего не значит.
Realking
Sep 11 2008, 08:37
Цитата(MrYuran @ Sep 11 2008, 12:35)

Биты разные бывают.
Когда я интересовался помехоустойчивым кодированием (писал диплом в 2000 году), то встречал коды, в которых разные биты имеют разный вес (как раз наш случай). То есть, порча старшего бита - это катастрофа, поэтому он максимально защищён, а младший - всё равно содержит один шум, его потеря ничего не значит.
Да нет. Потом фильтровать надо данные (FIR)
GetSmart
Sep 11 2008, 08:46
Цитата(Realking @ Sep 11 2008, 14:37)

Да нет. Потом фильтровать надо данные (FIR)
Скажите уже, что за сигнал передаёте? Что на входе АЦП? Тогда может и совет полезный услышите.
Высоконадёжная передача данных даже на 100 метров - это тема докторской диссертации если не сложнее. Вы готовы в это окунуться?
Realking
Sep 11 2008, 08:52
Цитата(GetSmart @ Sep 11 2008, 12:46)

Скажите уже, что за сигнал передаёте? Что на входе АЦП? Тогда может и совет полезный услышите.
Высоконадёжная передача данных даже на 100 метров - это тема докторской диссертации если не сложнее. Вы готовы в это окунуться?
Задача заменить передачу аналогового сигнала (30 - 300 кГц) по коаксиалу, на передачу оцифрованного сигнала
GetSmart
Sep 11 2008, 09:00
Цитата(Realking @ Sep 11 2008, 14:52)

Задача заменить передачу аналогового сигнала (30 - 300 кГц) по коаксиалу, на передачу оцифрованного сигнала
Так бы сразу и сказали. Для передачи того же звука вполне допускается выпадение одного сэмпла из допустим тысячи. Вообще, по 485 каналу можно передать сигнал с нехудшим качеством чем по коаксиалу. Проще всего ввести в канал дополнительную информацию по восстановлению. БЧХ или что покруче. MrYuran походу знает про это, может что посоветует. Делать такой большой поток данных легче всего в плисине, либо в черезмерно мощном проце. Можно расчитывать, что при этом ошибок вообще не будет если рядом молния не шваркнет или других искровых разрядов по близости нет.
Хотя наверно можно сперва поискать какие-нить готовые решения в сети или в продаже.
Цитата(GetSmart @ Sep 11 2008, 13:00)

Хотя наверно можно сперва поискать какие-нить готовые решения в сети или в продаже.
Эзернет

если все требования переписать в один список, то эзернет, предложенный кем-то в первом ответе, будет в самый раз. и лучше гигабитный, для возможности повтора испорченных пакетов.
а "разжевав" кодирование будет видно что это копия tcp
очередной вЕлик
Realking
Sep 24 2008, 05:47
Цитата(VDG @ Sep 11 2008, 16:04)

Эзернет

если все требования переписать в один список, то эзернет, предложенный кем-то в первом ответе, будет в самый раз. и лучше гигабитный, для возможности повтора испорченных пакетов.
а "разжевав" кодирование будет видно что это копия tcp
очередной вЕлик
тогда еще вопросик:
если эзернет точка-точка, можно ли на одном конце не использовать трансформатор?
kslabs
Oct 23 2008, 08:09
Если сам сигнал от 30 до 300 кГц, а оцифровывается 2 МГц, то целесообразно предварительно слегка припаковать. Если ставится ПЛМ, то очень легко реализуется например вычисление разницы между предыдущим и последующим. Думаю что необходимая скорость передачи потока уменьшится на порядок.
Я и USB2 протягивал с ретрансляцией 5 раз по 15 метров и питанием с одной стороны. Получал скорость до 23 Мбайт.
Если питание с двух сторон можно сделать, то по 20 метров ретрансляторы будут работать.
Realking
Nov 13 2008, 10:07
вопрос по Ethernet
а можно ли посылать пакеты например по 20 байт, и есть ли какие либо ограничения на размер пакета
и чем они обоснованы
имеется ввиду пакет чистых данных с АЦП без дополнительных данных и без использования протоколов
Цитата
а можно ли посылать пакеты например по 20 байт, и есть ли какие либо ограничения на размер пакетаи чем они обоснованы
Нельзя. Минимальная длинна пакета - 64 байта + 8 байт преамбулы (55,55,55,55,55,55,55,5D). В собственно пакет входят 6 байт адреса приемника, 6 байт адреса источника, 2 байта - тип пакета (его еще надо правильно выбрать, дабы не помешать другим, поищите по форуму, это обсуждалось), и в конце - контрольная сумма. Остальное можете забить своими данными.
Realking
Nov 13 2008, 10:44
Цитата(Rst7 @ Nov 13 2008, 13:20)

Нельзя. Минимальная длинна пакета - 64 байта + 8 байт преамбулы (55,55,55,55,55,55,55,5D). В собственно пакет входят 6 байт адреса приемника, 6 байт адреса источника, 2 байта - тип пакета (его еще надо правильно выбрать, дабы не помешать другим, поищите по форуму, это обсуждалось), и в конце - контрольная сумма. Остальное можете забить своими данными.
связь точка-точка
с одной стороны FPGA отсылает данные через внешний PHY, а с другой стороны FPGA принимает данные через внешний PHY
никому мешать я не собираюсь :-)
Цитата
с одной стороны FPGA отсылает данные через внешний PHY, а с другой стороны FPGA принимает данные через внешний PHY
Аааа, ну если так, то хватит только преамбулы. Дальше - сколько хотите байт можете передавать.
Realking
Nov 13 2008, 10:52
Цитата(Rst7 @ Nov 13 2008, 13:49)

Аааа, ну если так, то хватит только преамбулы. Дальше - сколько хотите байт можете передавать.
не понял, а зачем преамбула?
я так понимаю PHY (LAN8700) сам определяет начало и конец передачи данных, а также и у приема
Цитата
не понял, а зачем преамбула?
По преамбуле происходит начальная синхронизация. Сам ниббл D (вместо 5) говорит о начале собственно пакета. Без этого жить не будет.
Realking
Nov 13 2008, 11:11
Цитата(Rst7 @ Nov 13 2008, 14:01)

По преамбуле происходит начальная синхронизация. Сам ниббл D (вместо 5) говорит о начале собственно пакета. Без этого жить не будет.
а нибблы J K T R тогда зачем?
О, пардон, Вы про сотку... Ну байт 0x5D Вам все равно надо передать. А дальше - сколько хотите.
Realking
Nov 13 2008, 12:34
Цитата(Rst7 @ Nov 13 2008, 14:42)

О, пардон, Вы про сотку... Ну байт 0x5D Вам все равно надо передать. А дальше - сколько хотите.
опять же не понял, этот байт кому нужен
я так понял для PHY он не нужен, или я не прав?
и сколько хотите - это хоть 1 байт?
Цитата
я так понял для PHY он не нужен, или я не прав?
Нужен. Без него не будет работать.
Цитата
и сколько хотите - это хоть 1 байт?
Можно и один.
Realking
Nov 13 2008, 12:59
Цитата(Rst7 @ Nov 13 2008, 15:45)

Нужен. Без него не будет работать.
последний вопрос:
а где про это прочитать можно?
Цитата
а где про это прочитать можно?
В описании MAC-уровня (IEEE802.3) Вы такого не прочитаете. 8 байт преамбулы и все. А это - собственный опыт.
san822
Dec 24 2008, 07:41
Цитата(Realking @ Sep 11 2008, 11:52)

Задача заменить передачу аналогового сигнала (30 - 300 кГц) по коаксиалу,
на передачу оцифрованного сигнала
Может попробовать по оптике ?
Берете оборудование для передачи видеосигнала по оптоволокну
(например,
Teleste) и получаете готовое решение.
Оно передает полосу до 6,5 МГц, частота оцифровки у разных девайсов разная,
ну минимум по Котельникову должно быть где-то 13 МГц.
Правда, путь АЦП -> оптика -> ЦАП -> АЦП смотрится не очень привлекательно.
Но тогда можно свой девайс сделать типа АЦП -> оптика -> цифровой сигнал на прибор.
san822
Dec 25 2008, 14:15
Забыл упомянуть, что в передатчиках видео по оптоволокну оцифровка обычно 8 или 10 битная. Но теоретически можно взять двухканальное оборудование, разбить диапазон измерений на две части и получить в итоге 16-20 битную оцифровку.
примерное задание но сигнал 4мбит хотел передавать по витой на 200м, в результате отказался и поставил сдел все на оптике оконечка
http://www.infineon.com
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.