реклама на сайте
подробности

 
 
> STM32: инвертировать знаковый бит АЦП
777777
сообщение Aug 26 2011, 04:00
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Оцифровываются 6 каналов и записываются в память в режиме DMA. Но некоторые каналы знаковые - середина диапазона подразумевается нулем, а сигнал колеблется около него. Поэтому значение АЦП нужно сделать знаковым: инвертировать старший бит (результат сдвинут влево). Можно ли это сделать аппаратно? Если это делать программно, то смысл DMA полностью теряется.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SSerge
сообщение Aug 26 2011, 09:13
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



1. Инвертирование старшего бита даст совсем не тот результат, на который Вы рассчитывали. Для сдвига нужно просто вычитать константу.
Инжектет каналы, кстати, такой функционал имеют (см. ADC injected channel data offset register), а вот регулярные - увы, нет.
2. Какая-то обработка всё равно потребуется, иначе зачем оцифровывать? Вот там и вычитать смещение.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 14:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016