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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> 1-wire интерфейс, задержки, тайминги
Connor
сообщение Mar 30 2018, 17:08
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 26-05-17
Пользователь №: 97 309



Хочу реализовать 1 wire интерфейс для общения между stm32f303ve и температурным датчиком ds1821,но есть такая проблема, я работаю на 1Мгц (HCLK) и у меня не получается сделать точную задержку времени, что для 1wire весьма критично, ведь он завязан на таймингах.

Может кто-нибудь подсказать как можно реализовать точную задержку, скажем, в 1 микросекунду и возможно ли это реализовать на stm на такой частоте ядра? Дело ещё в том, что когда мы подаём сигнал на какую-то ножку, также необходимо время пока сигнал достигнет нужный величины (Vdd, к примеру),судя по даташиту оно должно быть около 125 НАНОсекунд на частоте в 2Мгц, но как я не пытался время задержки у меня получается минимально около 50мкс с помощью DWT, что очень много, буду рад вашим мыслям и советам, спасибо

Сообщение отредактировал Connor - Mar 30 2018, 17:10
Go to the top of the page
 
+Quote Post
mantech
сообщение Mar 30 2018, 18:25
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Это будет очень проблематично, учитывая, что там есть задержки в 5мксек. В данном случае, думаю стоит посмотреть в сторону УАРТА...

Сообщение отредактировал IgorKossak - Apr 1 2018, 17:42
Причина редактирования: бездумное цитирование
Go to the top of the page
 
+Quote Post
Forger
сообщение Mar 30 2018, 18:28
Сообщение #3


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Connor @ Mar 30 2018, 20:08) *
stm32f303ve .... работаю на 1Мгц (HCLK)

В правом верхнем углу каждой страницы этого форума есть волшебная кнопочка (см. картинку ниже). Для начала воспользуйтесь ею.
Если не поможет, то существует более простой вариант: щелкайте на эту ссылку


Прикрепленное изображение


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Connor
сообщение Mar 30 2018, 18:44
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 26-05-17
Пользователь №: 97 309



да гуглил я гуглил!))ничего толкового не нашёл для себя, из реализации задержек в мкс в основом только DWT, а рабочий пример что я видел для one wire был на 72МГц

Сообщение отредактировал IgorKossak - Apr 1 2018, 17:41
Причина редактирования: бездумное цитирование
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Mar 30 2018, 18:44
Сообщение #5


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(Connor @ Mar 30 2018, 20:08) *
Хочу реализовать 1 wire ..., в 1 микросекунду...Дело ещё в том,......


1) Если внимательно присмотритесь к данному протоколу, то станет понятно что там нет 1мкс... Да сигнал Вы должны снимать(лог, 0) в каждом слоте передачи.
Но протокол сделан так, что ничего страшного не произойдёт если там скажем будет не 1 мкс, а 2 или 3..
2) По поводу распространения сигнала - когда реализуете сами задержки выбросите из головы. Сосредоточьтесь ТОЛЬКО на соблюдения даташита в таймингах. Очень критично именно стробирование
слота и дальнейшее чтение или удержание линии необходимое кол-во мкс.
3) есть различные реализации данной задачи. есть последовательный порт, есть ногодрыг, есть пдп. Всё тут не раз обсуждалось - если покопаться внимательно, найти можно.
4) Почему ds1821 (хоть я и сторонник их юзанья в пром. изготовлении для регулировки...)? Он выпадает из общего ряда 1Wire протокола. Он НЕ!!! имеет адресацию на шине (отсюда один порт = один датчик.
Что лично по мне упрощает пусконаладку и ремонт конечного изделия на объекте = меньше отвёрточно-настроечной потери времени). Есть и плюсы - он даёт разрешение температуры до 0,01 градуса (обычные DS18xx только 0,0625 градуса).
5) Не забывайте защиту от статики.
6) Если линии длинные (более 50 метров) - рекомендую перенести нагрузочный резистор ближе к датчику и уменьшить его до сотен ом где-то..

с уважением
(круглый)
Go to the top of the page
 
+Quote Post
Forger
сообщение Mar 30 2018, 19:02
Сообщение #6


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Connor @ Mar 30 2018, 21:44) *
да гуглил я гуглил!))ничего толкового не нашёл для себя,

Тогда существует лишь одно верное решение этой "проблемы": заказать реализацию проекта целиком. Разумеется, за не просто так.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Connor
сообщение Mar 30 2018, 19:04
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 26-05-17
Пользователь №: 97 309



Цитата(kolobok0 @ Mar 30 2018, 12:44) *


Спасибо, я понимаю, но у меня даже не получается сделать задержку кратной 5 мкс или 15, и на сколько я помню разрешение у него 8бит, а это 1 градус в диапазоне от -55 до +170 что ли или около того. Мне, при решении данной задачи, стало интересно именно реализация задержки, ведь на 1МГц один клок это 1мкс, один такт, в принципе теоретически такая задержка возможна...

Сообщение отредактировал IgorKossak - Apr 1 2018, 17:42
Причина редактирования: бездумное цитирование
Go to the top of the page
 
+Quote Post
domowoj
сообщение Mar 30 2018, 19:20
Сообщение #8


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

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



А какой смысл использовать этот кристалл СТМ на такой низкой частоте?


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
Connor
сообщение Mar 30 2018, 19:28
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 26-05-17
Пользователь №: 97 309



Цитата(domowoj @ Mar 30 2018, 13:20) *
А какой смысл использовать этот кристалл СТМ на такой низкой частоте?


На плате много других устройств, которые работают на более высокой частоте и расположены они очень близко, и был уже негативный опыт частотных искажений в связи с работой стм на близкой частоте
Go to the top of the page
 
+Quote Post
domowoj
сообщение Mar 30 2018, 19:36
Сообщение #10


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

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



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


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
Forger
сообщение Mar 30 2018, 19:37
Сообщение #11


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Connor @ Mar 30 2018, 22:28) *
Хочу реализовать 1 wire интерфейс ..... На плате много других устройств, которые работают на более высокой частоте и расположены они очень близко

(С) Чем дальше в лес ...


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 30 2018, 19:40
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Forger @ Mar 30 2018, 22:37) *
(С) Чем дальше в лес ...

...тем ближе вылез biggrin.gif
Пожалуй исходя из озвученного - сообщение N6 будет в точку. laughing.gif
Go to the top of the page
 
+Quote Post
Connor
сообщение Mar 30 2018, 19:42
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 26-05-17
Пользователь №: 97 309



Ладно, ребят, тему можно закрывать, всем данке шон
Go to the top of the page
 
+Quote Post
domowoj
сообщение Mar 30 2018, 19:53
Сообщение #14


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

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



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


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 30 2018, 19:59
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(domowoj @ Mar 30 2018, 22:53) *
ну разделите питания, с землями поработайте,
как же люди в быстродействующих АЦП эти вопросы решают.
А решение понизить частоту- решение в лоб,

Если это сделано по такой причине, то это не решение, а перекладывание с больной головы (схемотехнической) на здоровую (программистскую).
Могу предположить, что схемотехник в конторе ТС-а, имеет бОльший авторитет, чем автор и давит своим авторитетом, заставляя принимать решения в свою пользу biggrin.gif
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Mar 30 2018, 20:07
Сообщение #16


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(Connor @ Mar 30 2018, 22:04) *
...разрешение у него 8бит, а это 1 градус в диапазоне от -55 до +170...


там есть формула расчёта повышенного разрешения. приходит помимо температуры ышо два числа (одни из них для НЕ 21 всегда конст - отсюда и ограничение в 0,0625 градуса. а вот для 21 - оба меняются) - отсюда и получается 0,01.
ну или по другому. я знаю как. могу за супер-пупер деньги сделать разрешение в 0,01 градуса (не софтово).

по поводу задержки. Вы явно не смотрите в даташит на протокол. Изжовано уже не один десяток человек. чесслово.. у самого за плечами пром. реализация и на 51 и на авр и на стм32 - да пофигу в принципе...
совет дня - найдите две команды. Одна выставляет нуль, вторая снимает. поставте рядом друг с другом . обеспечьте неразрывность этих операций. всё...ваша задача решена... в чём проблема то?
и ышо один совет дня. обратите внимание на временной слот чтения. на его минимальную задержку. Это и есть крайнее значение джитера (и оно, по памяти, около 6 мкс). а то к которому надо стремиться - 1мкс...
получается от 1мкс до 5мкс - вы вы можете немного сдрейфить. Да, чем менее точно - тем короче линия получится..
кстати, надеюсь Вы НЕ!!! используете внутренние подтягивающие резисторы??? Это распространённая ошибка..

удачи вам
(круглый)
PS
ПОВАНГУЮ...

Цитата(Connor @ Mar 30 2018, 22:04) *
... у меня даже не получается сделать задержку кратной 5 мкс или 15...

Вы пытаетесь на прерывании ловить джитер микросекунд... оно?
Ышо раз - взгляните на протокол...Там НЕТ такой необходимости от слова СОВСЕМ!!!
1) между слотами - дрейф в десятки! микросекунд - без проблем...
2) между фазами тестирования(на чтении) - десятки!!! микросекунд - без проблем...

есть только! 1мкс при НАЧАЛЕ слота чтения или записи. ВСЁ!!!



Сообщение отредактировал kolobok0 - Mar 30 2018, 20:15
Go to the top of the page
 
+Quote Post
Jury093
сообщение Mar 31 2018, 09:41
Сообщение #17


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(Connor @ Mar 30 2018, 22:28) *
На плате много других устройств, которые работают на более высокой частоте и расположены они очень близко, и был уже негативный опыт частотных искажений в связи с работой стм на близкой частоте

с такими проблемами вам проще вынести обработку w1 на отдельный чип, например
https://www.chipdip.ru/product/ds2482s-100-2
там есть с 1 линией и до 8-ми..
или сделать самописный бридж, хоть из атмеги или другого подручного mcu
иначе ваша stm32 только и будет, что потеть, обрабатывая тайминги для w1
Go to the top of the page
 
+Quote Post
Forger
сообщение Mar 31 2018, 09:46
Сообщение #18


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Jury093 @ Mar 31 2018, 12:41) *
с такими проблемами

Тут "проблемы" совсем другого характера: smile3046.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post

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

 


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


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