реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Как лучьше реализовать?, Запись последовательности импульсов!
at90
сообщение Apr 10 2006, 06:41
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Есть некоторый сигнал из 50 импульсов. _/~\__/~\__
30 c одной частотой (1200Гц) 20 с частотой 800 Гц.
Устройство выдаёт этот сигнал один раз. И он из за помех не всегда доходит.
Нужно сделать устройство которое будет записывать этот сигнал и повторять его несколько раз.
Причём сигналы могут быть с разными частотами. Как лучьше реализовать алгоритм записи?
Контроллер TINY2313.


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
Laptop
сообщение Apr 10 2006, 08:07
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 142
Регистрация: 19-11-05
Пользователь №: 11 103



Для начала скажи какая длительность посылки в секундах. если количество импульсов ограничено и точно известны частоты, то можно сперва декодировать и хранить именно в таком виде а потом синтезировать сам сигнал сколько угодно. Как вариант хранишь длительность 0-й и длительность 1-ц, но это только если памяти хватит чтоб в недекодированном виде хранить.
Go to the top of the page
 
+Quote Post
WHALE
сообщение Apr 10 2006, 08:09
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



это меандр?


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
at90
сообщение Apr 10 2006, 09:37
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



мне их хранит не нада. Записал повторил и забыл.
Сигнал может быть и не меандр.
А подскажите как измерять интервалы таймером по переходу сигнала?


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 10 2006, 10:04
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(at90 @ Apr 10 2006, 12:37) *
мне их хранит не нада. Записал повторил и забыл.
Сигнал может быть и не меандр.
А подскажите как измерять интервалы таймером по переходу сигнала?

Если это прямоугольные импульсы, то никакой сложности быть не должно. Записывать с помощью аналогового компаратора и таймера в режиме Input Capture. Сохранять в массиве длительность импульса.
Go to the top of the page
 
+Quote Post
at90
сообщение Apr 10 2006, 10:39
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



а нет примерчика?


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 10 2006, 11:00
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(at90 @ Apr 10 2006, 13:39) *
а нет примерчика?


Пример записи, дык, это уже ваша задача, а пример настройки таймера и компаратора пожалуйста:

Код
;----------------------------------------
; Процедура настройки режима Capture
; Таймер работает на частоте чипа (mode0)
T1CaptInit:
    ldi   AL, (1 << OCIEA1)|(1<<TICIE1)|(1 <<  TOIE0)
    out   TIMSK, AL; T1 Output compare, T1 Input capture, T0 Overflow

    ldi   AL, High( 50000)
    out   OCR1AH, AL; Заносим в OCR значение 50000
    ldi   AL, Low( 50000 )
    out   OCR1AL, AL; Каждые 50 тыс. отсчетов таймер будет автоматически сбрасываться

    ldi   AL, 0
    out   TCCR1A, AL; OC1 pin disconnected, PWM disabled

    ldi   AL, (1 << ICNC1)|(0 << ICES1)|(1 << CTC1)|1; //  $89
     ; Capt noise canceller ON (ICNC1=1), Capt on falling edge (ICES1=0)
    out   TCCR1B, AL; Clear on Compare Match (CTC1=1),
                ; work in mode 0 (CS12, CS11, CS10 = 001)
    ret

;------------------------------------------------
; Процедура инициализации аналогового компаратора
; в режиме Event Capture
ACCaptModeInit:
    ldi   AL, $6; (ACIC=1) (ACIS1. ACIS0 = 10 falling edge)
    out   ACSR, AL
    ret
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01416 секунд с 7
ELECTRONIX ©2004-2016