Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 11.01.2005, 00:07  
mikesmith
Администратор
 
Аватар для mikesmith
 
Регистрация: 10.05.2003
Сообщений: 1,739
Сказал спасибо: 497
Сказали Спасибо 2,686 раз(а) в 595 сообщении(ях)
mikesmith на пути к лучшему
По умолчанию

ммм. Это уже усложняет задачу
Реклама:
__________________
C уважением, Михаил
Ищите даташиты на KAZUS.RU: http://kazus.ru/datasheets/index.html
mikesmith вне форума  
Непрочитано 12.01.2005, 21:26  
SergeyK
Временная регистрация
 
Регистрация: 02.01.2005
Адрес: Киев
Сообщений: 78
Сказал спасибо: 6
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
SergeyK на пути к лучшему
По умолчанию

Да эта м/с только декодирует частотные посылки в "1" и "0"... а декодировать посылку все-равно надо мне

Нашел еще м/с MT8841. Она еще больше подходит но на радиорынке ее также не нашлось

По какому принципу работают частотомеры? Измеряют промежуток времени между переходом с 0 на 1 и наоборот? Насколько будет низкая точность, если использовать только 1/2 периода сигнала (т.е. длительность лог. 1)?
SergeyK вне форума  
Непрочитано 13.01.2005, 12:59  
dryupitz
Гость
 
Сообщений: n/a
По умолчанию

Сообщение от SergeyK
Нашел еще м/с MT8841. Она еще больше подходит но на радиорынке ее также не нашлось
Есть еще отечественный аналог декодера КР1008ВЖ18, если мне не изменяет склероз...
 
Непрочитано 13.01.2005, 21:19  
SergeyK
Временная регистрация
 
Регистрация: 02.01.2005
Адрес: Киев
Сообщений: 78
Сказал спасибо: 6
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
SergeyK на пути к лучшему
По умолчанию

КР1008ВЖ18 - декодер сигналов DTMF. Я думаю, с ней проблем не будет.
Я сейчас ищу декодер FSK...Или программную реализацию...
SergeyK вне форума  
Непрочитано 16.01.2005, 00:46  
Sergey K
Гость
 
Сообщений: n/a
По умолчанию

Что-то я совсем запутался. Подскажите, пожалуйста, последовательность команд для установки предварительного делителя таймера на заданное число (например 4); включение/выключение прерывания при его переполнении; и запись/чтение его значения.
 
Непрочитано 24.01.2005, 17:11  
SergeyK
Временная регистрация
 
Регистрация: 02.01.2005
Адрес: Киев
Сообщений: 78
Сказал спасибо: 6
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
SergeyK на пути к лучшему
По умолчанию Помогите!

SergeyK вне форума  
Непрочитано 04.02.2005, 16:40  
SergeyK
Временная регистрация
 
Регистрация: 02.01.2005
Адрес: Киев
Сообщений: 78
Сказал спасибо: 6
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
SergeyK на пути к лучшему
По умолчанию

Наконец нашел человека, который занимается этой же проблемой. После совещаний, я немного изменил алгоритм. В новом алгоритме нужно получить частоту 1200Гц, которая точно будет соответствовать такой же генерируемой на АТС. Если частоты не синхронизировать, то мне удается принять максимум 264 бита. Дальше идет сбой.
Может у кого есть какие идеи, как немного синхронизировать эти частоты. Буду рад любым идеям!
SergeyK вне форума  
Непрочитано 08.10.2006, 20:34  
SergeyK
Временная регистрация
 
Регистрация: 02.01.2005
Адрес: Киев
Сообщений: 78
Сказал спасибо: 6
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
SergeyK на пути к лучшему
По умолчанию

Немного подитожу.
Удалось таки написать программу, которая принимает FSK посылку, но работает она еще очень не стабильно и вероятность определения (правильного) достаточно низкая. Сигнал имитирует звуковая карта.
Позавчера наконец на нашей цифровой АТС сделали АОН (теоретически) заказал. Обещали в течении 2х рабочих дней активировать.
Но и тут не обошлось без страностей Укртелекома: заказываю услугу, они спрашивают, "у Вас тоновый набор активирован?". Говорю - "нет". Они "для того чтобы работал АОН, нужно заказать любую дополнительную услугу, чтобы активировать тоновый набор". Я - "а разве АОН не есть дополнительной услугой?". Они, немного замявшись - "ну... для активации тонового набора нада заказать еще любую другую услугу". Я пока не заказывал еще одну доп. услугу. Посмотрим, заработает или нет.
SergeyK вне форума  
Непрочитано 09.10.2006, 13:11  
ra0wbj
Прописка
 
Регистрация: 04.07.2005
Сообщений: 236
Сказал спасибо: 6
Сказали Спасибо 14 раз(а) в 10 сообщении(ях)
ra0wbj на пути к лучшему
По умолчанию

Сообщение от SergeyK
Не, я люблю преодолевать трудности
Просто у меня в наличие есть именно PIC16F84A-04 и я хочу сделать именно на нем.
Как я понял, сигнал можно подать и на обычную цифровую ного, только навсесив "простейший компаратор" (как в статье).
И вот основной вопрос (просьа) - помогите найти исходный код DTMF декодера (там где не сложно разобратся)

;
; keypad tone generator with wakeup on keypress
;

DEVICE PIC16C56,HS_OSC,PROTECT_OFF,WDT_OFF

TONE_DURATION equ 30000

audioport equ RA
ROWMASK equ 00000001b
COLMASK equ 00000010b
keyport equ RB
KEYMASK equ 00001111b
col0 equ RB.4
col1 equ RB.5
col2 equ RB.6

temp equ 09h
colcount equ 0ah
ccount equ 0bh
rowcount equ 0ch
rcount equ 0dh
tonetimehi equ 0eh
tonetimelo equ 0fh
row0 equ 10h ; current state of key row 0
row1 equ 11h ; current state of key row 1
row2 equ 12h ; current state of key row 2
keycode equ 13h

RESET Start

zzzzz
clrb col0
clrb col1
clrb col2
sleep

; KeyMap -- map key ID to DTMF tone code
KeyMap
jmp PC+W
; straightforward matrix
; retw 0000b,0001b,0010b
; retw 0100b,0101b,0110b
; retw 1000b,1001b,1010b
; retw 1100b,1101b,1110b
; PacTec brain damaged membrane keyboard
retw 1000b,0000b,1100b
retw 0100b,1001b,0001b
retw 1101b,0101b,1010b
retw 0010b,1110b,0110b


;697 Hz 90 123A row
;770 Hz 81 456B row
;852 Hz 73 789C row
;941 Hz 66 *0#D row
;1209 Hz 52 147* col
;1336 Hz 47 2580 col
;1477 Hz 42 369# col
;1633 Hz 38 ABCD col

RowTab
jmp PC+W
retw 90,81,73,66
ColTab
jmp PC+W
retw 52,47,42,38

;
; DTMF_send -- send a DTMF tone pair as encoded in W on entry.
; encoding is xxxxRRCC where x = dont care, RR = row#, CC = col#
;

DTMF_send
; get row and col encoding into rowcount,colcount
mov colcount,W
mov rowcount,W
and colcount,#00000011b
rr rowcount
rr rowcount
and rowcount,#00000011b

; replace with actual counts from lookup tables
mov W,colcount
call ColTab
mov colcount,W
mov W,rowcount
call RowTab
mov rowcount,W

; preload counters && timers
mov rcount,rowcount
mov ccount,colcount
mov tonetimehi,#TONE_DURATION‹
mov tonetimelo,#TONE_DURATION›

:dtmf_loop
; time to stop?
dec tonetimelo
jnz :keepon
dec tonetimehi
snz
ret ; done! get out.

:keepon
; wait for clock tick
mov temp,RTCC
:tickwait
mov W,RTCC
xor W,temp
jz :tickwait

; decrement counters
djnz rcount,:checkcol

; row count reached zero -- toggle audio and reset counter
mov W,audioport
xor W,#ROWMASK
mov audioport,W
mov rcount,rowcount
:checkcol
djnz ccount,:dtmf_loop

; col count reached zero -- toggle audio and reset counter
mov W,audioport
xor W,#COLMASK
mov audioport,W
mov ccount,colcount
jmp :dtmf_loop

Scan
clrb col0
mov row0,keyport
setb col0
xor row0,#KEYMASK
and row0,#KEYMASK

clrb col1
mov row1,keyport
setb col1
xor row1,#KEYMASK
and row1,#KEYMASK

clrb col2
mov row2,keyport
setb col2
xor row2,#KEYMASK
and row2,#KEYMASK

ret

Decode
clr keycode

test row0
jz :tryrow1

; definitely a bit on in row0
mov keycode,#1
:loop0
snb row0.0
ret
rr row0
inc keycode
jmp :loop0

:tryrow1
test row1
jz :tryrow2

; definitely a bit on in row1
mov keycode,#5
:loop1
snb row1.0
ret
rr row1
inc keycode
jmp :loop1

:tryrow2
test row2
snz
ret

; definitely a bit on in row2
mov keycode,#9
:loop2
snb row2.0
ret
rr row2
inc keycode
jmp :loop2

Start
mov OPTION,#00000100b ; RTCC @ 125 KHz
mov !RB,#00001111b
mov !RA,#0000b ; all outputs

setb col0
setb col1
setb col2

Wakeup
call Scan ; read keyboard
call Decode ; decode bit pattern to key ID
test keycode
jz :release ; if no key, don't send
dec keycode
mov W,keycode ; get key ID
call KeyMap ; map key ID to DTMF code
call DTMF_send ; send DTMF tone
; now wait for key to be released and sleep
:release
call Scan
call Decode
test keycode
jnz :release
jmp zzzzz
ra0wbj вне форума  
Непрочитано 27.06.2009, 14:52  
SergeyK
Временная регистрация
 
Регистрация: 02.01.2005
Адрес: Киев
Сообщений: 78
Сказал спасибо: 6
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
SergeyK на пути к лучшему
По умолчанию

Хоть и с большой задержкой, отвечаю.
Коду удалось успешно написать, отладить и успошно получить данные о номере от АТС.
Во время отладки функции передачи определившегося номера в виде "безинтервального пакета" я купил новый АОН Русь-29 и плата плавно отправилась в дальний ящик
Хотя функция определения номера и вывод на дисплей работает.
Как будет время, постараюсь более детально описать процедуру определения номера.
Здесь исходный код и очень краткое описание приставки Caller-ID на базе PIC16F628.
SergeyK вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TV COLOR DIGITAL ""JEEJA"" Electric75 Видеотехника 22 16.11.2007 13:59
[Решено] RISC vis CISC, все "ЗА" и "ПРОТИВ". sanitar249 Отвлекитесь, эмбеддеры! 1 24.10.2007 09:56
Нужны схемы "Милты" и "Узора" lfaiccug Поиск схем. Делимся схемами 1 18.05.2005 13:27


Часовой пояс GMT +4, время: 09:22.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot