Отговори на тема  [ 56 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща
Проблем с АЦП на STM32 Cortex M3 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Май 27, 2006 12:37 pm
Мнения: 647
Местоположение: с. Згалево
Мнение 
Обаче и от това неще да се оправя. Тоест никаква промяна няма. Направо откачих пина - и все тая. Друго ще да е!
Май ще му спретна един цифров филтър - дето да маха случайни скачания нагоре и надолу...


Чет Фев 25, 2010 2:49 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Абе едва ли е това, това до колкото разбирам си е съвсем отделен пин. Макар че ако не е 5В толерантен, може да завърта някакви идиотски токове пред клампиращите диоди и да побърка процесора. Божа работа. Във всички случаи трябва да си оправиш това, най - лесното е резистор и диод.

На мен нещата ми изглеждат повече като софтуерна история. Щом казваш че не само ADC-то куца в цялата система, а и нещо с екрана помазва....

Дебъгера му е майката братче. Лудост е да пуснете подобна платка без възможност за дебъг. Ако имаш UART организирай си някакъв притивен дебъг от там и рови, прилича си на софтуер.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Фев 25, 2010 2:50 pm
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Май 27, 2006 12:37 pm
Мнения: 647
Местоположение: с. Згалево
Мнение 
Здравейте!
До работещ вариант така и не се стигна. АЦП-то си дава от време на време грешни резултати и това е. Има нещо - ама какво е... И аз за софтуер си мисля - ама не остана нещо дето да не е проверено поне по 3-4 пъти.
За сега - анализирайки смущенията /графиката/ - спретнах следния елементарен филтър:
1. Следя 3 последователни измервания и реално подавам като изход от филтъра най-старото. Демек закъснявам с 3 измервания - но за приложението - няма значение.
2. При всеки нов семпъл, проверявам дали средния /един вид предишния/ не е по-голям или по-малък от двата около него - по-предишния и сегашния. Ако е, тогава го приемам за смущение и го правя равен на този преди него - демек на най-стария.
Малко по интуиция стана цялата работа, щото от математика никак не разбирам - ама работи даже много по-добре от очакваното. Като му сложих и след това един "Moving Average Filter", че лесно се смята и работата стана. Хем бави приемливо, хем е леко за сметка, хем е и напълно задоволително като резултат.

Вярно, че е малко крива работа - със софтуер ... калпав хардуер - ама... за сега няма друг начин. Търсенето ще продължи де.

Един колега и той се оплаква от нестабилно АЦП и то на същото китче. Дали не са купили някоя скапана партида за по-евтино тия китайци - кой ги знае...


Пет Фев 26, 2010 3:54 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Не е работа така :(

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Фев 26, 2010 6:16 pm
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Май 27, 2006 12:37 pm
Мнения: 647
Местоположение: с. Згалево
Мнение 
А здравейте отново.
Темата е стара - а проблемите с ацп-то не са се решили все още.

От няколко дена обаче имам доставени за тестове няколко чипа от новия модел STM32F205 и започнах да чета по внимателно за него. Заедно с това, започнах да имам подозрения къде може да ми е причината за проблемите с АДЦ-то при старата версия на чипа.

Както казах и преди - имам някакво вътрешно чувство, че проблема е някъде вътре в захранването на чипа. Да припомня, че отвън си има всички нужни кондензатори и т.н. Опроводяването също е по референс. Чак сега обаче разбрах - че ядрото и дигиталната периферия на тия чипове работели на 1.2 волта и за целта вътре си имало собствен стабилизатор, който прави от 3.3 - 1.2. Като правих ревизия на краката, за да видя дали старите процесорни платки ще станат и за новата версия на процесора - установих че не стават и причината е единствено в 2 крака, които преди са били захранване, а сега на тях са изкарали изводи СЛЕД вътрешния референс, за да му сложиш и на него байпас кондензатори на изхода му. По стандарт се слагат 2 броя по 2.2uF което никак не е малко.

Явно - или поне аз така си мисля, при оределени условия в старата версия на чипа тоя вътрешен регулатор може и да е почнал да осцилира. Може би точно това се е получавало при мене, при натрупване на много периферия и при липса на каквито и да е кондензатори на изхода на регулатора.

Като пусна в действие новия процесор - ще споделя впечатления.

Имам и една чуденка.
В новата версия - понеже тъй и тъй имаш изводи СЛЕД изхода на вътрешния регулатор, са направили регулатора да може да се изключва, и да ползваш изцяло външен. Притеснява ме само, че външния би влизал в чипа само и единствено през тези 2 крака. Не е ли малко? Та то това е реално захранването на почти целия чип. Чудя се, защото за стандартното захранване от 3.3 волта имам поне 5 двойки крака.
Нямам много опит с захранване на процесори които вътрешно работят на различни волтажи. Как мислите, кое е по добре? Да ползвам вътрешния с нужните външни кондензатори - или направо да правя външно захранване за ядрото. Имаше някакви LD1117 или нещо подобно бяха. Май те са за тая цел точно... :(


Чет Юли 21, 2011 10:09 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Относно твоя проблем - аз продължавам да мисля, че проблема не е в процесора. Просто ги ползвам вече 5 години, имам пройзведени стотици устройства. Всякакви други щуротии съм виждал, ама това което ти описваш не. Също така контактувам с много хора които ги ползват, чета им редовно и форумите на ST - никъде не съм срещал нещо подобно на това което описваш.

А и имам чуството, че продължаваш да гледаш на проблема като черна кутия. Т.е. променяш софтуера и гледаш какво се получава. Това се оправя само с яко закопаване вътре, дебъг на ниско ниво и много гледане със скопа. Синхронизирай се бе мама му стара. Тури там някакъв софтуер дето да дебне лоши отчети, спри се там и виж точно какво друго си правил в тоя момент. Вдигай пинове като правиш определени неща, та да търсиш зависимост.

Един тъп въпрос, ама е елементарно и ако не си го проверил..... като ти дойде лош отчет от АЦП, провери ли захранването? Ама синхронно - в момента в който се появи лошия - какво е захранването (щото може и да имаш кратък дроп)?

Относно опита с подобни процесори - че те всички съвременни процесори са така. АРМ контролерите всичките са така - ядрото винаги е на по ниско напрежение и повечето които са клас контролер са с вътрешен LDO. То даже пиковете в последно време и те така се правят. Напрактика трудно ще намериш процесор който да не е така :)

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Последна промяна Цецо на Чет Юли 21, 2011 10:56 am, променена общо 2 пъти



Чет Юли 21, 2011 10:36 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Щом са сложили кондензатори на новата ревизия, дето ги е нямало на предната, са опитали
да решат проблем - навярно точно този, който те мъчеше.
С експерименти ще хванеш дали са решили проблема (моята прогноза е, че лошите
им преобразувания ще намалеят но няма да изчезнат, да пуснат на пазара ADC
с такъв проблем говори за не особено висока грамотност).
Ще е интересно какво ще излезе - тестовете сигурно отдавна ги имаш.

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Чет Юли 21, 2011 10:37 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
@tgi.

Глупости говориш. Правиш изводи върху грешен постамент. ADC - то си работи перфектно. Поне при мен и останалите юзери на тоя процесор. Е ако на 1 нещо не му се получава, вероятно процесора е скапан.... Да ви имам логиката.

Я се върни и прочети темата от начало. Това изглежда ли ти на добре разчовъркан проблем та да обвиниш толкова категорично желязото. Аз чета нещо от сорта - абе пускам, струвам - ама нещо става. И толкоз. Аре не сме от вчера, знаем какво е бъг в желязото и как се хваща. Ама така от въздуха да обвиниш ядрото, щото не можеш да го докажеш или отхвърлиш....Като чуя за вътрешно чуство и се изприщвам.

Знам едно - в 99% от случаите проблема е в човек и само 1% е в желязото. Но точно този случай ми звучи като за 99%.

На новите захранването на ядроро им е съвсем различно. Това вероятно си е съвсем нов силикон, на по висока честота и вероятно откъм консумация е по добро. Но едва ли е пуснат на пазара, защото juzisound има проблем с АЦП.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Юли 21, 2011 10:50 am
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Май 27, 2006 12:37 pm
Мнения: 647
Местоположение: с. Згалево
Мнение 
Че не съм се задълбавал да го търся както трябва - признавам си. Загубил съм само около 5 дни да правя разните там капанчета - за сега безрезултатно.
От друга страна - проблема е повече теоретичен, щото съм намерил софтуерно какда го реша - и от гледна точка на узера - всичко си е наред, та "не е опрял ножа до кокала".

:D


Чет Юли 21, 2011 10:56 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
Аз досега не съм срещал процесор, на който да не му е изведено захранването...

Обикновено напреженията са:

VDDIO - захранва IO домейна, обикновено 3.3V, но някои като Атмел поддържат повече от 1 стандарт, т.е. може да е LVCMOS18 или 2.5V. Това при малки процесорчета е най-якото захранване и редно да е изведено на много пинове. Поне по 1 на страна. И тъй като е най-яко може и регулатора да се захранва от него (ако не поддържат нисковолтовo ИО)

VDDA - аналоговите захранвания почти навсякъде са отделно (ЦАП/АЦП)
VDDPLL, VDDFLASH - може да са закачени към някои от горните, но по-добре да са самостоятелни. Щото PLL-a шуми и е кофти да е вързан към аналоговите примерно

VDDCore - захранване на ядрото, както казах досега не съм срещал да не е изведено за филтрация. Явно ST са надминали себе си ;-)
Правилото за кор-а е до 48-пин корпус може и само 2 захранващи. Но при по-голям 64, 100... минимум по 1 захранване от всяка страна на подложката, т.е. поне 4.

Относно ползването на вътрешния стабилизатор, съображенията са:
1) Дали няма бъгове - при Луминари имаше примерно.
2) Дали ти пука за консумацията, щото вътре е LDO и от 3.3 до 1.2 КПД-то е.... Но ако пък да го заменяш си струва само с качествен DC/DC с минимален Iq
3) Всички дейташит параметри трябва да се покриват с вътрешния. Не се сещам нещо дето да можем да подобриш (при условие че АЦП референси не ти идават от него)

С две думи - ако няма бъгове и ако не правиш батерийно устройство вътрешния регулатор е напълно ОК.


Чет Юли 21, 2011 10:57 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
А сега нека tgi, ти прочете последното мнение и да видя дали така категорично ще препотвърди това дето написа по-горе.

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

Не ме разбирайте погрешно - не съм адвокат на ST. Процовете им като на всеки друг си имат яко трески за дялане. Аз самия съм откривал бъг и след комуникация с техните говеда беше описан като "особенност" в следващия datasheet :) Но това е станало с много ровене и копане. Не може просто така, щото нещо не работи както очакваш, да кажеш - процесора е виновен, замазвам го софтуерно и смело натам.... Звучи ми тъпо.

@Миро - предишната генерация STМ32 наистина нямаха достъп до ядрото за външно захранване. Вътре си имаше ЛДО за 1.8В и толкова.
Новите ядра са за по-ниско напрежение и са по-бързи и явно вътрешното LDO почва да яде от КПД-то и затова вече са отворили възможността да храниш и ядрото отвън. Което ти правилно отбеляза в 99% от случаите е ненужно.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Юли 21, 2011 10:58 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
Цецо написа:
@Миро - предишната генерация STМ32 наистина нямаха достъп до ядрото за външно захранване. Вътре си имаше ЛДО за 1.8В и толкова.
Новите ядра са за по-ниско напрежение и са по-бързи и явно вътрешното LDO почва да яде от КПД-то и затова вече са отворили възможността да храниш и ядрото отвън. Което ти правилно отбеляза в 99% от случаите е ненужно.


Цецо, пак да ти кажа - до сега не съм срещал арм, на който VDDC да не е изведено за филтрация, а съм правил схеми с чипове от 3 производителя и съм гледал още...

Демек аз бих имал едно наум, а ти ме разбирай както искаш...


Чет Юли 21, 2011 11:12 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Ми STM32F1xx е така - има само VDD и толкоз - подаваш му там каквото ти хрумне между 2 и 3.6В и то си работи. Погледни го и вече няма да си графата - "не съм срещал" :)

Но с твойто едно на ум наля вода в мелницата на juzisound, сега вече е една идея по сигурен, че вътрешното ЛДО му осицилира :)

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Юли 21, 2011 11:18 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Цецо къде реши че говоря за ядрото бе човек. Просто съм направил достатъчен
брой ADC-та и това, което чувам намирисва на това, което писах. Не е невъзможно
да греша, разбира се - едва ли съм имал ден в тоя живот в който не съм сбъркал
поне веднъж, чудо голямо ако го сторя докато сме на приказки.
Но така както е описан проблемът (по памет от предишните постове, няма да чета
цялата тема и тая година) прилича баш на нещо гранично дето се обажда понякога.
Възможно е само juzisound да е натискал дотам ADC -то, та да се обади проблемът.
Не е невъзможно и той да греши но е хвърлил доста време в това а отдавна личи,
че знае какви ги върши и едва ли не би си намерил грешката толкова дълго, ако е
негова.

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Чет Юли 21, 2011 11:34 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение 
Странна логика виждам тук - изкарали били на новия навън пин за филтриране, значи на стария са го забравили? Не, на стария може да е нямало нужда - друга технология, друго ядро, друга тактова честота?

Спретни един елементарен софтуер да мери само АЦП резултатите и да мери грешки, без друг код. Може и някой техен пример.


Чет Юли 21, 2011 11:41 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 56 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни