Мелкие вопросы по МК и ПЛИС.
Господи, чё ж все про математику то забыли? 0,2мкс укладывается в 1мкс ровно 5 разов. стало быть надо вычесть из (TMR1H = 0b11111111; TMR1L = 0b11111111;) двоичную пятёрку. А это 0b00000101. Вот и выходит, как раз, (TMR1H = 0b11111111; TMR1L = 0b11111010
- Реклама
а можно просто TMR1 = -5; сделать 
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
Блин... Извените, но я вообще ничерта не понимаю, даже принцип работы. Для гуманитария такие формулировки смертельныКРАМ писал(а): Скользящее окно - это обычный кольцевой й по кругу записывают выборки сигнала с АЦП. То есть в этом буфере всегда находятся последние N значений сигнала. Где N - это длина буфера.
Фильтр в прямоугольном окне имеет значительные боковые лепестки АЧХ, для их подавления применяют не прямоугольное, а специальной формы окно, то есть к каждому элементу массива применяют определенный множитель (оконную функцию).
В интернете полно статей про фильтры с Конечной Импульсной Характеристикой (КИХ) и фильтров с Бесконечной Импульсной Характеристикой (БИХ).isx писал(а): Блин... Извените, но я вообще ничерта не понимаю, даже принцип работы. Для гуманитария такие формулировки смертельны. Может знаете какие нибудь наглядные пособия по этой теме?
Это КИХ:
Элемент Z-1 - Это задержка на один отсчет. То есть в каждый момент времени на выходах этих элементов имеются последние N значений сигнала.
Эти значения после умножения на коэффициенты (оконные) суммируются и на выходе получаются отсчеты ПОСЛЕ ФИЛЬТРАЦИИ.
- Сообщения: 175
- Зарегистрирован: Пт июн 29, 2012 23:48:11
Для проверки использовал код:pyzhman писал(а):А частоту тактирования в протеусе выставили? И как вы увидели, что частота прерываний не та? Опять же, не забываем, что вход/выход в прерывание тоже съедает время (в плане, что 65530 очень уж мизерное время оставляет на всё остальное).
Код: Выделить всё
void interrupt pwm_int(void) // общая процедура прерывания
{
if (TMR1IF)
{
RB0 = ~RB0;
TMR1H = 0b00111100;
TMR1L = 0b10101111;
TMR1IF=0; // сбрасываем флаг о его переполнение
}
}Результаты работы в протеусе:
1мкс, TMR1H = 0b11111111; TMR1L = 0b11111010;
10мкс, TMR1H = 0b11111111; TMR1L = 0b11001101;
100мкс, TMR1H = 0b11111111; TMR1L = 0b00001011;
ну и соответственно дальше 1мс, 10мс:
В общем понимаю, где я туплю...
спасибо что носом ткнули))))
- Реклама
ARMяноводы, подскажите как подключать для первого старта (что бы пока просто прошить) STM32F103? Особенно интересует BOOT0 и его собратья.
Спасибо.
Спасибо.
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Пора бы начать читать мануалы , вместо детской привычки вешанья ярлыков.
Благо на оффсайте имеются документы :
Getting started - практически на все линейки, где дана минимальная схема , необходимая для квик старта.
А так же мануал на бутлоадер и иже с ним...
Благо на оффсайте имеются документы :
Getting started - практически на все линейки, где дана минимальная схема , необходимая для квик старта.
А так же мануал на бутлоадер и иже с ним...
Друзья, а вот такой вопрос. МК тактируется от 8МГц, хочу вывести частоту на пин CKOUT. Можно ли вывести 2МГц? Есть ли отдельный делитель, чтоб тактирование самого МК оставалось стабильно 8МГц?
Вообще какие способы вывести 2МГц навскидку Вы могли бы подсказать?
А шимом?
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
--------------------------
Пишу на Си за еду
А что пишут в "дэйтащиит"-е об выводах данного м.к., к коим подключается задающий генератор ? 
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Может и ШИМом... Но даже не знаю... Можно ли один таймер использовать для двух задач? Будет в этой считать до скольки-то в одном режиме. А потом в другой задаче срабатывать по переполнению. Поможете?
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
Что то я не пойму что вы хотите получить. Опишите цель, а там может и кто чего подскажет
.
Сеть модулей, связанных особым каналом. Для его работу нужна несущая, 2МГц. С довольно небольшими требованиями к точности. Что-то, от 1,8МГц до 2,8МГц. В микроконтроллере АТтини24 есть встроенный калиброванный 8МГц генератор. Он работает, и, очень бы хотелось, чтоб с какого-нибудь вывода выдавал эти 2МГц.
Если если есть возможность частоту осцилятора вывести наружу, то спасёт делитель на 4 - один корпус с двумя D-триггерами.
Ну или поставить ещё один маленький МК и вывести с него необходимую частоту с помощью ШИМа. Хотя, можно его просто затактировать от 2Мгц, если позволяют возможности МК.
Ну или поставить ещё один маленький МК и вывести с него необходимую частоту с помощью ШИМа. Хотя, можно его просто затактировать от 2Мгц, если позволяют возможности МК.
Ну... Только начал верить в то что эти клопы на плате безграничны в своих силах... И вот на саааамом последнем пункте задачи так обламываете?
Неужели нет красивого ответу?
Неужели нет красивого ответу?
Из DS на ATtiny24, т.е. если OCR0A=1, то на выходе (PCINT10/INT0/OC0A/CKOUT) PB2 должно быть 2МГц.For generating a waveform output in CTC mode, the OC0A output can be set to toggle its logical level on each Compare Match by setting the Compare Output mode bits to toggle mode (COM0A1:0 = 1). The OC0A value will not be visible on the port pin unless the data direction for the pin is set to output. The waveform generated will have a maximum frequency of 0 = fclk_I/O/2 when OCR0A is set to zero (0x00). The waveform frequency is defined by the following
equation: F(OCnx)=F(clk_I/O)/2/N/(OCRnx +1)
У него заняты все таймеры и нога INT0. Так что, только внешний генератор.
INT0 оно же и есть CKOUT. Для этой миссии и берёг.




