[Гальваническая развязка для изолированных модульков с двухсторонней передачей информации]. Достижима проходная емкость менее 1 пф! Трансформаторы рулят! http://caxapa.ru/790971.html
http://caxapa.ru/823524.html
Мы знаем про серийные трансформаторы от Coilcraft -> с проходной емкостью 0.87 пф и ценой в тысячном опте менее $1.5
Мы знаем про пример статьи, где описан трансформатор с проходной 1.7пф и напряжением изоляции 10КВ
http://caxapa.ru/823242.html
Мы знаем про LTC6820 - isoSPI Isolated Communications Interface -->
Там описан очень интересный протокол, заточенный под трансформаторную развязку. Суть его проста.
1 (условно) передается импульсом в +, а потом импульсом в - длительностью t1
0 (условно) передается импульсом в -, а потом импульсом в + длительностью t1
Есть такая же сигнализация с длительностью t2.
Между сдвоенными импульсами пауза (0 на диф. паре, никто не драйверит ее ни в +, ни в -) длительностью существенно больше t1 и t2. Желающие курят дш на LTC6820 - там много интересного.
В целом "манчестер с паузами".
И тут мне пришла в голову идея очень простого кодирования для трансформаторной развязки.
Это кодирование не ставит рекордов по спектральной эффективности, оно оно очень простое, имеет узкий спектр, и dc balance на периоде 2 длительности одного "базового интервала".
1 (условно) передается импульсом в +, а потом импульсом в - длительностью t
0 (условно) передается импульсом в -, а потом импульсом в + длительностью t
далее пауза длиной 1.5t
(в наших обсуждениях по разным видам кодирования что-то очень похожее было. не могу найти)
Плюсы:
-- все фронты всегда на одном и том же месте. PLL очень прост, но он не обязателен
-- длительность 0 и 1 всегда одинакова
-- длительность паузы не интерферирует с длительностью сигнальных периодов.
-- декодер и кодер очень просты. Максимальная тактовая приемника - 2/t, в виде двух противофазных клоков
-- простой приемник имеет 2 компаратора (+ импульс и - импульс, с гистерезисом), и измеряет интервал между фронтами компараторов и порядок срабатывания.
-- помеха в одном бите собьет только бит и не вызовет распространения ошибки
-- не считая измерения интервала приемник не требует тактовой, он самосинхронизирующийся по фронтам, которые обязательно есть в каждом переданном бите
-- dc balance на периоде 2t
-- легко ввести маркер, скажем, длительность 3t - паузы - начало и конец сообщения
Что касается полосы. У манчестера максимальная компонента 2f (f - битовая частота), у нас 3.5f. В варианте трансформаторной развязки, при достаточно высокой граничной частоте современных трансформаторов, это не критично.
Очень важно, что спектр у такого сигнала будет очень узкий. Значит, нужно трансформатор с высокой граничной частотой, но не широкополосный! Это позволяет компенсировать паразитную индуктивность рассеивания (не знаю деталей, но придумать можно).
Что касается кодера и декодера, то расклад такой. LTC6820 в опте катушка стоит $2.8
Дешевые MEMS генераторы стоят от $0.45
http://caxapa.ru/802221.html
Подходящий сдвоенный компаратор MAX9012EUA+ стоит в опте $1.8 (первый попавшийся, точно можно найти дешевле и лучше)
FPGA, внутри блоки до 100 Мгц получаются нормально
ICE40UL1K-SWG16I 10 I/O 16WLCSP -40°C ~ 100°C (TJ) BGA 0.35 1248 LE без PLL 100 - $1.3655
ICE40UL1K-CM36AI 26 I/O 36UCBGA -40°C ~ 100°C (TJ) BGA 0.4 1248 LE c PLL 100 - $1.8251
"Контроллер" нашего протокола
сдвоенный компаратор + MEMS + FPGA =~$4
Что касается материала трансформатора. У Laird-Signal Integrity Products на digikey лежат 2 мелких кольца диаметром чуть менее 4 мм и со смешной ценой из ВЧ материала № 25. ДШ вложен
25T0135-60P 100 $0.0341
25T0155-10P 100 $0.0349
Используя полудуплекс можно обойтись одним трансформатором для минимизации проходной емкости.
Используя типовой трансформатор с граничной 30-50 МГц (а ля 100 мбит Ethernet), можно получить пиковую битовую скорость 10мбит, и эффективную скорость обмена в каждую сторону 3-4 мбита (накладные расходы протокола и проч).