Полная версия этой страницы:
UART в оптику
Serg_Sm
Apr 11 2013, 06:46
Требуется передача данных по последовательному интерфейсу по оптике. Скорости до мегабита, оптика стекло, один кабель RX/TX.
Посоветуйте подходящие модули/микры, желательно уже готовое решение - куда достаточно подцепить UART с микроконтроллера и не городить ПЛИС.
Victor®
Apr 11 2013, 08:05
Цитата(Serg_Sm @ Apr 11 2013, 09:46)
Требуется передача данных по последовательному интерфейсу по оптике. Скорости до мегабита, оптика стекло, один кабель RX/TX.
Посоветуйте подходящие модули/микры, желательно уже готовое решение - куда достаточно подцепить UART с микроконтроллера и не городить ПЛИС.
Безболезненный вариант.
UART-USB-OPTIC
http://www.silabs.com/products/interface/u...art-bridge.aspxhttp://industrialcomponent.com/opticis/opm210003.html
Serg_Sm
Apr 11 2013, 11:39
Цитата(Victor® @ Apr 11 2013, 11:05)
Абсолютно не то.
USB кабели хоть и с оптикой не нужны. С двух сторон должен быть оптический модуль, к примеру
SFS-7010-WA. Нужно обычную стекло подоткнуть - USB кабель, с набаладашниками причем, тянуть не прокатит.
Да и гордить 10 переходников смысла никакого + энергопотребление страдает.
То бишь ищется микра преобразователь UART в кодированный поток для оптического модуля. Ставить ПЛИС только под это никак не хочется.
ЗЫ: Или хоть скажите в каком направлении гулить - что-то пока ничего приемлимого на запрос "UART to optic" не нашлось.
Victor®
Apr 11 2013, 12:26
Цитата(Serg_Sm @ Apr 11 2013, 14:39)
Абсолютно не то.
USB кабели хоть и с оптикой не нужны. С двух сторон должен быть оптический модуль, к примеру
SFS-7010-WA. Нужно обычную стекло подоткнуть - USB кабель, с набаладашниками причем, тянуть не прокатит.
Да и гордить 10 переходников смысла никакого + энергопотребление страдает.
То бишь ищется микра преобразователь UART в кодированный поток для оптического модуля. Ставить ПЛИС только под это никак не хочется.
ЗЫ: Или хоть скажите в каком направлении гулить - что-то пока ничего приемлимого на запрос "UART to optic" не нашлось.
Что-то Вы путаете.
SFS-7010-WA имеет 2 волокна (на прием и передачу).
Вы же хотели один.
По потреблению- посмотрите сколько потребляет SFP.
"Микру" готовую Вы вряд-ли найдете. Уж сильно затея эта причудливая.
Хотите быль большим оригиналом? Без оптики ни как?
Serg_Sm
Apr 12 2013, 06:01
Цитата(Victor® @ Apr 11 2013, 15:26)
Что-то Вы путаете.
SFS-7010-WA имеет 2 волокна (на прием и передачу).
Вы же хотели один.
По потреблению- посмотрите сколько потребляет SFP.
"Микру" готовую Вы вряд-ли найдете. Уж сильно затея эта причудливая.
Хотите быль большим оригиналом? Без оптики ни как?
Без оптики никуда - весь комплекс на ней построен (подробности описывать не буду). Сейчас стоит пластик (POF) - отлично стыкуется с UART. Одна проблема - заказчику он не нравится, хотят перевести всё на стекло и естественно хотят чтобы кабелей было поменьше.
С потреблением SFP придеться смириться.
SFS-7010-WA - это нашел первую попавшуюся, на самом деле возьмутся те которые проще купить (Tx:1310nm Rx:1550nm - вроде двунаправленная передача).
Более подходящее
125Mbps/155Mbps Multi-mode LC/SC BiDi TX-1310nm RX-1550nm Что-то подобное и будем искать.
В принципе даже подойдет не UART, а SPI - нужно прицепить интерфейс к AT91SAM7S.
vladec
Apr 12 2013, 07:03
А может, если скорости поменьше, Вам, что нибудь типа Toslink прокатит?
Serg_Sm
Apr 12 2013, 07:46
Цитата(vladec @ Apr 12 2013, 10:03)
А может, если скорости поменьше, Вам, что нибудь типа Toslink прокатит?
Он же однонаправленный - если я правильно понял? Плюс ко всему разъемы другие.
Похоже придеться ПЛИС ставить. Думал поставить serdes простенькие на 12МГц/10бит и использовать один битик (гнать SPI 12МГц), но будут проблемы с разбором 12Мбит/с входящего потока. Конвертеров UART/SPI -> NRZ не нашел.
Victor®
Apr 12 2013, 09:58
Цитата(Serg_Sm @ Apr 12 2013, 10:46)
Он же однонаправленный - если я правильно понял? Плюс ко всему разъемы другие.
Похоже придеться ПЛИС ставить. Думал поставить serdes простенькие на 12МГц/10бит и использовать один битик (гнать SPI 12МГц), но будут проблемы с разбором 12Мбит/с входящего потока. Конвертеров UART/SPI -> NRZ не нашел.
http://www.ti.com/lit/ds/symlink/sn65lv1023a.pdfКлок они сами вытягивают.
Serg_Sm
Apr 12 2013, 12:35
Цитата(Victor® @ Apr 12 2013, 12:58)
Эти я и смотрел - "будут проблемы с разбором 12Мбит/с входящего потока". Ну и стабильность клока SPI идущего от контроллера под вопросом.
PS: Хотя, несколько подумав - можно попробовать дополнительно к данным передавать сигнал CS. Если с таймингами подшаманить может и получиться.
Serg_Sm
Apr 16 2013, 12:38
Всё таки со связкой SPI -> Serialazer не всё хорошо. SAM7 снимает тактирование (при 12МГц SPI ровно на 3 периода) во время переключения CS.
UART кстати сделать проще - при его скорости в 250Кбит (мне хватит) никакая синхронизация с сериалайзером не нужна.
Но уартов оказывается не хватает - лучше бы SPI)).
Есть вариант взять тактирование с модуля ШИМ - с клоком от SPI разбежки нет, но небольшой фазовый сдвиг (~10нс) смущает.
vadimp61
Apr 16 2013, 15:00
Цитата(Serg_Sm @ Apr 11 2013, 10:46)
Требуется передача данных по последовательному интерфейсу по оптике. Скорости до мегабита, оптика стекло, один кабель RX/TX.
Посоветуйте подходящие модули/микры, желательно уже готовое решение - куда достаточно подцепить UART с микроконтроллера и не городить ПЛИС.
А это не пойдет?
http://www.moxa.ru/good/listAll/16909/Или вы хотите своими руками?
Serg_Sm
Apr 17 2013, 05:12
Цитата(vadimp61 @ Apr 16 2013, 18:00)
А это не пойдет?
http://www.moxa.ru/good/listAll/16909/Или вы хотите своими руками?
Габариты великоваты, нет двунаправленной передачи - SFP модули были бы получше. К тому же RS-232 - лишняя обвязка к контроллеру.
Повторюсь - UART -> SerDes на небольшой скорости и так заработает.
Вот с SPI сложнее.
vadimp61
Apr 17 2013, 06:29
Цитата(Serg_Sm @ Apr 17 2013, 09:12)
Габариты великоваты, нет двунаправленной передачи - SFP модули были бы получше. К тому же RS-232 - лишняя обвязка к контроллеру.
Повторюсь - UART -> SerDes на небольшой скорости и так заработает.
Вот с SPI сложнее.
Можно еще проще
TTL-LVPECL-SFP
помигать лазерной лампочкой на скорости 1 мбит через систему с полосой 1,25ГБит не вопрос!
Фронты будут в норме, тем более что протокол асинхронный с допускаемой погрешностью по скорости 3%
Единственное что лазер не может передать постоянную составляющую, тут нужен или скремблер или фазовая манипуляция
тогда TTL-ALTERA-LVPCL-SFP и наоборот, хотя может это и лишнее, попробуйте как я сказал выше.
Serg_Sm
Apr 19 2013, 08:25
Цитата(vadimp61 @ Apr 17 2013, 09:29)
Можно еще проще
TTL-LVPECL-SFP
помигать лазерной лампочкой на скорости 1 мбит через систему с полосой 1,25ГБит не вопрос!
Фронты будут в норме, тем более что протокол асинхронный с допускаемой погрешностью по скорости 3%
Единственное что лазер не может передать постоянную составляющую, тут нужен или скремблер или фазовая манипуляция
тогда TTL-ALTERA-LVPCL-SFP и наоборот, хотя может это и лишнее, попробуйте как я сказал выше.
Вариант с ПЛИС рассматривался изначально. Что касается TTL-LVPECL-SFP - боюсь с приемом будут проблемы, поскольку полезет разный мусор.
vadimp61
Apr 20 2013, 04:27
Цитата(Serg_Sm @ Apr 19 2013, 12:25)
Вариант с ПЛИС рассматривался изначально. Что касается TTL-LVPECL-SFP - боюсь с приемом будут проблемы, поскольку полезет разный мусор.
Я думаю что нет, сделайте так что-бы при отсутствии данных лазер светился и "потуханием" передавал данные, стартовый бит ну и т.д.
Для того что-бы исключить время на разработку первые две платы платы для отладки я бы сделал с ALTERA, но использовал ее в прямом включении вход-выход и попробовал, если не пойдет, вставил бы скремблер и все бы точно заработало.
Serg_Sm
Apr 22 2013, 11:28
Цитата(vadimp61 @ Apr 20 2013, 07:27)
Я думаю что нет, сделайте так что-бы при отсутствии данных лазер светился и "потуханием" передавал данные, стартовый бит ну и т.д.
Для того что-бы исключить время на разработку первые две платы платы для отладки я бы сделал с ALTERA, но использовал ее в прямом включении вход-выход и попробовал, если не пойдет, вставил бы скремблер и все бы точно заработало.
Я конечно не большой спец по лазерам, но из практики использования: нельзя сделать чтобы лазер постоянно светился, он для этого не предназначен. В таких системах применяют NRZ кодирование для ухода от последовательностей повторяющихся данных. В противном будет срыв потока данных - мусор пойдет.
PS: Проблемы с выбранными сердесами возможны. Схемотехник обратил внимание, что у них нет встроенного кодирования, тупо добавляются стартовый и стоповый бит. Может пойти инвертированный сигнал.
vadimp61
Apr 22 2013, 12:48
Цитата(Serg_Sm @ Apr 22 2013, 15:28)
Я конечно не большой спец по лазерам, но из практики использования: нельзя сделать чтобы лазер постоянно светился, он для этого не предназначен. В таких системах применяют NRZ кодирование для ухода от последовательностей повторяющихся данных. В противном будет срыв потока данных - мусор пойдет.
PS: Проблемы с выбранными сердесами возможны. Схемотехник обратил внимание, что у них нет встроенного кодирования, тупо добавляются стартовый и стоповый бит. Может пойти инвертированный сигнал.
Для синхронных систем да, согласен, еще и скремблируют для исключения длинных последовательностей нулей или едениц. Иначе мы потеряем информацию о тактовом сигнале! Но у Вас же асинхронная система, там ее не надо передавать , так как ее нет.
Serg_Sm
May 23 2013, 05:00
Наконец-то проверил систему UART в оптику через сериалайзер в железе. Коротко - она работает! Потерь данных не наблюдается - приём стабильный.
Тактирование с sam7s правда не пошло - с блока ШИМ кривой сигнал идёт. Фаза болтается => десериалайзер постоянно несущую теряет. Внешний генератор на 10Мгц исправил проблему. На сериалайзер идет 4 бита "0", 4 - "1", один с UART и один инверсный с UART.
PS: SFP модуль кстати взяли
D-Link. Проще всего купить оказалось.
gor132
Jul 22 2013, 11:59
Доброе время суток!
У меня аналогичная задача, надо соединить UART c SFP модулем (Step4Net SFP-03-1310WDM и ответный SFP-03-1550WDM).
Провозился я с ними, думал что проблема в сопряжении интерфейсов, но потом оказалось что когда меандр передаю все нормально, а когда идет полезный сигнал (передаю напрямую с юарт Mega8) на приемной стороне что-то непонятное, выскакивают какие-то биты. Я так понял что стоит кодирование. Там и в стандарте прописано что может быть такое. Нашел даташит на драйвер который там стоит, в драйвере не указано никакого кодирования. Вот думаю что это! Про сериалайзер ничего не понял! Нужна помощь! Спс!)))
Serg_Sm
Jul 22 2013, 12:47
Цитата(gor132 @ Jul 22 2013, 15:59)
Доброе время суток!
У меня аналогичная задача, надо соединить UART c SFP модулем (Step4Net SFP-03-1310WDM и ответный SFP-03-1550WDM).
Провозился я с ними, думал что проблема в сопряжении интерфейсов, но потом оказалось что когда меандр передаю все нормально, а когда идет полезный сигнал (передаю напрямую с юарт Mega8) на приемной стороне что-то непонятное, выскакивают какие-то биты. Я так понял что стоит кодирование. Там и в стандарте прописано что может быть такое. Нашел даташит на драйвер который там стоит, в драйвере не указано никакого кодирования. Вот думаю что это! Про сериалайзер ничего не понял! Нужна помощь! Спс!)))
Лазер штука тонкая - нельзя ему сразу же информационный сигнал слать. По хорошему, чтобы всё нормально работало, нужно слать одинаковое число "0" и "1" за один промежуток времени (я не схемотехник - это то что я понял из их объяснений). Сериалайзеры пакуют информационный сигнал в пакеты для адекватного приема + могут добавлять кодирование и дополнительные данные для восстановления после сбоев. Поскольку мне большая скорость не нужна, то я использовал для передачи один бит параллельного входа сериалайзера, а на другие подавал инверсию данных и 0/1 поровну.
Какая скорость UARTа нужна, раз гигабитные модули используются? Если только с атмеги - то копируй моё решение.
gor132
Jul 22 2013, 13:26
Скорости 115к вполне хватит, это что-то типа переговорного устройства только с помехозащищенной линией.
Я так понял нужно использовать аппартный сериалайзер покупной? Кстати еще заметил что на низкой скорости не получается передавать, ему нуждна еще и минимальная скорость какая-то? Если я правильно понял, или все таки все заключается в сериалайзере?! А гигабитные потому что они самые дешевые были!))
Serg_Sm
Jul 22 2013, 18:13
Цитата(gor132 @ Jul 22 2013, 16:26)
Скорости 115к вполне хватит, это что-то типа переговорного устройства только с помехозащищенной линией.
Я так понял нужно использовать аппартный сериалайзер покупной? Кстати еще заметил что на низкой скорости не получается передавать, ему нуждна еще и минимальная скорость какая-то? Если я правильно понял, или все таки все заключается в сериалайзере?! А гигабитные потому что они самые дешевые были!))
Насчет дешевизны мне было не очень критично. Можешь поискать сериалайзер под гигабит у той же TI. По скоростям, повторяю: на входе сериалайзера обычно 10-14 бит, поскольку скорость UART нужна небольшая, то и используешь один битик на выходе и на выходе, остальные в 0/1. С учетом разницы скоростей 1.25ГБит/10 = 125МБит для одного бита, намного больше 115к и с тактовым сигналом синхронизации не понадобится.
PS: А вообще почему именно стекло? Это у меня специфическая задача - там без стекла никак. Если расстояния небольшие (метров 50 легко, максимум в районе 100 кажись), то пластик (
POF) подойдет идеально - дешево, управление TTL уровнями, напрямую цепляется UART к приемопередатчикам.
Вот приемопередатчики POF:
Вот кабель:
gor132
Jul 22 2013, 20:08
Вариант на фотографиях я тоже рассматривал. Этим проектом я занимался давненько, уже не помню, кажись я не нашел именно пластика или он был дороговат, а приемо/передатчики по цене модуля. Подумал проще использовать модули, они очень распространены сейчас и можно в итоге к сети подключится (ну с доработкой протоколов есесно), тем более следующая задача стоит в подключении к этим модулям уже измерительных датчиков расстояние к которым может достигать до 1км. В общем мне понравилась цена и их возможности по дальности и скоростям, нашел стандарт на сфп, ну кароч думал проще будет чем оказалось))) А какой Вы сериалайзер использовали? Посмотреть мож подойдет?
vadimp61
Jul 23 2013, 05:39
Цитата(gor132 @ Jul 23 2013, 00:08)
Вариант на фотографиях я тоже рассматривал. Этим проектом я занимался давненько, уже не помню, кажись я не нашел именно пластика или он был дороговат, а приемо/передатчики по цене модуля. Подумал проще использовать модули, они очень распространены сейчас и можно в итоге к сети подключится (ну с доработкой протоколов есесно), тем более следующая задача стоит в подключении к этим модулям уже измерительных датчиков расстояние к которым может достигать до 1км. В общем мне понравилась цена и их возможности по дальности и скоростям, нашел стандарт на сфп, ну кароч думал проще будет чем оказалось))) А какой Вы сериалайзер использовали? Посмотреть мож подойдет?
А зачем вам сериализатор?
У вас последовательный поток на выходе меги и последовательный на входе SFP модуля.
Поставьте между ними матрицу и проскремблируйте ваш поток.
Но если все таки сериализатор и на меге будет 8-ми битная шина берите XRT91l31 он как раз восьми битный. И у него есть встроенный синхронизатор стандарта STM-1, при нахождении синхрослова он дает на отдельной ноге импульс для внешнего фреймера.
Serg_Sm
Jul 23 2013, 10:55
Цитата(gor132 @ Jul 23 2013, 00:08)
Вариант на фотографиях я тоже рассматривал. Этим проектом я занимался давненько, уже не помню, кажись я не нашел именно пластика или он был дороговат, а приемо/передатчики по цене модуля. Подумал проще использовать модули, они очень распространены сейчас и можно в итоге к сети подключится (ну с доработкой протоколов есесно), тем более следующая задача стоит в подключении к этим модулям уже измерительных датчиков расстояние к которым может достигать до 1км. В общем мне понравилась цена и их возможности по дальности и скоростям, нашел стандарт на сфп, ну кароч думал проще будет чем оказалось))) А какой Вы сериалайзер использовали? Посмотреть мож подойдет?
Использовал SN65LV1023A и SN65LV1224B - в предыдущих сообщениях есть ссылки на pdf. Но это под 100МГц, под гиг нужно другие выбирать. Сам на сайтt ti их и выбирал.
Цитата(vadimp61 @ Jul 23 2013, 09:39)
А зачем вам сериализатор?
У вас последовательный поток на выходе меги и последовательный на входе SFP модуля.
Поставьте между ними матрицу и проскремблируйте ваш поток.
Но если все таки сериализатор и на меге будет 8-ми битная шина берите XRT91l31 он как раз восьми битный. И у него есть встроенный синхронизатор стандарта STM-1, при нахождении синхрослова он дает на отдельной ноге импульс для внешнего фреймера.
Проще поставить сериалайзер и не городить ПЛИС, тем более с учетом передачи на 1.25ГГц - какая матрица (дешевая к тому же) потянет? А число бит на сериалайзере для низкоскростного UART не принципиально, всё равно используется один.
vadimp61
Jul 23 2013, 12:52
Цитата(Serg_Sm @ Jul 23 2013, 14:55)
Использовал SN65LV1023A и SN65LV1224B - в предыдущих сообщениях есть ссылки на pdf. Но это под 100МГц, под гиг нужно другие выбирать. Сам на сайтt ti их и выбирал.
Проще поставить сериалайзер и не городить ПЛИС, тем более с учетом передачи на 1.25ГГц - какая матрица (дешевая к тому же) потянет? А число бит на сериалайзере для низкоскростного UART не принципиально, всё равно используется один.
Стоп - у человека источником данных является уарт с МЕГА8 которая может работать на частоте 16 Мгц и не более.
А матрица ставится до сериализатора и работает на частоте в 8 раз меньшей (это если сериализатор 8 бит).
Если передавать 115200 в 8 ми битном коде с одним рабочим битом, то после сериализатора скорость в оптике будет всего 115200*8= 921600 бит/с то есть 1 мбит,а берут оптику на 1 Гбит.
Матрица будет работать на частоте 115,2 Кгц - любая справится)))
gor132
Jul 23 2013, 13:46
Цитата
Стоп - у человека источником данных является уарт с МЕГА8 которая может работать на частоте 16 Мгц и не более.
Ставил и 25 MHz кварц и работало быстрее, а вообще по даташиту при системных 20МНz можно разогнать UART до 2.5Mbit/s. Я пробовал где-то меандр на 1MHz передавать, то модули вроде нормально передавали уже, на обратной стороне получал этот же меандр (с небольшой задержкой токо). А вот когда сигнал начинаю передавать 1-2Мбит/сек то на обратной стороне вижу похожий сигнал но с добавленными какими-то битами, подумал что кодирование стоит какое-то, ну вот почитал оказывается нужен сериалайзер. Я думаю можно попробовать и на SN65LV1023A/SN65LV1224B. Только хотел еще уточнить у Serg_Sm: на первый бит D0 я передаю полезный сигнал с UART, а на остальные D1-D9 - "0" или "1" в зависимости от того что сейчас на D0 только его инверсию. К примеру D0-"1" то D1-D9 - "0"? Спасибо!!!
Serg_Sm
Jul 23 2013, 18:00
Цитата(vadimp61 @ Jul 23 2013, 15:52)
Стоп - у человека источником данных является уарт с МЕГА8 которая может работать на частоте 16 Мгц и не более.
А матрица ставится до сериализатора и работает на частоте в 8 раз меньшей (это если сериализатор 8 бит).
Если передавать 115200 в 8 ми битном коде с одним рабочим битом, то после сериализатора скорость в оптике будет всего 115200*8= 921600 бит/с то есть 1 мбит,а берут оптику на 1 Гбит.
Матрица будет работать на частоте 115,2 Кгц - любая справится)))
Я думал ПЛИС без сериалайзера . У меня serdes без ПЛИС - проще всего получается. С контроллера напрямую на serdes. На меге можно тоже самое сделать, только serdes подобрать.
Цитата(gor132 @ Jul 23 2013, 16:46)
Ставил и 25 MHz кварц и работало быстрее, а вообще по даташиту при системных 20МНz можно разогнать UART до 2.5Mbit/s. Я пробовал где-то меандр на 1MHz передавать, то модули вроде нормально передавали уже, на обратной стороне получал этот же меандр (с небольшой задержкой токо). А вот когда сигнал начинаю передавать 1-2Мбит/сек то на обратной стороне вижу похожий сигнал но с добавленными какими-то битами, подумал что кодирование стоит какое-то, ну вот почитал оказывается нужен сериалайзер. Я думаю можно попробовать и на SN65LV1023A/SN65LV1224B. Только хотел еще уточнить у Serg_Sm: на первый бит D0 я передаю полезный сигнал с UART, а на остальные D1-D9 - "0" или "1" в зависимости от того что сейчас на D0 только его инверсию. К примеру D0-"1" то D1-D9 - "0"? Спасибо!!!
SN65LV1023A/SN65LV1224B гигабит не потянут, хотя в принципе в данной задаче могут и заработать. Но я бы взял serdes под гигабит - есть в одном корпусе и скорее всего дешевле получится. (Завтра посмотрю название одного - в одних устройствах использовался)
Весь смысл, что для SFP модуля не должно быть повторяющихся длительное время данных - иначе он потеряет несущую (сигналы состояния кстати есть) и полезет мусор.
По битам D0 - data, D1 ~data, D2-D9 0/1 попеременно. Тактирование подобрать под скорость SFP-модуля.
Serg_Sm
Jul 25 2013, 07:51
SerDes для гигабита TLK1201. За 500р вроде можно найти.
gor132
Jul 25 2013, 14:26
Спасибо за помощь! Я вот еще что думаю, если модуль передавал меандр на 1 МГц, может стоит попробовать сделать программный сериалайзер, как образом - из каждой посылки в юарте (8бит) первый бит после "старт" бита пускай будет значащим, а остальные в зависимости от первого идут поочередно 0 или 1. Понятно что скорость снизится! К примеру если она будет 2.5Мбит/сек то полезная информация передается в 8 раз медленней, но в принципе этого должно хватить! Ну в общем поиграться с посылкой чтобы в ней последовательность 0 и 1 была равномерной! Или применить кодирование какое нить! Как думаете?))
vadimp61
Jul 26 2013, 04:31
Цитата(gor132 @ Jul 25 2013, 18:26)
Спасибо за помощь! Я вот еще что думаю, если модуль передавал меандр на 1 МГц, может стоит попробовать сделать программный сериалайзер, как образом - из каждой посылки в юарте (8бит) первый бит после "старт" бита пускай будет значащим, а остальные в зависимости от первого идут поочередно 0 или 1. Понятно что скорость снизится! К примеру если она будет 2.5Мбит/сек то полезная информация передается в 8 раз медленней, но в принципе этого должно хватить! Ну в общем поиграться с посылкой чтобы в ней последовательность 0 и 1 была равномерной! Или применить кодирование какое нить! Как думаете?))
Попробуйте манчестерское кодирование, 115200 на передаче, на приеме будет 230400 Гц, если сможете программно обработать такую частоту, то должно получится.
gor132
Oct 14 2013, 09:42
Опять вернулся к этому проекту, надеюсь уже окончательно!)))
Кароч ситуация следующая...
Как через него передавать данные я уже разобрался. А именно, применил манчестерское кодирование в котором может быть последовательно не больше двух единиц или нулей, это раз! И второе длительность одной лог единицы или нуля не больше 1мкс, тогда передает все нормуль.
Но проблема вот такая теперь, когда я перестаю что либо передавать на приемной части у меня появляется какой-то шум. Этот шум воспринимается преобразователем интерфейса и на выходе получается шум на уровне половины питания 1.5В с амплитудой 1В. Т.е после окончания передачи сигнала, линия не подымается как в юарте а начинает шуметь! почему шум, потому что сигнал похож на реально "белый шум". Пробовал передающую часть (входы) садить на землю, не помогает, только когда отключаю передающий модуль от питания, перестает шуметь!
Помогите!?)))
andrewkrot
Oct 14 2013, 17:33
Что значит перестаете передавать? Передавайте единицу если передать нечего боле. И не будет шума никакого на приемной стороне.
ищите сигнал LOS на приемном опто-электронном модуле.
gor132
Oct 15 2013, 21:06
Нашел LOS! Так а что с ним делать? Он указывает на передачу, а шум не видит?
vadimp61
Oct 16 2013, 05:15
Единица при манчестерском кодировании в передатчике - это совсем не единица,а частота 230400Гц так что КАК вы умудряетесь НИЧЕГО не передавать! не понятно.
Ничего - это "висящий" в воздухе КМОП вход ловящий всякие наводки.
gor132
Oct 16 2013, 08:25
Ага! Ну попробую все подробненько рассказать...Схема след...
Модуль<->Преобразователь интерфейса LVDS (может надо LVPECL)<->Mega8.
На меге я кодирую обычный сигнал в манчестер и посылаю в юарт (если 1 байт информ. то в манчестере это уже два).
Когда я ничего не посылаю есесно на выходе TxR просто +3.3В. Тогда-то и появляются шумы, на которые срабатывает и юарт.
Постоянно слать единицу, т.е. в манчесетре это меандр, не получается не хватает производительности МК, и потом значит туда еще надо добавлять преамбулу чтобы определять начало пакета и т.д. А у меня просто байт данных нет никаких пакетов и тем более протоколов. Я думал может можно как-то сделать чтобы было на приемнике как обычный юарт, когда ничего не передаю просто подымается линия потом старт бит, стоп бит и все! А вообще при манчестере передает нормально, только получается что надо постоянно передавать.
Вот!))
Дальше...
Я уже думаю подключить st32f107 (у меня просто такой) и там через дма как-то это сделать, посылать постоянно меандр...
Но опять же, пока еще не знаю какой алгоритм сделать, чтобы определять начало полезных данных...
Можно конечно сер/дес, как писали раньше, но достать его не просто, надо заказывать это время да и деньги!
Ну кароч, кто что посоветует?!
Спс!))
ZASADA
Oct 16 2013, 09:02
надо поставить маленькую плис и на ней все нормально кодировать.
или кривой вариант-одной ножкой проца передавать данные, второй выдавать наружу меандр нужной частоты и внешне их коммутировать на вход преобразователя
Andrew Su
Oct 17 2013, 09:54
Добрый день.
Если я правильно понял, задача состоит в передаче сигнала на Tx и приеме с Rx?
Я делал преобразователь RS-232 <-> Оптика.
Устройство на базе пары HFBR-14xxZ and HFBR-24xxZ.
В datasheet приведены простые схемы включения трансмиттера и ресивера и расчет номинала резистора,
в зависимости от длины оптического кабеля.
Устройство было изготовлено, тестировалось и использовалось.
Удачи.
gor132
Oct 18 2013, 07:58
Цитата(Andrew Su @ Oct 17 2013, 12:54)
Добрый день.
Если я правильно понял, задача состоит в передаче сигнала на Tx и приеме с Rx?
Я делал преобразователь RS-232 <-> Оптика.
Устройство на базе пары HFBR-14xxZ and HFBR-24xxZ.
В datasheet приведены простые схемы включения трансмиттера и ресивера и расчет номинала резистора,
в зависимости от длины оптического кабеля.
Устройство было изготовлено, тестировалось и использовалось.
Удачи.
Как подключить POF к этим модулям, я видел продаются специальные разъемы?
Но я так понимаю нужна специальная полировка торцов, или это только для стекла, а в POF как? Спс!
Ща погуглю, но если можете подскажите!
Andrew Su
Oct 18 2013, 11:30
Добрый день.
Возможно, Вы найдете ответ на свой вопрос в файлах
http://www.avagotech.com/docs/AV02-0728ENи
http://www.avagotech.com/docs/AV02-1501ENЭто семейство приемников и передатчиков именно под plastic optic fiber.
Удачи.
Serg_Sm
Nov 7 2013, 06:49
Цитата(gor132 @ Oct 18 2013, 11:58)
Как подключить POF к этим модулям, я видел продаются специальные разъемы?
Но я так понимаю нужна специальная полировка торцов, или это только для стекла, а в POF как? Спс!
Ща погуглю, но если можете подскажите!
С POF всё довольно просто. Есть приемники с передатчиками, есть кабели с разъемами. Кабели вполне можно обжимать и полировать вручную. Для небольших партий изделий проблем нет. Если кабель нормально просвечивается "на глазок", то на скоростях до мегабита проблем с передачей точно не будет. Если скорости нужны побольше - десятки мегабит, то имеет смысл применить стекло, поскольку с POF уже будут трудности. Хотя 50 МБит для единичных устройств вполне можно сделать.
Дмитрий_Мигачев
Nov 14 2013, 02:30
Добрый день. Дабы не создавать подобный топик спрошу здесь. Тут пробегали слова про toslink. В свое время тоже стояла такая задача и мы купили TOTX177F(P,L) и TORX177F(P,L). Скорости большие не нужны, достаточно 19200, нужна именно изоляция приемника и передатчика. Дак вот при подачи сигнала на вход, на выходе видим измененный сигнал. Долго думали почему, поставили в качестве приемника свой фототранзистор, все ок, т.е как будто приемник странным образом кодирует данные. В документации на эти модули информации не так много. Единственное, что есть это NRZ кодирование и стандарт JEITA Standard CP−1212. Полез в интернет. NRZ кодирование как я понял из википедии бывает разным, какое тут не понятно. Кто с ними работал подскажите пожалуйста как получить на выходе сигнал идентичный входному.
Добрый день.
Прочитал посты, и вижу что решаете задачу похожую на мою. Вот и подумал спросить. Сейчас мы тоже используем проц st32f107. Сделали на нём Ethernet: "RJ-45 c трансом" <-> "м/с PHY" <-> "проц с МАС". Теперь стоит задача сделать на нём оптику. В этом пока новичок. Подскажите возможную связку, что надо ставить? Нужно 100Мбит, мультимод. Расстояние до 50м. Нужно не дорого, поэтому думаю что SFP модули не подойдут. На проц надо завести 2 оптических канала, и 1 медный Ethernet. 2е оптики для того что бы девайс мог работать в оптическом кольце. Может знаете микрухи дающие пару каналов для подключения оптических разъёмов. Требуется начальное понимание куда копать.
Serg_Sm
Nov 20 2013, 07:13
Цитата(vad74 @ Nov 19 2013, 17:50)
Добрый день.
Прочитал посты, и вижу что решаете задачу похожую на мою. Вот и подумал спросить. Сейчас мы тоже используем проц st32f107. Сделали на нём Ethernet: "RJ-45 c трансом" <-> "м/с PHY" <-> "проц с МАС". Теперь стоит задача сделать на нём оптику. В этом пока новичок. Подскажите возможную связку, что надо ставить? Нужно 100Мбит, мультимод. Расстояние до 50м. Нужно не дорого, поэтому думаю что SFP модули не подойдут. На проц надо завести 2 оптических канала, и 1 медный Ethernet. 2е оптики для того что бы девайс мог работать в оптическом кольце. Может знаете микрухи дающие пару каналов для подключения оптических разъёмов. Требуется начальное понимание куда копать.
100Мбит честных нужно? А вот дешевле SFP вряд ли что-то есть. Производителей SFP много - есть предложения по весьма низким ценам (чуть ли не по 10$ за модуль). Обвязка на оптику тоже денег стоит. Совсем дешево не получится.
И каким образом хотите загнать на st32f107 три 100МБит канала?
PS: Не совсем понял решаемую задачу, но наиболее подходящей представляется связка контроллер + "м/с PHY" + свитч с медью и оптикой. Т.е. связь свича с контроллером по меди, а свитч работает уже и по меди и по оптике. Если не хватит пропускной способности, то м/к нужно искать другой.
100МБит не принципиально (10-20 хватит), имел виду что за гигабитом не гонюсь. Нужно всё загнать в одну маленькую коробочку, так что +свич не пойдёт. Пока нарыли микруху Micrel KSZ8873FLL "3-Port Fast Ethernet Switch with 2x FX Ports".
http://www.micrel.com/_Graphics/block/KSZ8873MLL.jpg Вроде 1 порт MAC на проц, а ещё 2 порта с PHY на оптические разъёмы.
Про SFP топа пока нет понимания. Что требуется ставить между МАС входом проца и разъёмом под SFP? Где про это почитать?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.