Сопряжение двух микроконтроллерных систем
Сопряжение двух микроконтроллерных систем
Добрый вечер.
Вопрос такого плана: есть некоторый девайс на контроллере (предположительно, на Атмеловской меге 8,16, аль 32).
И есть необходимость сделать для него клавиатурку. Т.к. клавиш по моим прикидкам требуется достаточно много (около 15-20), и скорее всего будут не кнопки а емкостные сенсоры, обработка которых требует процессорного времени, и, плюс к этому, клавиатура должна будет отстоять от основной платы на пару см (чтобы вписаться удачно в корпус), думаю, что логичным решением станет выполнить ее в виде отдельного модуля со своим контроллером, тоже какой нибудь мегой или тини. Выполнить на отдельной плате для удобства крепления, и снабдить разъемом для подключения внутри девайса к основной плате по средством шлейфа.
Посему собственно вопрос, а даже два:
1) Предполагаю юзать SPI шину, т.к. в девайсе уже 2 периферийные микрухи на ней висят - думаю от нее отвести дорожки к IDC-разъему, оттуда коротким шлейфом - к плате клавиатуры.
Но, может, это не лучший вариант? Если есть вариант, более подходящий в данном случае (возможно из соображений стабильности, помехоустойчивости или еще чего), то буду очень рад услышать ваш совет.
По идее, вариантов не так много - либо SPI, либо I2C, больше аппаратно контроллер ничего не держит (кроме уарта, но это нежелательно).
2)Очень волнует вопрос сопряжения двух контроллерных систем. Т.к. никогда не делал таких вот двойных устройств. Какие возможны грабли, и какие вариант их обойти? Как быть с тактированием?
Центральный контроллер тактируется от 16-20 МГц кварца, будет ли достаточно просто поставить аналогичный кварц на клавиатуру, соединить ее по SPI с центральным, соединить земли-питания, и просто работать как с еще одним SPI-слейвом?
Заранее благодарен.
Вопрос такого плана: есть некоторый девайс на контроллере (предположительно, на Атмеловской меге 8,16, аль 32).
И есть необходимость сделать для него клавиатурку. Т.к. клавиш по моим прикидкам требуется достаточно много (около 15-20), и скорее всего будут не кнопки а емкостные сенсоры, обработка которых требует процессорного времени, и, плюс к этому, клавиатура должна будет отстоять от основной платы на пару см (чтобы вписаться удачно в корпус), думаю, что логичным решением станет выполнить ее в виде отдельного модуля со своим контроллером, тоже какой нибудь мегой или тини. Выполнить на отдельной плате для удобства крепления, и снабдить разъемом для подключения внутри девайса к основной плате по средством шлейфа.
Посему собственно вопрос, а даже два:
1) Предполагаю юзать SPI шину, т.к. в девайсе уже 2 периферийные микрухи на ней висят - думаю от нее отвести дорожки к IDC-разъему, оттуда коротким шлейфом - к плате клавиатуры.
Но, может, это не лучший вариант? Если есть вариант, более подходящий в данном случае (возможно из соображений стабильности, помехоустойчивости или еще чего), то буду очень рад услышать ваш совет.
По идее, вариантов не так много - либо SPI, либо I2C, больше аппаратно контроллер ничего не держит (кроме уарта, но это нежелательно).
2)Очень волнует вопрос сопряжения двух контроллерных систем. Т.к. никогда не делал таких вот двойных устройств. Какие возможны грабли, и какие вариант их обойти? Как быть с тактированием?
Центральный контроллер тактируется от 16-20 МГц кварца, будет ли достаточно просто поставить аналогичный кварц на клавиатуру, соединить ее по SPI с центральным, соединить земли-питания, и просто работать как с еще одним SPI-слейвом?
Заранее благодарен.
- tych
- Э...
- Сообщения: 2792
- Зарегистрирован: Ср апр 04, 2007 08:39:14
- Откуда: Москва
- Контактная информация:
Дорогу осилит идущий. То чтовы написали наверняка будет достатчоно. Просто надо начать конструировать и дело двинется.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Разумеется. Просто чтобы не переделывать по сотне раз, решил сначала уточнить у тех, кто с таковым уже сталкивался. Есть куча неприятных вещей о которых мало пишут и которые проявляются только в собранном девайсе а не на бумажках и не в моделях - как то: рассогласования линий связи, неучтенная их индуктивность, помехи по питанию(черт бы их побрал!)... У меня пока, к сожалению, еще не очень много опыта в борьбе именно с такими вещами, когда на бумажке все отлично, а на деле - странные глюки, поэтому решил подстраховаться и заранее узнать о возможных проблемах.
- tych
- Э...
- Сообщения: 2792
- Зарегистрирован: Ср апр 04, 2007 08:39:14
- Откуда: Москва
- Контактная информация:
Ra писал(а):решил подстраховаться и заранее узнать о возможных проблемах.
Это правильно.
Но пока не увидим как и что вы делаете подсказать что-тотрудновато ИМХО.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
А каких данных нехватает? проблема просто весьма общего плана: есть две платы устройтва на микроконтроллерах (для определенности - на атмеловских мегах, тактирующиеся внешними кварцами). Одна - центральная, в которой реализован весь функционал девайса, вторая - его интерфейс пользователя, в данном случае - сенсорная клавиатура. в корпусе устройства они находятся на небольшом расстоянии, соединены шлейфом, длина которого 5-7 см. Стоит вопрос их сопряжения.
Такое часто может втретится, почти в любых девайсах.
Такое часто может втретится, почти в любых девайсах.
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Если у Вас нет особых требований к устройству в плане электромагнитной совместимости и оно не предполагает работу в эпицентре грозового фронта на скоростях десятки Гбит/с, то многие упомянутые Вами эффекты можно в расчет не принимать. А так - можно и свой протокол сочинить последовательный, по паре проводков, а можно и просто МК порт в порт соединить, если настроение есть. Вариантов масса, короче говоря. 
Оптимизм х (Опыт + Знания) = const
Спасибо!
Как раз сейчас экспериментирую с емкостными сенсорами.
До недавних пор считал что их где то покупают =)
Потом увидел статейку где рассказывают как сделать их самому, причем всего то из пластинки фольгированного текстолита - сразу загорелся заменить в девайсе жесткие кнопки на модные сенсоры )
Как раз сейчас экспериментирую с емкостными сенсорами.
До недавних пор считал что их где то покупают =)
Потом увидел статейку где рассказывают как сделать их самому, причем всего то из пластинки фольгированного текстолита - сразу загорелся заменить в девайсе жесткие кнопки на модные сенсоры )
Вот работа какого-то китайца http://elm-chan.org/works/capsens/report_e.html, а вот тут немного по-русски сказано на эту тему(там в конце статьи):
http://kazus.ru/articles/44.html
Чего-то пока не получилось =/ Зараза, не отдебагить даже нормально, все что есть из средств вывода инфы - светодиод, и поди пойми - то ли в прошивке дело, то ли аппаратно что-то сбоит...
http://kazus.ru/articles/44.html
Чего-то пока не получилось =/ Зараза, не отдебагить даже нормально, все что есть из средств вывода инфы - светодиод, и поди пойми - то ли в прошивке дело, то ли аппаратно что-то сбоит...
- Ватсон
- Открыл глаза
- Сообщения: 57
- Зарегистрирован: Чт мар 06, 2008 06:09:00
- Откуда: Москва
- Контактная информация:
Re: Сопряжение двух микроконтроллерных систем
Ra писал(а):Добрый вечер.
Вопрос такого плана: есть некоторый девайс на контроллере (предположительно, на Атмеловской меге 8,16, аль 32).
...
Заранее благодарен.
По-уму делается так: берётся сайпрессовский (cypress) контроллер с функцией Cap-Sense и выполняет всю работу, в 99% случаев его производительности хватает за глаза. Если же производительности его не хватает, с помощью SPI или UART он подключается к хосту (той же атмеге) и отдаёт данные по элементарному протоколу. Вот и всё.
Курильщик даташитов со стажем