Тема: 1-Wire кабели

Опции за темата
Търсене на тема

какво имаш предвид под "адаптер за COM порт"? 9097U?

страница

Как задавате скорост на предаване от 56700bd? Какъв софтуер използвате за това?


Скоростта на предаване по подразбиране (9600bd) не може да бъде променена в IP-Symcon. Промяната на това не ми изглежда особено полезна, тъй като 1-Wire шината не може да приема данните по-бързо.

Да, точно това имам предвид

Моите тестове с 9600 boud в сравнение с 57600 boud показват значително увеличение на скоростта.
В момента използвам DS2408 и той може да направи 15.3kbps по подразбиране.
Разбира се, tIDLET трябва да бъде поет от софтуера на микроконтролера. Това означава, че допълнителни данни ще бъдат предадени само когато 9097U е готов да ги получи.

Благодаря ви много за вашите коментари. Изключително интересно е това, което докладвате.

Вече знаех, че има 1-Wire софтуерен фюзелаж за AVR процесорите. Аз самият съм голям фен на AVR, но досега не съм пробвал 1-Wire контрол с него.

Можете ли да контролирате DS2408 напълно? Ако е така, стъпката към външно управление на 1-жична шина може да не е далеч. По този начин проблемите с бавния отговор (времената за избиране> = 1s) при активиране на превключвателите най-накрая могат да бъдат решени.


Позволете ми да чуя нещо за вашия проект.

ИЗПИТВАНЕ НА СКОРОСТ.

Здравейте HJH,
Мога да чета входове и да задавам изходи с DS2408.

Днес направих няколко теста по отношение на скоростта на 1-Wire по отношение на скоростта на предаване.

Основна конфигурация на теста:
- ATMega8 с тактова честота 14.7456Mhz
- Таймер1 е инициализиран с предскалер 1024 за измерване на времето.
- LCD дисплей за показване на стойностите на таймера
- Двама участници в автобуса DS2408
- Master -> DS2408 (като входове) -> 300 m CAT5e кабел -> DS2408 (като изходи)

1. Тествайте COM порт @ 9600baud
- Таймер за стартиране (стойност = 0)
- Прочетете 10x DS2408 входа
- Задайте 10x DS2408 изхода
- Прочетете стойността на таймера
- Изход на LCD дисплей

Резултат от тест
- Таймерът имаше стойността 10893

2. Тествайте COM порта @ 57600baud
- Таймер за стартиране (стойност = 0)
- Прочетете 10x DS2408 входа
- Задайте 10x DS2408 изхода
- Прочетете стойността на таймера
- Изход на LCD дисплей

Резултат от тест2
- Таймерът имаше стойността 3795

Заключение
При 57600 бода, 1-Wire шината е 2,87 пъти по-бърза от стандартната скорост на предаване от 9600.

Променено от RaptorsWorld (28.11.08 в 00:05)

Само за ритник, за момента?

Дхх,
защо правите отклонението с адаптер за com порт?
Все още не съм имал идея, можете да свържете всички продукти на 1-Wire директно към един порт и да ги адресирате?
Какви са предимствата на този начин?
Поздрави Хелмут

Здравей Хелмут,
Виждам предимствата във факта, че не е нужно да се притеснявате за времето на 1-Wire,
DS2480B (DS9097U) прави това, погледнете листа с данни.
Виждам основните предимства в това:

- Самокалибрираща се времева база с 5% толеранс за сериен и 1-проводник
- Контролирано понижаване на скоростта на едножично изтегляне и активно изтегляне за настаняване на дълги линии и намаляване на радиацията

Читателите на лист с данни, жените, които разбират, кофите за боклук, трябва да са такива.

Информацията е наистина страхотна,
Paresy вероятно ще има причини, ако модулът IPSymcon не го направи по този начин.
О, добре,
Малкият свят на Хелмут благодари за тази информация!

протоколът 1-Wire има много режийни разходи. При скорост на предаване от около 15kbps, ефективната скорост на предаване вероятно е само малко повече от препоръчаната 9600bd.

Подозирам, че не използвате блокови преводи. Тъй като DS2480B няма сигнали за ръкостискане, вътрешният буфер би препълнил при по-високи скорости на предаване.

Можете ли да кажете малко повече за вашия софтуер?

Параметърът t (IDLEt) е любопитство от специален вид. За него се изисква само да бъде най-малко 0µs. Това наистина не е трудна задача. В това определение то е практически безполезно, тъй като винаги може да се спазва.

Следователно за мен не мога да разбера как може да работи толкова гладко с 57600bd. Това противоречи на информационния лист. Но е добре известно, че информационните листове за 1-Wire модулите са малко "небрежни".

Тест за скорост.

Точно аз не използвам блок прехвърляне.

Моят софтуер е програмиран от нулата в съответствие със спецификациите на техническите листове.
Вярно, имах проблеми с по-високи скорости на предаване,
така че DS2480B не е получил всички команди правилно и е погълнал данни.
С (почти) всяка команда, която изпращам до главния автобус, получавам отговор.
Изчаквам този отговор, проверявам го за коректност и едва тогава ще бъде изпратена следващата команда.

Направих ТЕСТ НА СКОРОСТ.

Тествайте средата, както в предишната публикация.
Ето резултата:

Задайте скорост на предаване към главния автобус - брой дейности на шината (прочетете във входове - задайте изходи)

9600 бода - 25/секунда
19200 бод - 40/секунда
57600 бод - 70/секунда
115200 бод - не е тестван

Както вече споменах, понастоящем използвам само двама участника в шината DS2408 (8 пъти I/O).
Бих го описал по този начин на 57600boud:
Когато чета в състоянията, които присъстват на DS2408 (8-кратен вход/изход) и ги изпращам директно към втория DS2408 (8-кратен вход/изход), който контролира светодиодите,
Мога да кажа, че не забелязвам никакво забавяне, можете да го наречете в реално време.

Променено от RaptorsWorld (30.11.08 г. в 10:42 ч.) Причина: Разширение - забравено второ