Страница 532 из 628

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср авг 20, 2014 14:30:58
КРАМ
Чет Вы не о том...
Какие ФНЧ: КИХ или БИХ?
Четвертый порядок - это вообще НИ О ЧЕМ. :facepalm:
Всего 4 MAC операции на выборку...
ЗЫ. Если говорить о 24/96, то там основная проблема возникнет с РАЗРЯДНОСТЬЮ.
Накопитель фильтра потребуется 64-разрядный.
Я бы Вам предложил взять любой АРМ и просто поиграть с фильтрами: КИХ или БИХ... Попробовать ФНЧ, полосовой, ФВЧ...
Можно невысокого порядка. Хотя бы в несколько десятков (31-й, например - будет 32 коэффициента)
В Матлабе есть расчет коэффициентов...

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср авг 20, 2014 14:56:54
menzoda
Про MAC я уже говорил. Нету в Cortex-M инструкции, которая бы за один такт выполнила умножение (умножение 32х32=64 и 64-битный сдвиг), округление (64-бит суммирование и 64-битный сдвиг) и проверку на переполнение (несколько условных инструкций + вспомогательная инструкция IT). Прибавим к этому линии задержки: на первый взгляд - просто присвоение значения статической переменной, но на деле это выливается в еще несколько инструкций и манипуляций с адресами. Вызов функции - плюс несколько тактов. Прерывание - плюс несколько тактов. На каждый сэмпл добавим дополнительный служебный код, ведь входящий поток данных расшифровать тоже надо. Навскидку мы уже получили кучу тактов на один сэмпл, так что смело делите свои расчеты на 20 и мы уже упираемся не то что в 50, во все 150 МГц.

Четвертый порядок я привел для примера. Как я уже говорил у меня на руках есть устройства (даже два), где несколько БИХ-фильтров 4-го (или чуть большего) порядка отнимают порядочно мощности у 160 МГц контроллера. Конечно ПО там не идеально, но и не самое плохое. В принципе, в предыдущем абзаце я объяснил почему они столько отнимают. Еще раз повторю, что скорей всего у меня фильтры будут гораздо большего порядка. Так что 200 МГц это вообще впритык, поэтому я ищу что-нибудь помощнее, чтобы не думать о каждом такте.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср авг 20, 2014 15:31:20
КРАМ
В М4 и МАК-операции есть и ФПУ...
У меня на частоте семплирования 240 кГц в dsPIC33 параллельно считается ДВА (квадратурных) КИХ 31-го порядка с расчетом амплитуды по массиву (то есть с возведением в квадрат и извлечением корня). Тактовая частота контроллера примерно 40 МГц (чуть меньше).
Да, все довольно плотненько, но вполне реализуемо...
DSP-ядро имеет два 40-разрядных аккумулятора со знаковым умножением 16*16 и сложением в один цикл.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср авг 20, 2014 16:10:02
menzoda
В общем понятно, наш опыт говорит нам противоположное. Я тоже бывало много чего умещал в восьмибитный пик, но при этом считаю, что уместить несколько хороших быстрых фильтров в Cortex-M4 будет проблематично. Не знаю, пока не попробую реализовать конкретный функционал в конкретном железе спорить бесполезно, может я не прав, а может и прав...

Но я все-равно настою на своем вопросе - есть ли мощные (>300МГц) чипы (МК/DSP/ПЛИС) в доступных для ручной пайки (без спец оборудования типа инфракрасных паяльных станций) корпусах? Если не мне, так может кому другому будет полезно.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср авг 20, 2014 19:15:16
B@R5uk
А есть тема, где обсуждаются изображения символов для знакогенератора и где их брать?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср авг 20, 2014 19:26:43
Аlex
Тут поищите .

Atmega16A - сброс фьюзов

Добавлено: Пт авг 22, 2014 13:31:37
GreatAtom
Добрый день. Знаю, что при отключении программировании через isp можно сбросить фьюзы, использую параллельный программатор, либо собрать фьюз доктор, но хотел бы узнать, возможен ли подобный способ для Atmega16?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вт сен 02, 2014 10:33:54
ibiza11
menzoda писал(а):Небольшой, на несколько десятков выводов, я еще смогу как-нибудь запаять на работе, на несколько сотен - нет.... настою на своем вопросе - есть ли мощные (>300МГц) чипы (МК/DSP/ПЛИС) в доступных для ручной пайки (без спец оборудования типа инфракрасных паяльных станций) корпусах?
Вам уже ответили, что
KPAM писал(а):300 МГц DSP делать с малым числом выводов бессмысленно. Цена останется, а функционал уменьшится.
есть NXP LPC43xx серия - Cortex M4, частота до 204 МГц, минимальный корпус LQFP144

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вт сен 02, 2014 17:58:56
isx
Вечер добрый!
Подскажите пожалуйста, как правильно организовать непрерывный опрос одного канала АЦП, чтоб остальные пины порта работали в обычном режиме (вход или выход)?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вт сен 02, 2014 18:03:43
slavokhire5
to isx: Правильно проинициализировать порты ввода/вывода и АЦП. А для дальнейших указаний знать бы какой МК :)

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вт сен 02, 2014 18:34:33
sanyo.95
Здравствуйте, извините если не туда пишу. Пытаюсь освоить DS1307. Кое как разобрался с чтением времени с RTC. Но вот никак не могу додуматься как осуществить настройку времени и даты с помощью кнопок, пробовал опрашивать кнопку в основном цикле - не отзывается...
Привожу свой код. Очень надеюсь на Вашу помощь. Спасибо!

Код: Выделить всё

#include <mega8.h>
#include <stdio.h>
#include <delay.h>
// I2C Bus functions
#asm
   .equ __i2c_port=0x18 ;PORTB
   .equ __sda_bit=0
   .equ __scl_bit=1
#endasm
#include <i2c.h> 
// DS1307 Real Time Clock functions
#include <ds1307.h>
 
char hour,min,sek;
 unsigned char time_var[6];
static flash unsigned char display[]=    // масив для индикатора
 {
  (0b11000000), // 0
  (0b11111001), // 1
  (0b10100100), // 2
  (0b10110000), // 3
  (0b10011001), // 4
  (0b10010010), // 5
  (0b10000010), // 6
  (0b11111000), // 7
  (0b10000000), // 8
  (0b10010000), // 9    
 };
void show_time()    // Функция показа времени
{

 rtc_get_time(&hour,&min,&sek); 
 
 time_var[0]=hour/10;
 time_var[1]=hour%10;
 time_var[2]=min/10;
 time_var[3]=min%10;
 time_var[4]=sek/10;
 time_var[5]=sek%10;
 
 PORTC.0=1;
 PORTD=display[time_var[0]];
 delay_ms(5);
 PORTC.0=0;
 
 PORTC.1=1;
 PORTD=display[time_var[1]];
 delay_ms(5);
 PORTC.1=0;
 
 PORTC.2=1;
 PORTD=display[time_var[2]];
 delay_ms(5);
 PORTC.2=0;
 
 PORTC.3=1;
 PORTD=display[time_var[3]];
 delay_ms(5);
 PORTC.3=0;
 
 PORTC.4=1;
 PORTD=display[time_var[4]];
 delay_ms(5);
 PORTC.4=0;
 
 PORTC.5=1;
 PORTD=display[time_var[5]];
 delay_ms(5);
 PORTC.5=0;
};
void main(void)
{
PORTB=0x1C;
DDRB=0x00;
PORTC=0x00;
DDRC=0x0F; 
PORTD=0x00;
DDRD=0x7F;
i2c_init();
rtc_init(0,0,0);
rtc_set_time(12,0,0); 

while (1)
{
 show_time();
 if(PINB.2==0) hour++;       
};
}

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вт сен 02, 2014 18:42:22
isx
slavokhire5 писал(а):А для дальнейших указаний знать бы какой МК
Совсем забыл :) . МК AtMega16. Пишу в си на CVAVR.
Знаю как запустить все пины в режим АЦП, но только один пин никогда не запускал. Это получается нужно включить АЦП, проверить показания, отключить, и дальше работать как с обычном портом, а в следующим цикле всё сначала?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср сен 03, 2014 01:23:40
Леонид Иванович
Что значит "все пины в режим АЦП"? К АЦП мультиплексором подключается всегда один пин (или два пина, если используется дифференциальный вход АЦП). Остальные никто не мешает использовать как I/O. Даже тот пин, который используется как вход АЦП, можно использовать как I/O, только это чаще всего бессмысленно.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср сен 03, 2014 01:32:47
isx
Леонид Иванович писал(а):Что значит "все пины в режим АЦП"?
Я имел ввиду что показания снимаются со всех пинов мультиплексора АЦП.
Тоесть, подключая внутренний мультиплексор к одному из выходов, остальные продолжают работать в обычном режиме?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср сен 03, 2014 08:42:56
Gudd-Head
isx писал(а):остальные продолжают работать в обычном режиме?
А что по-вашему есть "обычный" и "необычный" режимы?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср сен 03, 2014 10:09:25
Леонид Иванович
isx писал(а):подключая внутренний мультиплексор к одному из выходов, остальные продолжают работать в обычном режиме?
Да. И даже тот пин, к которому подключен мультиплексор, не отключается от I/O. Просто мы сами его должны настроить как вход без подтяжки.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср сен 03, 2014 11:01:05
Аlex
sanyo.95 писал(а):Но вот никак не могу додуматься как осуществить настройку времени и даты с помощью кнопок, пробовал опрашивать кнопку в основном цикле - не отзывается...
По кнопкам есть отдельная тема, даже с примерами - http://radiokot.ru/forum/viewtopic.php?f=61&t=79801

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср сен 03, 2014 18:59:32
sanyo.95
Аlex писал(а):По кнопкам есть отдельная тема
Я извиняюсь, но мне кажется я не правильно поставил вопрос. Я немного умею работать с кнопками, собирал несколько устройств и часы в том числе.
И везде кнопки опрашивал в основном цикле, а здесь так не выходит. Я думаю, что это из за того что у меня все основная программа находиться тоже в основном цикле - по-другому работать не хочет...

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср сен 03, 2014 19:33:21
Аlex
sanyo.95 писал(а):мне кажется я не правильно поставил вопрос
А мне кажется, Вы и второй раз его неправильно задали. Собственно, Вы его совсем не задали, как мне кажется :)
Я, например, не могу понять в чём у Вас проблема, если не в опросе кнопок :dont_know:

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт сен 04, 2014 07:15:15
sanyo.95
Аlex писал(а):не могу понять в чём у Вас проблема
Я написал прграмму для часов на ds1307(код выше) теперь надо сделать так, чтобы при первом включении часов время можно было выставить( кнопками). Я пихаю опрос кнопок в основной цикл, но это не работает вообще. Вопрос - где опрашивать кнопки если не в основном цикле?
Может проблема не в опросе кнопок? А программа неправильно организована и из за этого опрос кнопок не работает? Взгляните на код пожалуйста.