Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

UART през мултиплексор
http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=2376
Страница 1 от 1

Автор:  setoy [ Чет Май 18, 2006 11:28 am ]
Заглавие:  UART през мултиплексор

Налага ми се да преработя малко една програма която писах преди известно време. Трябва да се добави втори УАРТ, а няма откъде ;) Мисля си да пусна хардуерния през 4053 например и да си управлявам посоката. Какво мислите за това като идея? Няма причина да не стане, но май никъде не съм виждал подобно решение.

Автор:  zax [ Чет Май 18, 2006 11:37 am ]
Заглавие: 

нямаш проблеми пуска се без проблем
аз съм правил такава 'екстра" само че ползвах 4019В
използва се като мултиплексор. има недостатъка да се избира посоката с 2 пина. но не вярвам да ти е проблем ;-)

Автор:  bkulev [ Пет Май 26, 2006 2:41 pm ]
Заглавие: 

Нямаш грижа. Правил съм 8 потров мултиплексор с два чипа 4051. Пробвал съм го в бойни условия до 115200 бода. Гледай само да не забравиш да подпреш Тx линиите към +5V. И нали се сещаш, че в този случай можеш да слухтиш само по едната (избраната в момента) линия, т.е. решението става малко Master-Slave. А и като превключваш интерфейса, по добре спри прекъсването на UARTA и после пак...

Автор:  Nikola Kirov [ Пет Май 26, 2006 2:50 pm ]
Заглавие: 

На 750000 съм пробвал с CMOS аналогови ключове и чат пат се дънеше на приематено на първия бит на пакетите свалих на 250000 и нямаше такива проблеми. Не мога да се сетя в момента конкретно с какъв чип го бях правил,просто първото дето имах под ръка беше.
Това за изключването на прекъсването се прави зашото при превключване се приема един фалшиф байт обикновенно. Ако протокола ти е резидентен към такива грешки не е необходимо да се забранява прекъсването.

Автор:  Syrius-B [ Съб Май 27, 2006 12:48 am ]
Заглавие: 

Но ако ще трябва да реагираш на повикване от вън, осигури си реакция по фронта на RxD сигнала преди мултиплексoра, но ако са повече входовете, и тръгнат едновреминно, ще губиш данни - проблем с протокола :D

Автор:  the_real_maniac [ Съб Май 27, 2006 1:45 am ]
Заглавие: 

Е да , но и хардуерни UART да са , ако възникнат по едно и също време два потока информация ще успе да приеме единият и от вторият запази колкото е хардуерният буфер :-)
Така че това трябва да се знае дали ще го има като момент още при почването на 'идеята' и от там вече да се мисли.

Поне така си мисля аз де :-)

Иначе решение един UART с огромен буфер :weedman:

edit: горното да се счита повече за въпрос от типа "..., нали ?" :-)

Автор:  Syrius-B [ Съб Май 27, 2006 10:12 am ]
Заглавие: 

Решението е - софтуерен (виртуален) UART, но тогава зависи какъв е процесора и имаш ли достатъчно свободни ресурси.
Достатъчни са два пина и поне едно прекъсване (нпр таймерно)

Автор:  the_real_maniac [ Съб Май 27, 2006 5:21 pm ]
Заглавие: 

Софтуереният UART не мисля , че спада към добрите решения , ако имаш да обработваш дори едно важно прекъсване.
Докато хардуерният с буфера ти позволява да имаш някакво време за реакция. Но иначе ясно всичко си зависи от дадената ситуация.

Автор:  Syrius-B [ Съб Май 27, 2006 6:03 pm ]
Заглавие: 

E, винаги съществува и баналното решение.
Съществуват безброй чипове, съдържащи UART, с разнообразни интерфейси, SPI, I2C. и пр.
Не се сещам в момента, но има и чипове - разширители, с по 4 UART-а, и пълния набор прекъсвания и регистри.
Всичко е въпрос на избор, според баланса разход-полза.

Автор:  setoy [ Пон Май 29, 2006 9:00 am ]
Заглавие: 

Благодаря на всички отговорили. Е, в интерес на истината го пуснах още същия ден, когато попитах:) За подпиращите резистори не знаех, но доста бързо се досетих и сам . Принципно това че е мастър-славе не е проблем, то точно това е и идеята. Няма шанс и по двете линии да тръгнат данни наведнъж.
Иначе софтуерния УАРТ не ми допада точно защото иска много процесорно време, а приложението е по-скоро реал-тайм, всичко е написано така че на процесора да му е лесно, което го прави и почти непреносимо на друг... Е, с мултиплексора си заспа.

@the_real_maniac:

Цитат:
....иначе решение един UART с огромен буфер Weedman


Ми да- от прекъсването и в цикличния буфер, а него можеш да си го прочетеш после когато си поискаш.

@Syrius-B -
Цитат:
има и чипове - разширители, с по 4 UART-а, и пълния набор прекъсвания и регистри.


А ето това вече е интересно! Моля, драсни кои са ако се сетиш, бих бил много благодарен ! :)

Автор:  FiTTiLA [ Пон Май 29, 2006 12:39 pm ]
Заглавие: 

setoy написа:
...


http://alldatasheet.com
ST16C454
ST16C554
ST16C654

Автор:  Wise [ Пон Май 29, 2006 1:23 pm ]
Заглавие: 

fittila написа:
setoy написа:
...


http://alldatasheet.com
ST16C454
ST16C554
ST16C654


Те тези са по-дърти от мен даже... :?
OX16C954 поне да е http://www.oxsemi.com

Автор:  FiTTiLA [ Пон Май 29, 2006 1:35 pm ]
Заглавие: 

Wise написа:
...


Няма лошо :) . Ама мен не ме кефят Oxford. Едно време искахме да правиме USB-IDE bridge с 922 и нещо ударихме на камък със syport-та от тяхна страна. уж всичко работи ама не е точно така.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/