|
|
  |
звук по диф.паре в цифровом виде |
|
|
|
May 30 2007, 19:08
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 2-07-06
Пользователь №: 18 521

|
В общем необходимо построить такую систему, чтобы по диф.паре передавать звук в цифровом виде в обоих направления "одновременно", например человек говорит в микрофон и слышит сам себя в наушниках. Преобразовать в цифру не проблема, а вот как обработать это потом? Теоретически должнобыть похоже на I2C, т.е. master выставляет на шину адрес, slave принимает и т.д. А вот практически, какая микросхема способна справиться с этим?
Фактически диф.пару можно принять за один провод.
Сообщение отредактировал qalex - May 30 2007, 19:10
|
|
|
|
|
May 30 2007, 20:50
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(qalex @ May 30 2007, 23:08)  В общем необходимо построить такую систему, чтобы по диф.паре передавать звук в цифровом виде в обоих направления "одновременно", например человек говорит в микрофон и слышит сам себя в наушниках. Преобразовать в цифру не проблема, а вот как обработать это потом? Теоретически должнобыть похоже на I2C, т.е. master выставляет на шину адрес, slave принимает и т.д. А вот практически, какая микросхема способна справиться с этим? Фактически диф.пару можно принять за один провод. Хмм, не совсем понял, хотите дифференциальный канал ? В принципе в моем понимании это больше относится к аналоговым аспектам сигнала, обычно для лучшей помехоустойчивости, хотя наверно есть и в цифровом виде (т.е. цифровые данные передаваемые по одному каналу есть бинарная инверсия данных второго канала). Вы это имеете ввиду ? Одновременно - вы говорите о full duplex ? То о чем вы написали ("говорит в микрофон и слышит себя в наушниках) - это один канал, т.е. идет передача со входа на выход, второго канал тут не вижу вообще. Если вы действительно имеет ввиду просто говорить и слышать себя-же - по идее не проблема. Просто сигнал оцифруется, заводится в систему и выводится оттуда на выход (после DAC на наушник). Естественно, 100% одновременно" не получиться - всегда есть задержка, хотя на слух она может быть и не заметна. Если вышеизложенное есть то что вам нужно, не вижу тут никакой надобности в какой-либо обработке сигнала в плане DSP - просто IN > OUT как FIFO. Не вижу тут завязки на I2C протокол..Конкретная реализация зависит от ваших намерений к реализации - можно например сделать на каком-нить простеньком FPGAе с подключенными ADC/DAC и соотв. аналоговыми фильтрами (anti-alaising по входу anti-imaging по выходу). Ежели вы принципиально хотите это прогонять через DSP систему - есть кучу недорогих DSK (development board) процессоров DSP (от тех-же TI например или Analog Devices, но тут влезают кучу аспектов программирования под DSP....этот field для меня пока еще нов, сам его сейчас только начал осваивать...
|
|
|
|
|
Jun 1 2007, 07:09
|
Местный
  
Группа: Свой
Сообщений: 392
Регистрация: 29-05-07
Из: Москва
Пользователь №: 28 020

|
Цитата(qalex @ May 30 2007, 23:08)  В общем необходимо построить такую систему, чтобы по диф.паре передавать звук в цифровом виде в обоих направления "одновременно"... Теоретически должнобыть похоже на I2C... Практически физический протокол I2C (2 двунаправленных электрически независимых сигнала с открытым коллектором) для данной задачи не подходит никак. Среди стандартных протоколов можно применить USB, Ethernet (в режиме half duplex), они работают как раз с диф.парой и данные в обе стороны. В случае USB одна сторона будет host, другая - device. На сколько я себе представляю, сторона host достаточно сложна. С Ethernet все проще. Также еще CAN посмотрите, тоже должен подойти. И еще, конечно, можно сделать свой проект на ПЛИС по своему протоколу.
|
|
|
|
|
Jun 1 2007, 13:35
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 2-07-06
Пользователь №: 18 521

|
Спасибо за ответы. Первоночальная формулировка была не совсем понятна и правильна. Диф. пара для передачи на расстояние. Можно принять за один провод.Можно построить систему ( к примеру) так - два кодека A и Б, оба обмениваются информацией, которая по времени разделена например на 2 раздела. В первом разделе от А к Б, во втором Б-А, в разных кодах. Соответствующий кодек получает информацию, видит что началась передача и декодирует информацию . Потом наоборот. Идет постоянный обмен между ними. Это также похоже на разговор двух людей по мобильнику, кажется что одновременно, а на самом деле все квантуется с большой скоростью. Это действительно может быть похоже на ETHERNET. Надо поисткать соответствующие аппликации.
А вот по поводу ПЛИС тоже интересно, только вот мы с ними не работали.
Суть вопроса состоит, что может кто подкинет какую готовую аппликацию, чтобы не придумывать свой протокол.
Только что посмотрел стандарт Ethernet - не подходит. Передача ведется по двум витым парам, т.е. фактически по двум проводам. А нужно по одному.
Сообщение отредактировал qalex - Jun 1 2007, 13:09
|
|
|
|
|
Jun 1 2007, 19:52
|
Местный
  
Группа: Свой
Сообщений: 392
Регистрация: 29-05-07
Из: Москва
Пользователь №: 28 020

|
Цитата(qalex @ Jun 1 2007, 17:35)  Только что посмотрел стандарт Ethernet - не подходит. Передача ведется по двум витым парам, т.е. фактически по двум проводам. А нужно по одному. В случае Ethernet в режиме half-duplex можно передавать по одной дифференциальной паре. ...На каком максимальном расстоянии могут находиться ваши узлы? P.S. если интересует, у меня есть готовый проект на ПЛИС (пишите в почту)
|
|
|
|
|
Jun 4 2007, 08:25
|
Местный
  
Группа: Свой
Сообщений: 392
Регистрация: 29-05-07
Из: Москва
Пользователь №: 28 020

|
Цитата(qalex @ Jun 2 2007)  Максимальное расстояние 100м. Ответить на Ваше письмо нет возможности, у Вас статус 'validating' и нет контактов. Пишу ответ здесь... Соответственно USB не подойдет. Остаются варианты Ethernet, CAN, DSL и вариант на ПЛИС по собственному разработанному протоколу. варианты на ПЛИС: 1) Готовый проект (обмен по одной диф.паре) у меня работает на расстояниях до 10м. 2) Также есть проект, работающий по 2-м диф.парам (полный дуплекс), и работающий на расстояниях до 400м. То есть с учетом того, что Вам нужно до 100м, готового проекта у меня нет. Но в принципе можно рассмотреть вариант разработки проекта на ПЛИС, работающего на расстояниях до 100м в режиме полудуплекс, используя предыдущие наработки. P.S. и все же нужно провести анализ и выбрать наиболее экономичное решение в плане денежных затрат. Если Вы планируете несколько экземпляров изделий, то дешевле построить устройство на микросхемах, использующие стандартный протокол. Если партия большая, то дешевле на ПЛИС.
Сообщение отредактировал AVL - Jun 4 2007, 08:35
|
|
|
|
|
Jun 4 2007, 17:53
|

Группа: Новичок
Сообщений: 7
Регистрация: 4-06-07
Пользователь №: 28 175

|
Пользователь qalex заблокирован, подтверждения не приходят на мыло. Я за него  p.s. AVL см.приват
Сообщение отредактировал hdmi - Jun 4 2007, 17:59
|
|
|
|
|
Jun 4 2007, 22:33
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(qalex @ Jun 1 2007, 17:35)  Спасибо за ответы. Первоночальная формулировка была не совсем понятна и правильна. Диф. пара для передачи на расстояние. Можно принять за один провод.Можно построить систему ( к примеру) так - два кодека A и Б, оба обмениваются информацией, которая по времени разделена например на 2 раздела. В первом разделе от А к Б, во втором Б-А, в разных кодах. Соответствующий кодек получает информацию, видит что началась передача и декодирует информацию . Потом наоборот. Идет постоянный обмен между ними. Это также похоже на разговор двух людей по мобильнику, кажется что одновременно, а на самом деле все квантуется с большой скоростью... Посмотрите чипаки для ISDN. Может, там чего обрящете. Ну, и стандарты почитать не грех, чтобы понимать, о чём речь. Передача полным дуплексом по витой паре в ISDN точно есть, и кодеки для этих целей готовые имеются (какие именно - сейчас не скажу: давно этим не занимался).
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jun 4 2007, 22:46
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Oldring @ Jun 5 2007, 01:35)  Передать битики - не особая проблема. Есть другие подводные камни. Нужно не забыть про синхронизацию тактовых генераторов на обеих сторонах. Интересно, а как можно передать (и принять!) битики без синхронизации генераторов на обеих сторонах? Режим-то дуплексный... Кстати, синхронизацию тактовых генераторов для этого делать вовсе не обязательно.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jun 4 2007, 22:52
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Alex11 @ Jun 2 2007, 22:59)  Посмотрите еще на интерфейсы цифровых телефонных аппаратов. Там 2 МБит/сек скорость Нет ISDN это 2B+D - 128Kbit+16Kkbit И помирают производители прямо на глазах. Считай один Infinion остался, на NEC стаааренький чип тянет. Цитата Если нужна скорость выше и полный дуплекс - то можно поглядеть на SDSL связь, но там чипы тяжелые и трудно доставаемые. S HDSL - вот тут тут уже и мегабиты могут быть, чипы тяжелые, но абсолютно доставаемые. В принципе легко использовать готовые модемы в разнообразнейших конструктивных исполнениях - от законченных коробочных конcтрукций до субмодулей.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jun 5 2007, 11:12
|
Местный
  
Группа: Свой
Сообщений: 392
Регистрация: 29-05-07
Из: Москва
Пользователь №: 28 020

|
Цитата(zltigo @ Jun 5 2007, 02:42)  ??? Для передачи по одной диф. паре в случае Ethernet в режиме half-duplex, как один из вариантов решения, потребуется вместо 2-х 2-х обмоточных трансформаторов поставить 2 3-х обмоточных и 2 высокоскоростных диф. ОУ в режиме повторителей. Один из трансформаторов для линии (смеситель), другой трансформатор для подавления сигнала с выхода фисивера на его вход. Повторители напряжения нужны для развязки трансформаторов (направление сигнала только в одну сторону).
Сообщение отредактировал AVL - Jun 5 2007, 11:14
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|