Карманный осциллограф на STM32

240265
240265 аватар
Offline
Зарегистрирован: 12.08.2015

http://nazya.com/anyimage/g04.a.alicdn.com/kf/HTB1zUdxIXXXXXb2XFXXq6xXFXXXq/DSO201-DS201-DSO-nano-Portable-Oscilloscope-DIY-Kit.jpg

 

GFX
Offline
Зарегистрирован: 24.04.2015

Что это за схема и что она делает тут?) Здесь у нас не DSO0201 обсуждается, не нужно захламлять всем подряд тему.

man_200
Offline
Зарегистрирован: 29.04.2016

GFX, не шуми, парень показал один из вариантов входной части, а познавательное не помешает. 

240265
240265 аватар
Offline
Зарегистрирован: 12.08.2015

GFX пишет:

Что это за схема и что она делает тут?) Здесь у нас не DSO0201 обсуждается, не нужно захламлять всем подряд тему.

Ну коли так то и Форум Arduino , а не STM32. С такм амбициями Вы скоро один на этой ветке останетесь.

Barbaris
Offline
Зарегистрирован: 14.08.2016

man_200 пишет:

Сегодня спалил DSO201 (влез в высокое старинного портативного телевизора). Накаркали ребята. Так что и древние радиолюбители ошибаются. Вскрыл его и обратил внимание на интересное включение 4051 - она включена непосредственно на входной разъем и таким образом видимо осуществляет защитные функции. Оригинально. 

Если хорошо посмотреть, то схема-то входной части как у Хамелеона :)) Уважаемый, схема входной части одна и та-же. Что нового?

Устроили галдёж на пустом месте. Детский сад - "Штаны на лямках". :))

Лично у меня в Хамелеоне выбивало высоким и 4051 и входной операционник, оптрон дох обязательно :)

GFX
Offline
Зарегистрирован: 24.04.2015

240265 пишет:

Ну коли так то и Форум Arduino , а не STM32. С такм амбициями Вы скоро один на этой ветке останетесь.

Напугали, от вас я помощи и не видел ) Я в этой схеме ничего нового не увидел. Хорошо пусть висит, только будет вводить в заблуждение людей, тут тема по новому прибору есть его схема и разводка. Скоро выложу  прошивку, после того, как сам соберу прибор, сборка у же в процессе, но подвел ЧИП и ДИП, 26 дней уже прошло с момента заказа деталей, а их все нет. Тема Ардуино ну и что, мне уйти? Плата используемая фактически ардуино совместимая, так что формально по теме подходит. Для вас же стараюсь можно сказать. У самого то все необходимое уже есть для прибора. Спасибо большое за это Barbaris.

 П.С. Как вы до такого ник нейма додумались, запомнить же не возможно. Вы робот что ли?

П.С.2. Поехал я в деревню на выходные, надеюсь ЧИП и ДИП все же к понедельнику пришлет мне детальки и мы увидим видео, работает ли данный прибор)

Barbaris
Offline
Зарегистрирован: 14.08.2016

GFX]</p> <p>[quote=240265 пишет:

 П.С. Как вы до такого ник нейма додумались, запомнить же не возможно. Вы робот что ли?

:)) Ягода есть такая.

GFX
Offline
Зарегистрирован: 24.04.2015

Barbaris пишет:

GFX пишет:

 П.С. Как вы до такого ник нейма додумались, запомнить же не возможно. Вы робот что ли?

:)) Ягода есть такая.

Так у вас норм ник, я же не вам писал то) а 240265, может это дата рождения.

240265
240265 аватар
Offline
Зарегистрирован: 12.08.2015

GFX пишет:

........ не нужно захламлять всем подряд тему.

man_200
Offline
Зарегистрирован: 29.04.2016

GFX, если перед 9280 установить коммутатор 4052 с  частотой переключения вдвое большей частоты пропускания трактов, то можно получить  аппарат с  одинаковыми полноценными параметрами каналов. Это опять-же вариации на будущее.

GFX
Offline
Зарегистрирован: 24.04.2015
Возникли проблемы:
 
1. На входе ОУ откуда-то берется, само по себе, напряжение -0.2В из за этого он сам его усиливает и т.д. Если на 0 посадить его вход, то на выходе 1В как и должно быть, фигня какая то, что делать кроме как менять ОУ AD812 я не знаю... Возможно этот операционник для видеосигнала заточен и нам не подходит, но других я не заказал (по схеме другие).
 
2. LMC7660 не держит под нагрузкой 3В, падает до 2.1, отключаешь потребителей растет постепенно, без нагрузки 3В есть, опять что делать непонятно, ток от нее потребляется итак мизерный. Она свистит к тому же.
 
Кто знает что делать, пишите.
Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

Я тестировал вот такую схемку. Здесь опорное можно плавно изменять и ноль не уходит, тоесть смещение изменяется вместе с опорным. Таким образом происходит плавное масштабирование диапазона.

Оно прикольно плолучалось. На Ардуинке програмно изменяешь опорное, бац, и масштаб вместе с смещением изменился. Уход нуля был совсем не значительный. Если делать не на коленке, то и вовсе будет маленький.

Как источник отрицательного напряжения использовал icl7660.

Поигрался и забросил.

GFX
Offline
Зарегистрирован: 24.04.2015

Проблема в том что 7660 очень слабая штука. зря я сразу на него даташит не почитал, взял типа работает де в хамелионе. а там по даташиту при 6мА падение в два раза, а у нас то 2 ОУ и два 4051 от него питается вот и не хватает, вернее может и хватает просто она не стабилизированная какая та и проседает. Ну у меня DCDC то есть, приколхозю, но схема похерилась и разводка. И ОУ я купил "неправильные" с токовой обратной связью нельзя видимо. С операционниками по схеме может и не будет проблемы с просадкой. нужно пробовать, я понядеялся что будут работать АД812 что у меня были а они имеют большое потребление кроме прочего, в 5 раз больше тех что по схеме.

Logik
Offline
Зарегистрирован: 05.08.2014

GFX пишет:

Возникли проблемы:
 
1. На входе ОУ откуда-то берется, само по себе, напряжение -0.2В из за этого он сам его усиливает и т.д. Если на 0 посадить его вход, то на выходе 1В как и должно быть, фигня какая то, что делать кроме как менять ОУ AD812 я не знаю... Возможно этот операционник для видеосигнала заточен и нам не подходит, но других я не заказал (по схеме другие).
 
Кто знает что делать, пишите.

Хмм... Такого на AD812 не наблюдаю... Я не особо за этой темой слежу, ткните меня в схему включения. Может дело в том что у AD812 нормальное включение не инвертирующее, инвертирующий вход у него хуже. Но даже так "откуда-то берется, само по себе, напряжение -0.2В" быть не должно.

Кстати, а как определили что на входе 0,2В? Там высокоомная цепь змерить правильно сложно, нужен еще более высокоомный прибор.

Питаю AD812 от 7660. Нормас. Ток не мерял, мне не актуально. Правда был прикол - изначально запитал схему от 5В. Работает, но не долго, через время порядка минуты исчезает -5В и все тухнет. Разбор показал что контроллер то 3,3В а выход с ОУ выше, перегрузка и 7660 отключается. Запитал схему от  3,3В и проблема исчезла. 

man_200
Offline
Зарегистрирован: 29.04.2016

Может входного питания 7660 не хватает?

GFX
Offline
Зарегистрирован: 24.04.2015

man_200 пишет:

Может входного питания 7660 не хватает?

Входное 3.28 т.е. хватает и без нагрузки она выдает что нужно, но нагрухка 7.4 мА и даже по даташиту на ней большое падение при токе 6мА уже, т.е. для нее норма что напруга проседает. Я временно поставил DCDC что покупал, проблемы с просадкой нет, но ОУ чудят, шумят и сами на неинвертирующем входе дают синал, который усиливают и выдают на выходе максимум когда на входе 0 через входной резистор 510кОм, если подать ноль напрямую на вход неинвертирующий, то все норм и на выходе 1В как и должно быть. 

GFX
Offline
Зарегистрирован: 24.04.2015

Logik пишет:

Хмм... Такого на AD812 не наблюдаю... Я не особо за этой темой слежу, ткните меня в схему включения. Может дело в том что у AD812 нормальное включение не инвертирующее, инвертирующий вход у него хуже. Но даже так "откуда-то берется, само по себе, напряжение -0.2В" быть не должно.

Кстати, а как определили что на входе 0,2В? Там высокоомная цепь змерить правильно сложно, нужен еще более высокоомный прибор.

Питаю AD812 от 7660. Нормас. Ток не мерял, мне не актуально. Правда был прикол - изначально запитал схему от 5В. Работает, но не долго, через время порядка минуты исчезает -5В и все тухнет. Разбор показал что контроллер то 3,3В а выход с ОУ выше, перегрузка и 7660 отключается. Запитал схему от  3,3В и проблема исчезла. 

AD812 включен по неинвертирующей схеме. Если питаете 1 812 от 7660 то может и нормас, всетаки у меня их два.

Logik
Offline
Зарегистрирован: 05.08.2014

GFX пишет:

 но ОУ чудят, шумят и сами на неинвертирующем входе дают синал, который усиливают и выдают на выходе максимум когда на входе 0 через входной резистор 510кОм, если подать ноль напрямую на вход неинвертирующий, то все норм и на выходе 1В как и должно быть. 

Так это нормально. Висящий в воздухе высокоомный вход ОУ ловит сигнал как антена. Подтяните его к земле мегаомным и порядок. Я вобще на некотором этапе так и отлаживаюсь, провод сантиметров 20 подключил и 50 Гц на экране смотрю.

По схеме: нижний ОУ нормально, только я обратную связь на менших резюках делел (910 и 100 Ом), но не факт как лучше. А вот верхний ОУ мне не понятно почему так включен, но вроде и "криминала" нет. А не проще ли вводить смещение в цепь нижнего ОУ, например  к R99, там где земля на схеме красного цвета? 

man_200
Offline
Зарегистрирован: 29.04.2016

Не забывайте, что 4051 стоит в цепи обратной связи ОУ. Возможно она чудит, а в результате и усиление скакать будет.

Не знаю как у Вас, но я не могу выйти в Яндекс-диск и скачать печатку. Не в курсе что там твориться?

Barbaris
Offline
Зарегистрирован: 14.08.2016

Наверно ссылку сменили, вот свежая https://yadi.sk/d/T_YGfRA4uJABM

GFX
Offline
Зарегистрирован: 24.04.2015

Logik пишет:

GFX пишет:

 но ОУ чудят, шумят и сами на неинвертирующем входе дают синал, который усиливают и выдают на выходе максимум когда на входе 0 через входной резистор 510кОм, если подать ноль напрямую на вход неинвертирующий, то все норм и на выходе 1В как и должно быть. 

Так это нормально. Висящий в воздухе высокоомный вход ОУ ловит сигнал как антена. Подтяните его к земле мегаомным и порядок. Я вобще на некотором этапе так и отлаживаюсь, провод сантиметров 20 подключил и 50 Гц на экране смотрю.

По схеме: нижний ОУ нормально, только я обратную связь на менших резюках делел (910 и 100 Ом), но не факт как лучше. А вот верхний ОУ мне не понятно почему так включен, но вроде и "криминала" нет. А не проще ли вводить смещение в цепь нижнего ОУ, например  к R99, там где земля на схеме красного цвета? 

Ну проблема то при включенном 4051 сохраняется а там 510 кОм делитель на землю. Потом по мере уменьшения делителя вход таки притягивается к земле, но все равно сплошные помехи. Проще или нет сделать смещение к R99 не знаю, я же от хамелиона взял схему и она смещает как бы и работает и в протеусе и в реальной жизни, только в реальной жизни сама на входе генерирует напругу и шумит адски. Я и не надеялся что шума не будет, но не до такой же степени.

 

GFX
Offline
Зарегистрирован: 24.04.2015

Barbaris пишет:

Наверно ссылку сменили, вот свежая https://yadi.sk/d/T_YGfRA4uJABM

Не собирайте пока плату, там есть недочеты в схеме и соответственно плате, нужно закончить отладку, чтобы хотя бы у 1 человека работало как надо.

GFX
Offline
Зарегистрирован: 24.04.2015

Кстати, если разорвать связь между двумя ОУ, то генерация пропадает как шума так и напряжения. Вот сигнал после первого ОУ, он хотя бы без коллебаний. Сигнал инвертированный так что там 0 на самом деле это из-за особенности схемы что из второго ОУ вычитается сигнал первого, а я смотрю сразу после первого. А, нет поспешил с вывдами, это при 10 В на деление нет. а при меньшем есть и опять прет отрицательное напряжение. 

man_200
Offline
Зарегистрирован: 29.04.2016

Похоже аналоговую часть экранировать нужно или подальше от цифры выносить. Но куда выносить, если разъем монитора в непосредственной близости ко входу?

GFX
Offline
Зарегистрирован: 24.04.2015

Хочу попробовать обратные связи сделать на более меленьких сопротивлениях, но блин это дефицит. Опа нашел на 200 и 300 Ом, заменил разныци нет все ранво генерит. Оставил только первый ОУ, на входе неинвертирующем делитель 510+510 обратная связь 300 и 200 Ом, на неинвертирующем входе -0,262 на выходе -0,695В вот и приехали.

man_200
Offline
Зарегистрирован: 29.04.2016

Тоже как-то кувыркался с операционниками, пришлось теорию по ОУ читать. Капризная штука

Barbaris
Offline
Зарегистрирован: 14.08.2016

Можно обе 4051, или усилка запитать от отдельных стабилизаторов. Например TPS76330DBVT. Или просто убрать сопротивление 100 Ом :)

Может операционник сменить. Например на AD8092 ?

GFX
Offline
Зарегистрирован: 24.04.2015

Barbaris пишет:

Можно обе 4051, или усилка запитать от отдельных стабилизаторов. Например TPS76330DBVT. Или просто убрать сопротивление 100 Ом :)

Может операционник сменить. Например на AD8092 ?

У меня операционник не тот что по схеме, он капризный какой-то. Но сдвиги есть. Запитал операционники и 4051 от отдельного DCDC  от +-3,8..3,9В и картина стала лучше. только теперь при малых коэффициентах деления ноль уходит, только терепь в + уходит, а не минус. И пульсации стали гараздо лучше.

Barbaris
Offline
Зарегистрирован: 14.08.2016

Чтоб был лучше размах и сигнал меньше искажался лучше использовать Rail-to-Rail усилки, это MCP6022 или AD8092. У последнего частота до 110MHZ . Можно ещё DCDC поставить перед 1117 (ей нужна напруга 4,75В-5,25В) и проседать 3.3В не будет.

А так уже супер!

GFX
Offline
Зарегистрирован: 24.04.2015

Barbaris пишет:

Чтоб был лучше размах и сигнал меньше искажался лучше использовать Rail-to-Rail усилки, это MCP6022 или AD8092. У последнего частота до 110MHZ . Можно ещё DCDC поставить перед 1117 (ей нужна напруга 4,75В-5,25В) и проседать 3.3В не будет.

А так уже супер!

Да я обязательно закажу другие ОУ, просто доставка займет время, пока помучал тот что есть. Если побороть уход нуля было бы норм. И да напряжение после 1117 проседает буквально напруга на акб садится меньше 4В. Но у меня от нее уже запитан только экран и АЦП а им не критично падение. ОУ и 4051 запитал от ДС-ДС сразу пропали почти непонятноые помехи. МК запитал от встроенного регулятора он способен выдавать 3.3В при напряжении на акб 3,7В, ниже пока АКБ не сел. + нельзя мешать питание МК с питанием еще чего либо, т.к. у него опорное АЦП от питания берется же.

man_200
Offline
Зарегистрирован: 29.04.2016

Повторюсь, что 4051 стоит в обратной связи ОУ. Для того и просил при разработке печатки предусмотреть площадки под емкости, а в данном случае и под резисторы. Для каждого положения В/дел., т.е для коррекции нуля, нужно подбирать резисторы обратной связи, которые висят на 4051, а емкостями корректировать АЧХ на каждом поддиапазоне чуствительности.

Barbaris
Offline
Зарегистрирован: 14.08.2016

Ну да, всё так. Кроме того, что не стоит 4051 в цепи ОС ОУ :)   Для коррекции нуля, можно при подборе, резюки подключать сразу на вход ОУ и нужные уже припаивать в коммутатор 4051.

Сейчас борьба идёт за питание. Может у Вас есть способ запитать аналоговую часть и не добавить при этом пульсаций, и не потерять КПД в стабилизации?

Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

оо=))) картинки появились)))) неплохо выглядит)))

GFX
Offline
Зарегистрирован: 24.04.2015

Xumuk пишет:

оо=))) картинки появились)))) неплохо выглядит)))

Если экран будет 2.8 дюйма, а не 2.2 как у меня, выглядить будет еще лучше.

GFX
Offline
Зарегистрирован: 24.04.2015

man_200 пишет:

Повторюсь, что 4051 стоит в обратной связи ОУ. Для того и просил при разработке печатки предусмотреть площадки под емкости, а в данном случае и под резисторы. Для каждого положения В/дел., т.е для коррекции нуля, нужно подбирать резисторы обратной связи, которые висят на 4051, а емкостями корректировать АЧХ на каждом поддиапазоне чуствительности.

Где ты там увидел 4051 в обратной связи? Покажи на схеме! Он стоит как делитель перед ОУ, и я не дурак, я его первым делом отпаял, он не дает наводок, он только улучшает ситуация благодаря резисторам что тянут вход операционника к земле. В том то и проблема когда вход ОУ подтянут к земле высоким сопротивлением 510к например на нем появляется напряжение что смещает ноль. Когда делитель 10В на деление, а это 1.22КОм, то на входе ноль. Понять точно сколько нужно нет возможность потому что у меня набраны только сопротивления в двух положениях это 0.05В на дел и 10В на дел, в свзи с тем что не нашел нужных номиналов для других делителей. 

Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

GFX пишет:

Xumuk пишет:

оо=))) картинки появились)))) неплохо выглядит)))

Если экран будет 2.8 дюйма, а не 2.2 как у меня, выглядить будет еще лучше.

я грешным делом подумал это 1.8)

Logik
Offline
Зарегистрирован: 05.08.2014

Получается  4051передает шумы с питания и смещение в цепь ОУ. Шумовой ток небольшой, но при 510к  существенный а при 1.22КОм пренебрежимо мал. Так? А конденсаторы блокировки на 4051 есть? Судя по картинке шум близок к синусу. Частота какая?

GFX
Offline
Зарегистрирован: 24.04.2015

Logik пишет:

Получается  4051передает шумы с питания и смещение в цепь ОУ. Шумовой ток небольшой, но при 510к  существенный а при 1.22КОм пренебрежимо мал. Так? А конденсаторы блокировки на 4051 есть? Судя по картинке шум близок к синусу. Частота какая?

Частота различная вчера была 70-80 кГц, после всех монипуляций частота стала меньше по амплитуде и частоте, но тоже синусоидальная. 

"Шумовой ток небольшой, но при 510к  существенный, а при 1.22КОм пренебрежимо мал. " - да он небольшой, но он исходит не от 4051, он есть и без нее, и без нее больше напряжение получается на неинвертирующем входе, ток выходит из самого операционника. Кто-то в радиокоте сказал, что операционник "1. В отличие от MCP6022 AD812 во-первых с БИПОЛЯРНЫМ входом, и поэтому имеет большой входной ток (оттуда -0.2В), а во-вторых - не rail-to-rail, и поэтому рано наступит ограничение по выходу." и типа я дурак раз его поставил,  я то не секу в ОУ, но все же. Конденсаторы, что по схеме нарисованы, поставлены. Но дело не в 4051 точно, операционник почему-то выдает некий ток через неинвертирующий входток отрицательный и сейчас я напутал так как ввер инверсию в изображение вчера), но он стал меньше после увеличения напряжения питания, он видимо не может нормально работать с высокоомным входом, что для операционника странно но тем не менее учитывая его позиционирование может это и норма для него.

Хочу+-8В подать на операционник посмотрю, что будет.

GFX
Offline
Зарегистрирован: 24.04.2015

Повышение напряжения положительно не сказалось. И частота пульсаций одинаковая для обоих каналов и синхронная, что наводит на мысль, что это пульсации источника питания примерно 60-80 кГц. ладно эксперементы с текущими ОУ ни к чему хорошему не привели, ноль смещается напряжение на входе есть, через месяцок  проверю следущие)

Еще глюки-выбросы, вернее подения есть при чтении с AD9280, кто с ней работал в чем секрет?

 

Logik
Offline
Зарегистрирован: 05.08.2014

GFX пишет:

"Шумовой ток небольшой, но при 510к  существенный, а при 1.22КОм пренебрежимо мал. " - да он небольшой, но он исходит не от 4051, он есть и без нее, и без нее больше напряжение получается на неинвертирующем входе, ток выходит из самого операционника.

Ага.. и проблема на верхнем ОУ по схеме, так шоле? А видите на какой его вход подан сигнал? На инвертирующий. А смещение на прямой. Зачем так? Мало того что сигнал перевернется так и включение это не для таких ОУ. Потому как не на радиокоте пишут а в даташите:

INPUT CHARACTERISTICS

Input Resistance
+Input +5 V 15 MOm
–Input +5 V 90 Om
 
15МОм для наших целей вышекрыши, а 90Ом разумеется для сигнала мало. Это обясняет смещение, но не шум. Хотя самовозбуждение можно вспомнить... но очень врядли.  Поменяйте местами, только ОС разумеется отрицательной оставте. Т.е. с R43 на неинвертирующий вход, R38 остается как есть, а смещение на инвертирующий (для начало просто уберите)  
"а во-вторых - не rail-to-rail, и поэтому рано наступит ограничение по выходу." Ну это где надо, а где и не надо, а денег стоит. Важно чтоб ограничение не наступало ранше чем закончится диапазон АЦП. Остальное - пофиг. 

GFX пишет:
 Но дело не в 4051 точно, операционник почему-то выдает некий ток через неинвертирующий входток отрицательный и сейчас я напутал так как ввер инверсию в изображение вчера)

Ну выходит так. Кстати источник напряжения смещения не высокоомный надеюсь. 

 

GFX
Offline
Зарегистрирован: 24.04.2015

"Input Resistance

+Input +5 V 15 MOm

–Input +5 V 90 Om" интересная информация, однако проблемма именно с выводом №3(не с верхним ОУ), который имеет высокое сопротивление. У верхнего опорное напряжение перебарывает самопроизвольное напряжение т.к. достаточно низкоомное для этого.

Я отключил все кроме резистора 300 ОМ между выходом и инвертирующим входом, входной резистор 510кОм посадил на землю, итог на ножке 1 и 3 -0.25В, убрал последний резистор оставил только на входе, который на землю, итог тот же самый только на выходе -0.26 и не сильно стабильно но без обратной связи и понятно. Вывод какай не знаю откуда но операционник сам генерирует напругу на неинвертирующем входе, которую резистором 510кОм прижать не получается к земле и -0.25В остается. Если убрать все то на этом входе более -3,6В. Ну может наводки, только что они тогда 510кОм не прижимаюся к земле, вывод ОУ что то чудной. Но в режиме 1 операционника без смещения и инвертирования сигнал он выдает довольно качественый, но из-за маленького отрицательного смещения мы видим что нуля нет, вернее он не естественно ровный. Ну изображене перевернуто под схему, которая не используется. Почему сделано так с инвертацией не знаю, схема то не моя, предложите лучше, но пока я вижу что даже единичный операционник чудит, а когда их два то его чудеса преумножаются. С двумя ОУ график был намного страшнее.

GFX
Offline
Зарегистрирован: 24.04.2015

Еще интересный момент на отрицательных входах в свободном полете ОУ выставлят напряжение такое же как на неинвертирующих, ну может это и норма, только я думал, что ОУ стремится изменить выход, так чтобы между ними разницы не было, а не в наглую входы)

GFX
Offline
Зарегистрирован: 24.04.2015

300 кГц на встроенном АЦП кривая схема с ползающем нулем ну это проверка чисто на скорость

тот же сигнал, что выше, только на внешнем АЦП, на амплитуду не смотрим и что он сдвинут

Barbaris
Offline
Зарегистрирован: 14.08.2016

Получается здорово! Придёт дисплей - буду ставить экперименты с питанием. Есть одна идея схемного решения с увеличенным КПД 90%-95% (частота преобразования ок. 1МГЦ и  без помех).

GFX
Offline
Зарегистрирован: 24.04.2015

Все таки с внешним АЦП есть проблема в считывании данных, помехи на нем преумножаются из-за того что в переходных состояниях, когда например включается 7бит и выключаются все остальные, или для любого другого бита, происходит считывание не правильной инфы. Игрался с тактированием, помогает подбор частоты и сдвига начала, но побороть полностью не выходит. Может RC цепочку какую то нужно. У нас еще провода разной длинны в связи АЦМ и МК, особенно на порт B2.

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

GFX пишет:

Все таки с внешним АЦП есть проблема в считывании данных, помехи на нем преумножаются из-за того что в переходных состояниях, когда например включается 7бит и выключаются все остальные, или для любого другого бита, происходит считывание не правильной инфы. Игрался с тактированием, помогает подбор частоты и сдвига начала, но побороть полностью не выходит. Может RC цепочку какую то нужно. У нас еще провода разной длинны в связи АЦМ и МК, особенно на порт B2.

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

GFX
Offline
Зарегистрирован: 24.04.2015

Okmor пишет:

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

Ну я и с сон заходил, считывал через ДМА, где никто не отвлекает, когда проц спит, все равно лажа какая то вылазиет.

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

Синхронизация должна быть четкой. У меня тактируется от таймера, который изменяет ногу с каждым тактом. Тоесть при частоте ядра 16 000 000, частота тактирования 8 000 000.  Считывать удается за три такта, но тогда начались помехи, я иногда попадал в момент изменения порта. Добавил asm("nop"); в каждый такт, таким образом привел их к кратности 2. Начало пакета синхронизирую по ноге CLK вот так: while ((PINB & (0b00000010)) != 0 ){;}. Просто пустой цикл, как на ноге "0", то вперед!!!!

Итого тактирую 8 000 000, а считываю 4 000 000. Стало лучше, но не совсем. Всякие прерывания мешали как машкара летом, то таймер сработает, то статика. Прерывания отключил и все заработало как надо.

GFX
Offline
Зарегистрирован: 24.04.2015

Поколдую еще конечно, но странно это.  Частота высокая, мой логический анализатор не видит такое. Дело в том, что у меня итак все совпадать должно, таймер по ШИМ делает меандр за 6 тактов, считывание тоже 6 тактов, перед началом считывания прерывания выключаю, таймер сбрасываю и вперед сосиська на 4000 значений и вот это лучший результат, нет огромных всплесков, но все равно есть и мне кажется что это из-за разной длины проводов, на таких частотах уже влияет может? Потому как колебания в начале байта, т.е. похоже на наш второй бит. Когда есть рассинхрон там такие всплески вылазят на 7м бите такие, что мама не горюй.

GFX
Offline
Зарегистрирован: 24.04.2015

Хотя может это шумы просто, а не глюки на шине АЦП, сказать пока мне сложно, т.к. операционники и вся входная часть шумит слишком сильно.