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

 
 
> Датчик температуры DS18B20 и прерывания
k000858
сообщение Jul 16 2013, 06:08
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Работа с датчиком основывается на точных задержках при маханиях ножкой (1wire). В больших проектах, где используется много прерываний, точные задержки могут растягиваться (по скольку во время выполнения задержек срабатывают прерывания, да не по одной штуки и тд). В результате показания с датчика могут сниматься некорректные. Как вы с этим боритесь? Запрещать прерывания на время выполнения задержек не вариант т.к. могут быть пропуски прерываний.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VAI
сообщение Jul 16 2013, 08:07
Сообщение #2


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

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Вот тут я выкладывал исходники для работы с несколькими DS18B20 используя прерывание по Compare и ногодрыг. Работают в нескольких проектах на разных типах процессоров. Я использовал от 2-х до 8 DS18B20. Проблем никаких.
http://electronix.ru/forum/index.php?showt...p;#entry1089884


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
k000858
сообщение Jul 16 2013, 08:13
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(VAI @ Jul 16 2013, 11:07) *
Вот тут я выкладывал исходники для работы с несколькими DS18B20 используя прерывание по Compare и ногодрыг. Работают в нескольких проектах на разных типах процессоров. Я использовал от 2-х до 8 DS18B20. Проблем никаких.
http://electronix.ru/forum/index.php?showt...p;#entry1089884

Исходники пока не смотрел, но сразу вопрос: что будет, если во время задания таймслота чтения/записи сработает другое прерывание, обработка которого займет некоторое время, в результате чего четкий таймслот будет нарушен?
Go to the top of the page
 
+Quote Post
VAI
сообщение Jul 16 2013, 08:36
Сообщение #4


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

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Цитата(k000858 @ Jul 16 2013, 12:13) *
Исходники пока не смотрел, но сразу вопрос: что будет, если во время задания таймслота чтения/записи сработает другое прерывание, обработка которого займет некоторое время, в результате чего четкий таймслот будет нарушен?

Для таймслотов существует диапазон значений, а не строго N микросекунд.
Для STM32 можно при настройке контроллера прерываний задать приоритеты каждому прерыванию. Ну и в перрывании не надо сидеть слишком долго...


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
adnega
сообщение Jul 16 2013, 08:50
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(VAI @ Jul 16 2013, 12:36) *
Для таймслотов существует диапазон значений, а не строго N микросекунд.
Для STM32 можно при настройке контроллера прерываний задать приоритеты каждому прерыванию. Ну и в перрывании не надо сидеть слишком долго...

Для STM32 вообще все делается на таймере прекрасно: один канал сравнения и второй канал захвата.
Т.е. критичные тайминги формируются аппаратно, а расстояние между битами плюс-минус километр -
можно и в другом прерывании поработать.
Работает гирлянда из 8 датчиков без вопросов.
Проверял один датчик через 200 метров от -30 до 120 C - тоже работает.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- k000858   Датчик температуры DS18B20 и прерывания   Jul 16 2013, 06:08
- - 1113   вешать 1-wire на какой-то апаратный интерфейс, нек...   Jul 16 2013, 06:13
|- - firew0rker   Цитата(1113 @ Jul 16 2013, 13:13) вешать ...   Jul 16 2013, 07:34
- - k000858   я так понимаю, временные задержки интерфейс соблюд...   Jul 16 2013, 07:45
|- - 1113   Цитата(k000858 @ Jul 16 2013, 10:45) я та...   Jul 16 2013, 07:50
||- - k000858   Цитата(adnega @ Jul 16 2013, 11:50) Для S...   Jul 17 2013, 02:44
||- - adnega   Цитата(k000858 @ Jul 17 2013, 06:44) здор...   Jul 17 2013, 06:09
||- - k000858   Цитата(adnega @ Jul 17 2013, 09:09) Единс...   Jul 17 2013, 06:17
|- - firew0rker   Цитата(VAI @ Jul 16 2013, 15:07) Вот тут ...   Jul 16 2013, 15:25
- - Golikov A.   а можно ЦПЛД махонькую воткнуть чтобы она все соби...   Jul 16 2013, 08:11
- - VAI   Точка соединения R77, R74 - это питание.   Jul 16 2013, 16:45
|- - firew0rker   Цитата(VAI @ Jul 16 2013, 23:45) Точка со...   Jul 16 2013, 17:07
|- - VAI   Цитата(firew0rker @ Jul 16 2013, 21:07) О...   Jul 16 2013, 17:18
|- - firew0rker   Цитата(VAI @ Jul 17 2013, 00:18) В данном...   Jul 16 2013, 23:59
- - sidy   У меня вопрос близкий к данной теме, по таймерам S...   Jul 16 2013, 17:05
|- - Golikov A.   Цитата(sidy @ Jul 16 2013, 21:05) У меня ...   Jul 16 2013, 18:24
- - toweroff   Я использовал SSP (то, что от аппаратного осталось...   Jul 16 2013, 22:52


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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 17:54
Рейтинг@Mail.ru


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