|
1-wire интерфейс, задержки, тайминги |
|
|
|
Mar 30 2018, 17:08
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Mar 30 2018, 18:44
|
Участник

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

|
да гуглил я гуглил!))ничего толкового не нашёл для себя, из реализации задержек в мкс в основом только DWT, а рабочий пример что я видел для one wire был на 72МГц
Сообщение отредактировал IgorKossak - Apr 1 2018, 17:41
Причина редактирования: бездумное цитирование
|
|
|
|
|
Mar 30 2018, 18:44
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 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 метров) - рекомендую перенести нагрузочный резистор ближе к датчику и уменьшить его до сотен ом где-то.. с уважением (круглый)
|
|
|
|
|
Mar 30 2018, 19:04
|
Участник

Группа: Участник
Сообщений: 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
Причина редактирования: бездумное цитирование
|
|
|
|
|
Mar 30 2018, 19:28
|
Участник

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

|
Цитата(domowoj @ Mar 30 2018, 13:20)  А какой смысл использовать этот кристалл СТМ на такой низкой частоте? На плате много других устройств, которые работают на более высокой частоте и расположены они очень близко, и был уже негативный опыт частотных искажений в связи с работой стм на близкой частоте
|
|
|
|
|
Mar 30 2018, 19:42
|
Участник

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

|
Ладно, ребят, тему можно закрывать, всем данке шон
|
|
|
|
|
Mar 30 2018, 19:59
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

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