dac 0 21 сентября, 2007 Опубликовано 21 сентября, 2007 · Жалоба могут быть какие-нибудь грабли для i2c ? PIC - мастер, остальные ведомые. Выводы совмещенные, на SPI висит MMC карточка, на i2c часы и индикатор. то что spi мешать не будут понятно, у него есть вывод выбора, а вот при интенсивном обмене по spi, I2C ведомые не будут глючить (для них нет вывода разрешения)? Или стоит поставить ключи и на время обмена по spi, отключать ведомые устройства? Кто-нибудь делал такое? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaxBMSTU 0 21 сентября, 2007 Опубликовано 21 сентября, 2007 · Жалоба Если у выбранного Вами пика один модуль MSSP, то лучше взять готовую библиотечку софтворного I2C, поставляемого Microchip'ом, и осуществить обмен по двум другим свободным ногам, а SPI использовать аппаратный. Скорость обмена правда, будет меньше, чем у аппаратного, но для часов скорость и не нужна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dac 0 21 сентября, 2007 Опубликовано 21 сентября, 2007 · Жалоба лучше взять готовую библиотечку софтворного I2C, поставляемого Microchip'ом Софтовый не вопрос, там чего писать то (в свое время для ПЛИС писал, там сложнее было), хочется использовать именно аппаратный, потому как не исключены другие довески. К тому же для индикаторва скорость все таки желательна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaxBMSTU 0 22 сентября, 2007 Опубликовано 22 сентября, 2007 · Жалоба Ну тогда брать PIC с двумя модулями MSSP. Кстати, чуть не забыл. В SPI режиме не требуется подтягивающих резисторов, например, на DOUT и SCLK. Пик аппаратно переключает их между +5 и GND. А вот в режиме I2C подключение к шине выполняется по схеме монтажное И, и чтобы реализовать её требуются подтягивающие резисторы на питание, и ножка, во избежание электрических конфликтов, переключается между высокоимпедансым состоянием (+5 через резистор) и GND. Поэтому городить огород на схеме электрической принципиальной я бы не стал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dac 0 22 сентября, 2007 Опубликовано 22 сентября, 2007 · Жалоба Ну тогда брать PIC с двумя модулями MSSP. Это решение я и сам знаю, не подходит Кстати, чуть не забыл. В SPI режиме не требуется подтягивающих резисторов, например, на DOUT и SCLK. Пик аппаратно переключает их между +5 и GND. А вот в режиме I2C подключение к шине выполняется по схеме монтажное И, и чтобы реализовать её требуются подтягивающие резисторы на питание, и ножка, во избежание электрических конфликтов, переключается между высокоимпедансым состоянием (+5 через резистор) и GND. Поэтому городить огород на схеме электрической принципиальной я бы не стал. Спасибо, это я знаю, и именно с аппаратной частью (если слейв без спроса не дернет шину) проблем нет. Если отделить i2c слейвы от ПИКа двунаправленным ключем, с pull-up по обе стороны ключей, то это решит проблему несанкционированных действий со стороны слейва, которые в принципе возможны только при случайном появлении в потоке данных SPi адреса устройства I2C. С учетом гораздо большей скорости обмена по SPI это маловероятно, но возможно. В общем получается аналог вывода ChipSelect для SPI устройств. Поэтому и спрашивалю, может кто реально делал и решил эту проблему проще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость DL36 23 сентября, 2007 Опубликовано 23 сентября, 2007 · Жалоба Это решение я и сам знаю, не подходит Спасибо, это я знаю, и именно с аппаратной частью (если слейв без спроса не дернет шину) проблем нет. Если отделить i2c слейвы от ПИКа двунаправленным ключем, с pull-up по обе стороны ключей, то это решит проблему несанкционированных действий со стороны слейва, которые в принципе возможны только при случайном появлении в потоке данных SPi адреса устройства I2C. С учетом гораздо большей скорости обмена по SPI это маловероятно, но возможно. В общем получается аналог вывода ChipSelect для SPI устройств. Поэтому и спрашиваю, может кто реально делал и решил эту проблему проще. Так идея возникла, для обсуждения: Поставить два мосфета встречно с p каналом, на шине, и I2C отключать таким образом. В первом приближении должно быть работоспособно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
George! 0 25 сентября, 2007 Опубликовано 25 сентября, 2007 · Жалоба Я думаю вы зря все так усложняете. У нас схемы где SPI и I2C на одном MSSP сидят уже несколько лет используются. Никаких проблем не возникает. Вот здесь подобное обсуждалось microchip.ru, правда тоже к результату не пришли. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dac 0 25 сентября, 2007 Опубликовано 25 сентября, 2007 · Жалоба У нас схемы где SPI и I2C на одном MSSP сидят уже несколько лет используются. Никаких проблем не возникает. Спасибо большое, именно это (практический опыт) я и хотел услышать :) Если не секрет, что именно висит одновременно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alich 0 25 сентября, 2007 Опубликовано 25 сентября, 2007 · Жалоба Спасибо большое, именно это (практический опыт) я и хотел услышать :) Если не секрет, что именно висит одновременно? Как то вешали часы и ммскарту. Точно сейчас не помню - но часы как то подключивали, когда с ММС картой работали. PCF8363. Но в целом ничего мешать не должно. Как на выхода повлияют резисторы, если не переборшить с номиналом то? Ну висят и висят себе параллельно внутренностям. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yura-w 0 25 сентября, 2007 Опубликовано 25 сентября, 2007 · Жалоба ...на i2c часы и индикатор. ....I2C ведомые не будут глючить (для них нет вывода разрешения)? Или стоит поставить ключи и на время обмена по spi, отключать ведомые устройства? i2c - просто интерфейс (http://www.gaw.ru/html.cgi/txt/interface/iic/start.htm) и даже при максимальной скорости обмена (400 кбит/с) он устовчив к помехам, т.к. слишком медленный. Но если это вам кажется недостаточным можите просто выводы контроллера висящие на i2c перевести в логическую 1. Но это откровенная перестраховка, если у вас в схеме помехи по времени имеют порядок микросекунда, то надо переделовать схему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
George! 0 26 сентября, 2007 Опубликовано 26 сентября, 2007 · Жалоба Спасибо большое, именно это (практический опыт) я и хотел услышать :) Если не секрет, что именно висит одновременно? На вскидку. SPI: память. I2C: память, RTC и расширитель интерфейса (порты в/в) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться