Перейти к содержанию

Инвертировать сигнал на высокой частоте


Sechih7

Рекомендуемые сообщения

Добрый день, интересуюсь темой создания осциллографа на STM32, суть такова: АЦП выбрал AD9288 т.к. недорогой и доступный, максимальная частота выборки 100MS, хочу ее увеличить в два раза соединив два канала АЦП параллельно и затактировав их прямым и инверсным сигналом как показано на рисунке в даташите. Соответственно нужно подавать меандр с частотой 100МГц на АЦП чтобы получить 100MS. Вот возникает две сложности. Первое это сам порт ввода вывода микроконтроллера STM32, мысль взять сигнал 100MHz с вывода MCO, но не уверен что получится, т.к.  в даташите на микроконтроллер прописана граничная частота работы порта гораздо меньше например 84МГц но cubeMX не запрещает, (с такой частотой он может дрыгать лапой). А второе, если все же получиться взять сигнал с ножки порта, то как оптимальнее инвертировать его на частоте 100МГц, применить микросхему логического-НЕ? 

image.png

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

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

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Для твоих задач, правильнее будет применить термостатированный внешний генератор, у которого и будет два синфазных выхода. Например, что-либо из этого: https://www.geyer-electronic.de/1054-1089-1094-1080-1083.669+B6Jkw9Mg__.0.html 

https://kit-e.ru/elcomp/crystal-oscillator/kvarczevye-generatory/ 

Изменено пользователем ivani-2a
Дополнение
Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

6 часов назад, Sechih7 сказал:

с такой частотой он может дрыгать лапой

Вообще-то озадачиться надо другим: а сможет ли он с такой принимать данные? Я уж не говорю про их обработку.

Ссылка на комментарий
Поделиться на другие сайты

17 часов назад, Sechih7 сказал:

максимальная частота выборки 100MS,

И что STM32 будет делать с этим потоком данных?

 

17 часов назад, Sechih7 сказал:

мысль взять сигнал 100MHz с вывода MCO,

Еще интереснее. А МК сможет защелкивать данные за один такт? Хотя какой один, тут

 

17 часов назад, Sechih7 сказал:

увеличить в два раза

Пол такта получается. Может для начала разобраться, как вообще работает МК и что он умеет?

 

31 минуту назад, Sechih7 сказал:

А что если применить буфер FIFO на каждый АЦП

И что он даст? Данные так или иначе должны попасть в МК, что с буфером, что без. Плюс к этому данные требуют обработки и вывода на дисплей. Если и делать осцилл на STM32, то только на внутреннем АЦП, он до 5 MSPS бывает. Для работы же с твоим АЦП нужна ПЛИС или DSP проц.

Ссылка на комментарий
Поделиться на другие сайты

Полезли в тему не зная вообще как работает железо и как происходит обмен

Какой нафиг внешний генератор, если данные синхронизируются тактированием 

BARS дал реальный совет, запустите сначала осциллограф на чистом STM, даю 120% что желание отпадет еще на пути к этому

Ссылка на комментарий
Поделиться на другие сайты

19 часов назад, Sechih7 сказал:

создания осциллографа

Может, просто купить у китайцев готовый, не озадачиваясь

19 часов назад, Sechih7 сказал:

темой создания

Наверняка будет и быстрее, и дешевле, и качественнее. Заодно и

1 час назад, hasl сказал:

желание отпадет еще на пути к этому

 

Ссылка на комментарий
Поделиться на другие сайты

11 минут назад, sanya110 сказал:

китайцев готовый

Сделанный самодельно есть(копия китайского), но хочется получить опыт в создании своего на уровне железа, писать код под STM32 получается

Ссылка на комментарий
Поделиться на другие сайты

Только что, Sechih7 сказал:

писать код под STM32 получается

Кроме этого должно получаться понимать, как МК работает, а не тупо генерить код в кубе.

Ссылка на комментарий
Поделиться на другие сайты

14 минут назад, BARS_ сказал:

Кроме этого должно получаться понимать, как МК работает, а не тупо генерить код в кубе.

Ну мне больше нравится CMSIS и StdPeriph, Куб использую только для настройки тактирования

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, Sechih7 сказал:

писать код под STM32 получается

Это просто здОрово (без иронии). Но

7 минут назад, Sechih7 сказал:

получить опыт в создании своего на уровне железа

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

Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, BARS_ сказал:

нафиг там куб?

Сами значения делителей и умножителей  PLL можно взять, раньше это делали в Excel файле скачанном с сайта. Кстати в кубе есть библиотека LL(Что-то типа StdPeriph), она получше HAL, но там там не все библиотеки прописаны, например CAN инициализируется только по HAL да и там разбираться больше нужно, а больше всего бесить что документация не выходит в ногу с обновлением библиотек.

Ссылка на комментарий
Поделиться на другие сайты

48 минут назад, Sechih7 сказал:

CAN инициализируется только по HAL

Абсолютно вся начинка МК инициализируется по даташиту с использованием лишь CMSIS.

Ссылка на комментарий
Поделиться на другие сайты

 BARS_, но вот теоретически если сделать так: Данные с двух каналов АЦП один тактируется прямым, а второй инверсным сигналом поступают на  FPGA, тактируются каналы тоже через выводы FPGA (к ней подключен кварц KXO 100МГц),  также FPGA соединяется с ОЗУ и поочередно записываются в нее данные с двух каналов, она выступает в роли буфера, затем мы просто вытаскиваем данные с ОЗУ микроконтроллером и выводим их на дисплей? FPGA  пока выступает черным ящиком по обработке сигналов. Или все же так не получиться, натолкните на правильную мысль пожалуйста?

Ссылка на комментарий
Поделиться на другие сайты

Ну если всю ЦОС делать на ПЛИС, о МК можно ставить чисто на отображение и управление. Только ПЛИС должна быть не просто буфером, а производить всю обработку, выдавая на МК чисто массив точек для вывода на дисплей. Да и то надо считать время чтения и отрисовки. В любом случае будет некоторое запаздывание между сигналом и его отображением.

Ссылка на комментарий
Поделиться на другие сайты

45 минут назад, BARS_ сказал:

запаздывание между сигналом и его отображением.

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

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Sechih7 сказал:

но вот теоретически если сделать так:

... то что-то получится. Только тут же вылезет вопрос: "А что с этим делать"?

Осциллограф начинать разрабатывать надо с другого конца. Какие типы сигналов и как вы хотите отобразить. Как делать синхронизацию, одноразовый и многократный запуск, чтобы картинка стояла, какая нужна длина записи, какая будет частота кадров на мониторе и что делать с пропущенными в это время кадрами сигнала... ... ... Потом уже вылезут необходимая вычислительная мощность, пропускная способность шин, распределение вычислений по функциональным устройствам, объём памяти... и только в самом-самом-самом конце встанет тривиальный вопрос, как (и куда) надо принимать данные с АЦП.

А у вас сейчас что-то типа "Надо обставить квартиру. Решил начать с забивания гвоздя вот в этот дверной косяк. Подскажите, какой гвоздь лучше взять, сотку, или сто двадцать? А может лучше два по 75 забить?" :D

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, Sechih7 сказал:

хочется получить опыт в создании своего на уровне железа

Если хочется самостоятельно создать что-нибудь эдакое, может лучше логический анализатор изготовить? Там со входными сигналами ситуация вроде бы попроще.

Ссылка на комментарий
Поделиться на другие сайты

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

Кроме того, просто тактировать АЦП на высокой частоте совершенно недостаточно для достоверной оцифровки сигнала. Решающую роль в этом деле играет то, что буржуи называют аналоговым фронт-эндом — совокупность усилителей, аттенюаторов и фильтров, приводящие входной сигнал (точнее его характеристики) к удобоваривому для АЦП виду. Проектировать эту часть для частот от нескольких мегагерц и выше не имея соответствующего опыта — задача крайне сложная, если не безнадежная. Разве что скопировать с подходящего аналога. Ваше же желания возыметь частоту оцифровки в 200 MSps намекает, что вы нацелились аж на десятки мегагерц на входе.

Начните с малого, а то захлебнетесь. 

 

Изменено пользователем El-Shang
Ссылка на комментарий
Поделиться на другие сайты

Да. Например можно начать с вольтметра постоянного напряжения. Это даст возможность прочувствовать, что такое точность АЦП. Потом добавить измерение переменного напряжения в звуковом диапазоне, функцию измерения RMS...

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Lexter сказал:

с вольтметра постоянного напряжения

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

photo_2021-01-29_09-19-46.jpg

Ссылка на комментарий
Поделиться на другие сайты

39 минут назад, Sechih7 сказал:

математикой

Так в математике и алгоритмах вся фишка. Далеко не каждый и не с первого раза может заставить МК обсчитать все правильно и быстро.

 

P.S.

А что это за панель с дисплеем такая интересная?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...