Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F0 Touch sensing controller (TSC)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Влад Р.
Всем доброго времени суток!

Разбираюсь с Touch sensing controller (TSC) на STM32F0. Вытравил слайдер по рекоммендациям отсюда:
http://www.st.com/internet/com/TECHNICAL_R.../CD00222015.pdf
Расстояние между передающим и принимающим электродами - 0,3мм.
Если я правильно понимаю, принцип действия контроллера таков: передающий электрод посылает импульсы на принимающий. Счетчик считает количество импульсов, необходимых для заряда емкости на принимающем электроде (я поставил керамику на 10нФ). Если в область переноса заряда вносится проводящий предмет, то число импульсов, необходимых для заряда емкости на принимающем электроде увеличивается, т.к. предмет поглащает часть энергии.

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

Кто что может сказать по этому поводу? Кто-нибудь уже сумел успешно применить touch sense, есть "правильный" алгоритм работы?

Также непонятно предназанчение некоторых регистров, а именно TSC_IOHCR и TSC_IOASCR - управление гистерезисом триггера Шмитта и "analog switch" соответсвенно. Не представляю как их применять. Кстати в первом по умолчанию гистерезис включен на всех пинах.
kan35
Все верно у вас работает. Я никогда не делал живьем, но по теории примерно так:
Емкость кнопки заряжается.
кнопка коммутируется на тестовую емкость.
заряд переносится.
и процесс повторяется пока на емкости напряжение не достигнет определенного предела.

Соответственно, когда чел касается кнопки гораздо больше заряда накапливается в нем и меньшее число переносов происходит чтобы зарядить тестовую емкость.
Могу слайдов прикрепить сюда если интересно.
Влад Р.
Цитата(kan35 @ Sep 17 2012, 20:04) *
Все верно у вас работает. Я никогда не делал живьем, но по теории примерно так:
Емкость кнопки заряжается.
кнопка коммутируется на тестовую емкость.
заряд переносится.
и процесс повторяется пока на емкости напряжение не достигнет определенного предела.

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


Спасибо за овтет! Объясню почему запаниковал. В STM32F0 touch-интерфейс сделан на основе принципа переноса заряда. Вот статья, где описан тот же принцип, но для другой микросхемы:
http://www.kslemb.com/Data/ITouch/ITouch_Overview.pdf
И вроде как там время заряда емкости меньше в случае отсутсвия прикосновения. Слайды очень интересуют, прикрепите. Не компэловские случайно?
kan35
Я говорил именно про STM32F0
PDF
может быть это и компэловские, я их не видел.
Когда вы касаетесь кнопки, то емкость ее УВЕЛИЧИВАЕТСЯ.
Время зарядки емкости-кнопки одинаково и она заряжается через ключ, соответственно когда вы касаетесь ее, то она забирает больше заряда.
Соответственно, когда происходит перенос заряда, то тестовый конденсатор заряжается БЫСТРЕЕ до заданного уровня.
А значит количество циклов УМЕНЬШАЕТСЯ.
Влад Р.
Цитата(kan35 @ Sep 18 2012, 07:33) *
Я говорил именно про STM32F0
PDF
может быть это и компэловские, я их не видел.
Когда вы касаетесь кнопки, то емкость ее УВЕЛИЧИВАЕТСЯ.
Время зарядки емкости-кнопки одинаково и она заряжается через ключ, соответственно когда вы касаетесь ее, то она забирает больше заряда.
Соответственно, когда происходит перенос заряда, то тестовый конденсатор заряжается БЫСТРЕЕ до заданного уровня.
А значит количество циклов УМЕНЬШАЕТСЯ.


Спасибо за объяснение и слайды. Выяснил, все что интересовало.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.