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

 
 
> Автоподстройка на скважности., На контроллере Тини-15.
Коляй
сообщение Oct 18 2007, 13:14
Сообщение #1


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

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Ребята, подскажите? Делаю автоподстройку нуля. А опыта мало совсем. Сигнал автоподстройки берётся с фильтра на ОУ, а на сам фильтр идёт прямоугольный сигнал с переменной скважностью, частотой 120-200 гц. Скважность меняется во времени уменьшаясь или увеличиваясь, в зависимости от состояния компаратора, который подключен к выходу усилителя на ОУ ( Ку-30), а на вход подается сигнал автоподстройки с фильтра, подмешанный к некоторому входному сигналу. Когда на выходе "0", сигнал близок к меандру. И т.д...
Как бы покрасивее всё это оформить програмно? Контроллер Тини-15, ИАР отказался с ним на СИ работать, придётся наверное Асм поднимать. Поделитесь пожалуйста кто что думает? Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Коляй
сообщение Oct 21 2007, 05:05
Сообщение #2


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

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Чего боялся на то и напоролся. Оказывается мало 8 бит для ШИМа. Там сделано частота 120 гц и дискретность ШИМа 2 мкс. Это получается нужен 12-и разрядный ШИМ. Если программно сделать, то проц будет только ШИМ-ом одним заниматься и больше ни чем. Что же, Мегу опять придётся применять?
(ещё делал это дело на 572ПА1, ЦАП 10-разрядный + реверс.счетчики, вобще плохо получилось, мало дискретности было, сигнал на выходе дрыгался прилично).

Сообщение отредактировал Коляй - Oct 21 2007, 05:20
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Oct 22 2007, 13:08
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Цитата(Коляй @ Oct 21 2007, 09:05) *
Чего боялся на то и напоролся. Оказывается мало 8 бит для ШИМа. Там сделано частота 120 гц и дискретность ШИМа 2 мкс. Это получается нужен 12-и разрядный ШИМ. Если программно сделать, то проц будет только ШИМ-ом одним заниматься и больше ни чем. Что же, Мегу опять придётся применять?
(ещё делал это дело на 572ПА1, ЦАП 10-разрядный + реверс.счетчики, вобще плохо получилось, мало дискретности было, сигнал на выходе дрыгался прилично).

Ну, Мегу - не мегу, есть и тиньки с 16-разрядными таймерами. Правда, корпус минимум 14-ногий.
Можно попробовать сделать программно, разделив 12 бит на старшие 4 бита и младшие, в таймере. В прерывании по сравнению таймера сравнивать старшие биты, в прерывании переполнения таймера наращивать счётчик старших бит. Частота ШИМа получится в 16 раз меньше частоты переполнения таймера. Если для этого ресурсов не хватит, то конечно - брать контроллер с 16-разрядным таймером.
Go to the top of the page
 
+Quote Post
Коляй
сообщение Oct 30 2007, 19:11
Сообщение #4


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

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Ребята, посмотрите вы пожалуйста код? Проклятый Протеус не желает ни в какую показывать сигнал, один импульс дрыгнет и всё. И прямая линия дальше. В АВР-Студии всё отлично работает, правда в 3,22 (четвёртая слетает с любого файла). Я уже делал и на разных таймерах, всё одно... Мне то дальше надо писАть, а тут в самом начале уже косяки начались. Посмотрите вы чего я накосячил? Да, в VMLAB-е работает всё, но не с первого раза. VMLAB ругается сначала 2 раза, что то про SREG (Bit1).
Цитата
.include "tn15def.inc"
; Variable Declarations
.def temp = r16
.def skwlow = r20
.def skwhigh = r21
.def freqhigh = r22
.def takt = r19
.def n = r18
.def stek = r26
.cseg ; CODE segment.

;Interrupt Vectors
.org 0
rjmp RESET ;Reset
reti ;INT 0
reti ;Pin Change
rjmp TIMER1_COMP ;Output compare
rjmp TIMER1_OVF ;Timer 1
reti ;rjmp tov0 ;Timer 0
reti ;EEPROM ready
reti ;Analog Comparator
reti ;ADC Complete

;Initialization
RESET:
ldi temp, 0 ;
out OSCCAL,temp
ldi temp, 0x07 ; port na out
out DDRB, temp ;
ldi temp, 0x44 ; prer po COMP & OVF
out TIMSK, temp ;
ldi temp, 0x80 ; test
out 0x2E, r16 ;
ldi temp, 0x05 ; clock/1
out TCCR1, temp ;
clr skwlow ;
clr freqhigh ;
ldi skwhigh, 0x04 ;test

sei ;
; ldi r16,$8E ; Enable, ADIE, Prescale = 1/64
; out ADCSR,r16
; ldi r16,0 ; Select ADC0 as input, VCC as VREF
; out ADMUX,r16

LOOP:
nop
nop
rjmp LOOP ;

TIMER1_OVF:

in stek, SREG ;
cpi freqhigh, 0x10 ;
brne dal1;
clr freqhigh ;
sbi PORTB, 2 ;
dal1:
inc freqhigh;

out SREG, stek ;
reti ;

TIMER1_COMP:

in stek, SREG ;
cbi PORTB, 2 ;
out SREG, stek ;
reti ;
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Oct 31 2007, 08:35
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Цитата(Коляй @ Oct 30 2007, 23:11) *
Ребята, посмотрите вы пожалуйста код? Проклятый Протеус не желает ни в какую показывать сигнал, один импульс дрыгнет и всё. И прямая линия дальше. В АВР-Студии всё отлично работает, правда в 3,22 (четвёртая слетает с любого файла). Я уже делал и на разных таймерах, всё одно... Мне то дальше надо писАть, а тут в самом начале уже косяки начались. Посмотрите вы чего я накосячил? Да, в VMLAB-е работает всё, но не с первого раза. VMLAB ругается сначала 2 раза, что то про SREG (Bit1).


Косяков не видно... прогнал дебаггером в AvrStudio 4.13.555 sp1. Всё работает. При 4 мегагерцах прерывания через 64 мкс, на порту выскакивает импульс длиной 32 мкс через 1024 мкс. Кстати, SREG в прерывании TIMER1_COMP можно не запоминать: команда sbi не изменяет флаги.
Go to the top of the page
 
+Quote Post
Коляй
сообщение Oct 31 2007, 10:22
Сообщение #6


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

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Цитата(Maik-vs @ Oct 31 2007, 11:35) *
Косяков не видно... прогнал дебаггером в AvrStudio 4.13.555 sp1. Всё работает. При 4 мегагерцах прерывания через 64 мкс, на порту выскакивает импульс длиной 32 мкс через 1024 мкс. Кстати, SREG в прерывании TIMER1_COMP можно не запоминать: команда sbi не изменяет флаги.

Спасибо. Надо в железе наверное уже делать, вернее будет. Прерывание придётся ещё немного дописАть потом, так что SREG пригодится.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Коляй   Автоподстройка на скважности.   Oct 18 2007, 13:14
- - Dog Pawlowa   Цитата(Коляй @ Oct 18 2007, 16:14) Подели...   Oct 18 2007, 16:43
|- - Коляй   Цитата(Dog Pawlowa @ Oct 18 2007, 20:43) ...   Oct 18 2007, 18:46
|- - Dog Pawlowa   Цитата(Коляй @ Oct 18 2007, 21:46) ... И...   Oct 19 2007, 07:20
- - sseett   > Контроллер Тини-15, ИАР отказался с ним на СИ...   Oct 19 2007, 07:28
- - WHALE   мона и на тини13,она дешевше.   Oct 19 2007, 07:50
- - add   Цитата(Коляй @ Oct 18 2007, 17:14) Ребята...   Oct 19 2007, 08:13
|- - Коляй   Спасибо. Немного не так спросил. Необходимо наобор...   Oct 19 2007, 09:44
|- - Maik-vs   Цитата(Коляй @ Oct 19 2007, 13:44) Спасиб...   Oct 19 2007, 10:00
|- - Коляй   Цитата(Maik-vs @ Oct 19 2007, 14:00)...   Oct 19 2007, 13:25
|- - Коляй   Таймерами пользовался, в ШИМ не хотелось лезть. А ...   Oct 20 2007, 07:10
|- - Коляй   Всё, хватит! Кончилось терпение! Поеду 13-...   Nov 3 2007, 20:26
|- - Коляй   Цитата(Коляй @ Nov 3 2007, 23:26) Хотелос...   Nov 5 2007, 10:44
|- - mdmitry   Цитата(Коляй @ Nov 5 2007, 13:44) Вопрос ...   Nov 5 2007, 12:07
- - mdmitry   Может радикально пересмотреть ситуацию и выбрать д...   Oct 21 2007, 12:31
|- - Коляй   Цитата(mdmitry @ Oct 21 2007, 16:31) Може...   Oct 21 2007, 18:52
|- - =GM=   Цитата(Коляй @ Oct 21 2007, 18:52) В нали...   Oct 21 2007, 19:49
- - Коляй   Ребята, посмотрите пожалуйста код? Не работает как...   Nov 16 2007, 18:38
|- - Коляй   Или наоборот дальше от нуля отходить... (чего то п...   Nov 16 2007, 22:04
|- - IGK   Коляй, это ваш сайт kolyay.narod.ru ? Если интере...   Nov 18 2007, 13:47
|- - Коляй   Ну "сайт" это конечно громко сказано, ск...   Nov 18 2007, 17:18
|- - IGK   Цитата(Коляй @ Nov 18 2007, 19:18) Пробле...   Nov 19 2007, 06:09
|- - Коляй   Так и не удалось добиться нормальной работы програ...   Dec 2 2007, 14:08
- - Коляй   Упс, ошибочка. Не R*15, a R*(2^15)   Dec 4 2007, 14:45


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

 


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


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