| Автор |
Съобщение |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
 Буфериране на комуникационна линия - как е най-културно?
Здравейте,
Хардуера не ми е от силните страни, та рекох да се консултирам с вас първо  Трябва да направя връзка между две MCU-та (master-slave) по три жици:
жица 1: GND
жица 2: захранване (на слейва направо ще му се подават 5 волта)
жица 3: двупосочна асинхронна комуникация (УАРТ, 5V, под 38400 kbaud), няма да има полване, всичко ще е на събития(и за двете страни).
Идеята е минимум жици.
Конкретния ми въпрос е как най-културно да се буферира комуникацията? Искам да е на 5 волта, да не се ползва RS232, защото в мастъра мисля да реализирам детектция за включен слейв по захранване (шунт и компаратор да гледа напрежението върху него).
Гледам, че има някакви 74HC243 трансивъри, със защити от ESD и др. - такова животно ли да ползвам? Ситуациите, когато едновременно предават и двете страни могат ли да прецакат нещо?
|
| Пет Дек 19, 2008 8:58 pm |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
Схема с отворен колектор от двете страни. Два транзистора и няколко съпротивления. Активна нула.
Или нещо на принципа на i-Button на Тексас. Имат и готови чипове, ако не ти се лепят дискретни елементи
|
| Пон Дек 22, 2008 4:58 am |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
Най-културно става със single wire CAN tranceiver AU5790, ако ти се занимава да човъркаш някой PIC с CAN интерфейс. На въпросната скорост даже ще закара на доста голямо разстояние  :
[url]http://www.nxp.com/#/pip/pip=[pip=AU5790_5]|pp=[t=pip,i=AU5790_5]|[/url]
|
| Пон Дек 22, 2008 6:36 am |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
 Прекалено културно:)
Въй, 2,29 паунда е това AU5790D14 във Фарнел... Трябва да се ориентирам към по-сиромашки вариант... Нещо с някакви елементарни логики не може ли да се измисли?
Последна промяна tolstolob на Пон Дек 22, 2008 9:59 pm, променена общо 1 път
|
| Пон Дек 22, 2008 9:38 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
2.29 паунда сравнено с времето и нервите, дето ще хвърлиш със "снесените" идеи са нищо - има няма 3 бири. Ама времето и нервите са си твои така, че дерзай  .
Да не забравя само да ти спомена, че CAN интерфейса е железен от към колизии и грешки, докато твоите идеи тепърва ще трябва да ги правиш такива, а това не става от днес за утре  .
|
| Пон Дек 22, 2008 9:44 pm |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
Не смесвайте прекалено хардуера и софтуера.
Двете работят заедно, но са си отделни инженерни проблеми, и могат да се решават и поотделно.
Всичко зависи от инженерното ниво на ползвателя. Дали разбrра товаq което прави или се задоволява с copy-paste.
|
| Пон Дек 22, 2008 11:25 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Според мен най-уместния въпрос на който трябва да се отговори преди да се започне с избора на интерфейс, е на колко метра/сантиметра един от друг са тези професори  Това с детекцията на включен слейв не го разбрах, защо ти е по захранване да го детектираш ( допълнителни елементи все пак ), като имаш изграден интерфейс ? Просто като се включи слейва праща един байт ишерет на мастера и толкова.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Пон Дек 22, 2008 11:46 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Re: Прекалено културно:)
A сигурен ли си че е належащо буфериране ?
Най добре става с MAX232 може до няколко метра по усукана двойка става идеално даже до 20м съм пробвал и е 6+. Има доста схемки как да предаваш данни така?
Тази схемка си има всичко нужно да ти свали този сигнал към ТТЛ нива!
_________________ Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !
Последна промяна plameniv на Вто Дек 23, 2008 12:33 am, променена общо 1 път
|
| Вто Дек 23, 2008 12:18 am |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
Май нещо такова ще да е:
Пикльовците ще работят на не повече от 15 метра един от друг. И преди всичко гледам да е по възможност по-евтино (не е толкова отговорно, че да е за CAN).
Идеята на детектването по захранване е факта, че Rx-а на 'мастъра' ще е шернат с друга комуникация и искам по тоя начин да ги различавам.
|
| Вто Дек 23, 2008 12:19 am |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Хех
За 15М изобщо не ти трябва това !
Направо си ги свържи с ширмован кабел с 3 жички и няма да има грам смущения, дори захранването пускаш по 4-та за отсрещния
Кабели бол всякакви по магазините , дори и да не е ширмовано пак ще пее 
_________________ Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !
|
| Вто Дек 23, 2008 12:37 am |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
^ Е жиците баш на пика ли директно?
|
| Вто Дек 23, 2008 12:39 am |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
При тези колекторни съпротивления и при 20 метра губи стабилност към 9600 бода. (пробвано!)
Ако искаш по-голяма скорост, трябва да сложш по-малки съпротивления - колко, определяш опитно
Тригерите на входа не ти вършат никаква работа
|
| Вто Дек 23, 2008 12:41 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Ще вържеш изхода на втория слейв предавател към RxD пина на приемника мастър, обаче изходите на двата слейв предавателя ще са вързани в паралел и ще се бият, за това трябва да са с отворен колектор. Скоростта не ти е висока, можеш и на ТТЛ нива да минеш. Помисли за използването на MAX232(RS232) или SP485(RS485), и двата чипа са евтини и достъпни и са точно за тази цел. Ако сложиш 485, можеш да навържеш поне 20-тина у-ва с тая скорост без да вземаш допълнителни мерки, а жицата може и десетки метри да стане.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Вто Дек 23, 2008 12:46 am |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
^ Ще хубаво да мина само с 1 жица за комуникация.
А колко дълго ще изтраят RS232 драйверите ако се пресрещат двата Tx-a (ако заменя тия инвертори на схемата горе с рс232)?
|
| Вто Дек 23, 2008 12:54 am |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
За да няма конфликт сфтуера ти трябва да осигури полудуплексен режим - в даден момент да говори само един.
Това се нарича протокол
|
| Вто Дек 23, 2008 1:01 am |
|
|