Connor 0 30 марта, 2018 Опубликовано 30 марта, 2018 (изменено) · Жалоба Хочу реализовать 1 wire интерфейс для общения между stm32f303ve и температурным датчиком ds1821,но есть такая проблема, я работаю на 1Мгц (HCLK) и у меня не получается сделать точную задержку времени, что для 1wire весьма критично, ведь он завязан на таймингах. Может кто-нибудь подсказать как можно реализовать точную задержку, скажем, в 1 микросекунду и возможно ли это реализовать на stm на такой частоте ядра? Дело ещё в том, что когда мы подаём сигнал на какую-то ножку, также необходимо время пока сигнал достигнет нужный величины (Vdd, к примеру),судя по даташиту оно должно быть около 125 НАНОсекунд на частоте в 2Мгц, но как я не пытался время задержки у меня получается минимально около 50мкс с помощью DWT, что очень много, буду рад вашим мыслям и советам, спасибо Изменено 15 ноября, 2022 пользователем haker_fox Переименовал тему в более понятную. Переместил в раздел STM32. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 33 30 марта, 2018 Опубликовано 30 марта, 2018 (изменено) · Жалоба Это будет очень проблематично, учитывая, что там есть задержки в 5мксек. В данном случае, думаю стоит посмотреть в сторону УАРТА... Изменено 1 апреля, 2018 пользователем IgorKossak бездумное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба stm32f303ve .... работаю на 1Мгц (HCLK) В правом верхнем углу каждой страницы этого форума есть волшебная кнопочка (см. картинку ниже). Для начала воспользуйтесь ею. Если не поможет, то существует более простой вариант: щелкайте на эту ссылку Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Connor 0 30 марта, 2018 Опубликовано 30 марта, 2018 (изменено) · Жалоба да гуглил я гуглил!))ничего толкового не нашёл для себя, из реализации задержек в мкс в основом только DWT, а рабочий пример что я видел для one wire был на 72МГц Изменено 1 апреля, 2018 пользователем IgorKossak бездумное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба Хочу реализовать 1 wire ..., в 1 микросекунду...Дело ещё в том,...... 1) Если внимательно присмотритесь к данному протоколу, то станет понятно что там нет 1мкс... Да сигнал Вы должны снимать(лог, 0) в каждом слоте передачи. Но протокол сделан так, что ничего страшного не произойдёт если там скажем будет не 1 мкс, а 2 или 3.. 2) По поводу распространения сигнала - когда реализуете сами задержки выбросите из головы. Сосредоточьтесь ТОЛЬКО на соблюдения даташита в таймингах. Очень критично именно стробирование слота и дальнейшее чтение или удержание линии необходимое кол-во мкс. 3) есть различные реализации данной задачи. есть последовательный порт, есть ногодрыг, есть пдп. Всё тут не раз обсуждалось - если покопаться внимательно, найти можно. 4) Почему ds1821 (хоть я и сторонник их юзанья в пром. изготовлении для регулировки...)? Он выпадает из общего ряда 1Wire протокола. Он НЕ!!! имеет адресацию на шине (отсюда один порт = один датчик. Что лично по мне упрощает пусконаладку и ремонт конечного изделия на объекте = меньше отвёрточно-настроечной потери времени). Есть и плюсы - он даёт разрешение температуры до 0,01 градуса (обычные DS18xx только 0,0625 градуса). 5) Не забывайте защиту от статики. 6) Если линии длинные (более 50 метров) - рекомендую перенести нагрузочный резистор ближе к датчику и уменьшить его до сотен ом где-то.. с уважением (круглый) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба да гуглил я гуглил!))ничего толкового не нашёл для себя, Тогда существует лишь одно верное решение этой "проблемы": заказать реализацию проекта целиком. Разумеется, за не просто так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Connor 0 30 марта, 2018 Опубликовано 30 марта, 2018 (изменено) · Жалоба Спасибо, я понимаю, но у меня даже не получается сделать задержку кратной 5 мкс или 15, и на сколько я помню разрешение у него 8бит, а это 1 градус в диапазоне от -55 до +170 что ли или около того. Мне, при решении данной задачи, стало интересно именно реализация задержки, ведь на 1МГц один клок это 1мкс, один такт, в принципе теоретически такая задержка возможна... Изменено 1 апреля, 2018 пользователем IgorKossak бездумное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
domowoj 0 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба А какой смысл использовать этот кристалл СТМ на такой низкой частоте? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Connor 0 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба А какой смысл использовать этот кристалл СТМ на такой низкой частоте? На плате много других устройств, которые работают на более высокой частоте и расположены они очень близко, и был уже негативный опыт частотных искажений в связи с работой стм на близкой частоте Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
domowoj 0 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба Используйте для внешнего тактирования СТМ одну из ваших высоких частот, пусть работают синхронно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба Хочу реализовать 1 wire интерфейс ..... На плате много других устройств, которые работают на более высокой частоте и расположены они очень близко (С) Чем дальше в лес ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 182 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба (С) Чем дальше в лес ... ...тем ближе вылез Пожалуй исходя из озвученного - сообщение N6 будет в точку. :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Connor 0 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба Ладно, ребят, тему можно закрывать, всем данке шон Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
domowoj 0 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба Ну нет, как-то нужно с этим бороться, ну разделите питания, с землями поработайте, как же люди в быстродействующих АЦП эти вопросы решают. А решение понизить частоту- решение в лоб, это не наш метод! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 182 30 марта, 2018 Опубликовано 30 марта, 2018 · Жалоба ну разделите питания, с землями поработайте, как же люди в быстродействующих АЦП эти вопросы решают. А решение понизить частоту- решение в лоб, Если это сделано по такой причине, то это не решение, а перекладывание с больной головы (схемотехнической) на здоровую (программистскую). Могу предположить, что схемотехник в конторе ТС-а, имеет бОльший авторитет, чем автор и давит своим авторитетом, заставляя принимать решения в свою пользу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться