|
Технический семинар по STM32(Москва, проводил Компел), был на нем... |
|
|
|
Jun 9 2009, 11:37
|

Местный
  
Группа: Свой
Сообщений: 214
Регистрация: 6-06-05
Из: г. Таганрог
Пользователь №: 5 759

|
Цитата(Alex B._ @ Jun 9 2009, 10:23)  дак расскажите мне про нечто большее касательно STM32, не дайте помереть дурнем. Да мне честно говоря, все равно, где ваши девайсы работают и как работают, медальками бряцать можете сколько угодно. Даже судя по этим фотографиям вы в смысл претензии так и не въехали - проблемы имеются на малоногих чипах, в которых нет внешнего входа для опоры АЦП. Кроме того, вы похоже не знаете, чем отличается точность измерения от разрядности. Ха-ха-ха... в какой манере начали, в такой и продолжаете. Вы, похоже, не можете без наездов. Вот Вам малоногий чип: (девайс справа).
В данном изделии используются все входы АЦП, опоры нет. Специально не буду Вам приводить цифры, чтобы дальнейшую дискуссию с Вами не продолжать, скажу лишь, что точность отличается незначительно в изделии со входом опоры и без, за счет специальных мер. Ув. Алекс, Вы можете продолжать полемику сколько угодно, только имеет ли это значение? Судя по Вашему посту, недопонимание работы одного из периферийных блоков Вы уже называете претензией. А правильно ли это? Может сначала стоит внимательнее прочитать документацию?
|
|
|
|
|
Jun 10 2009, 09:22
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Использую STM32 F101CBT6, 3 канала АЦП, плата разведена по требованиям разводки со смешанными питаниями, есмкости и фериты присутствуют там где надо, стабилизатор ULtra Low Noise (TPS79433DGNT) один для 2 питаний !!!! , Fs ~400 кГц, на плате отсутствуют мощные потребители, колебания АЦП на коротко замкнутом входе на расстоянии 0.5 см от куорпуса составляет 2 еденицы (НЕ РАЗРЯДА !!!!), также на вход подавался эталонный сигнал 1.217в (что то такое уже точно не помню) колебания теже , тобиш все соответствует мануалу  . Существует 4 варианта разводки схемы, разницы никакой. Единственное не получилось погонять при разных температурах.
|
|
|
|
|
Jun 10 2009, 17:05
|

Местный
  
Группа: Свой
Сообщений: 201
Регистрация: 6-01-05
Пользователь №: 1 830

|
Цитата(MALLOY2 @ Jun 10 2009, 12:22)  Использую STM32 F101CBT6, 3 канала АЦП, плата разведена по требованиям разводки со смешанными питаниями, есмкости и фериты присутствуют там где надо, стабилизатор ULtra Low Noise (TPS79433DGNT) один для 2 питаний !!!! , Fs ~400 кГц, на плате отсутствуют мощные потребители, колебания АЦП на коротко замкнутом входе на расстоянии 0.5 см от куорпуса составляет 2 еденицы (НЕ РАЗРЯДА !!!!), также на вход подавался эталонный сигнал 1.217в (что то такое уже точно не помню) колебания теже , тобиш все соответствует мануалу  . Существует 4 варианта разводки схемы, разницы никакой. Единственное не получилось погонять при разных температурах. Вы же сами сказали, что калибруете по опоре ~1,2В. Т.е используете при ее измерении ~10 разрядов АЦП, а не 12. Вот вам и цена отсутствия честного входа Vref - снижение эффективной разрядности до 10бит. Плюс к этому необходимость немедленного пересчета каждого измерения (умножение на коэффициент равный отношению Vdda/Vref) пока основное питание не уплыло + периодическое измерение Vref и вычисление поправочного коэффициента. Не бог весть какие затраты для Кортекса, однако существенное ограничение функциональности при использовании ПДП. Такое впечатление, что специально все задумано, чтобы для требовательных к точности и производительности применений использовали 100-ногие МК.
|
|
|
|
|
Jun 11 2009, 07:57
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Цитата Вы же сами сказали, что калибруете по опоре ~1,2В. я не говорил что калибрую, ~1,2 стоит понимать как не помню номинал выходного напряжения, но меня заверили что он выдает точность 4 знака после запятой. Тест проводился так АЦП постоянно молотил, для отсчетов вычеслялися мин. средние и макс значения. В итоге разница между мин и макс составила 2-3 единицы. После чего было измерено входное напряжение и напряжение Vdda и пересчитано на значение отсчета все соответствовало измеренному вольтметром. Линейность во всем диапазоне не проверял, но устройство с боевым алгоритмом прекрасно работает, была бы большая нелинейность алгоритм давал бы сбои. Цитата Плюс к этому необходимость немедленного пересчета каждого измерения (умножение на коэффициент равный отношению Vdda/Vref) пока основное питание не уплыло Это проблемы разработчика, уплыть может и Vref причем тут АЦП ? Я не вижу проблем в том что Vdda и Vref соединены вместе, просто для этой схемы нужен источник опорного напряжения более мощный который сможет еще запитать и другой аналог.
|
|
|
|
|
Jun 11 2009, 21:54
|

Местный
  
Группа: Свой
Сообщений: 201
Регистрация: 6-01-05
Пользователь №: 1 830

|
Цитата(MALLOY2 @ Jun 11 2009, 10:57)  я не говорил что калибрую, ~1,2 стоит понимать как не помню номинал выходного напряжения, но меня заверили что он выдает точность 4 знака после запятой. Тест проводился так АЦП постоянно молотил, для отсчетов вычеслялися мин. средние и макс значения. В итоге разница между мин и макс составила 2-3 единицы. После чего было измерено входное напряжение и напряжение Vdda и пересчитано на значение отсчета все соответствовало измеренному вольтметром. Линейность во всем диапазоне не проверял, но устройство с боевым алгоритмом прекрасно работает, была бы большая нелинейность алгоритм давал бы сбои. Не в нелинейности дело, а в погрешности коэффициента. Даже при идеальной статической характеристике АЦП и идеальном эталоне 1,2В при Vdda = 3,3В ваш АЦП покажет 1489. С погрешностью дискретизации +/-0,5. При полном отсутствии остальных погрешностей погрешность измерения, например, напряжения 3,3В уже будет 0,5*4095/1489 = +/-1,37, а не 0,5 как при честной опоре 3,3В. При реальных 2-3 единицах на 1,2В получаете после пересчета вполне реальную погрешность измерения 6...9 единиц вблизи конца шкалы. Cкажете, что измеренное значение эталона не 1489, а 1489,1 (после статистической обработки)? Так это еще доказать надо, что случайный процесс стационарный и вы имеете право на такие действия. А это весьма сложная метрологическая задача. К тому же в реальности процесс стационарен только в течение весьма малого интервала времени. Цитата(MALLOY2 @ Jun 11 2009, 10:57)  Это проблемы разработчика, уплыть может и Vref причем тут АЦП ? Разница между источниками питания и источниками опорного напряжения в том и состоит, что для Vref жестко нормируется как абсолютная погрешность (номинал), так временной и температурный дрейф. Разница этих дрейфов для LDO и Vrеf - порядки. Цитата(MALLOY2 @ Jun 11 2009, 10:57)  Я не вижу проблем в том что Vdda и Vref соединены вместе, просто для этой схемы нужен источник опорного напряжения более мощный который сможет еще запитать и другой аналог. Дело в том, что выходной ток и точность выходного напряжения величины взаимно конфликтующие. Если выходной ток большой, то такой девайс сильно греется, его выходное напряжение дрейфует вследствии изменения температуры. Из-за закона Ома чем больше ток, тем больше падение напряжения на выходном сопротивлении и т.п. Увы, таковы законы физики. Плюс к этому уже упоминавшийся мною ранее нюанс: все ресеты, в т.ч. и BOD завязаны на Vdda, а не Vdd. И разница между Vdd и Vdda не может быть больше 0,3В. Т.е. единственный (как мне кажется) реальный выход сделать АЦП в малоногих чипах более-менее честным - это использовать шунтовую (типа TL431) опору 3В. Обычные (как правило более точные) опоры не годятся, т.к. гробят BOD. И как резюме. Я совсем не спорю с вами. Действительно, в малоногих STM32 существует некое подобие АЦП, которым можно воспользоваться для своих целей. Но то, что там есть трудно назвать классическим АЦП в устоявшемся смысле. В классике соединять ноги питания и Vref категорически не рекомендуется. По вышеизложенным соображениям. STM же из маркетинговых соображений (чтобы покупали ее более дорогие многовыводные чипы) СПЕЦИАЛЬНО воткнула палку в колеса, чтобы ее вытаскивание не обошлось дешевле, чем купить 100-ногий чип. Тем не менее это право фирмы так зарабатывать деньги. Но зачем же врать, что эта периферия называется классический АЦП, что она 12-разрядная и что имеет такое же быстродействие, как и в 100-ногих чипах?
|
|
|
|
|
Jun 15 2009, 16:08
|
Группа: Новичок
Сообщений: 4
Регистрация: 15-06-09
Пользователь №: 50 309

|
klen, у меня по твои ссылки не работают, открывается ерунда какая-то
|
|
|
|
|
Jun 15 2009, 16:19
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
Цитата(L83 @ Jun 15 2009, 20:08)  klen, у меня по твои ссылки не работают, открывается ерунда какая-то Так сохранить объект как ... filename.7z указать ручками, по умолчанию не известно расширение. В браузер и выдается архив
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
|
Jun 16 2009, 03:59
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37

|
2 L83Цитата klen, у меня по твои ссылки не работают, открывается ерунда какая-то Нормально всё открывается. Написали бы, чем Вы эти ссылки открываете. MSWord-ом? Не сваливайте на других своё неумение... Download Master прекрасно сохранил файлы, опера 9.64 тоже - использовать надо "сохранить объект как" (см. совет mdmitry выше) . А если кликнули по ссылке, и у Вас начало в окне открываться всякая абракадабра, дождитесь окончания загрузки этой абракадабры - и затем "Файл/сохранить как" и сожраните с нужным именем. Для интереса откройте текстовым редактором этот файл, и Вы увидите Цитата ...открывается ерунда какая-то
--------------------
Если зайца бить, его можно и спички научить зажигать Сколько дурака не бей - умнее не будет. Зато опытнее
|
|
|
|
|
Jun 19 2009, 17:58
|
Группа: Новичок
Сообщений: 4
Регистрация: 15-06-09
Пользователь №: 50 309

|
Спасибо, разобрался
Сообщение отредактировал L83 - Jun 19 2009, 17:59
|
|
|
|
|
Aug 24 2009, 13:32
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 17-02-08
Пользователь №: 35 137

|
Поделитесь пожалуйста тестовым проектом для PerformanceStick.
|
|
|
|
|
Nov 4 2009, 15:05
|
Частый гость
 
Группа: Участник
Сообщений: 92
Регистрация: 23-12-08
Из: Кишинёв
Пользователь №: 42 680

|
По поводу ADC заметил ещё один косяк(по крайней мере я так думаю  ). Камень STM32F103RET6, sysclk = 28Мц, adcclk=14Мц. Десяток каналов оцифровываются группой по схеме 1.5+12.5=14 cycles(получается 1Мц). В группе на трёх каналах трёхфазное сетевое напряжение размахом ~3000 ед. (из 12 бит), на следующий канал (после третьей фазы) идёт наводка(синусоида амплитудой до 50ед. , в местах перехода через ноль оборвана). При этом если немного изменить последовательность каналов, переместив "аффектный" канал дальше(в группе), то он приходит в норму. Похоже что мультиплексор, который меняет каналы на оцифровку, не успевает. Сейчас в последовательность каналов просто вставил пустышку(его значение не использую). Кто-то наблюдал подобное? ps: проблема не в разводке: перепахали всю плату, все симптомы указывают в контроллер.
|
|
|
|
|
Nov 5 2009, 12:18
|

Местный
  
Группа: Свой
Сообщений: 213
Регистрация: 28-02-07
Из: Киев
Пользователь №: 25 744

|
Цитата(baralgin @ Nov 4 2009, 17:05)  По поводу ADC заметил ещё один косяк(по крайней мере я так думаю  ). Камень STM32F103RET6, sysclk = 28Мц, adcclk=14Мц. Десяток каналов оцифровываются группой по схеме 1.5+12.5=14 cycles(получается 1Мц). В группе на трёх каналах трёхфазное сетевое напряжение размахом ~3000 ед. (из 12 бит), на следующий канал (после третьей фазы) идёт наводка(синусоида амплитудой до 50ед. , в местах перехода через ноль оборвана). При этом если немного изменить последовательность каналов, переместив "аффектный" канал дальше(в группе), то он приходит в норму. Похоже что мультиплексор, который меняет каналы на оцифровку, не успевает. Сейчас в последовательность каналов просто вставил пустышку(его значение не использую). А какие именно каналы используете и в какой последовательности? Нет ли среди них РА0? И нет ли по какому-то из каналов, пусть даже неиспользуемому (или вообще по какому-то из пинов МК) перегруза выше питания или ниже общего? Т.е. не текут ли токи через защитные диоды? Использовал совсем недавно STM32 для оцифровки звука по 4 каналам, проникания из канала в канал не заметил, хотя детально именно в этом направлении не проверял.
|
|
|
|
|
Nov 5 2009, 13:57
|
Частый гость
 
Группа: Участник
Сообщений: 92
Регистрация: 23-12-08
Из: Кишинёв
Пользователь №: 42 680

|
Восстановил сейчас примерно ту первую последовательность, где впервые столкнулся. Примерно так: CODE static const uint_fast8_t chanels[COUNT2CONV][2] = { { ADC_Channel_1, ADC_SampleTime_1Cycles5 }, { ADC_Channel_2, ADC_SampleTime_1Cycles5 }, { ADC_Channel_3, ADC_SampleTime_1Cycles5 }, { ADC_Channel_12, ADC_SampleTime_1Cycles5 }, { ADC_Channel_13, ADC_SampleTime_1Cycles5 }, { ADC_Channel_0, ADC_SampleTime_1Cycles5 }, { ADC_Channel_16, ADC_SampleTime_71Cycles5 }, { ADC_Channel_14, ADC_SampleTime_1Cycles5 }, { ADC_Channel_11, ADC_SampleTime_1Cycles5 }, { ADC_Channel_16, ADC_SampleTime_1Cycles5 } }; Первые три канала это напряжение(размашистая синусоида). На следующих каналах пока постоянный уровень. Но вот на 12 то о чём я говорил. PA0 - находится ниже и с ним порядок(эрату читал, не мой случай). Увеличение sampletime уменьшает амплитуду наводки, а просто смещение 12-го канала вниз полностью избавляет от неё. В общем что бы не стояло на месте 12-го - оно портиться. Для наглядности приведу парочку графиков: 1) http://electronix.ru/forum/index.php?act=a...st&id=378812) http://electronix.ru/forum/index.php?act=a...st&id=37882на первом рисунке наводка на 12-ый канал, для приведённой выше группы. А на втором рисунке график снятый со встроенного датчика температуры(ch_16) помещённого на место 12-го канала. Про датчик написано, что его нужно мерять более долго чем 1.5цикла, но в данном случае привёл просто чтобы продемонстрировать. Его "колбасит" уже значительно , хорошо виден характер наводки(обрывы). Перегруза вроде тоже нет. ps: шумно конечно, но после сглаживания получаю графики очень красивые, так что это меня пока не беспокоит.
Эскизы прикрепленных изображений
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|