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

1-wire интерфейс на STM32F303VE

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

 

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

Изменено пользователем haker_fox
Переименовал тему в более понятную. Переместил в раздел STM32.

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


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

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

Изменено пользователем IgorKossak
бездумное цитирование

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


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

stm32f303ve .... работаю на 1Мгц (HCLK)

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

Если не поможет, то существует более простой вариант: щелкайте на эту ссылку

 

 

post-2831-1522434394_thumb.jpg

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


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

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

Изменено пользователем IgorKossak
бездумное цитирование

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


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

Хочу реализовать 1 wire ..., в 1 микросекунду...Дело ещё в том,......

 

1) Если внимательно присмотритесь к данному протоколу, то станет понятно что там нет 1мкс... Да сигнал Вы должны снимать(лог, 0) в каждом слоте передачи.

Но протокол сделан так, что ничего страшного не произойдёт если там скажем будет не 1 мкс, а 2 или 3..

2) По поводу распространения сигнала - когда реализуете сами задержки выбросите из головы. Сосредоточьтесь ТОЛЬКО на соблюдения даташита в таймингах. Очень критично именно стробирование

слота и дальнейшее чтение или удержание линии необходимое кол-во мкс.

3) есть различные реализации данной задачи. есть последовательный порт, есть ногодрыг, есть пдп. Всё тут не раз обсуждалось - если покопаться внимательно, найти можно.

4) Почему ds1821 (хоть я и сторонник их юзанья в пром. изготовлении для регулировки...)? Он выпадает из общего ряда 1Wire протокола. Он НЕ!!! имеет адресацию на шине (отсюда один порт = один датчик.

Что лично по мне упрощает пусконаладку и ремонт конечного изделия на объекте = меньше отвёрточно-настроечной потери времени). Есть и плюсы - он даёт разрешение температуры до 0,01 градуса (обычные DS18xx только 0,0625 градуса).

5) Не забывайте защиту от статики.

6) Если линии длинные (более 50 метров) - рекомендую перенести нагрузочный резистор ближе к датчику и уменьшить его до сотен ом где-то..

 

с уважением

(круглый)

 

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


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

да гуглил я гуглил!))ничего толкового не нашёл для себя,

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

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


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

 

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

Изменено пользователем IgorKossak
бездумное цитирование

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


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

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

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


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

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

 

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

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


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

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

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


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

Хочу реализовать 1 wire интерфейс ..... На плате много других устройств, которые работают на более высокой частоте и расположены они очень близко

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

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


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

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

...тем ближе вылез :biggrin:

Пожалуй исходя из озвученного - сообщение N6 будет в точку. :laughing:

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


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

Ну нет, как-то нужно с этим бороться,

ну разделите питания, с землями поработайте,

как же люди в быстродействующих АЦП эти вопросы решают.

А решение понизить частоту- решение в лоб,

это не наш метод!

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


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

ну разделите питания, с землями поработайте,

как же люди в быстродействующих АЦП эти вопросы решают.

А решение понизить частоту- решение в лоб,

Если это сделано по такой причине, то это не решение, а перекладывание с больной головы (схемотехнической) на здоровую (программистскую).

Могу предположить, что схемотехник в конторе ТС-а, имеет бОльший авторитет, чем автор и давит своим авторитетом, заставляя принимать решения в свою пользу :biggrin:

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


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

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

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

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

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

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

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

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

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

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