Перейти к содержанию
    

Вставлю пять копеек.

Выбор AVR здесь не совсем правильный. Если вы хотите все это питать от линии, лучше применить MSP430. Вот вам даже готовый аплекейшн

http://focus.ti.com/docs/mcu/catalog/resou...actName=slaa178

 

Приавда цепочку вызова там лучше переделать. Как правильно сказали выше - ставите оптрон и смотрите частоту на его выходе при вызове. На разных АТС она сильно колеблется 13-95 Герц.

Амплитудный вызов не будет работать на всех АТС. Верный путь - частотный анализ. Тем более реализуется он элементарно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вставлю пять копеек.

Выбор AVR здесь не совсем правильный. Если вы хотите все это питать от линии, лучше применить MSP430. Вот вам даже готовый аплекейшн

 

Я реализовывал на AVR телефонные аппараты, т.н. адаптеры и прочее. В том числе с питанием от линии. При равных условиях сравнивал их с аналогичными изделиями на контролерах PIC. В сравниваемых образцах AVR потребляла меньше чем PIC. Хотя паспортные данные .... Бросал свой взор :) на MSP. Если верить описанию MSP действительно лучше подходит. 16 бит, ПДП по АЦП, в какой-то есть умножение плюс сложение аппаратное, малое потребление. Всё это очень хорошо при реализации цифровых фильтров (например распознование DTMF). Но тема развития не получила и я переделывать не стал. :( К тому же MSP стоит значительно дороже. Для серийного изделия это существенно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>К тому же MSP стоит значительно дороже

Скажите а Вы какие процессора сравниваете? AT90S2313 и MSP430F1612 ?

А насчет серийности. Если мне память не изменят - как учили в институте, серийное изделие, это тираж больше 20К.

Поверьте мне, на таких количествах цены совершенно другие.

 

В одном из телефонов Nokia стоит MSP430F133. И вы очень ошибаетесь, если думаете, что Нокиа покупает их по 3$.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем принимавшим участие в обсуждении. Устройство сделано на том чем и задумывалось - tiny13. Сразу отвечу тем, кто советовал использовать MSP - питать от линии "прозрачно для линии" получилось не только tiny13, но и яркий светодиод (2ма) в режиме ожидания.

 

Сигнал "вызов" обрабатывать получилось очень просто - через делитель 1k-100k завел плюс линии на АЦП контроллера и по уровню >60В просто снимаю трубку.

 

Сигнал "отбой" обрабатываю с помощью аналогового компаратора, к которому через фазосдвигающую цепочку подключил "плюс" линии. Частоту не определяю, т.к. в tiny13 отсутствует режим Timer Capture. Работаю с длительностями перида - запустил таймер в режиме ОС-CTC на подсчет 100 тактов. В прерывании таймера увеличиваю счетчик. Если по прерыванию от аналогового компаратора в счетчике находится число от 27 до 29 - то предположительно это период сигнала "отбой". Подсчитывается количество таких периодов и если оно больше чем (425Гц * 0.35с)*0.5, то делается вывод, что это сигнал отбой и устройство ложит трубку.

Пробовал дудеть в трубку, за "отбой" такие вопли не принимаются. :)

 

Привожу кусок программы с используемыми обработчиками, может кому пригодится:

 

; Чип настроен на работу от внутреннего RC с частотой 1.2Mhz

;****************************************************
; Основной цикл программы
;****************************************************
MainCycle:          ; <----------- ОСНОВНОЙ ЦИКЛ ПРОГРАММЫ
    rcall ADC_Read
    cpi   AL, CALLING_LEVEL
    brlo  MainCycle
    ATA
    rjmp  MainCycle


;****************************************************
; Обработчик прерывания TMR1 (Timer 1 OC)
;****************************************************
TIM0_COMPA:; Timer1 Compare Handler
    in   SREGM, SREG         
    cpi  Counter, MAX_TIMER   ; Если значение счетчика не равно максимально допустимому
    brsh _skip_inc           
    inc  Counter              ; тогда инкрементировать счетчик отсчетов 
_skip_inc:
    out  SREG, SREGM
    reti


;****************************************************
; Обработчик прерывания аналогового компаратора
;****************************************************
AC_Handler:
    in    SREGM, SREG

    cpi   Counter, 27       ; частота больше 1 / ((27*100)/1.2Mhz) = 444.4 Гц
    brlo  _skip_detect      ; не наша частота - выход
    cpi   Counter, 30       ; частота ниже 1 / ((30*100)/1.2Mhz) = 400 Гц
    brsh  _skip_detect      ; не наша частота - выход

    cpi   PeriodCounter, MAX_TIMER; проверить накопленное число периодов частоты сигнала "отбой"
    brsh  _skip_inc_period        ; если больше требуемого для распознавания - пропустить инкремент
    inc   PeriodCounter           ; увеличить число распознанных периодов 

_skip_inc_period:
; <-- здесь можно например мигнуть светодиодом и т.п.

_skip_detect:
    cpi   Counter, MAX_TIMER        ; Если значение счетчика меньше максимального 
    brlo  _skip_period_correction   ; обработку счетчика периодов пропустить

    cpi   PeriodCounter, PERIODS_AMOUNT; Сравнить значение счетчика периодов, с минимальным требуемым для
    brlo  _just_drop_pcounter          ; устойчивого распознавания сигнала "отбой"

    DROP                            ; Если отбой распознан - положить трубку

_skip_drop_signal:

_just_drop_pcounter:
    clr   PeriodCounter         ; Сбросить счетчик числа периодов

_skip_period_correction:

    clr   Counter               ; Сбросить счетчик
    out   SREG, SREGM
    reti

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>К тому же MSP стоит значительно дороже

Скажите а Вы какие процессора сравниваете? AT90S2313 и MSP430F1612 ?

А насчет серийности. Если мне память не изменят - как учили в институте, серийное изделие, это тираж больше 20К.

Поверьте мне, на таких количествах цены совершенно другие.

Другие, но тем не менее tiny13 будет значительно дешевле любого чипа из семейства MSP (даже пресловутого MSP430F1101 в котором и АЦП нормального нет) и оптом и в розницу. И здесь еще есть один определяющий фактор - у tiny широкий диапазон рабочих напряжений, КПД простого источника питания на стабилитроне выше почти в два раза при питании ~5.1-5.5V, чем при питании 3.0-3.3V.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для координатных АТС (АТСК, АТСКУ, АТС50\200, АТС100\2000) допускается потребление не более 0.2 мА

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для координатных АТС (АТСК, АТСКУ, АТС50\200, АТС100\2000) допускается потребление не более 0.2 мА

Смущает слово "потребление" :angry2:

Трубка лежит, аппарат отключен, кто потребляет ?

Телефонисты "греются" когда нагружают генератор вызова параллельными телефонами :maniac: т.е. увеличенной емкостью (1 телефон = 1мкф), а при отключенном телефоне "потребление" - это утечки в линии, способные вызывать ложное срабатывание.

Включаете миллиамперметр с потенциометром на линию, крутите и замечаете ТОК срабатывания АТС.

Если таки потребляете заметно меньше - обломаются искать, спишут на утечку.

Кстати, на древних АТСках можно было не дать напряжению упасть ниже "нормы" (последовательно стабилитрон), и тогда связь УЖЕ включилась, а тарификатор ЕЩЕ НЕТ :a14: Народ пользовался...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На конечной стадии проект на tiny13 с потреблением около 15 микроампер заказчик хотел чтобы работало год от 200 миллиамперной батереи и ограничение на цену - один доллар. Пришлось удовлетвортить).

сам потребляет еше меньше, если клок брать от watchdog'a в power down mode. И даже можно сделать намного меньше с внешним генератором на 32 кГц. А можно и вообше вырубить клок (если не ошибаюсь).

В этом режиме используйте режим просыпания по внешнему прерыванию от цепи приема звонка . Будет полезно посмотреть section electrical characteristics в datasheet чтобы выбрать режим который вам наиболее подходит. Можно также ввести режим периодического просыпания по прерыванию от watchdoga . Работает OK.

 

Вообше то не ожидал но это устройство работает даже от 1.4 вольт . хотя не гарантировано в datasheet > 1.8 .

 

В тини 13 компаратор и ацп есть так что можно изврашаться по любому.)

 

Если линия шумная и ресурсов тини для цифровой обработки гудков не будет хватать поставь аналоговый полосовой фильтр для гудков с управлением по питанию от gpio чтобы в отключенном режиме энергию не потребляла а компаратором или ацп мерьте его выход и полученные данные проверьте на похожесть последовательности гудков отбоя от атс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если хочется выделять сигнал занято с большей достоверностью, то необходимо поставить фильтр для ослабления гармоник. Встретилось несколько АТСок с 2 и 3 гармониками значительно превышавшими основной сигнал. А дальше либо честный способ с использованием микросхем детекторов, либо получестный с компаратором и Герцелем. Тут уж либо надежность, либо дешевизна. Кстати существенные проблемы может вызвать музыка или пение. И не надо забывать про параметры сигнала, длительность сигналов и пауз хоть и плавает но все же имеет свои границы.

Успехов;)

Изменено пользователем Laptop

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На конечной стадии проект на tiny13 с потреблением около 15 микроампер заказчик хотел чтобы работало год от 200 миллиамперной батереи и ограничение на цену - один доллар. Пришлось удовлетвортить).

Гм.. эта.. а как Вы умудрились уложиться в доллар?!

Как не кручу у меня получается ~$2, если не учитывать стоимость тиньки, которая сама по себе ~$1. детали не smd..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тини 100 штук по 80 центов покупал от arrow. Да еше к тому заказ , если будет, то несколько десятков К, a там уже и поторговаться можно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы ничего не напутали?

я спросил - Сколько потребляет ваша схема от тел. линии в режиме ожидания.

Это подразумевает - ваш девайс просто спит и считает часы (если они есть у вас). Какой ток потребления?

 

После того как вы снимите трубку - там уже другой разговор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы ничего не напутали?

я спросил - Сколько потребляет ваша схема от тел. линии в режиме ожидания.

Это подразумевает - ваш девайс просто спит и считает часы (если они есть у вас). Какой ток потребления?

 

После того как вы снимите трубку - там уже другой разговор.

 

Думаю что не напутал, 2ma в режиме ожидания т.к. горит светодиод.. Точнее подмаргивает. Да и источник питания резистор-стабилитрон-кондер потребляет стабильно. В режиме разговора устройство замыкает линию на резистор 1.6k итого потребление возрастает примерно до 10-20ma.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...