Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Технический семинар по STM32(Москва, проводил Компел)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
klen
понравилось
могу поделится материалами santa2.gif (щас буду смотреть что н диске!)

тонить из коллег был?

уездили Томаса(представитель STM из праги) вопросами. Респект ... он стоял и докладывал а мы сидели - с 10.00 до 18.00.

я лично пришел к выводу что единственные косяки в STM32 (лично для меня) это

а) 16-битные таймеры
б) нет отдельного ФАПЧ для модуля USB
с) NVIC нельязя сконфигурить чтоб отключить аппаратное сохранение/востановл. контекста - хотя это ограничение ядра ARM а не STM
остальное вроде более мение.
Mik174
Цитата(klen @ Jun 3 2009, 21:01) *
понравилось
могу поделится материалами santa2.gif (щас буду смотреть что н диске!)

тонить из коллег был?


Тоже был там.
Понравилось.

Микроконтроллеры тоже показались интересными, в ближайшее время поиграюсь с отладочным китом что на семинаре дали.
С большой вероятностью для пробы в одном из своих проектов, по которому сроки не критичны, его применю - уже сейчас видно, что на нем решение симпатичнее и эффективнее будет.

Обратил внимание, что Томас, рассказывая про STM32, не просто по обязанности этим занимался, а ему самому нравилось представлять продукт своей фирмы и он был доволен тем, что они сделали хорошую вещь.
Вроде мелочь, но она придала семинару оттенок, делая его интереснее.
Dir
Цитата(klen @ Jun 3 2009, 20:01) *
понравилось
могу поделится материалами santa2.gif (щас буду смотреть что н диске!)

тонить из коллег был?

уездили Томаса(представитель STM из праги) вопросами. Респект ... он стоял и докладывал а мы сидели - с 10.00 до 18.00.

я лично пришел к выводу что единственные косяки в STM32 (лично для меня) это

а) 16-битные таймеры
б) нет отдельного ФАПЧ для модуля USB
с) NVIC нельязя сконфигурить чтоб отключить аппаратное сохранение/востановл. контекста - хотя это ограничение ядра ARM а не STM
остальное вроде более мение.


Основной там косяк - это совмещение выводов Vref и Vdda в малоногих (64 и менее) чипах. На это жалуются все, кто применяет ЦАП и АЦП, но тем не менее STM твердо стоит на своем и ничего даже в будущем менять не собирается sad.gif
Dog Pawlowa
Цитата(Dir @ Jun 3 2009, 20:50) *
Основной там косяк - это совмещение выводов Vref и Vdda в малоногих (64 и менее) чипах.

Ну, проблема есть, но не смертельная.
В ЦАП еще уж слишком большое выходное сопротивление. А скорость - хороша.
espectro
Даже мне, как новичку было интересно. Переводчик, правда, был, как бы это сказать, не очень.
MALLOY2
Цитата
сновной там косяк - это совмещение выводов Vref и Vdda в малоногих (64 и менее) чипах.

У меня никаких проблем, заявленная в мануале точность держится. Fs = 400 кГц, выше не про бывал.

А косяк с DMA, в том что каналы жестко закреплены за периферией, че по этому поводу говорили ?
KRS
IMHO поздновато они такой семинар проводят.
Мы уже примерно год назад и кит купили и плату сделали.
По производительности не впечатляет. Сейчас актуальны NXP cortex они на второй ревизии ядра и флеш без wait sate у них и частота повыше. И с таймерами и другой перефферией у NXP получше.
Questman
Над Томасом реально, поприкалывались, особенно про дыру в ядре. А так семинар понравился, платкой уже поигрался, светодиодами поморгал. Кстати разъемов под нее осталось 20 штук на складе - торопитесь, я один уже заказал. На всякий случай - его p/n MEC6-140-02-L-D-RA1
miv
Цитата(klen @ Jun 3 2009, 21:01) *
я лично пришел к выводу что единственные косяки в STM32 (лично для меня) это

с) NVIC нельязя сконфигурить чтоб отключить аппаратное сохранение/востановл. контекста - хотя это ограничение ядра ARM а не STM

Интересно а это за чем ?
klen
Цитата(miv @ Jun 4 2009, 15:53) *
Интересно а это за чем ?

очень просто.
Вы посмотрите на код обработчиков прерываний. ниче подозрительного не видете?
нет прологов и эпилогов!
NVIC в кртексе является частью процессора и так спроектирован чтою автоматически load/store контекст.
процедура входа порядка 16 тактов - это засовывание регистров в стек.

если например автомат можнобылобы отключить и ручками сохранять/востанавливать только то что нада то тогда время переключения можно былобы значительно сократить.

представте прерывание по которому нужно только флаг выставить в регистре (зарезервированом) - ну например для реализации быстрых очередей/семафоров/.... то тогда вообще только регистр состояния нужно сохранить или даже не потребуется. В итоге вход 1-3 такта и выход тоже.
Ivan79
Цитата(klen @ Jun 3 2009, 21:01) *
я лично пришел к выводу что единственные косяки в STM32 (лично для меня) это

а) 16-битные таймеры


А в чем косяк с таймерами заключается?
miv
Цитата(klen @ Jun 5 2009, 13:10) *
очень просто.
Вы посмотрите на код обработчиков прерываний. ниче подозрительного не видете?
нет прологов и эпилогов!
NVIC в кртексе является частью процессора и так спроектирован чтою автоматически load/store контекст.
процедура входа порядка 16 тактов - это засовывание регистров в стек.

если например автомат можнобылобы отключить и ручками сохранять/востанавливать только то что нада то тогда время переключения можно былобы значительно сократить.

представте прерывание по которому нужно только флаг выставить в регистре (зарезервированом) - ну например для реализации быстрых очередей/семафоров/.... то тогда вообще только регистр состояния нужно сохранить или даже не потребуется. В итоге вход 1-3 такта и выход тоже.

Ну это если на асме писать ! Я вот на сях и даже плюсах пишу. хотя иногда асмовские вставки тоже делаю.
А мне NVIC оч. нравится тем что при вложенном прерывании о ваще ничего не сохраняет и не восстанавливает, а восстанавливает контекст только когда совсем выходит из прерывания. И кстати этим можно воспользоваться для решения ващей проблемы !!! Запихать основную прогу в прерывание, с самым низким приоритетом,и в стартапе вызвать программное прерывание на которое назначена ваша прога. и тада любое другое прерывание ничего не будет сохранять и восстанавливать автоматически wink.gif
sonycman
Цитата(miv @ Jun 5 2009, 14:32) *
А мне NVIC оч. нравится тем что при вложенном прерывании о ваще ничего не сохраняет и не восстанавливает...

Ещё как сохраняет и восстанавливает!
Порассуждайте здраво - без сохранения контекста вложенные прерывания порушат прерываемую программу!
Petka
Цитата(sonycman @ Jun 6 2009, 07:13) *
Ещё как сохраняет и восстанавливает!
Порассуждайте здраво - без сохранения контекста вложенные прерывания порушат прерываемую программу!

Конечно, сохраняет, но на это у него уходит всего 6 тактов.
zltigo
Цитата(miv @ Jun 5 2009, 13:32) *
Я вот на сях и даже плюсах пишу...

Это ну никак не отменяет необходимости думать и уж тем более не запрещает сохранять в стеке только нужного контекста, а не все, что попало.
Dir
Цитата(MALLOY2 @ Jun 3 2009, 22:02) *
У меня никаких проблем, заявленная в мануале точность держится. Fs = 400 кГц, выше не про бывал.


Заявленная точность относительно чего? Vпитания? sad.gif
Хотелось бы на Vref внешнюю точную опору посадить, но обычную нельзя, т.к. все ресеты завязаны именно на аналоговое питание, а не цифровое. Поэтому BOD при провале цифрового питания не будет срабатывать. Выкручиваюсь тем, что при Vdd=3,3В, на Vdda ставлю шунтовую опору 3,0В. (такая разница дозволена). Про опоры 2,048 или 2,5В вообще речи не идет. С ЦАПом вообще полная фигня. Коллега точный функциональный генератор хотел сделать малогабаритный. Но как ни крутил с 64-выводным МК, но только на производительности ядра и адаптивной подстройкой уровня ЦАП в зависимости от внешней опоры и выкрутил. Про ПДП речь, естественно, уже не шла. В конце концов плюнул на малогабаритность и заменил чип на 100-выводной. И сразу повеселел, но горький осадок остался...
Крик души: и весь этот геморрой только из-за того, что какому-то верхнему мудаку, принимающему в STM стратегические решения, захотелось выпендриться и "сэкономить" 1 пин??? На всей линейке продуктов??? Моя такого не понимает... sad.gif
sonycman
Цитата(Dir @ Jun 6 2009, 14:25) *
Крик души: и весь этот геморрой только из-за того, что какому-то верхнему мудаку, принимающему в STM стратегические решения, захотелось выпендриться и "сэкономить" 1 пин??? На всей линейке продуктов??? Моя такого не понимает... sad.gif

Ничего, как народ начнёт разбегаться на NXP и Атмел, будут локти кусать rolleyes.gif
С другой стороны, по сравнению с Luminary, STM32 очень даже ничего.
Dir
Цитата(sonycman @ Jun 6 2009, 12:55) *
С другой стороны, по сравнению с Luminary, STM32 очень даже ничего.

Вы о чем???
Да по сравнению с Luminary все остальные нервно курят в сторонке disco.gif
http://www.luminarymicro.com/products/lm3s9b95.html
sonycman
Цитата(Dir @ Jun 6 2009, 15:04) *
Вы о чем???

Об этом: огромное потребление ( в три раза больше, чем STM32, аж чип нагревается), неработающие пуллапы, всплески напряжения до 1.5 вольта на всех GPIO пинах при начальной подаче напряжения, и, что меня окончательно добило - случайно не так сконфигурировав в программе JTAG пины - получаем абсолютно неперешиваемый контроллер...
Это всё относится к младшей SandStorm серии... laughing.gif
Rst7
Цитата
Конечно, сохраняет, но на это у него уходит всего 6 тактов.


Это не для вложенных. А для подряд идущих (Tail Chaining). Это они молодцы, хороший костыль прикрутили. А вот остутствие FIQ с банком регистров... повбывав бы!
Dir
Цитата(sonycman @ Jun 6 2009, 15:27) *
Об этом: огромное потребление ( в три раза больше, чем STM32, аж чип нагревается), неработающие пуллапы, всплески напряжения до 1.5 вольта на всех GPIO пинах при начальной подаче напряжения, и, что меня окончательно добило - случайно не так сконфигурировав в программе JTAG пины - получаем абсолютно неперешиваемый контроллер...
Это всё относится к младшей SandStorm серии... laughing.gif


Понятно. Т.е. о старых девайсах, которые по технологии 0,25 мкм. Только неплохо бы уточнить, что эти МК появились на год раньше, чем все остальные Кортексы, в т.ч. и STM32. А новые Luminary (вернее уже TI) очень даже достойные МК с частотами 80...100МГц, кардинально уменьшенным потреблением и весьма впечатляющей периферией. Развиваются ребята. Совершенствуют техпроцесс и архитектуру. Впрочем как и все.
KRS
Цитата(Dir @ Jun 6 2009, 20:02) *
Развиваются ребята. Совершенствуют техпроцесс и архитектуру. Впрочем как и все.

Это не они, а ARM.
NXP вообще не стал на той ревизии ядра выпускать, потому что медленное было и многожрущее.
Но в этой версии NXP, похоже всех обгонит помтоу что чипы уже реально есть! И даже revision 2, описания нет smile.gif.
sonycman
Цитата(Dir @ Jun 6 2009, 21:02) *
Развиваются ребята. Совершенствуют техпроцесс и архитектуру.

Что-же, дай им бог. Чем больше хороших камней, тем лучше smile.gif
Камень по ссылке, конечно, хорош. И пинов не так много. Жаль только, что USB слабоват - всего 12 мегабит...

Цитата(KRS @ Jun 6 2009, 21:07) *
Это не они, а ARM.
NXP вообще не стал на той ревизии ядра выпускать, потому что медленное было и многожрущее.

И насколько ревизия 2 быстрее первой? Не думаю, что намного 05.gif

Цитата(Rst7 @ Jun 6 2009, 19:41) *
Это не для вложенных. А для подряд идущих (Tail Chaining).

То есть для вложенных всё так же - 16 тактов?
KRS
Цитата(sonycman @ Jun 6 2009, 21:24) *
И насколько ревизия 2 быстрее первой? Не думаю, что намного 05.gif

NXP обещали до 120 Mhz делать.
SeriouSerg
Цитата(Dir @ Jun 3 2009, 21:50) *
Основной там косяк - это совмещение выводов Vref и Vdda в малоногих (64 и менее) чипах. На это жалуются все, кто применяет ЦАП и АЦП, но тем не менее STM твердо стоит на своем и ничего даже в будущем менять не собирается sad.gif

"Вы просто не умеете их готовить"... :-) И те, кто жалуется - тоже.
Однажды, на буржуйском форуме один товарисч вопил и обижался, что у него 5 разрядов - шум. Я такое безумие даже искусственно получить не смог :-)
АЦП в STM32 нормальный - честных 12 бит, но требуется определенный набор мер при проектировании.
-=Sergei=-
Цитата(SeriouSerg @ Jun 8 2009, 02:42) *
"Вы просто не умеете их готовить"... :-) И те, кто жалуется - тоже.
Однажды, на буржуйском форуме один товарисч вопил и обижался, что у него 5 разрядов - шум. Я такое безумие даже искусственно получить не смог :-)
АЦП в STM32 нормальный - честных 12 бит, но требуется определенный набор мер при проектировании.



Не путаете 5 разрядов и 5 (ЕМР) Единиц Младшего разряда. Т.е. истинное значение например 100, а АЦП выдает от 95 до 105. И что самое интересное STM для гарантирует +_2 ЕМР, и что еще более интересно что для всех чипов точность АЦП гарантируется только при питании от 3 до 3,6 И !!!!! только при 25С и что самое хитрое, что гарантирует это ДИЗАЙНОМ, т.е. при отбраковочном тестировании не проверяет. Хотя вообщем-то для чипа заявлено аналоговое питание от 2,4 до 3,6 и рабочая температура от -40 до +85 (105) Так что что бы заполучить 5 ЕМР особо то и стараться не надо, а на краях не удивлюсь если будет и настоящие 5 разрядов т.е. 32 ЕМР.
Uuftc
Цитата(Questman @ Jun 4 2009, 15:47) *
Над Томасом реально, поприкалывались, особенно про дыру в ядре.

А что там за дыра в ядре?
Alex B._
Цитата(SeriouSerg @ Jun 8 2009, 02:42) *
"Вы просто не умеете их готовить"... :-) И те, кто жалуется - тоже.

расскажите нам пожалуйста, как , а? я думаю, много народу хочет узнать. Только не надо про абстрактную "правильную" землю и ферритовые бусинки.
SeriouSerg
Цитата(-=Sergei=- @ Jun 8 2009, 09:55) *
Не путаете 5 разрядов и 5 (ЕМР) Единиц Младшего разряда. Т.е. истинное значение например 100, а АЦП выдает от 95 до 105. И что самое интересное STM для гарантирует +_2 ЕМР, и что еще более интересно что для всех чипов точность АЦП гарантируется только при питании от 3 до 3,6 И !!!!! только при 25С и что самое хитрое, что гарантирует это ДИЗАЙНОМ, т.е. при отбраковочном тестировании не проверяет. Хотя вообщем-то для чипа заявлено аналоговое питание от 2,4 до 3,6 и рабочая температура от -40 до +85 (105) Так что что бы заполучить 5 ЕМР особо то и стараться не надо, а на краях не удивлюсь если будет и настоящие 5 разрядов т.е. 32 ЕМР.

Именно 5 разрядов, я не ошибся. Весь фокус в том, что STM все это охотно изложил в своих App Notes. Но все же находятся люди, кто их читать не удосуживается. Вы, судя по всему, читали.

Цитата(Alex B._ @ Jun 8 2009, 12:21) *
расскажите нам пожалуйста, как , а? я думаю, много народу хочет узнать. Только не надо про абстрактную "правильную" землю и ферритовые бусинки.


Только не надо думать, что все вокруг такие идиоты, что ничего большего, чем правильная земля и ферритовые бусинки не знают.
Если народ хочет узнать - читайте документацию, там все написано. STM32 юзаю с самого их рождения, и, уж поверьте, знаю про его АЦП намного больше, чем Вы издевательски предположили.
Работают наши приборы в промышленной автоматике уже достаточно, чтобы сделать выводы об этом контроллере и его периферии. Чтобы Вам лучше верилось, в прицепе фото одного из элементов с STM32 на борту.

Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла
Alex B._
Цитата(SeriouSerg @ Jun 9 2009, 03:16) *
Только не надо думать, что все вокруг такие идиоты, что ничего большего, чем правильная земля и ферритовые бусинки не знают.

дак расскажите мне про нечто большее касательно STM32, не дайте помереть дурнем.
Цитата(SeriouSerg @ Jun 9 2009, 03:16) *
Чтобы Вам лучше верилось, в прицепе фото одного из элементов с STM32 на борту.
Да мне честно говоря, все равно, где ваши девайсы работают и как работают, медальками бряцать можете сколько угодно. Даже судя по этим фотографиям вы в смысл претензии так и не въехали - проблемы имеются на малоногих чипах, в которых нет внешнего входа для опоры АЦП.
Кроме того, вы похоже не знаете, чем отличается точность измерения от разрядности.
SeriouSerg
Цитата(Alex B._ @ Jun 9 2009, 10:23) *
дак расскажите мне про нечто большее касательно STM32, не дайте помереть дурнем.
Да мне честно говоря, все равно, где ваши девайсы работают и как работают, медальками бряцать можете сколько угодно. Даже судя по этим фотографиям вы в смысл претензии так и не въехали - проблемы имеются на малоногих чипах, в которых нет внешнего входа для опоры АЦП.
Кроме того, вы похоже не знаете, чем отличается точность измерения от разрядности.


Ха-ха-ха... в какой манере начали, в такой и продолжаете. Вы, похоже, не можете без наездов.
Вот Вам малоногий чип: (девайс справа). Нажмите для просмотра прикрепленного файла
В данном изделии используются все входы АЦП, опоры нет. Специально не буду Вам приводить цифры, чтобы дальнейшую дискуссию с Вами не продолжать, скажу лишь, что точность отличается незначительно в изделии со входом опоры и без, за счет специальных мер.

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


Вы же сами сказали, что калибруете по опоре ~1,2В. Т.е используете при ее измерении ~10 разрядов АЦП, а не 12. Вот вам и цена отсутствия честного входа Vref - снижение эффективной разрядности до 10бит. Плюс к этому необходимость немедленного пересчета каждого измерения (умножение на коэффициент равный отношению Vdda/Vref) пока основное питание не уплыло + периодическое измерение Vref и вычисление поправочного коэффициента. Не бог весть какие затраты для Кортекса, однако существенное ограничение функциональности при использовании ПДП. Такое впечатление, что специально все задумано, чтобы для требовательных к точности и производительности применений использовали 100-ногие МК.
MALLOY2
Цитата
Вы же сами сказали, что калибруете по опоре ~1,2В.

я не говорил что калибрую, ~1,2 стоит понимать как не помню номинал выходного напряжения, но меня заверили что он выдает точность 4 знака после запятой. Тест проводился так АЦП постоянно молотил, для отсчетов вычеслялися мин. средние и макс значения. В итоге разница между мин и макс составила 2-3 единицы. После чего было измерено входное напряжение и напряжение Vdda и пересчитано на значение отсчета все соответствовало измеренному вольтметром. Линейность во всем диапазоне не проверял, но устройство с боевым алгоритмом прекрасно работает, была бы большая нелинейность алгоритм давал бы сбои.

Цитата
Плюс к этому необходимость немедленного пересчета каждого измерения (умножение на коэффициент равный отношению Vdda/Vref) пока основное питание не уплыло


Это проблемы разработчика, уплыть может и Vref причем тут АЦП ?

Я не вижу проблем в том что Vdda и Vref соединены вместе, просто для этой схемы нужен источник опорного напряжения более мощный который сможет еще запитать и другой аналог.
Dir
Цитата(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-ногих чипах?
klen
вот материалы с диска к семинару
http://www.klen.org/Files/Seminar_COMPEL.7z

до кучи схема терровского махаона, который на семинаре приобрел.
http://www.klen.org/Files/Schematic_TE_STM32F103.7z
L83
klen, у меня по твои ссылки не работают, открывается ерунда какая-то
mdmitry
Цитата(L83 @ Jun 15 2009, 20:08) *
klen, у меня по твои ссылки не работают, открывается ерунда какая-то

Так сохранить объект как ...
filename.7z указать ручками, по умолчанию не известно расширение.
В браузер и выдается архив laughing.gif
VAI
2 L83
Цитата
klen, у меня по твои ссылки не работают, открывается ерунда какая-то

Нормально всё открывается.
Написали бы, чем Вы эти ссылки открываете. MSWord-ом? Не сваливайте на других своё неумение...
Download Master прекрасно сохранил файлы, опера 9.64 тоже - использовать надо "сохранить объект как" (см. совет mdmitry выше) .
А если кликнули по ссылке, и у Вас начало в окне открываться всякая абракадабра, дождитесь окончания загрузки этой абракадабры - и затем "Файл/сохранить как" и сожраните с нужным именем.
Для интереса откройте текстовым редактором этот файл, и Вы увидите
Цитата
...открывается ерунда какая-то
L83
Спасибо, разобрался rolleyes.gif
asen
А я в своих традициях сотворил модуль встраиваемый на stm32f103ret6 все по минимуму smile.gif) воть в низу инфо по нему
espectro
Поделитесь пожалуйста тестовым проектом для PerformanceStick.
baralgin
По поводу ADC заметил ещё один косяк(по крайней мере я так думаю smile.gif ). Камень STM32F103RET6, sysclk = 28Мц, adcclk=14Мц. Десяток каналов оцифровываются группой по схеме 1.5+12.5=14 cycles(получается 1Мц). В группе на трёх каналах трёхфазное сетевое напряжение размахом ~3000 ед. (из 12 бит), на следующий канал (после третьей фазы) идёт наводка(синусоида амплитудой до 50ед. , в местах перехода через ноль оборвана). При этом если немного изменить последовательность каналов, переместив "аффектный" канал дальше(в группе), то он приходит в норму. Похоже что мультиплексор, который меняет каналы на оцифровку, не успевает. Сейчас в последовательность каналов просто вставил пустышку(его значение не использую). Кто-то наблюдал подобное?

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

А какие именно каналы используете и в какой последовательности? Нет ли среди них РА0? И нет ли по какому-то из каналов, пусть даже неиспользуемому (или вообще по какому-то из пинов МК) перегруза выше питания или ниже общего? Т.е. не текут ли токи через защитные диоды?
Использовал совсем недавно STM32 для оцифровки звука по 4 каналам, проникания из канала в канал не заметил, хотя детально именно в этом направлении не проверял.
baralgin
Восстановил сейчас примерно ту первую последовательность, где впервые столкнулся. Примерно так:

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=37881

2) http://electronix.ru/forum/index.php?act=a...st&id=37882

на первом рисунке наводка на 12-ый канал, для приведённой выше группы. А на втором рисунке график снятый со встроенного датчика температуры(ch_16) помещённого на место 12-го канала. Про датчик написано, что его нужно мерять более долго чем 1.5цикла, но в данном случае привёл просто чтобы продемонстрировать. Его "колбасит" уже значительно , хорошо виден характер наводки(обрывы).
Перегруза вроде тоже нет.


ps: шумно конечно, но после сглаживания получаю графики очень красивые, так что это меня пока не беспокоит.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.