время заполнения 40-ка сдвиговых регистров 74hc595
- Войдите на сайт для отправки комментариев
Пт, 11/12/2015 - 11:17
Добрый день, знатокам! Нужно одновременно в каждый момент времени управлять 320-ю выходами. Сигналы на выходах должны появляться одновременно. Хочу просчитать вариант каскадного соединения сдвиговых регистров 74hc595. Подскажите плиз как расчитать время заполнения 40-ка сдвиговых регистров 74hc595. Например с arduino uno 16MHz. Сколько нужно мкс, мс или сек для заполнения всех 40-ка регистров?
максимальная частора spi 8мгц. дергать ногами тоже (не через digitalWrite конечно)
короче почитай посмотри
http://arduino.ru/forum/apparatnye-voprosy/bibilioteka-lcd-nokia-1616-sp...
спасибо большое! подскажите, а если взять arduino due с частотой 84 МГц, предельная частота SPI будет 42 МГц или тоже 8 ?
Если ног не жалко, можно подключить 40 регистров не последовательно, а в 8 параллельных цепочек по 5 регистров в каждой. Соответственно, писать данные не битами, а сразу байтами.
а какой командой можно побайтно писать сразу в 8 цепочек? мк же не может сразу на 8 ног слать данные...
сразу на 8 ног - может... http://arduino.ru/Tutorial/Upravlenie_portami_cherez_registry
Нужно одновременно в каждый момент времени управлять 320-ю выходами. Сигналы на выходах должны появляться одновременно.
...даже и допуска нет по группам каким-то ? все 320 ног и - одновременно ? что за система ?
аа вот так?
byte
c = B10010;
PORTB = c;
А мк реально паралельно подаст сигналы на 8 ног без дополнительных задержек или уменьшения скорости передачи бит на каждой ноге? Т.е. регистры будут реально быстрее заполняться, нежели бы запись шла с одной ноги на весь каскад?
я только ищу варианты реализации. конечно, можно рассмотреть и группирование регистров, если скорость их заполнения будет реально увеличиваться.
для ТС - былобы проще, узнав ответ на этот вопрос.
Нужно одновременно в каждый момент времени управлять 320-ю выходами. Сигналы на выходах должны появляться одновременно.
...даже и допуска нет по группам каким-то ? все 320 ног и - одновременно ? что за система ?
На елочную гирлянду смахивает, бегущие огни или другая какая иллюминация. Судя по вопросам - проект первый, может даже последний.
что за TC? управление световыми приборами
да хорош ))))
аа вот так?
byte
c = B10010;
PORTB = c;
А мк реально паралельно подаст сигналы на 8 ног без дополнительных задержек или уменьшения скорости передачи бит на каждой ноге? Т.е. регистры будут реально быстрее заполняться, нежели бы запись шла с одной ноги на весь каскад?
религия 40-ка каскадированных 595-ых позволяет выдать 320 сигналов ОДНОВРЕМЕННО , но для заполнения нужно время ( у тибя какая предельная частота обновления 320-ти сигналов ? )
параллельная запись в 40 регистров через мультиплексоры - уменьшит скорость записи , но создаст сдвиг по времени появления сигналов на регистрах ( у тибя какой допуск по времени на обновление сигналов на регистре 39 относительно 0-вого ? ) , да и не 595-ые здесь нужны :(
320 выходов - это 320 БИТ ( 40 байт, значит 40 регистров)
На 8-ми Мегагерцах клока ( 1.25 микросекунд периода) передаём грубо за 320 х 1.25 = 400 микросекунд
А одновременно они все появятся по определению
( после подачи на все регистры сигналов защёлки- 12 нога и, возможно, разрешения выхода -13 нога).
http://atmega32-avr.com/how-to-use-a-74hc595-shift-register-with-a-using...
Вот только возможно сигнал на 40 параллельных ножек придётся как-то буферизовать....
что за TC? управление световыми приборами
неужели не хватит 30...50 Гц ( для световых приборов ) обновления состояния выходов 40-ка 595-ых ?
Жека_ТМ писАл же - прикинь , посчитай....
порядка несколько мс. смотри, если частота SPI будет 1MHz, то время записи в 40 регисторов будет: 40 * 8 * 1/10^6 = 320 мкс. это же ваще быстро. или мои расчёты не верны?
да! и если защёлка будет общая для всех регисторов и на неё подать HIGH после заполнения всех регисторов, то данные выйдут одновременно. 74hc595 подойдут для этого? или ещё лучше есть для данной задачи?
Вот только возможно сигнал на 40 параллельных ножек придётся как-то буферизовать....
аха , типа К155ЛП8 , ЛП9 , ЛП10 , ЛП11 - аналоги вражеские сам ищи
да! и если защёлка будет общая для всех регисторов и на неё подать HIGH после заполнения всех регисторов, то данные выйдут одновременно.
74hc595 подойдут для этого?
или ещё лучше есть для данной задачи?
они и придуманы для одновременности-синхронности
....может и есть , тибе этого хватит :)
аха , типа К155ЛП8 , ЛП9 , ЛП10 , ЛП11 - аналоги вражеские сам ищи
так 74hc595 - нормуль?
да! и если защёлка будет общая для всех регисторов и на неё подать HIGH после заполнения всех регисторов, то данные выйдут одновременно.
74hc595 подойдут для этого?
или ещё лучше есть для данной задачи?
они и придуманы для одновременности-синхронности
....может и есть , тибе этого хватит :)
ок. спасибо
что за TC? управление световыми приборами
Топик Стартер - автор темы.
так лучше заполнять с одной ноги все 40 каскадом или разбить на несколько групп и упралять несколькими ногами?
так лучше заполнять с одной ноги все 40 каскадом или разбить на несколько групп и упралять несколькими ногами?
Какая нужна частота? 1сек достаточно?
да , но решение за тобой....
...не забудь что трембо прописал - буферизация-усиление сигналов "защёлка" , "такт" - "данные" буферизировать не нужно ибо по каскаду передаются
так лучше заполнять с одной ноги все 40 каскадом или разбить на несколько групп и упралять несколькими ногами?
группами быстрее - но алгоритм может оказаться очень сложным.
Какая нужна частота? 1сек достаточно?
1мс на всё
так лучше заполнять с одной ноги все 40 каскадом или разбить на несколько групп и упралять несколькими ногами?
тогда появится разница по времени !!! читай выше
для видеоЭффектов здесь время не важно ( МК обеспечит частоты гораздо больше чем глазки различают )
мне кажется , что разделение на группы не сыграет рояля для глазков...
а вот буферизацию сигналов ТАКТ и ЗАЩЁЛКА можно обойти разбиением на группы регистров , НО !
...придётся ВЫЧИСЛИТЬ по ДШ - сколько входов 595-го гарантированно потянет выходной пин ардуины ( без перегрузок ) - схемотехника , однако.....
для SU-27-16, пост 27
Какая нужна частота? 1сек достаточно?
1мс на всё
если вытаскивать из памяти нечто заранее определенное (зашитое в МК) и написать на чистом СИ - можно и 40*8
а можете плиз поподробнее написать про буферизацию? непонятно что имеется ввиду...
буферизацию же делают регистры у себя до тех пор пока не подашь сигнал защёлки...
если вытаскивать из памяти нечто заранее определенное (зашитое в МК) и написать на чистом СИ - можно и 40*8
первичные данные будут идти с компа. мк должен просто управлять
не вникал , не нужно было.....
СССР
К155 по выходу тянет 10 входов К155
К555 по выходу тянет 20 входов К555
К1533 по выходу тянет 40 входов К1533
К531 по выходу тянет 10 входов К531
сколько пин ардуины потянет входов 595-го ? не считал.... да и не буду - сам считай :)
сколько пин ардуины потянет входов 595-го ? не считал.... да и не буду - сам считай :)
обычного эммитерного повторителя будет достаточно для защелки, быстродействие буде определяться граничной частотой...
а можете плиз поподробнее написать про буферизацию? непонятно что имеется ввиду...
буферизацию же делают регистры у себя до тех пор пока не подашь сигнал защёлки...
другая буферизация !!!!!! - лучше говорить - усиление сигнала
при каскаде в 40 595-ых им нужно дать сигналы "такт" , "защёлка" ( "данные" - регистр от регистра их сам сформирует - т.е. - САМ ПЕРЕДАСТ :)- )
...ТАК ВОТ - при передаче сигнала "такт" ( как и "защёлка" ) пин ардуины может не потянуть , не смочь , не смогнуть !!!!! потянуть все 40 входов 595-ых :(
сколько пин ардуины потянет входов 595-го ? не считал.... да и не буду - сам считай :)
обычного эммитерного повторителя будет достаточно для защелки, быстродействие буде определяться граничной частотой...
моя вас уважает , но не лучше ли поискать аналоги из #34 - логические МС всё-таки , нет ?
SU-27-16, без обид, посмотрите пост 30 и 35 и если можно, комменты на них, особенно 30.
нога меги тянет до 40ма, рекомендуют не более 20ма. Сколько "жрет" один вход КМОП 595? микроампер, или меньше? :)
обычного эммитерного повторителя будет достаточно для защелки, быстродействие буде определяться граничной частотой...
... но не лучше ли поискать аналоги из #34 - логические МС всё-таки , нет ?
бессмысленно лепить огород, просто очень быстро усилить ток и все - транзистора хватит, а вот время 1МС - мне самому интересно, я в цифре не силен - учусь.
SU-27-16, без обид, посмотрите пост 30 и 35 и если можно, комменты на них, особенно 30.
да мне ли на вас ? :) какие обиды ?
..посмотрел , мне проще корпус логики впаять , чем эмПовт рассчитывать....
или я вас не так понял :(
нога меги тянет до 40ма, рекомендуют не более 20ма. Сколько "жрет" один вход КМОП 595? микроампер, или меньше? :)
емкостей печатки никто не отменял - нужен ток (легко проверить после сборки, заложив вмонтаж буферный элемент)! там скорость 1мс - на все!!!!
нога меги тянет до 40ма, рекомендуют не более 20ма. Сколько "жрет" один вход КМОП 595? микроампер, или меньше? :)
блиииииин !
чему равен коэффициент размножения от пина ардуины на вход 595-го ????!!!!!!!!!
:)
int ? :)
да мне ли на вас ? :) какие обиды ?
..посмотрел , мне проще корпус логики впаять , чем эмПовт рассчитывать....
или я вас не так понял :(
все верно, просто у меня с аналогом немного лучше - любой транзистор считать очень просто, схем море, место займет минимум...
Закон Ома - 80% максимального тока транзистора и напряжение питания. Делим одно на другое получаем номинал сопрота. (если необходимо, отнимаем напряжение падения коллектор-эмиттер)
да мне ли на вас ? :) какие обиды ?
..посмотрел , мне проще корпус логики впаять , чем эмПовт рассчитывать....
или я вас не так понял :(
все верно, просто у меня с аналогом немного лучше - любой транзистор считать очень просто, схем море, место займет минимум...
Закон Ома - 80% максимального тока транзистора и напряжение питания. Делим одно на другое получаем номинал сопрота. (если необходимо, отнимаем напряжение падения коллектор-эмиттер)
пусть ТС решает.....
...моя бы микруху для этого впаял , не люблю дискретные эл-ты :(
Какая нужна частота? 1сек достаточно?
1мс на всё
вопрос еще открыт....
нога меги тянет до 40ма, рекомендуют не более 20ма. Сколько "жрет" один вход КМОП 595? микроампер, или меньше? :)
я же не удивлю вас своими познаниями ?
коэфф "размножения выходов" != ток выхода / ток входа
не продолжайте ! мы поняли друг друга :)
Какая нужна частота? 1сек достаточно?
1мс на всё
вопрос еще открыт....
мне кажется - НЕТ !
ТС это озвучил с запасом в 500 раз.... может быть не просчитав....
ждём ТС-а ? :)
320 выходов =320бит. / 8 = 40 байт или 40 шт HC595. Если их все повесить на ОДНУ ногу дуньки, то потребуется 320 пинков от дуньки по нескольку команд каждая: считать байт из памяти (косвенно-индексным автоинкрементом), вычленить из него битик (сдвинуть во флаг), запихнуть флаг в ногу, подать свисток регистрам на сдвиг, декрементировать счетчик, проверить всЁ? нет: повторить все сначала. Итого 4-5 команд на ассемблере. На "С" будет с десяток. Итого около 3000 команд "влоб" на заранее подготовленном массиве данных, как миниум из 40 байт. На 16Мгц получим время записи в регистры в районе 190мксек. Устроит?
Те же 40 байт можно распихать по 8 ногам одного порта. Получится 5 регистров на каждую ногу и 40 байтовых пинков на продвижение. Занято будет 8 дунькиных лапок. Для записи предварительно подготовленного массива из 40 байт потребуется .. 40 команд записи в простом цикле: взять байт - записать, пихнуть, декрементировать счетчик, проверить всё, повторить. Итого 300 команд или около 20мксек.
Если взять Мегу2560, то у неё можно наскрести все 5 портов и повесить все 40 регистров по ОДНОМУ на лапку порта. Займем 40 лапок из 70. И потребуются теже 40 байт записи, но уже только 8 пинков регистрам. Получится за 15-18мксек.
Тут только одна "загвоздка" - пропихивать надо подготовленные данные. Их бы ещё понять как ТС собирается "готовить".. вот на этот процесс может уйти куда как больше времени, про что никто как-то не обратил внимания. Ибо стрелять 40 упакованных байт или 320 по биту на байт, да каждую миллисекунду .. то бишь 40/320 ТЫСЯЧ шт в сек .. их хде столько брать "предполагается"? :)
мне кажется - НЕТ !
ТС это озвучил с запасом в 500 раз.... может быть не просчитав....
ждём ТС-а ? :)
если вытаскивать из памяти нечто заранее определенное (зашитое в МК) и написать на чистом СИ - можно и 40*8
первичные данные будут идти с компа. мк должен просто управлять
ИМХО
даже если и можно, но не с Ардуино!!!! Ждать ТС бессмысленно - тут другое схемотехническое решение нужно искать