| Микроконтролери и електроника 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 ] |
| Заглавие: | |
Реконструкторе, не се прави на малко дете Сложи го този '595 на хардуерния SPI на 10 MHz и ще видиш, че въобще не е бавен. А ако имаш да зареждаш повече от 8 бита, то това наистина е най-бързото решение, ВЕРВАИ МИ! Ако не можеш сам да го подкараш, свиркай да даваме акъл. То вече само за това ставаме |
|
| Автор: | Реконструктор [ Пон Апр 11, 2005 11:33 pm ] |
| Заглавие: | |
Значи, проца ми е на 16. Бях го овърклокнал до 20, ама не е добра практика това. Теоретично, SPI-а мога да го подкарам на f/2, но така и не успях. Тоест, остана f/4. За 8 бита би следвало да мога да сменям състоянието на регистъра с честота 500 KHz, което ме устройва напълно. На практика, обаче, се получи така, че реално честотата е малко под 100 (или 200, не помня вече), което не ме устройва. Това се получава защото няма автоматично дигане (и след това сваляне) на Latch Clock-а когато се източат 8-те бита - налага се да се дига софтуерно. Прекъсването, което го прави, е точно 3 реда, обаче компилатора генерира за тях цифром и словом 19 инструкции, които се изпълняват поне 19 такта. |
|
| Автор: | ¶ [ Вто Апр 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 такта, което си е врем на вятъра Този 'тарикатлък' не минава, ако имаш повече от едно устройство на SPI шината |
|
| Автор: | Реконструктор [ Вто Апр 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 ] |
| Заглавие: | |
Тук се очертава двубой на титани. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|