- 
	- Заранее генерируем избыточность.  Evgeny_CD(554 знак., 06.09.2019 20:24)
			- Зачем изобретать велосипед? Вы же тут на сахаре лет N назад закидывали в файлообменник книгу по синхронизании в RTP. Там все эти алгоритмы подробно расписаны и разжеваны.  Хаос(59 знак., 06.09.2019 20:37,  ) )
 
- Зачем изобретать велосипед? Вы же тут на сахаре лет N назад закидывали в файлообменник книгу по синхронизании в RTP. Там все эти алгоритмы подробно расписаны и разжеваны.  Хаос(59 знак., 06.09.2019 20:37, 
- Задачу решали применением Michael_75(443 знак., 06.09.2019 16:36)
- Вы не уточнили: у вас выборки приходят монотонно в порт или пакетами? Если первое - то дело плевое: не синхронизируйте вообще. Делайте апсемплинг, фильтрацию, децимацию по тактовой ЦАП.  lloyd(258 знак., 06.09.2019 16:07 - 16:12)
			- Монотонно пакетами. Накопилось отсчётов на полубуфер - отправляю. Отправка каждые 2 мс. - Alt@ir(06.09.2019 16:27)
 
- А почему не посмотреть как сделано VoIP. И сделать аналогично voice over RS-485. - kaf1(06.09.2019 11:41)
- Или совсем "в лоб" - купить MEMS-генераторы на 1,5 PPM (сильно подешевели в последнее время) и хрен с ним, с потерей отсчета раз в полчаса. - Сидоргек(06.09.2019 11:06)
			- Можно пример такого mems ? - sav6622(06.09.2019 11:37)
					- Что-то типа Abracon ASTX-13, только с покупкой могут быть проблемы. Мы 10ppm Майкрочиповские используем, те точно продаются. - Сидоргек(06.09.2019 11:57, ссылка)
							- 10 ppm не интересно, а вот 1-2 ppm уже дело... проблемы изза санкций ? - sav6622(06.09.2019 12:47)
									- Digikey:  Хаос(318 знак., 06.09.2019 18:47,  ) )- Опередил :) Это стандартные RF опорники, их любят, в частности, производители GNSS приемников. За счет массовости они имеют локальный минимум цены. Неприятность в том, что массовые и дешевые модели имеют Clipped Sine Wave выход, так что надо  Evgeny_CD(90 знак., 06.09.2019 19:43)
													- Не болтайте ерундой! :)  Хаос(591 знак., 06.09.2019 20:24,  ) )- Есть такая мысль, но это надо внимательно проверять - какая амплидута стабилизируется в генераторе, насколько этот Clipped Sine Wave ей соответствует. Но попробовать стоит, мысль дельная. - Evgeny_CD(06.09.2019 20:26)
																	- Пробовали и не раз. И даже подкючали ко входу FPGA. Никаких проблем. - Хаос(06.09.2019 20:32,  ) )- Спасибо - Evgeny_CD(06.09.2019 21:08)
 
 
- Пробовали и не раз. И даже подкючали ко входу FPGA. Никаких проблем. - Хаос(06.09.2019 20:32, 
 
- Есть такая мысль, но это надо внимательно проверять - какая амплидута стабилизируется в генераторе, насколько этот Clipped Sine Wave ей соответствует. Но попробовать стоит, мысль дельная. - Evgeny_CD(06.09.2019 20:26)
																	
- TLV3501AIDBVR -> $1.3 катушками. -> Компаратор как пример. - Evgeny_CD(06.09.2019 19:54, ссылка)
 
- Не болтайте ерундой! :)  Хаос(591 знак., 06.09.2019 20:24, 
 
- Опередил :) Это стандартные RF опорники, их любят, в частности, производители GNSS приемников. За счет массовости они имеют локальный минимум цены. Неприятность в том, что массовые и дешевые модели имеют Clipped Sine Wave выход, так что надо  Evgeny_CD(90 знак., 06.09.2019 19:43)
													
 
- Digikey:  Хаос(318 знак., 06.09.2019 18:47, 
 
- 10 ppm не интересно, а вот 1-2 ppm уже дело... проблемы изза санкций ? - sav6622(06.09.2019 12:47)
									
 
- Что-то типа Abracon ASTX-13, только с покупкой могут быть проблемы. Мы 10ppm Майкрочиповские используем, те точно продаются. - Сидоргек(06.09.2019 11:57, ссылка)
							
 
- Можно пример такого mems ? - sav6622(06.09.2019 11:37)
					
- А так: На приёмной стороне буфер миллисекунд на 100, звук воспроизводим с задержкой на полбуфера. Ессно, через некоторое время буфер переполнится или опустошится. Что бы этого не происходило, во время пауз добавляем или убираем скоко-то отсчетов, Сидоргек(149 знак., 06.09.2019 11:02)
- А в чем проблема не понимаю, есть лишнее данное - дропайте, есть недостающее - подавайте предыдущее. Так, скидыванием по одной выборке, вы звук вообще не исказите. - Ralex(06.09.2019 10:46)
			- Когда-то пробовал, слышно щелчки. - Сидоргек(06.09.2019 10:54)
					- Да хз какие щелчки, это тангента рации, звук 8 бит 8 кГц, зарезать его ФНЧ по самое этосамое и всё. - Ralex(06.09.2019 11:07)
 
 
- Когда-то пробовал, слышно щелчки. - Сидоргек(06.09.2019 10:54)
					
- Никак не синхронизируйтесь. Используйте преобразователь частот дискретизации. Готовые чипы тут: Nikolay_Po(840 знак., 06.09.2019 10:42, ссылка)
- Стандартное решение - передавать заведомо быстрей, чем нужно. На приемной стороне буфер из двух половин, пока из одной воспроизводится, другая заполняется из линии. Как только воспроизведено все, половинки меняются местами. - Yurasvs(06.09.2019 08:52)
			- Это не решит проблему лишних  Хаос(56 знак., 06.09.2019 09:19,  ) )- Клок передатчика должен быть заведомо быстрее приемника. Передавать пакетами с подтверждением получения. - Yurasvs(06.09.2019 11:49 - 12:36)
							- Ок. Передал я быстро. Положил в буфер для воспроизведения. Буфер опустел, а данных новых еще нет. Потому что тактовая АЦП немного меньше тактовой ЦАП. Что делать? - Alt@ir(06.09.2019 14:20)
									- Наоборот. Цап должен быть медленнее, чем скорость пакетов. Буфер разбит на 2 половины. При старте заполняем весь, одновременно с заполнением начинаем воспроизводить. Как только воспроизвели половину буфера, дали запрос передатчику на заполнение  Yurasvs(220 знак., 06.09.2019 15:31)
											- ОК. АЦП работает на частоте 8100 Гц и его НИКАК не остановить!  Хаос(283 знак., 06.09.2019 15:52,  ) )- АЦП должен работать на той же частоте, что и ЦАП. Вам же не нужно изменение тональности голоса? А вот канал передачи быстрее, то есть буфер в передатчике тоже понадобится. - Yurasvs(06.09.2019 16:01)
															- Не может АЦП работать на той же частоте, что и ЦАП!!! У них разные задающие генераторы! Это условие задачи! Всё, точка! - Хаос(06.09.2019 16:04,  ) )- Будем говорить на близких, насколько возможно, частотах. Так пойдет? Если бы все делали асинхронный реклок так, как здесь предлагают, о высоком качестве воспроизведения онлайн аудио и видео можно было бы забыть. Стоп, посмотрел еще раз условие  Yurasvs(59 знак., 06.09.2019 16:07 - 16:14)
																			- Посмотрите как работает RTP.  Хаос(455 знак., 06.09.2019 16:32,  ) )
 
- Посмотрите как работает RTP.  Хаос(455 знак., 06.09.2019 16:32, 
 
- Будем говорить на близких, насколько возможно, частотах. Так пойдет? Если бы все делали асинхронный реклок так, как здесь предлагают, о высоком качестве воспроизведения онлайн аудио и видео можно было бы забыть. Стоп, посмотрел еще раз условие  Yurasvs(59 знак., 06.09.2019 16:07 - 16:14)
																			
 
- Не может АЦП работать на той же частоте, что и ЦАП!!! У них разные задающие генераторы! Это условие задачи! Всё, точка! - Хаос(06.09.2019 16:04, 
 
- АЦП должен работать на той же частоте, что и ЦАП. Вам же не нужно изменение тональности голоса? А вот канал передачи быстрее, то есть буфер в передатчике тоже понадобится. - Yurasvs(06.09.2019 16:01)
															
 
- ОК. АЦП работает на частоте 8100 Гц и его НИКАК не остановить!  Хаос(283 знак., 06.09.2019 15:52, 
 
- Наоборот. Цап должен быть медленнее, чем скорость пакетов. Буфер разбит на 2 половины. При старте заполняем весь, одновременно с заполнением начинаем воспроизводить. Как только воспроизвели половину буфера, дали запрос передатчику на заполнение  Yurasvs(220 знак., 06.09.2019 15:31)
											
 
- Ок. Передал я быстро. Положил в буфер для воспроизведения. Буфер опустел, а данных новых еще нет. Потому что тактовая АЦП немного меньше тактовой ЦАП. Что делать? - Alt@ir(06.09.2019 14:20)
									
 
- Клок передатчика должен быть заведомо быстрее приемника. Передавать пакетами с подтверждением получения. - Yurasvs(06.09.2019 11:49 - 12:36)
							
 
- Это не решит проблему лишних  Хаос(56 знак., 06.09.2019 09:19, 
- У меня звук идет от аудиокодека, кодек подключен по I2S и он жестко привязан к тактовой частоте опорного генератора, т.е. посередине менять не могу, только сам опорный генератор. RS-485 принципиален. - Alt@ir(06.09.2019 08:09)
- Не понимаю в чем проблема. Принял байт - вывел в ЦАП. УАРТы сами между собой синхронизуются (за счет стопового бита). Прерывание по каждому байту для м  AlexBi_(28 знак., 06.09.2019 08:09,  ) )- ЦАП сидит на I2S. В этом проблема. Он ВСЕГДА что то выводит. А не по запросу. - Alt@ir(06.09.2019 08:16)
					- Все равно не понимаю в чем проблема. Сделать для I2S повышенную тактовую, что бы за время приема байта по RS485 байт в ЦАП уходил с гарантией. Тактовая для ЦАП получится с паузами, но наверное это не критично. - AlexBi(06.09.2019 11:38)
- Можно I2S преобразовать в манчестер и прямо в драйвер 485. Это на простой логике делается, с обратным преобразованием повозиться придется. На ПЛД делал для видео потока, для аудио и проца хватит. Схему кодера дать могу. - Visitor(06.09.2019 08:25 - 08:35)
 
 
- ЦАП сидит на I2S. В этом проблема. Он ВСЕГДА что то выводит. А не по запросу. - Alt@ir(06.09.2019 08:16)
					
- Если сэмл лишний - выкинуть, если не хватает - скопировать последний. На 8 бит звуке не думаю, что будет резать слух. 1 сэмл/сек на 8 кГц будет при расхождении генераторов ±0.000125 . Можете с аппроксимацией заморочиться. - Dingo(06.09.2019 07:38)
- Делал селекторную связь RS485/Ethernet. Качество отличное. Буфер на полсекунды звука на приеме. Делится на 4 секции. Воспроизводим при заполнении 2-х секций. Если  к следующему воспроизведению занята всего одна, то чуть медленее темп. Три -  driver_gv(342 знак., 06.09.2019 07:36)
			- Я делаю выносную гарнитуру для радиостанции, там пол секунды нельзя ждать - очень заметно при быстром радиообмене. И соответсвенно вопрос - темп как менять? - Alt@ir(06.09.2019 07:41)
					- Зачем вообще кодеки, АЦП и ЦАП? Получаешь ШИМ (сдвоенный опер), и гони бинар чем угодно, тем же 485. Декодер - RC цепочка. - bnb62(06.09.2019 11:30)
- Ну сделайте буфер меньшего размера. Для 485 точка-точка даже 20-50mS будет  достаточно. Для Ethernet не менее  300 - 350 mS (если  через  мир). Локалка 50-100 . Темп -  прерывание таймера , считавшего от какого - то  числа, задаваемого  в этом  driver_gv(156 знак., 06.09.2019 07:51)
							- У меня ЦАП на I2S сидит. И понемногу его тактовую я могу контролировать только изменением частоты основного опорного генератора. RS-485 принципиален, но это не важно. Протокол не поможет. - Alt@ir(06.09.2019 08:26)
									- Так тактируйте его от этого таймера. - driver_gv(06.09.2019 21:40)
 
- Буферизация также позволит в этом потоке не только звук гнать, но и служебные данные. - driver_gv(06.09.2019 07:55)
 
- У меня ЦАП на I2S сидит. И понемногу его тактовую я могу контролировать только изменением частоты основного опорного генератора. RS-485 принципиален, но это не важно. Протокол не поможет. - Alt@ir(06.09.2019 08:26)
									
- Вам принципиально RS-485? С год назад или больше Evgeny_CD очень часто упоминал самосинхронизирующиеся протоколы -> . Например - передача шириной импульса. Но опять же, это решение вряд ли в каждом МК, надо таймерах/дрыгногой или на CPLD/FPGA. - Dingo(06.09.2019 07:47, ссылка)
 
 
- Я делаю выносную гарнитуру для радиостанции, там пол секунды нельзя ждать - очень заметно при быстром радиообмене. И соответсвенно вопрос - темп как менять? - Alt@ir(06.09.2019 07:41)
					
 
- Заранее генерируем избыточность.  Evgeny_CD(554 знак., 06.09.2019 20:24)