| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| протокол за 485 http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=1383 |
Страница 1 от 1 |
| Автор: | ДедоБоре [ Вто Дек 06, 2005 12:43 pm ] |
| Заглавие: | протокол за 485 |
някой беше поствал нещо, но не можах да го намеря, та питам. искам да направя няколко устройства, които да са вързани по 485 (или можеби по-добре по CAN?). да могат да се адресират да имат регистри, вкоито да може да се пише/чете да могат да се ресетват ако може и да се енумерират по някакъв начин от хост ще е чудесно то май ще трябва да си мисля протокол, ама ако някой има линкове или идеи ще е по-добре да не се почва от нулата |
|
| Автор: | bateAz [ Вто Дек 06, 2005 1:23 pm ] |
| Заглавие: | |
Мога да ти дам няколко паразитни идеи, които аз съм ползвал, и съм сигурен, че работят. 1. Не ползвай стандартния RS232 протокол със стартов и стопов импулс, на който само му сменяш физическите нива. Ползвай някакво кодиране, което ти осигурява около 50% нули / единици, защото така ще постигнеш по-висока скорост. В противен случай DC нивото ще ти отмести праговете на приемника. 2. На всяко устройство дай индивидуален мрежов адрес, нещо като MAC адреса на NIC. В протокола, който ще ползваш ( или ще правиш ), включи пакет "за запитване", с който хостът ще търси включените устройства. Този пакет трябва да има две полета : търсен адрес и маска на адреса. Всяко устройство, което открие такъв пакет, с маска != -1 ( с колкото бита ти е адресът ), за което (собствен адрес XOR търсен адрес) AND маска = 0, отговаря с "0", ако са няколко такива, сигналите им се наслагват. По този начин хостът може да открие всички инсталирани устройства, постепенно прецизирайки маската. Стандартна процедура за обхождане на дърво. Оттам нататък с индивидуални заявки може да установи за какво устройство става дума. Другият вариант е със случайно закъснение, така работят всички мрежови адаптери. |
|
| Автор: | ДедоБоре [ Вто Дек 06, 2005 1:48 pm ] |
| Заглавие: | |
за нивата - ясно имам си написан манчестер на VHDL. мога да го допиша малко да смята CRC32 и да хваща преамбюл. |
|
| Автор: | Nikola Kirov [ Вто Дек 06, 2005 1:51 pm ] |
| Заглавие: | |
Ако не ти е много голямо разтоянието можеш и да си работиш директно с RS232. На 200 метра и UTP kabel съм инсталирал една системка и работи вече повече от месец. Направил съм да води статистика на погрешно приети пакети досега се е случвало само един пакет да е бил приет погрешно а всяка секунда нон стоп има по около 80баита трансфер с 4 устроиства. А ако в протокола направиш малък брой възможни адреси не е проблем да се пингват последователно при търсене на нови устроиства на линията. Но по универсално е както казва батето. PS това ми е на 76800 връзка. И на 615К работеше но тогава се случваше чат пат и да бърка да кажем 1-2пакета на ден |
|
| Автор: | ДедоБоре [ Вто Дек 06, 2005 2:07 pm ] |
| Заглавие: | |
хмм? как правиш мулти-дроп на 232? по-точно как връзваш предавателите? |
|
| Автор: | Nikola Kirov [ Вто Дек 06, 2005 2:11 pm ] |
| Заглавие: | |
Един мастер и всички останали слеив. Предавателя се активира само в момента когато трябва да се предава и веднага след предаването се деактивира. |
|
| Автор: | ДедоБоре [ Вто Дек 06, 2005 2:31 pm ] |
| Заглавие: | |
какъв чип ползваш за 232, който да има TE? за 485 е ясно, ама за 232? |
|
| Автор: | Nikola Kirov [ Вто Дек 06, 2005 3:11 pm ] |
| Заглавие: | |
232 по 485 линия. SN65176 но имаи пред вид че това при неактивен предавател гълта 30ма при включен около 65. Има по добри чипове вече за тая работа. и си сложи резистори по 120 ома в 2та края на линията за да се съгласува. Може и ватианта с шотки диоди да ползваш за съгласуване разправят че било по добре но не съм пробвал. |
|
| Автор: | bateAz [ Вто Дек 06, 2005 4:38 pm ] |
| Заглавие: | |
Никола май имаше предвид RS232 времедиаграми с RS485 нива. Бе тоя човек много от рано го е уважил Никулден. |
|
| Автор: | Nikola Kirov [ Вто Дек 06, 2005 5:01 pm ] |
| Заглавие: | |
Да де нали това разправям. Ама само 2 ромчета съм си налял ама то времето горещо днес и вместо да ги изпия те се изпариха не можах да ги близна даже |
|
| Автор: | ДедоБоре [ Вто Дек 06, 2005 5:09 pm ] |
| Заглавие: | |
да - явно си е мислил за асинхронна комуникация то нивата нямат значение за вида на комуникацията, в общия случай. |
|
| Автор: | the_real_maniac [ Сря Дек 07, 2005 1:04 am ] | |||||||||
| Заглавие: | ||||||||||
offtopic: :- )))) нямаше как да не отбележа , че ме заболя корема от смях - хехеххе , добре измислено ------- интересна тема иначе , т.е има предпоставка да стане много интересна и полезна Keep the good spirit < както се казва Само така на БГ :- )) |
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|