|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 10:09 pm
Проблем с АЦП на STM32 Cortex M3
| Автор |
Съобщение |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
 Re: Проблем с АЦП на STM32 Cortex M3
То не е въпроса да разрешавам периферия която не ползвам, а че остават неизползвани пинове на периферия която ползвам... Изобщо - доста трудно става за проследяване. Едни таблици правя тука... Едни листа съм разхвърлял...
Не го хващам все още. Дано да излезне това - ако не - остава захранването!
Иначе ползвам: GPIO A, B C, D AFIO, SPI2 (I2S) DMA1, 2 TIM1, 2, 3, 4, 6, 7 USART 1, 2 ADC 1, 2 PWR, BKP. SDIO
|
| Чет Авг 18, 2011 5:17 pm |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: Проблем с АЦП на STM32 Cortex M3
Проблема е че в твоя частен случай ползваш доста периферия и ремапването ще бъде свързано с промяна на проекта и може да се наложи и кълцане по платката. За това най-добре да си създадеш един опростен проект в който бъга все още го има. Оставяш минимума периферия, който ти е необходим за да го пресъздадеш и наблюдаваш(бъга). Махаш компоненти от платката и ако се наложи кълцаш писти. След това с директно писане по AFIO_MAPR, някъде в началото където инициализираш перифериите, ремапваш и проверяваш имаш ли още бъгави отчети или не. Иначе така по документация да го хванеш - забрави. То и както добре и прегледно е описано в документацията... На мен ми уби цял ден в чесане по врата, четене и проби заради това ремапване, докато подкарам един прост SPI. При това не ползвах никаква друга периферия. Мина време и не помня точно но таймерите или UART, които споделят краката с SPI са били undefined и от там става тая каша с едновременното ползване на крака от няколко периферии. Разликата между работещ и неработещ код беше само едно писане по AFIO_MAPR...
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Чет Авг 18, 2011 11:11 pm |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
 Re: Проблем с АЦП на STM32 Cortex M3
Днес направих каквито се сетих тестове с ремапването. Няма да е от него. То в същност се оказа, че изобщо не ползвам никакво ремапване - демек всичко си е по дефолт, с изключение на забраняването на SWхх пиновете за дебъгване, които са включени по подразбиране. На захранване отива работата... Още наблюдения: АЦП-то си мери вградения вътрешен референсен източник - който уж трябва да е стабилен. Направих да ми помни и показва най-ниския и най-високия резултат. Пускам и пиша... После почвам да спирам по някоя периферия - и о чудо... Стойностите се приближават - и то някак в зависимост от големината на спряната периферия. Под големина разбирам тамер /малко/, I2S голямо. Примерно с колкото ми намалява проблема при изключване на I2S, горе долу с толкова намалява и с изключването на няколко таймера заедно. Ако спра и таймерите и I2S още по добре. Нямаше как да спра SDIO. Сигурен съм че той най-много ток дърпа... Бе захранване е - няма какво друго да е... Иначе моето захранване към проца е уж "редовно" до кокото е възможно. Имам си индуктивности - тантали и там каквото си трябва. Освен това преди време помня че пробвах и с линеен стабилизатор, че и с батерийно захранване чак. Явно нещо вътрешния стъбилизатор на проца се дъни /както вече беше нарочен/ и я масичка мърда я нещо друго... Трябвало е по-дебели жици да му сложат вътре. 
|
| Пет Авг 19, 2011 11:02 am |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
 Re: Проблем с АЦП на STM32 Cortex M3
Ако чипът сам си се смущава, ефектът от дроселите е отрицателен. По-добре наслагай повечко кондензатори, най-добре X7R, колкото може по-близо до захранващите пинове. Масата я вземай директно от ground plane, ако имаш такъв. Иначе и там ще трябва да гониш къси пътечки. Слагай по 100н до 470н, кондензаторите над 1 микро имат паразитни индуктивности, които за десетките мегахерци се усещат.
|
| Пет Авг 19, 2011 11:49 am |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: Проблем с АЦП на STM32 Cortex M3
Е точно за този случай говорим де. Когато всичко си е по дефоулт няколко периферии споделят един и същ пин. За да не се разбозява работата трябва едната периферия да се ремапне на друго място. Но каква е връзката с бъгавите отчети на АЦП-то можем само да предполагаме. Все пак ако си опитал всичко друго ти остават и най-невъзможните на пръв и втори поглед предположения.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Пет Авг 19, 2011 1:06 pm |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
 Re: Проблем с АЦП на STM32 Cortex M3
Е точно това правих цяла сутрин. Една по една ремапвах всички. Няма промяна!
|
| Пет Авг 19, 2011 1:14 pm |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: Проблем с АЦП на STM32 Cortex M3
Тези дни пак ударих греда в тоя STM32 и се сетих за тази тема. Писането по AFIO_MAPR дава резултат само ако е включен клока за този регистър. Включва се от бит 0 в регистър RCC->APB2ENR. Този бит по дефоулт е свален след RESET. Ако няма клок за AFIO_MAPR, писането по него минава, но без ефект - няма ремапване.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Сря Май 16, 2012 9:33 am |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
 Re: Проблем с АЦП на STM32 Cortex M3
Да да. Знам го туй за клока. Пускам клок когато ремапвам. Не е от това явно... Нямам време да стигна до F2 и F4, да видя там как е...
|
| Сря Май 16, 2012 11:20 am |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
 Re: Проблем с АЦП на STM32 Cortex M3
Малко закъсняло признание - и това е за F4... За F1 не съм търсил
Документа е: STM32F40x and STM32F41x Errata sheet
2.1.15 Internal noise impacting the ADC accuracy Description An internal noise generated on VDD supplies and propagated internally may impact the ADC accuracy. This noise is always active whatever the power mode of the MCU (RUN or Sleep). Workarounds Two steps could be followed to adapt the accuracy level to the application requirements: 1. Configure the Flash ART as Prefetch OFF and (Data + Instruction) cache ON. 2. Use averaging and filtering algorithms on ADC output codes. For more workaround details of this limitation, refer to AN4073.
|
| Вто Юни 18, 2013 7:33 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
 Re: Проблем с АЦП на STM32 Cortex M3
Е добре сме, няма що - две години им отнема да признаят нещо, което е очевидно за човек никога не ползвал и дори не чел чипа им: viewtopic.php?f=3&t=7587&start=21viewtopic.php?f=3&t=7587&start=35
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Вто Юни 18, 2013 7:51 pm |
|
 |
|
БатеВаньо
Ранг: Новодошъл
Регистриран на: Чет Яну 04, 2007 12:43 am Мнения: 178
|
 Re: Проблем с АЦП на STM32 Cortex M3
При F4 (а и при F2) наистина има проблем с шумовете на АЦП-то. И си го признават честно в ератата. Явно заради повишаването на бързодействието са жертвали стабилността. При F1 такъв проблем няма. Не съм правил специални измервания, но по груби впечатления там "мърдането" е единици на младшия разряд.
|
| Вто Юни 18, 2013 9:33 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|