|
совместная работа i2c и spi для pic18 |
|
|
|
 |
Ответов
|
Sep 22 2007, 18:25
|
Знающий
   
Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482

|
Цитата(MaxPIC @ Sep 22 2007, 15:12)  Ну тогда брать PIC с двумя модулями MSSP. Это решение я и сам знаю, не подходит Цитата(MaxPIC @ Sep 22 2007, 15:12)  Кстати, чуть не забыл. В SPI режиме не требуется подтягивающих резисторов, например, на DOUT и SCLK. Пик аппаратно переключает их между +5 и GND. А вот в режиме I2C подключение к шине выполняется по схеме монтажное И, и чтобы реализовать её требуются подтягивающие резисторы на питание, и ножка, во избежание электрических конфликтов, переключается между высокоимпедансым состоянием (+5 через резистор) и GND. Поэтому городить огород на схеме электрической принципиальной я бы не стал. Спасибо, это я знаю, и именно с аппаратной частью (если слейв без спроса не дернет шину) проблем нет. Если отделить i2c слейвы от ПИКа двунаправленным ключем, с pull-up по обе стороны ключей, то это решит проблему несанкционированных действий со стороны слейва, которые в принципе возможны только при случайном появлении в потоке данных SPi адреса устройства I2C. С учетом гораздо большей скорости обмена по SPI это маловероятно, но возможно. В общем получается аналог вывода ChipSelect для SPI устройств. Поэтому и спрашивалю, может кто реально делал и решил эту проблему проще.
|
|
|
|
|
Sep 23 2007, 13:49
|
Местный
  
Группа: Свой
Сообщений: 460
Регистрация: 5-10-06
Из: Херсон
Пользователь №: 21 006

|
Цитата(dac @ Sep 22 2007, 21:25)  Это решение я и сам знаю, не подходит Спасибо, это я знаю, и именно с аппаратной частью (если слейв без спроса не дернет шину) проблем нет. Если отделить i2c слейвы от ПИКа двунаправленным ключем, с pull-up по обе стороны ключей, то это решит проблему несанкционированных действий со стороны слейва, которые в принципе возможны только при случайном появлении в потоке данных SPi адреса устройства I2C. С учетом гораздо большей скорости обмена по SPI это маловероятно, но возможно. В общем получается аналог вывода ChipSelect для SPI устройств.
Поэтому и спрашиваю, может кто реально делал и решил эту проблему проще. Так идея возникла, для обсуждения: Поставить два мосфета встречно с p каналом, на шине, и I2C отключать таким образом. В первом приближении должно быть работоспособно.
|
|
|
|
|
Sep 25 2007, 02:15
|
Участник

Группа: Свой
Сообщений: 28
Регистрация: 19-03-05
Из: Омск
Пользователь №: 3 489

|
Я думаю вы зря все так усложняете. У нас схемы где SPI и I2C на одном MSSP сидят уже несколько лет используются. Никаких проблем не возникает. Вот здесь подобное обсуждалось microchip.ru, правда тоже к результату не пришли.
|
|
|
|
|
Sep 26 2007, 02:04
|
Участник

Группа: Свой
Сообщений: 28
Регистрация: 19-03-05
Из: Омск
Пользователь №: 3 489

|
Цитата(dac @ Sep 25 2007, 13:07)  Спасибо большое, именно это (практический опыт) я и хотел услышать  Если не секрет, что именно висит одновременно? На вскидку. SPI: память. I2C: память, RTC и расширитель интерфейса (порты в/в)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|