Very Hot Topic (More than 50 Replies) Микроконтроллер - как перспектива примочкостроения (Прочитано 128686 раз)
Ivana
Участник


Re: Микроконтроллер - как перспектива примочкостроения
Ответ #340 - 02.12.2011 :: 15:58:34
Post Tools
Это Цитата:
легко как два пальца
и на словах и в коде и в железе. В СПб Цитата:
нет ни тюнеров, ни драм машин, ни толкового бит крашера
?
Надо Турку сказать - пусть расширит ассортимент, озолотится Улыбка Насчет бит-крашера не знаю что это вообще такое, но тюнер с метрономом даже мне написать очень просто, в оговоркой на возможную сложность индикационного табла  Круглые глаза Кстати, простейшая задачка моргания светодиодом с изменяемой частотой, с которой начинает большинство свой путь в мучение МК - это уже готовый метроном.
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
research
Участник


Re: Микроконтроллер - как перспектива примочкостроения
Ответ #341 - 02.12.2011 :: 16:25:29
Post Tools
метроном - да. А драмку, попробуй нормальных барабасов и  крэшей впихни в 64к кристалл, и чтобы звучало заметно лучше Zoom. Не так-то просто, когда дело доходит до практики.

Под практикой подразумевается вещь, которой можно пользоваться, а не макет.
« Последняя редакция: 02.12.2011 :: 16:27:43 от »  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Ivana
Участник


Re: Микроконтроллер - как перспектива примочкостроения
Ответ #342 - 03.12.2011 :: 12:49:43
Post Tools
Не, про нормальные семплы и их склейки - отдельный разговор Улыбка
Хотя, идея сделать метроном звучащий не щелчками а коротким семплом витает в воздухе. Например, записать крик какой-нибудь теннисистки при ударе и этим вскриком метрономить  Круглые глаза Думаю, заниматься будет гораздо интереснее  Смех
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
VAT
Разбирающийся
****
Вне Форума



Сообщений: 1453
Местоположение: Moscow
Зарегистрирован: 27.09.2005
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #343 - 03.12.2011 :: 18:26:36
Post Tools
Rst7,
зашел на чип-дип, поискал что там есть под малые корпуса. 32битные это уже ног эдак 48, а зачем такие излишества? 
адекватно моей задаче выходит ATTINY24A,
цена в $6 правда несколько расстроила..
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Rst7
Гуру
*****
Вне Форума


Мимо проходил...

Сообщений: 1619
Местоположение: Харків-city
Зарегистрирован: 22.03.2010
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #344 - 03.12.2011 :: 18:48:26
Post Tools
Цитата:
цена в $6 правда несколько расстроила..


Так Вам шашечки (8 бит с знакомыми тремя буквами AVR за шесть баксов) или ехать (LPC1114FBD48 с корпусом о 48 ног в MT-System за 50 рублей в розницу)?
  

(Вложенный файл удалён)

"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен
Наверх
WWW  
IP записан
 
VAT
Разбирающийся
****
Вне Форума



Сообщений: 1453
Местоположение: Moscow
Зарегистрирован: 27.09.2005
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #345 - 06.12.2011 :: 02:06:07
Post Tools
Rst7:
мне - результат. Я не уверен что он будет проще и быстрей если разрядность будет 32 бита.
-киньте в личку, плиз, где это можно купить
При моей данной конкретной задаче скорость и разрядность дело распоследнее (а-ля сигнализация).
Из важных параметров: наличие АЦП с опорой - отслеживать батарейку, 4-7 входных, 2-4 выходных ног, питание батарейное 3В, потребление минимальное, желательно чтоб батарейки (типа большой литиевой таблетки, наверное 200-500мАч) хватило на полгода-год при опросе входов раз в полсекунды.

PS:
Зачастую от процессора требуют решения ненужных задач. Например из опыта 10летней давности:
Некое устройство с 12бит АЦП которое требует калибровки.
Вариант 1 (ТЗ)- снятие данных с АЦП микроконтроллером, передача этих данных в РС вторым микроконтроллером (первый типа сильно загружен сканированием нескольких каналов с усреднением и передачей данных по компорту), расчет коэффициентов в РС (поскольку требуется 16-разрядное деление!. Поправочные коэффициенты затем спускаются сверху вниз, храняться и используются вторым микроконтроллером. Заняты делом 3 процессора.
вариант 2 - на единственный микроконтроллер приходит команда "калиброваться" - и он тупо прибавляя по 1чке подгоняет свои коэффициенты под входной образцовый сигнал. 16-ти разрядное деление просто не нужно. Ну и еще куча + по ТТХ, включая совместимость со сторонним софтом.
А на выход прошел вариант №1((

« Последняя редакция: 06.12.2011 :: 02:14:44 от VAT »  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Peratron
Гуру
*****
Вне Форума


GTLab - forever!

Сообщений: 13579
Зарегистрирован: 16.08.2009
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #346 - 06.12.2011 :: 08:45:52
Post Tools
Цитата:
-киньте в личку, плиз, где это можно купить
А чем чипфайнд не угодил?!  Озадачен
  

(Вложенный файл удалён)

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...
Наверх
 
IP записан
 
VAT
Разбирающийся
****
Вне Форума



Сообщений: 1453
Местоположение: Moscow
Зарегистрирован: 27.09.2005
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #347 - 06.12.2011 :: 16:10:55
Post Tools
Peratron, спасибо.
я ж давно не у дел - больше 10 лет.( - откуда мне знать где искать.
Отдельно спасибо за Ардуино. Читал я в своё время спецификации и USB1.1 и PCI/32бит ))) Некоторые думают что это типа эволюция компорта и шины ISA.) Эх туда бы в 1999й эту Ардуину..   

Беглый поиск по сайту дал по ATtiny24 -  45-70руб/шт
по LPC1114FBD48 - 100-150руб/шт
что в общем-то ощутимо если задача простая..
Честно говоря не огорчился.

Почему чип-дип торгует минимум в 2 раза дороже даже большими партиями? охренели?

  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Peratron
Гуру
*****
Вне Форума


GTLab - forever!

Сообщений: 13579
Зарегистрирован: 16.08.2009
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #348 - 06.12.2011 :: 16:29:38
Post Tools
В чип-дипии давно уже ловить нечего - а процессорную мелочь удобней всего брать на митьке. Там на цокольном этаже есть лавочка - кажется, называется "импортные микросхемы" и цены там реально невеликие. Она чипфайндом отыскивается - я так на неё и вышел.
Несмотря на завлекательные цены новые 32-разрядники обойдутся в совокупности дороже - и в том числе и по затрате ресурсов на освоение.
Для множества задач атмега8 является оптимальным по совокупности всех факторов.

Если что - пиши в личку...
  

(Вложенный файл удалён)

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...
Наверх
 
IP записан
 
Rst7
Гуру
*****
Вне Форума


Мимо проходил...

Сообщений: 1619
Местоположение: Харків-city
Зарегистрирован: 22.03.2010
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #349 - 06.12.2011 :: 16:43:49
Post Tools
Цитата:
-киньте в личку, плиз, где это можно купить


Я же вроде пальцем тыкнул - компания MT-System.

http://www.mt-system.ru/

Являются официальным дистрибьютором NXP в России. Соответственно минимальные цены на продукцию.
  

(Вложенный файл удалён)

"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен
Наверх
WWW  
IP записан
 
Rst7
Гуру
*****
Вне Форума


Мимо проходил...

Сообщений: 1619
Местоположение: Харків-city
Зарегистрирован: 22.03.2010
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #350 - 06.12.2011 :: 16:44:55
Post Tools
Цитата:
Несмотря на завлекательные цены новые 32-разрядники обойдутся в совокупности дороже - и в том числе и по затрате ресурсов на освоение.


Ну-ка обоснуйте.
  

(Вложенный файл удалён)

"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен
Наверх
WWW  
IP записан
 
Jimmy Page
Участник


Re: Микроконтроллер - как перспектива примочкостроения
Ответ #351 - 26.01.2012 :: 16:15:01
Post Tools
Обсуждения тюнера были перенесены в .
« Последняя редакция: 26.01.2012 :: 16:18:19 от »  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Rus
Разбирающийся
****
Вне Форума



Сообщений: 1017
Местоположение: Ukraine, Odessa
Зарегистрирован: 22.02.2007
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #352 - 05.02.2012 :: 20:27:39
Post Tools
Влезу снова со своей сверткой.
Известно (вроде как), что линейную свертку во временной области можно реализовать, перемножив Фурье-образы сигналов, а затем проделать оДПФ с результатом. Но у меня из этого получается какая-то фигня. При этом, точно могу сказать, что БПФ и оБПФ выполняются правильно. Может, там что-то еще какая операция нужна? Я просто почленно умножаю действительные и мнимые части результатов БПФ сигналов.
  

(Вложенный файл удалён)
Наверх
IP записан
 
Rst7
Гуру
*****
Вне Форума


Мимо проходил...

Сообщений: 1619
Местоположение: Харків-city
Зарегистрирован: 22.03.2010
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #353 - 05.02.2012 :: 21:15:37
Post Tools
Цитата:
Известно (вроде как), что линейную свертку во временной области можно реализовать, перемножив Фурье-образы сигналов, а затем проделать оДПФ с результатом. Но у меня из этого получается какая-то фигня.


Не фигня, а циклическая свертка.
  

(Вложенный файл удалён)

"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен
Наверх
WWW  
IP записан
 
Rst7
Гуру
*****
Вне Форума


Мимо проходил...

Сообщений: 1619
Местоположение: Харків-city
Зарегистрирован: 22.03.2010
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #354 - 05.02.2012 :: 21:17:35
Post Tools
Цитата:
Я просто почленно умножаю действительные и мнимые части результатов БПФ сигналов.


Ну только не почленно, а
  

(Вложенный файл удалён)

"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен
Наверх
WWW  
IP записан
 
Rus
Разбирающийся
****
Вне Форума



Сообщений: 1017
Местоположение: Ukraine, Odessa
Зарегистрирован: 22.02.2007
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #355 - 06.02.2012 :: 07:30:03
Post Tools
Туплю что-то... это же формула с 5-го класса!
Может кто-то подсказать, как получить не циклическую, а линейную сверту из Фурье-образов? Книжки читал, но не нашел про этот аспект Печаль

Еще порылся в нете и добавил:
Вопрос решен Улыбка
« Последняя редакция: 16.02.2012 :: 22:14:09 от Rus »  

(Вложенный файл удалён)
Наверх
IP записан
 
burjak
Младший паяльщик
**
Вне Форума


фуз forever!

Сообщений: 186
Зарегистрирован: 31.12.2011
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #356 - 26.02.2012 :: 01:45:14
Post Tools
Цитата:
барабасов и  крэшей впихни в 64к кристалл

А в чем проблем использовать нормальную флешку на сколько нужно гиг?
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Rus
Разбирающийся
****
Вне Форума



Сообщений: 1017
Местоположение: Ukraine, Odessa
Зарегистрирован: 22.02.2007
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #357 - 26.02.2012 :: 20:19:22
Post Tools
Вопрос скорее всего к Rst7, но если кто-то еще сможет помочь, буду очень признателен.
Имеется такой код, сделанный в Keil uVision для LPC1759, но я не понимаю, почему результаты свертки через  FFT получаются неправильные. Перепроверял 500 раз все. По аналогичному алгоритму делал прогу на C++ в Билдере и все работало,а тут... Раскладывается в спектр и собирается обратно правильно. Каждый блок продлен нулями до длины, превышающей их сумму минус 1, что необходимо для вычисления линейной свертки.
Причем, если в импульсе (условно) установить только одну какую-то точку, а все остальные нули, то считается правильно. Если больше одной, отличной от нуля, начинается лажа.
Все реализовано на функциях из официальной либы от NXP - DSPLib.

Вот, собственно, код:

#include <system_lpc17xx.c>
#include <LPC17xx.H>
#include "arm_math.h"
#include "math_helper.h"

float32_t testInputA_f32[64] = 

0, 3211, 6392, 9511, 12539, 15446, 18204, 20787,                                     //один
23169, 25329, 27244, 28897, 30272, 31356, 32137, 32609,                         //входной блок
32767, 32609, 32137, 31356, 30272, 28897, 27244, 25329,
23169, 20787, 18204, 15446, 12539, 9511, 6392, 3211,
0, -3211, -6392, -9511, -12539, -15446, -18204, -20787,
-23169, -25329, -27244, -28897, -30272, -31356, -32137, -32609,
-32767, -32609, -32137, -31356, -30272, -28897, -27244, -25329,
-23169, -20787, -18204, -15446, -12539, -9511, -6392, -3211
}; 
                                                                                                                   
float32_t testInputB_f32[64] =   

0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0,               //"импульс"
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
};                                                       

#define MAX_BLOCKSIZE      128
float32_t Ak[MAX_BLOCKSIZE];            //входные
float32_t Bk[MAX_BLOCKSIZE];            //буферы;
float32_t AxB[MAX_BLOCKSIZE * 2];      //выходной буфер;
float32_t conv[128];                        //референс

void up(void)
{
LPC_GPIO1->FIODIR |= 1<<0; 
}

void down(void)
{
LPC_GPIO1->FIODIR &= 0<<0; 
}
//------------------------------------------------------------------------------
-------
int32_t main(void)
{
arm_cfft_radix4_instance_f32 cfft_instance;                  // объявляем аргументы функций
arm_cfft_radix4_instance_f32 cfft_instance_inv;        // прямого и обратного БПФ


arm_cfft_radix4_instance_f32 *cfft_instance_ptr =                     //создаем
(arm_cfft_radix4_instance_f32*) &cfft_instance;                    //указатели
                                                                                           //на аргументы
arm_cfft_radix4_instance_f32 *cfft_instance_inv_ptr =               //функций
(arm_cfft_radix4_instance_f32*) &cfft_instance_inv;                    //прямого и обратного БПФ



/* Заполняем входные буферы нулями*/
     arm_fill_f32(0.0,  Ak, MAX_BLOCKSIZE);
     arm_fill_f32(0.0,  Bk, MAX_BLOCKSIZE);

     /* Копируем данные в половину длины каждого буфера*/
     arm_copy_f32(testInputA_f32,  Ak, MAX_BLOCKSIZE/2);
     arm_copy_f32(testInputB_f32,  Bk, MAX_BLOCKSIZE/2);


arm_conv_f32(Ak, 64, Bk, 64, conv);       // для сравнения делаем свертку отдельной функцией
      
arm_cfft_radix4_init_f32(cfft_instance_ptr, 64, 0, 1); //         Инициализируем                                                                                           
                                                                                    //            прямое и обратное
arm_cfft_radix4_init_f32(cfft_instance_inv_ptr, 64, 1, 1); //   БПФ


arm_cfft_radix4_f32(cfft_instance_ptr, Bk);       // Делаем БПФ ядра

up();                  
                                                                                          
arm_cfft_radix4_f32(cfft_instance_ptr, Ak);      // Делаем БПФ данных       
                             
arm_cmplx_mult_cmplx_f32(Ak, Bk, AxB, MAX_BLOCKSIZE);  // Комплексно перемножаем результаты
     
     
arm_cfft_radix4_f32(cfft_instance_inv_ptr, AxB);  // Делаем обратное БПФ   
                                         
down();
             
}


Any suggestions?
  

(Вложенный файл удалён)
Наверх
IP записан
 
burjak
Младший паяльщик
**
Вне Форума


фуз forever!

Сообщений: 186
Зарегистрирован: 31.12.2011
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #358 - 26.02.2012 :: 20:58:11
Post Tools
Библиотечными функциями не пользовался, так что по ним не скажу. Но для начала загоните в проц готовые образы сделанные на том же матлабе, потом на проце проделать комплексное умножение двух этих массивов, вернуть результат и сделать ifft в том же матлабе (или в вашей программе на билдере)
Потом идем дальше, на пример переносим бпф на проц, а ибпф остается на матлабе(проге)
Так будет проще найти ошибку, чем ждать пока кто-то раскопает ваш код и найдет ее там...

вот скрипт для матлаба:
X=fft([x zeros(1,length(y)-1)])
Y=fft([y zeros(1,length(x)-1)])
conv(x,y)=ifft(X.*Y)

Ну и не забывайте про round-off-error.
у Вас же в коде на проце целочисленная float32 арифметика? а в проге на c++ какая?
« Последняя редакция: 26.02.2012 :: 21:00:10 от burjak »  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Rus
Разбирающийся
****
Вне Форума



Сообщений: 1017
Местоположение: Ukraine, Odessa
Зарегистрирован: 22.02.2007
Re: Микроконтроллер - как перспектива примочкостроения
Ответ #359 - 26.02.2012 :: 21:16:26
Post Tools
@ burjak
Про ошибки округления это я в курсе, но там кардинально не соответствует. Спасибо за идею, попробую загнять fft образы с проги. С матлабом не оч дружу, если честно Смущённый
Да, и там и там float32. Но на проце он не приемлем по времени, так что в итоге планирую на int32 делать. Благо, там аналогичные функции для разных форматов есть.
  

(Вложенный файл удалён)
Наверх
IP записан
 
 
  « Главная ‹ Раздел Наверх этой страницы