всем привет! пытаюсь немного усовершенствовать готовое устройство где DSP процессор "общается" с микроконтроллером по некоей 4-х разрядной шине. идея в перенастройке процессора DSP. идея усугубляется отсутствием описания протокола обмена, в сети есть только общее описание процессора. TOSHIBA разглашать протокол отказывается. повезло, нашёл другое устройство где точно такая же микросхема работает в требуемом режиме. посмотрел анализатором: оказывается, разница всего лишь в десятке бит в начальной стадии загрузки. далее дело осложняется моей безграмотностью в области микропроцессоров.
возможно ли средствами дополнительного микроконтроллера разорвать двунаправленную шину, "обмануть" оба устройства на время конфигурации ведомого а затем воссоединить шину для дальнейшей работы устройства в штатном режиме?
задача контроллера будет после подачи питания разорвать шину на первые 200 тактов а затем соединить шину, отключившись до следующей подачи питания. будет ли после этого шина работать корректно? и как такое сделать?
может это задача не для контроллера вовсе? в шине по каждому из 4-х проводов данные передаются "и туда и обратно" (а не раздельно как в MOSI/MISO). плюс ещё есть 2 провода CE и CLK, которые идут только от процессора к DSP. итого 6 проводов.
Разорвать возможно, причём для этого достаточно разорвать линию СЕ, после чего ведомое устройство установит входа в высокоимпедансное состояние.
А вот будет оно работать корректно или нет это вопрос скорее программного обеспечения.
_________________ Творчество оно для того и нужно чтобы творить!
спасибо.
но вот высокоимпедансного состояния то как раз и не требуется. более того, шины CE и CLK подразумеваю оставить цельными. а разорвать информационные линии. при этом дополнительный контроллер по сигналам шин CE и CLK будет принимать одни данные (и "рапортовать" правильной контрольной суммой) а далее отправлять несколько иные (из своей памяти), принимая ответы о получении. а вот после окончания процесса конфигурации микропроцессор должен накоротко замкнуть свои "вход" с "выходом" и "уснуть" до следующей подачи питания.
вопрос: могут ли контроллеры "перемыкать" свои выводы? (сами при этом, естественно, переходя в высокоимпедансное состояние). потому что далее в процессе работы по этим шинам начинается "серьёзный" обмен данными в который вмешиваться нет необходимости, главное - не помешать. потому что, если контроллеры не имеют таких свойств перемыкать выводы, то придётся применять внешние ключи, что-то наподобие микросхемы 74HC4066. такими свойствами, наверное, обладает ПЛИС, но там нет памяти. "грузить" весь блок видоизменённой информации целиком представляется более рациональным нежели "пытаться" вставить в поток "другие" значения а потом пытаться "налету" подсчитывать и изменять контрольную сумму.
извините, я возможно спрашиваю вообще детские вещи. я в этом действительно ничего не понимаю. и выполнить работу буду просить человека понимающего в программировании. но мне предварительно нужно знать, что вообще возможно а что нет. чего можно ожидать а что в принципе невозможно.
спасибо
могут ли контроллеры "перемыкать" свои выводы? (сами при этом, естественно, переходя в высокоимпедансное состояние)
Такого не могут не только контроллеры но и другие микросхемы. Если вводить контроллер в "анабиоз" то придётся замучивать
обходные пути, а можно по окончании процедуры, просто превращать контроллер в промежуточный приёмопередатчик.
Если конечно это не скажется на работе устройства.
_________________ Творчество оно для того и нужно чтобы творить!
так анабиоз то как таковой и не требуется особенно. по окончании процедуры контроллер лишь выдаётся сигнал на замыкание внешних ключей и "на всё оставшееся время". ключевая микросхема 74HC4066 как раз 4-канальная и с задачей справляется отлично. именно ею рвал/замыкал линии при исследовании/анализе протокола, что откуда, куда и когда идёт.
про превращение контроллера в "репитер" тоже думал, но умозрительно как-то спокойнее без него. как то уверенности в надёжности больше. всё-таки замкнуть линию и "отойти" в сторону - самый надёжный, безошибочный вариант. однако, если всё же "транслировать" сигнал то да, соглашусь с вами, тут всё упирается в вопрос программного обеспечения. и, в принципе, если всё сделано правильно то и в режиме приёмопередатчика будет работать без сбоев. тут скорее всего да, надо пробовать.
спасибо за помощь
мяу!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения