Перейти к содержанию
    

uragan90

Свой
  • Постов

    210
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные uragan90


  1. toweroff

     

    Во дворе весь день стучат

    Двое стриженых внучат.

     

    Дед им вынес настоящий

    С круглой шляпкой молоток:

    - Вот, ребята, сбейте ящик

    Из распиленных досок.

     

    Яша стукнул по доске,

    А попало по руке.

     

    Больно пальцу - не беда,

    Так бывает иногда.

     

    Белой тряпочкой завязан

    Средний палец у него.

    Но и к деду ведь не сразу

    Приходило мастерство.

     

    Повнимательнее будь,

    К мастерству не лёгок путь!

     

    Взял Никита молоток

    И ударил ловко.

    Покосилась только вбок

    У гвоздя головка.

     

    Покосилась - не беда.

    Так бывает иногда.

     

    - Не беда, что у ребят,

    Как заметил кто-то,

    Ящик вышел кривоват, -

    Первая работа!

     

    Главное по спокойнее!

    Вы не дали не одного умного совета даже и на грамм, но умника стриите на целый киллограм!

     

     

    ВИНИПУХУ огромное спассибо за науку!!!!!!

  2. winipuh

    Да ничего страшного!

    Обзывайтесь :-)

    Я новичёк ещё в сим деле, хоть и стар уже!!!

    А вам Спасибо, за ваш труд!!!!

     

    Но пишу я на чистом "си" где нет никаких классов!

     

    И пишу пока как видите плохо, но я верю в то что когда нибуть стану писать значительно лучше

  3. Понемемаете мне нужна функция тестовая которая в массив сложила жы синус, два канала, причём первый канал был бы в старшем, а второй в младшем байтах двух байтового слова!

    И я мог бы обратится к этому массиву из других функций!

    Тоесть взять индекс массива mass;

    И в этом индексе массива были бы данные синуса для двух каналов.

    Ещё раз повторяю, что это тестовая функция и она нужна лишь для теста других функций в программе!

    В реале значения будут братся не из этой тестовой функции, а с реальных АЦП

  4. Написал для теста в Dev-C++ код который бы должен был по идеи вывести значения в отдельный файл txt

    Но не прокатывает

    В файл пишется ерунда всякая, но не то что ожидалось...

     

    #include <iostream>   
    #include <fstream> 
    #include <math.h>
    
    using namespace std;
    
    typedef union {
        unsigned short data;
        struct {
            unsigned char left;
            unsigned char right;
        } chan;
    } stereo_sample_t;
    
    struct sine_param {
        float amp_vol;
        float period;
    };
    
    static unsigned char get_sine_sample(const struct sine_param *p, int i) {
        return 128u + (unsigned char)(p->amp_vol * sin(M_PI * p->period * i));
    }
    
    static int sine_test(stereo_sample_t buf[], int num_samples) {
           
        struct sine_param left_ch = {65, 20};
        struct sine_param right_ch = {45, 30};
        int i;
    
        for(i = 0; i < num_samples; i++) {
            buf[i].chan.left = get_sine_sample(&left_ch, i);
            buf[i].chan.right = get_sine_sample(&right_ch, i);
                  
        }
    } 
    
    
    int main(void) {  
      
    ofstream File1;
    File1.open("C:/MasCH1.txt"); 
    
    stereo_sample_t Massine[8000] = {0};
    sine_test(Massine, sizeof(Massine) / sizeof(Massine[0]));
            
    for(int i = 0; i < sizeof(Massine) / sizeof(Massine[0]); i++)   { 
            
        File1 << Massine[i].data << endl; 
        }                          
    
    File1.close();
    }

  5.  

    Спасибо!!!

    Ну может и перемудрил конечно!

    M_PI не знал спасибо!

     

    Автор! Поаккуратнее с цитированием! Для того, чтобы сказать "спасибо" не обязательно бездумно копировать весь предыдущий пост кнопкой "Reply".

    От себя добавлю, что если Вы так же грамотно и внимательно пишете на С, как на русском, то удивляться совершенно нечему...

  6. Здравствуйте уважаемые!

    Написал такой вот код в keil 4.73

    А он не компилируется не в какую, где может быть косяк???

     

    #include <math.h>
    
    unsigned int Massine[8000];
    
    typedef union{
    int ch1_ch2;
    char ch[2];    
    }chn;
    
    void  sinetest(void) 
    {    
        float ampvol_ch1  = 65;  
        float period_ch1   = 20; 
    //-----------------------------------------
        float ampvol_ch2  = 45;  
        float period_ch2   = 30;  
    //-----------------------------------------   
        float pi   = 3.14;
        int index  = 8000;
        int i      = 0;
    //-----------------------------------------
        chn channel;
        
          for(i=0; i<index; i++)
        { 
                 
          channel.ch[0] = 128 + (ampvol_ch1*sin(i*pi*period_ch1));  
          channel.ch[1] = 128 + (ampvol_ch2*sin(i*pi*period_ch2)); 
          Massine[i]      = channel.ch1_ch2;             
        }
    }

     

    Интересует правильность синтексиса!

    А то я в майне вызываю эту функцию чтоб она заполнила массив, а код не компилируется!

    Но ведь с виду ошибок не вижу

  7. В принципе можно. У меня на сайте найдите "Краткий Курс", глава о многопоточности...

    Выглядеть будет так:

    Кольцевой регистр 30 раз по 12 разрядов (или память) в котором хранятся пороги сравнения, еще один такой-же + к нему аккумулятор для инкремента значений, 1 схема сравнения, 12 RS триггеров и немного управления...

    Кольцо переписываете по кругу, 1 регистр сравниваете и выход сравнения записываете в выходной триггер, соотв. номеру канала...

    А схема управления по очереди взводит RS триггера.

    Оооо!

    Спасибо!!!

    Надо попробовать, хоть какая то мысль интересная :-)

  8. Да! Я в курсе "ерм" не суть важно по токовым режимам, можно задействовать несколько ног на один канал если можно :-)

    Да и не в этом дело, можно ULN2003 поставить для уверенности, самое главное шим реализовать или как вы предложили сигма-дельта модулятор но он жрёт больше ресурсов чем шим!!!

    Сумматор в нём сложнее устроен чем компаратор

     

    Я просто не соображу можно ли сделать многоканальный шим на одном только модуле шима, раскидывая его по каналам с помощью например счётчика и демультиплексора?

    Или нужно шимить все каналы своим модулем шима?

  9. Это конечно всё здорово драйверы и прочее, но я уже заразился интересом реализации такого драйвера на плис попробую сам заделать.

    Структуру драйвера глянул в даташите, осталось по структурной схеме драйвера сбацать свой :-)

  10. Здавствуйте Уважаемые!!!

    Помогите выбрать правельный подход для реализации шим процессора на ПЛИС.

    Я хочу связать avr и плис по spi для того чтоб управлять десятком "РГБ" светодиодов, но у меня не хватает ресурсов плис, а именно epm540 может есть какое нибудь экономичное решение данной проблемы???

    Я делаю так:

    В плис создал сдвиговой регистр по принципу 74hc595 150bit в него гружу код всех 30 каналов шима, по 5 на канал цвета, счётчик 12bit (шим 12 бит) и 30 компараторов которые из регистра выделяют шим на каждый канал цвета (всего 30 каналов).

    Всё это кушает огромное кол-во LE.

    Вопрос:

    Каким образом снизить количество лэ для подобного дела???

     

  11. Подскажите САПР, который умеет это делать автоматически (расставлять виасы вдоль свч и протыкать земляные полигоны с заданной плотностью).

    Ручками куда приятнее и качественнее!

    Плата свч - это искувство требуещее постоянного контроля мастера...

  12. рано или поздно вам такое упрощение аукнется, мало не покажется. тем более что у вас платы большие цифровые и скорее все многослойные.

    Ну от чего же такой поспешный вывод делаете? Функция нужная, на крайняк просто не используй её!

    Но я вижу ето примерно так:

    У каждого УГО есть возможность выбрать параметор (Mode), я через mode делаю разные логические элементы типа отечественный стандарт лог.элемента И-НЕ и зарубежный.

    Почему бы через mode не делать так же и с такими "мульти"выводами?

    Рисуешь элемент стандартный где каждый вывод как сейчас приклеен к паду, а в mode можешь представить его иначе но ето представление не сможет что либо изменить с присвоениями кроме визуального изображения на схеме, тем более ЕСКД не противоречит...

  13. Вывести выводы инверторов на реальные пины плисы и на плате их соединить последовательно!

    Для 31 инвертора потребуется 60 пина всего...

    Но ето так :-)

    Ради шутки юмара ))))

  14. Создаю уго цифровой микросхемы в которой присудствует шина адреса и данных.

    И нет вроде проблем если накидать на форму кучу выводов с именами D0, D1, ... D15., A0...A7.

    Каждый вывод прикрепится к своему паду на плате в таком случае.

    Вопрос:

    А нельзя ли каким либо образом или техникой сделать так чтоб на УГО микросхемы был лишь один вывод для данных называемый D[15..0] и при подключении к нему шины каждый из проводников в шине подключался к своему паду на плате, но на схеме выглядел как "мультивывод" с подключеной шиной D[15..0]???

     

×
×
  • Создать...