|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 12:44 pm
| Автор |
Съобщение |
|
bobi13
Ранг: Минаващ
Регистриран на: Сря Авг 07, 2013 1:11 am Мнения: 41
|
 STM32f4-discovery
Здравейте, Искам да си направя генератор на три сигнала - полусинусиодален, триъгълен и правоъгълен ползвайки вътрешния ЦАП на development board STM32f4-discovery. Искам да променям честотата и амплитудата на сигналите. Проблемът, е че немога да разбера дали е възможно да променям опорното напрежение между 100mV - 2V със стъпка 100mV и ако е възможно как става. В момента съм пуснал само триъгълния сигнал, който се генерира вътрешно от контролера и на него се опитах да му променям амплитудата чрез натискане на бутон, но не се получи нищо.
|
| Съб Дек 05, 2015 9:12 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: STM32f4-discovery
Че може може, през ЦАП-а може всякакъв сигнал да го мениш както искаш със стъпката на ЦАП-а но друго не мога да ти кажа, идея си нямам от тоя проц какъв му е цапа, как се конфигурира и нямам време да го разследвам, други колеги със сигурност ще помогнат.
|
| Съб Дек 05, 2015 1:07 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11265 Местоположение: Добрич
|
 Re: STM32f4-discovery
По принцип DAC работи с Vref, който може да се задава от външен източник, обаче ти едва ли имаш такъв, а и да имаш може да се променя само в тесни граници. За подробности референс мануала и чаршафа, но с една дума не е добра идея. На генератора на триъгълното може да задаваш долната и горната точка, така че това е малко по-добър вариант. Но за другите форми няма скалиране до колкото помня, така че каквото зададеш това излиза като амплитуда. Ако не ти харесва амплитудата - не я задавай такава  Не се отчайвай, нормално е  Бих те посъветвал да започнеш с лек прочит на перифериите, да се запознаеш с възможностите им и след това да прецениш как да ги ползваш. Ако ще правиш различни форми, може би най-добре да не ползваш триъгълника (щото е само триъгълник), а всичи форми да си ги подготвиш в различни таблички. Така само с избор на табличка ще определяш формата. Ако искаш скалиране/офсет може от текущата табличка да си преизчислиш и да получиш офсетнатата и скалирана форма в нова табличка. След това преценяваш как ще наливаш тая табличка в DAC-a. Вариантите са софтуерно без прекъсвания, т.е. нещо като DDS генератор. Другия вариант е пак софтуерно, но с прекъсвания примерно на таймерче. И последния вариант е изцяло хардуерен - пускаш едно таймерче, което ти определя стъпката в рамките на периода (от там и честотата). Това таймерче трябва да генерира евенти, които пък задействат DMA, което път от своя страна копва една стойност от последната табличка към DAC-a... Не е толкова сложно... просто документациите не са удобни, но ако ги прочетеш няколко пъти ще ти светне 
|
| Съб Дек 05, 2015 2:47 pm |
|
 |
|
bobi13
Ранг: Минаващ
Регистриран на: Сря Авг 07, 2013 1:11 am Мнения: 41
|
 Re: STM32f4-discovery
Това което разбрах от datasheet-a, е че може да го настроиш от 0 до Vref, но още не съм рабрал как и дали въобще е възможно само с вътрешния източник ( сега гледам борда дали е възможно да сложа външен източник ). Аз искам да управлявам амплитудата и честота чрез тъчскрийн ( бутони ) и в краен случай ще сложа външен ЦАП и чрез I2C ще го управлявам, поне това което съм чел досега, не съм пускал външен ЦАП, така че ако съм в грешка ме поправете. За формите в таблицата ми е ясно, аз вече съм пуснал една такава, но в библиотеката никъде не виждам да управлявам амплитуда, на осцилоскопа виждам че е колкото Vref по подразбиране.
|
| Съб Дек 05, 2015 7:12 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: STM32f4-discovery
Без да засягаме изобщо самият процесор и конкретният DAC като че ли малко теорията как това работи ти се губи. DAC не прави нищо друго освен да обърне това което му подаваш като число в напрежение или ток. Да речем имаш 8 битов DAC с опорно напрежение 2.54 V, в този случай ако му подадеш число 100, на изхода му ще имаш точно 1 V, а ако му подадеш 1 ще имаш 10 mV, т.е. Vref/2^8 , ако е 10 битов ще е Vref/2^10 и т.н. От тук това което трябва да правиш е дамениш стойността на DAC в зависимост от формата на сигнала който искаш да имаш, разбира се и с нужната дискретност, т.е. на колко да ти е разделен сигнала. Примерно ако си решил да апроксимираш синусуида то тя ще се получи на стъпълца, като колкото по точно искаш да я апроксимираш, толков аповече стъпълца ти трябват. Тук идва лимитацията от самият DAC защото времето му за установяване не е безкрайно малко, примерно можеш да го зареждаш 1.000.000 пъти в секунда. Така ако искаш да имаш синусуида със 100 стъпълца, максималната ти честота която можеш да изкараш е 1000000/100 = 10000 или 10 kHz. от тук нататък самият ти софт трябва да се погрижи през точните интервали от време да зарежда DAC със съответната стойност. Та така най-общо работи DAC, това е съвсем опростено, има един куп неща свързани както с линейността, така и с точността и с това колко стъпълца да имаш, също така как може ефективно да се генерират нужните данни, и къде и как може да са ти от полза разните екстри които предлага съответното контролерче.
|
| Съб Дек 05, 2015 7:30 pm |
|
 |
|
bobi13
Ранг: Минаващ
Регистриран на: Сря Авг 07, 2013 1:11 am Мнения: 41
|
 Re: STM32f4-discovery
Благодаря за обяснението 
|
| Съб Дек 05, 2015 8:00 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: STM32f4-discovery
DAC-a на STM-a работи като DAC на всеки друг процесор. Vref ти го подаваш отвън или както е в случая с дискавърито Vref=VCC. И не може да скалира.
Ако искаш да правиш променлива амплитуда на изхода на DAC-a единствения ти вариант е да променяш старшите битове на данните които подаваш (реципрочно да си намалиш резолюцията). Ако можеш да варираш с хардуер - вариант е да вържеш отвън един цифров потенциометър и да си направиш 256 или колкокото там искаш "степени на усилването", което точно за сигнал генератор е по-добро решение според мен. Така амплитудата ти става независимо регулируема и си имаш пълната резолюция на DAC-a.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Съб Дек 05, 2015 9:50 pm |
|
 |
|
4040
Ранг: Почетен член
Регистриран на: Сря Фев 04, 2015 8:11 pm Мнения: 610
|
 Re: STM32f4-discovery
На Vref-а може да подадеш DC от PWM . Така формата си я правиш с ЦАП-а, а амплитудата с ПВМ-а. Ако буташ амплитудата с ЦАП-а, ще ти се влошава формата.
|
| Нед Дек 06, 2015 1:06 pm |
|
 |
|
bobi13
Ранг: Минаващ
Регистриран на: Сря Авг 07, 2013 1:11 am Мнения: 41
|
 Re: STM32f4-discovery
Moжеш ли да го обясниш малко по- подробно, че немога да рзбера как чрез PWM ще променям амплитудата на сигнала. Пак разгледах схемата на борда и не виждам Vref да е изведен на пин, той е директно закачен за Vdd.
|
| Нед Дек 06, 2015 1:15 pm |
|
 |
|
4040
Ранг: Почетен член
Регистриран на: Сря Фев 04, 2015 8:11 pm Мнения: 610
|
 Re: STM32f4-discovery
Важи по принцип , конкретния проц не го знам ,но едва ли е без ПВМ. Пина от ПВМ-а го прекарваш през 2 RC-филтъра и го подаваш на Vref. Обикновено има опция опорното на ЦАП-а да идва от външен пин, виж си даташита. Другото е директно да променяш Vdd в някакви граници, ама това е доста извратено. 
|
| Нед Дек 06, 2015 1:22 pm |
|
 |
|
bobi13
Ранг: Минаващ
Регистриран на: Сря Авг 07, 2013 1:11 am Мнения: 41
|
 Re: STM32f4-discovery
Процесора си има пин за PWM, но проблема, e че на development board-a пина който е за Vref на ЦАП-а е директно закачен на Vdd и неможе да се променя.
|
| Нед Дек 06, 2015 1:34 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11265 Местоположение: Добрич
|
 Re: STM32f4-discovery
Vref си има изисквания като долната граница мисля беше 1.8V. Проверете чаршафите, от самото начало казах че това не е добра идея.
|
| Нед Дек 06, 2015 1:45 pm |
|
 |
|
bobi13
Ранг: Минаващ
Регистриран на: Сря Авг 07, 2013 1:11 am Мнения: 41
|
 Re: STM32f4-discovery
|
| Нед Дек 06, 2015 1:52 pm |
|
 |
|
4040
Ранг: Почетен член
Регистриран на: Сря Фев 04, 2015 8:11 pm Мнения: 610
|
 Re: STM32f4-discovery
Някои ЦАП-ове са си дефакто цифрови потенциометри и позволяват всякакви напрежения за Vref в границите до Vdd. Случая явно не е такъв. Тогава остава само цифрово скалиране - сиреч повече сметки и по-начупена форма.
|
| Нед Дек 06, 2015 1:54 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: STM32f4-discovery
Стига сте обсъждали Vref, конкретния процесор няма такава екстра. Тоест има, ама е забита в чипа на VDD 
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Нед Дек 06, 2015 4:10 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|