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

Как дифференциальный сигнал завести в микроконтроллер?

Собственно, сейчас остановился на двух вариантах:
1. Завести сигнал непосредственно через GPIO. У stm32 входные уровни позволяют это сделать (VIL max = 1.115 В, VIH min =  1,785В).
2. Завести через АЦП. По прерыванию от GPIO_EXTI отслеживать факт начала передачи, затем АЦП по таймеру в режиме DMA  сэмлирует сигнал. В промежутке времени между пачками переводим принятый массив в дискретные значения.

Начинаю разводить отладку.
Спасибо за идеи!
 

Поделиться сообщением


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

4 часа назад, shamrel сказал:

затем АЦП по таймеру в режиме DMA  сэмлирует сигнал. В промежутке времени между пачками переводим принятый массив в дискретные значения.

Можно запустить ПДП в цикличестком режиме и когда АЦП закончит преобразование первой половины буфера - в прерывании HTIF быстренько обработать его. ПДП в это время будет заполнять вторую половину буфера, которую обработать в прерывании TCIF пока ПДП заполняет первую. И так по кругу. Там не так много обработки, можно обрабатывать постоянно (без задействования EXTI).

Поделиться сообщением


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

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

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

×
×
  • Создать...