|
CLIP для SIEMENS S150, Конвертер DTMF-FSK |
|
|
|
Oct 26 2008, 15:56
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 1-07-07
Пользователь №: 28 824

|
Ну ладно, похоже, прямоугольники не прокатят.
А как такой вариант - DAC MCP4921 (12-ти разрядный с SPI интерфейсом, почему этот - просто есть в наличии). Микросхема 5-ти вольтовая. Алгоритм - синусоида в памяти, выводим на ЦАП, меняя частоту выборки для МARK и SPACE.
На какое минимально количество интервалов можно разбить синусоиду, чтобы было плавненько?
И еще - кто поможет согласовать выход DAC-а с телефонной линией?
|
|
|
|
|
Oct 26 2008, 17:30
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(zltigo @ Oct 25 2008, 16:31)  Давайте Вы не будете переносить свои наблюдения над Hart-модемовскими поделками на то, что используется на телефонных сетях общего пользования. Я не владею ситуацией по стыковке с технологическим оборудованием, но на ТфОП официально всякие радиолюбительские поделки не проходят. Ибо сертификация коммуникационного оборудования худо-бедно в России работает. Простите.  Полностью согласен. Мы кое-что делали по телефонии и сартифицировали в том числе. Действительно в телефонии старались максимально обеспечивать стандарт. Правда проблемы есть и с этими стандартами и с их доставаемостью, и с работой самого оборудования, и с кадрами там работающими. Они как раз стандарты не читают и не хотят. А ремонт оборудования осуществляют как придётся и как попало. Результаты бывают весьма плачевны и доказать "не соответствие" практически нереально. Есть претензии и к сартификации. В 99% требуется подать комплект документов и оплатить. Бывали случаи когда образцы у нас даже и не забирали. Кстати HART тоже предполагает синус. Согласно стандарту. Но все 100% модемов и датчиков, которые я держал в руках - это не обеспечивают. Возможно это связано с малым потреблением устройств работающих в линии. На модем выделяется не более 1ма.
|
|
|
|
|
Oct 27 2008, 18:27
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 1-07-07
Пользователь №: 28 824

|
Набросал тестовую программку с выводом FSK на ЦАП. Просьба знающих глянуть графики и исходники. Что-то похожее должно быть, или я все неправильно понимаю?
s150.zip ( 134.37 килобайт )
Кол-во скачиваний: 159
|
|
|
|
|
Oct 28 2008, 03:29
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 1-07-07
Пользователь №: 28 824

|
А если так посмотреть?
NEW.ZIP ( 96.3 килобайт )
Кол-во скачиваний: 166 (Скорость передачи - 1200 бод, Fl = 1300, Fh = 2200)? На графике красная линия - моменты перехода частоты.
|
|
|
|
|
Oct 28 2008, 10:18
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(ochkarik_ @ Oct 28 2008, 06:29)  А если так посмотреть?
NEW.ZIP ( 96.3 килобайт )
Кол-во скачиваний: 166 (Скорость передачи - 1200 бод, Fl = 1300, Fh = 2200)? На графике красная линия - моменты перехода частоты. Если у вас такое соотношение частот, то всё правильно походу. у меня было Скорость передачи - 1200 бод, Fl = 1200, Fh = 2200. В этом случае на низкой частоте фаза не уплывала. Согласно документа, предоставленного zltigo они не полупериод мерят, как это в простых подходах реализуется, а берут несущую частоту Fn = (Fl+Fh)/2 (В вашем случае 1750) и получают частоты +/- 450Гц от несущей. Их и выделяют с помощью фильтра. Красиво. Выборка необходима, по их расчётам 19200. Производительность 2Мипса. Это я уже проходил, в принципе. DTMF реализовывал 3 алгоритмами. Самое качественное распознавание и самое быстрое получилось на фильтрах. При этом реализация этого алгоритма оказалась самая малая по ресурсам. Никогда бы не подумал.
|
|
|
|
|
Oct 28 2008, 20:28
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 1-07-07
Пользователь №: 28 824

|
А кто может сказать - сигнал FSK обязательно должет идти после первого сигнала вызова?
Я это к тому, что желательно бы протестировать, нужно соорудить железку. А в схемотехнике не очень силен. Как усилить сигнал, я еще понимаю, но как согласовать это все с телефонной линией, догадываюсь смутно. Может, пока без линии попробовать?
А если с линией, то как?
У меня питание, скорее всего, будет отдельное, +5В. Выходно сигнал - синусоида 0 - 5 В. От линии - диодный мост, от плюса - pnp транзистор, дальше резистор,общая точка, минус моста, назад в линию. Так? Или как? Кто делал что-то подобное - поделитесь, плз. Что вообще представляет собой телефонная линия с точки зрения моего устройства (в режиме покоя)? Это источник напряжения с немаленьким (сколько?..) внутренним сопротивлением?
|
|
|
|
|
Nov 2 2008, 14:12
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 1-07-07
Пользователь №: 28 824

|
Вот это: Signal Level: -13,5 dBm ± 1,5 dB (When the line is looped on an impedance equivalent to the source impedance)
то же самое, что и это:
Mark level -40dBV -14 dBV Space level -36 dBV -8 dBV
???
Сколько это в вольтах? От этих децибел скоро с ума сойду... По моим подсчетам, это должно быть около 0.5 вольт (во втором случае даже ниже). Я правильно посчитал? То есть, получается, что на 60 В в состоянии покоя накладываются колебания амплитудой 0.5 вольт?
А не у кого нет осциллограмм?
|
|
|
|
|
Nov 2 2008, 17:37
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 1-07-07
Пользователь №: 28 824

|
То есть, если смотреть осциллографом в телефонной линии, то должно получиться так?
fsk.zip ( 11.61 килобайт )
Кол-во скачиваний: 195
|
|
|
|
|
Aug 21 2017, 08:07
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 4-10-10
Из: г.Псков
Пользователь №: 59 908

|
Тема старая, но ,на мой взгляд, не получившая логического завершения в части формирования сигнала caller FSK. Как частный случай, возьмем кварц частотой 3 686 400 Гц = 1200 (бит или бод -скорость передачи данных в формате FSK) *256 (ШИМ PWM 0-255) *12 (количество точек синуса при формировании бода Маrk или Space) и таблицу sin[] состоящую из 144 восьми разрядных значений. Для получения частот FSK используем ШИМ в который будут заноситься значения из таблицы sin с разными соответствующими частотам шагами: Шаг_Mark(1200)=12, Шаг_Mark(1300)=13, Шаг_Space(2100)=21, Шаг_Space(2200)=22. 12 последовательных значений с одинаковым шагом сформируют сигнал Mark или Space. Меняя значения кварца и длину таблицы sin[] можно сформировать эти сигналы более точно. Поправьте меня, если я где-то ошибся в своих "умозаключениях" по формированию cаller FSK. Код ;------------------------------------------------------------------ ; 1200(бод) * 12(точек синуса) * 256 (циклов ШИМ) = Кварц 3 686 400 Герц sinus_144: .db 128,133,139,144,150,155,160,166,171,176,181,186,191,196,201,205 .db 209,214,218,222,225,229,232,235,238,241,243,245,247,249,251,252 .db 253,254,255,255,255,255,255,254,253,252,251,249,247,245,243,241 .db 238,235,232,229,225,222,218,214,209,205,201,196,191,186,181,176 .db 171,166,160,155,150,144,139,133,128,122,116,111,105,100,95,89 .db 84,79,74,69,64,59,54,50,46,41,37,33,30,26,23,20 .db 17,14,12,10,8,6,4,3,2,1,0,0,0,0,0,1 .db 2,3,4,6,8,10,12,14,17,20,23,26,30,33,37,41 .db 46,50,54,59,64,69,74,79,84,89,95,100,105,111,116,122
|
|
|
|
|
Feb 22 2018, 07:41
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 4-10-10
Из: г.Псков
Пользователь №: 59 908

|
[quote name='ESN' date='Aug 21 2017, 11:07' post='1514326'] Тема старая, но ,на мой взгляд, не получившая логического завершения в части формирования сигнала caller FSK. Как частный случай, возьмем кварц частотой 3 686 400 Гц = 1200 (бит или бод -скорость передачи данных в формате FSK) *256 (ШИМ PWM 0-255) *12 (количество точек синуса при формировании бода Маrk или Space) и таблицу sin[] состоящую из 144 восьми разрядных значений. Для получения частот FSK используем ШИМ в который будут заноситься значения из таблицы sin с разными соответствующими частотам шагами: Шаг_Mark(1200)=12, Шаг_Mark(1300)=13, Шаг_Space(2100)=21, Шаг_Space(2200)=22. 12 последовательных значений с одинаковым шагом сформируют сигнал Mark или Space. Меняя значения кварца и длину таблицы sin[] можно сформировать эти сигналы более точно. Решил дописать это свое сообщение, вместо нового. Недавно раздобыл микросхему HT9032C - демодулятор V.23 (1300-2100 Герц) и Bell 202 (1200-2200 Герц), на которую подавал сигнал FSK по правилам изложенным выше. Правда, Atmega тактировалась кварцем 11 059 600 Герц и данные из табл. синуса по переполнению таймера выдавались в Port, cоединенный через ЦАП R/2R (10K) c HT9032C. Все замечательно работает, но осталась одна "непонятка". На демодулятор посылались следующие данные: заголовок(preamble) cостоящий из 30 байт $55 и 18 байт $ff и произвольные байты(сaller ID message). Каждый байт информации передавался так: 1 бод Space, 8 информационных бод соответствующих битам передаваемого байта,1 бод Mark, т.e. чтобы передать один байт информации нужно сформировать 10 бод. "Непонятка" заключается в том, что HT9032C выдает несколько искаженный заголовок: 28 байт $55, 1 байт $d5, 18 байт $ff. Если же эти данные заголовка разместить в информационном поле несколько раз, то никаких искажений при приеме в информационном поле не наблюдается, строго принимаются 30 байт $55 и 18 байт $ff. ??? В присоединенном файле хранятся таблицы синуса для ряда кварцев, частоты которых кратны числу 1200*256. Можно работать не по переполнению таймера микроконтроллера, а по совпадению, тогда номинал кварца можно понизить в несколько раз.
|
|
|
|
|
Apr 26 2018, 07:32
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 4-10-10
Из: г.Псков
Пользователь №: 59 908

|
Разобрался с "непоняткой" - неправильно отсылал 18 байт $ff, соответствущих Mark Signal ( то что в литературе встречается, как ETSI 180+/-25 mark) Там ведь не должно быть Space -бод (никаких старт-бит), только Маrk-боды: 1 бод Mark, 8 информационных бод - 1, 1 бод Mark. В общем, на выходе HT9032C получил: 28 байт $55, 1 байт $f5 и Саller ID message, которое формировал посредством микроконтроллера AVR.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|