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

Съвет за нещо като 74ХХ595
http://mcu-bg.com/mcu_site/viewtopic.php?f=4&t=564
Страница 1 от 1

Автор:  Реконструктор [ Пон Апр 11, 2005 8:30 pm ]
Заглавие:  Съвет за нещо като 74ХХ595

Колеги, иска ми се няква логика, подобна на 595, само че вместо 1 канал за данните да има направо 4. Или нещо друго полу-серийно/полу-паралелно, че тоя 595 ми идва малко бавен.

Автор:  bateAz [ Пон Апр 11, 2005 9:40 pm ]
Заглавие: 

Реконструкторе, не се прави на малко дете :evil: !
Сложи го този '595 на хардуерния SPI на 10 MHz и ще видиш, че въобще не е бавен. А ако имаш да зареждаш повече от 8 бита, то това наистина е най-бързото решение, ВЕРВАИ МИ!
Ако не можеш сам да го подкараш, свиркай да даваме акъл. То вече само за това ставаме :wink: !

Автор:  Реконструктор [ Пон Апр 11, 2005 11:33 pm ]
Заглавие: 

Значи, проца ми е на 16. Бях го овърклокнал до 20, ама не е добра практика това. Теоретично, SPI-а мога да го подкарам на f/2, но така и не успях. Тоест, остана f/4. За 8 бита би следвало да мога да сменям състоянието на регистъра с честота 500 KHz, което ме устройва напълно. На практика, обаче, се получи така, че реално честотата е малко под 100 (или 200, не помня вече), което не ме устройва. Това се получава защото няма автоматично дигане (и след това сваляне) на Latch Clock-а когато се източат 8-те бита - налага се да се дига софтуерно. Прекъсването, което го прави, е точно 3 реда, обаче компилатора генерира за тях цифром и словом 19 инструкции, които се изпълняват поне 19 такта. :( И като гледам, май няма как да се оптимизира особено - най много да го смъкна на 15.

Автор:  [ Вто Апр 12, 2005 12:12 am ]
Заглавие: 

...

Автор:  Реконструктор [ Вто Апр 12, 2005 9:33 am ]
Заглавие: 

Ами и аз си мислех за някакъв такъв брояч. Проблема е, че например този, дето си го посочил е 12 битов - т.е. ще се налага reset преди всеки байт, който не ми е много ясно как ще стане.

Автор:  [ Вто Апр 12, 2005 10:57 am ]
Заглавие: 

...

Автор:  bateAz [ Вто Апр 12, 2005 12:40 pm ]
Заглавие: 

По въпроса за автоматичното зареждане - с външен брояч става. Аз обаче така и не разбрах какъв е проблемът да се прави това нещо софтуерно - едва ли е повече от 2 - 3 инструкции. Ако постоянно ще го зареждаш, методът е следният : подаваш Latch ( изкарваш на изходите предишния запис ), зареждаш SPI Shitf регистъра и това е. По-интуитивното е първо да заредиш регистъра, после да почакаш, накрая да го фиксираш, ама иска чакане. При реконструкторския случай това ще е 32 такта, което си е врем на вятъра :wink:
Този 'тарикатлък' не минава, ако имаш повече от едно устройство на SPI шината :cry: .

Автор:  Реконструктор [ Вто Апр 12, 2005 1:10 pm ]
Заглавие: 

Бате, я дай пак, че нещо не можах да включа. :)

Автор:  ToHu [ Вто Апр 12, 2005 5:10 pm ]
Заглавие: 

Ех колко е нетурпеливо това момче ... като ти е бавно серийното слагай паралелно, D тригери и тва е, схте ги зарездасх 2 по 2 или 4 по 4, както ти дойде, а адресса може с брояч да сменяш, или с 2 пина . както зелаеш, е ще трябва и една логическа схемка да ти прави адресите, но нищто сложно ...... А бате .. не мое ме убедиш че и на 20 Mhz да го пуснеш ще е по бързо от паралелното ....., та дори и по 2 бита да зареждаш паралелно .....

Автор:  bateAz [ Вто Апр 12, 2005 9:19 pm ]
Заглавие: 

Тони, то може хич да не ти се вярва, но серийното предаване да информацията :
1. иска по-леки хардуерни ресурси ( очевидно, а и ти едва ли възразяваш )
2. по-евтино е ( заради #1 )
3. при добро планиране на нещата може да стане само с 1 ( една ) инструкция за запис ( ако решеш да пишеш софта, ще видиш, че е така )
4. по-бързо и добро от това е само ако се ползва паралелен порт на процесора и след него никакви лачове, тригери и т.н. Ама не става с всеки контролер.

Автор:  Реконструктор [ Вто Апр 12, 2005 10:42 pm ]
Заглавие: 

Тук се очертава двубой на титани. :lol: Запасете се с пуканки и кола. :D

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