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

MasterCat

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о MasterCat

  • Звание
    Участник
    Участник

Посетители профиля

1 091 просмотр профиля
  1. А почему просто на МК не сделать источник сразу? Тем паче, что выбор есть. Опять же параметры источника и алгоритмы exception надо указывать, а то потом выясняется, что пульсации надо 0,001%, точность 0,01%, входное ~30...380V и т.д. Свою рпограмму поправишь, как хочешь.
  2. есть ещё интересное, аккустический слепок (венозный кровоток хорошо раскладывается в спектр) . Есть решение виброаккустики (на других сенсорах). Сочетание с названным может дать интересный результат.
  3. Всё знакомо, в контексте шахт, но тоже не из Питера. А кто мешпет заключить договор, переслать бумаги , получтиь результат. Если человек в теме, чего ему на пальцах объяснять? выше разработчик газоанализаторов (бывший) , но не из питера.
  4. Вот таки да. Есть у меня хлопец, буквы в алгоритмы складывать у него получается, но как только до физического уровня ( а в силе без этого ну никак), всё заканчивается. Ну не понимает от слова совсем про токи и транзисторы, хоть убей. ТС же пердполагает найти того, кто понимает чего делает, а не тупо описывает, если я правильно понял.
  5. питаю с 33063 и проблем вроде нет. вот фрагмент, на схеме есть и питание. http://crown.vskh.ru/angleSensorVAF.html
  6. Черт, прозевал такую интересную ветку, можно сказать своё любимое. Посыпаю голову пеплом. Тут на бегу пришлось сваргантить эмулятор VAF. Со-но и снифер пришлось быстренько сколхозить. STM32 под рукой не было, соорудил на at90pwm316, я их в силе пользую. Сырцы придется теперь ковырять, дабы в тему влезть. Это время. Благо ни с одним из аспектов нет белых пятен, но время, черт. Как же досадно, черт.
  7. ? Где вы территориально находитесь ? ? СИБНИИЦМТ часом не с этой же поляны ?
  8. С армами, думаю, не прокатит. дело даже не втом залочен или нет, дело м.б. в алгоритме первого включения. Это как в автомобиле, можно половину датчиков отключить и таки за пивом съездить, только вот функционала не будет от слова совсем. Например у меня противопехотная мина такая: работает, но не долго, ежели не выполнены сопутствующие условия. Даже защиту можно не ставить, она динамическая. Опыт говорит за то, что дешевле купить контролеры, ну и быстрее.
  9. тоже задался этим вопросом. в спциализированной таракашке схема выборки хранения не случайна. после борьбы с помехами и пр, оказалось дешевле взять заточенную под это мелкосхему. рвемя потрачено будет много больше и ради чего?
  10. я пример сначала проверил. он рабочий. а то что надо аккуратнее с этим делом, ну да, согласен. это 9битный вывод на индикатор. на нем нагляднее визуально изменение скорости. что-то от 1 кадр в 10 сек, до 20 кадров в сек.
  11. == ну вот сгородил примерчик для демонстрации. частота клока известна же. формат фрейма тоже #define lospeed 1 // l_pSpi0->SPI_MR = 0xE0019; AT91F_SPI_CfgMode(AT91C_BASE_SPI0, ( AT91C_SPI_MSTR /*master*/ |AT91C_SPI_MODFDIS /*mode fault detector*/ |AT91C_SPI_PS_VARIABLE /*выбор фиксированной периферии*/ #ifdef lospeed |AT91C_SPI_FDIV /*тактирование MСK/n */ #endif ) /*==0 SPCK=MCK/SCBR. ==1 SPCK=MCK/(32*SCBR)*/ /**/ ); // l_pSpi0->SPI_CSR[0] = 0x01010C11; //9bit, CPOL=1, ClockPhase=0, SCLK = 48Mhz/32*12 = 125kHz AT91F_SPI_CfgCs (AT91C_BASE_SPI0, 0, AT91C_SPI_CPOL | AT91C_SPI_BITS_9 #ifdef lospeed | ( AT91C_SPI_SCBR &( 0xFF << 8 )) /*это оччень медленно, . т.к. AT91C_SPI_FDIV =1 */ #else | ( AT91C_SPI_SCBR &( 0x08 << 8 )) // см.l_pSpi0->SPI_MR #endif | ( 0x01 << 16 ) | ( 0x01 << 24 ) ); в регистре SPI_CSR0 поле SCBR (биты с 8го по 15й) содержит условное значение скорости. от х00 до хFF . это делитель частоты MCK . если бит T91C_SPI_FDIV в регистре MR установлен , то всё в 32 раза медленее. собственно и всё.
  12. например вот так можно попробовать. //----------------------- S P I ----------------------------------------- AT91PS_SPI pSPI; ///указатель на SPI //------------------------------------------ void InitSPI(void){ AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA28 | AT91C_PIO_PA29; // AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA28 | AT91C_PIO_PA29; //PIO_OER регистр разрешения выхода AT91C_BASE_PIOA->PIO_SODR = AT91C_PIO_PA28 | AT91C_PIO_PA29; // PIO_SODR регистр установки выходных данных. // ======== Init SPI_CS0 ================ AT91PS_SPI pSPI;// = AT91C_BASE_SPI ; pSPI = AT91C_BASE_SPI ; // -------- Init SPI_CS0 ------------------- AT91F_SPI_CfgPMC(); // Enables the SPI Clock (разрешение тактирования SPI) // AT91F_SPI_CfgPIO(); // Open PIO for SPI // Configure PIO controllers to periph mode AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, // PIO controller base address ((unsigned int) AT91C_PA13_MOSI )| ((unsigned int) AT91C_PA14_SPCK ) | ((unsigned int) AT91C_PA11_NPCS0 ) , /*выбор периферии*/ 0 ); // Peripheral B AT91F_SPI_Reset(pSPI);// Reset SPI AT91F_SPI_CfgMode(pSPI, ( AT91C_SPI_MSTR\ |AT91C_SPI_MODFDIS \ |AT91C_SPI_PS_VARIABLE \ |AT91C_SPI_FDIV ) /*==0 SPCK=MCK/SCBR. ==1 SPCK=MCK/(32*SCBR)*/ /* */ ); //AT91C_SPI_CPOL //полярность синхросигнала // AT91C_SPI_NCPHA // фаза достоверности данных // AT91C_SPI_CSAAT //активность выбора СS после передачи ==1 до передачи другой меикросхеме // (AT91C_SPI_BITS & AT91C_SPI_BITS_10) //количество бит во фрейме // (AT91C_SPI_SCBR & (0x06 << 8))// скорость (НУЛЕМ запрещено. по умолчанию 00) AT91F_SPI_CfgCs ( pSPI, 0, AT91C_SPI_NCPHA /* Clock Phase*/ | AT91C_SPI_CSAAT /* Mode 0 & Chip Select After transfer disabled*/ |AT91C_SPI_BITS_16|(10<<8) /* mask & Bits per transfer*/ |(AT91C_SPI_SCBR & (0x01 << 8))); /* скорость (НУЛЕМ запрещено. по умолчанию 00)*/ //AT91F_SPI_CfgMode(pSPI, SPI_MODE); // Configure SPI in Master Mode with No CS selected //AT91F_SPI_CfgCs(pSPI, 0, SPI_NPCS0_CONFIG); // Configure SPI CS0 AT91F_SPI_Enable(pSPI); // SPI_Enable } генератор же тактирования периферии он отдельно задается. тут только скорость, типа делить\не делить. в книжке редькина это описано (неплохой вообщем перевод) например так (т.е. это в первую очередь, а уже потом SPI) AT91C_BASE_PMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x40 <<8) | AT91C_CKGR_MOSCEN )); // ожидание стабилизации частоты основного генератора while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS)); while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) ); // отключение сторожевого таймера AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS; // разрешение тактирования PIO AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA ) ;
  13. если хочется 250, то силабс. тас в конфиге в чем прелесть... рисуешь эпюру и связи, выстраиваешь ПИД, если ползуешь и в реалии видишь чего будет. потом он заполнит таблицу регистров. берешь их в ихний текст ставишь. работает. а уж алгоритм - это как изгальнёшся. делал , например, ШИМ до уровня ограничения который сам себе придумал, потом на этом уровне ЧИМ и на границе ФИМ до 0-ля. красиво получилось. главное , что он сам это делает. моя задача была стрелочками соединить кто на кого влияет.
  14. PSC у них на другой частоте работет 32 или 64 мгц. там PLL же у них. что на 8ми мгц что на одном. когда компаратор исползуешь сам по себе, ну понадобился, тогда всё так и есть. когда коммутируешь на PSC по другому. ну зашейте генератор на скажем 0,5 мкс с пузой в 50мкс, заведите PSCOUT00 на вход компаратора и в осциллопере увидете как оно. ей богу не вру. а проца оставте на 1 мгц. поэтому кварца никогда не ставлю. скорострельности на 8 мгцах хватает. далее. я еже ответи про 250 кгц. на AT90PWM этого не сделать. до 150ти. выше 135 не лезу. обычно выше 100. на килловатах тяжело на высоких частотах. (по разным, в.т.ч. и объективным причинам) на SI8250 ваша проблема решается легко и не принужденно. но для этого, как я уже говорил, придётся КиТ купить. а сним идут рабочие! исходники. конфигурируешь и вперед. только сначала надо уяснить как с кроссматрицей работать. чтоб не налететь.
  15. они не наврали. потом в аппнотах у них много чего написано. например состояние выходов по сбросу описано с точностью до наоборот, что влечёт бдынь за собой. режим компаратора выбирается. к тому же есть ещё вход PSCIN , который может с внешнего сигнала изменять состояние силы.
×
×
  • Создать...