Вопрос такого плана: есть некоторый девайс на контроллере (предположительно, на Атмеловской меге 8,16, аль 32).
И есть необходимость сделать для него клавиатурку. Т.к. клавиш по моим прикидкам требуется достаточно много (около 15-20), и скорее всего будут не кнопки а емкостные сенсоры, обработка которых требует процессорного времени, и, плюс к этому, клавиатура должна будет отстоять от основной платы на пару см (чтобы вписаться удачно в корпус), думаю, что логичным решением станет выполнить ее в виде отдельного модуля со своим контроллером, тоже какой нибудь мегой или тини. Выполнить на отдельной плате для удобства крепления, и снабдить разъемом для подключения внутри девайса к основной плате по средством шлейфа.
Посему собственно вопрос, а даже два:
1) Предполагаю юзать SPI шину, т.к. в девайсе уже 2 периферийные микрухи на ней висят - думаю от нее отвести дорожки к IDC-разъему, оттуда коротким шлейфом - к плате клавиатуры.
Но, может, это не лучший вариант? Если есть вариант, более подходящий в данном случае (возможно из соображений стабильности, помехоустойчивости или еще чего), то буду очень рад услышать ваш совет.
По идее, вариантов не так много - либо SPI, либо I2C, больше аппаратно контроллер ничего не держит (кроме уарта, но это нежелательно).
2)Очень волнует вопрос сопряжения двух контроллерных систем. Т.к. никогда не делал таких вот двойных устройств. Какие возможны грабли, и какие вариант их обойти? Как быть с тактированием?
Центральный контроллер тактируется от 16-20 МГц кварца, будет ли достаточно просто поставить аналогичный кварц на клавиатуру, соединить ее по SPI с центральным, соединить земли-питания, и просто работать как с еще одним SPI-слейвом?
Заранее благодарен.


