|
SPI по двум ногам в одну сторону между двумя 328, можно ли железно? |
|
|
|
Jul 10 2012, 11:01
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Всем привет,
есть два контроллера atmega328p, соединенные двумя ногами через оптокоплер. Оптокоплер направлен только в одну сторону, пусть с первого на второй контроллер. Мне надо непрерывно передавать с первого на второй пакет фиксированной длины в 16 байт. Чем чаще, тем лучше, не реже 0.5мс.
Процессоры работают на одинаковой, но не синхронизированной частоте.
Приемник занят другой работой.
Попробовал посылать так:
по первой ноге по прерыванию приходит команда начала, дальше с частотой 4мГц сыплю на вторую ногу свой пакет.
Так как есть CRC, есть небольшая избыточность, то все работало. Единственно, при начале прерывания приемник должен был 32мкс только принимать данные. Раньше я мог это себе позволить, а сейчас уже нет.
Хочется чего-то аппаратного. Понятно - SPI. Но у него 3 ноги, а у меня только две закоммутировано. Реально ли как-то организоввать протокол передачи на двух ногах или это для таких процессоров не реально? Очень не хочется ставить 3-4 опторазвязанные ноги...
Спасибо
ИИВ
|
|
|
|
|
 |
Ответов
|
Jul 12 2012, 07:30
|
Местный
  
Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315

|
Цитата При необходимости, можно и двумя обойтись: MOSI и SCK. Совершенно верно, если передача идет в одну сторону, двух ног достаточно. Одна - тактовая (SCK), вторая - данные (MOSI).
--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
|
|
|
|
|
Jul 12 2012, 18:36
|
Местный
  
Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023

|
Цитата(Палыч @ Jul 12 2012, 14:02)  Можно на этот сигнал "повесить" нужный уровень. При таком решении можно "отгрести геморрою" при помехах и плохой согласованности работы master и slave... Рекомендовать такое решение можно, только в крайнем случае - если уж "деваться" некуда... АЦП AD7799 сбрасывает свой интерфейс SPI если получает 32 единицы по MOSI, это можно применять вместо передёргивания nCS. Можно ли такое же сделать в слейве на AVR без больших извращений?
|
|
|
|
Сообщений в этой теме
iiv SPI по двум ногам в одну сторону между двумя 328 Jul 10 2012, 11:01 Палыч Цитата(iiv @ Jul 10 2012, 15:01) Хочется ... Jul 10 2012, 11:09 iiv Цитата(Палыч @ Jul 10 2012, 16:09) Может ... Jul 10 2012, 11:19 Палыч Цитата(iiv @ Jul 10 2012, 15:19) забыл ск... Jul 10 2012, 11:48   ILYAUL Цитата(Палыч @ Jul 12 2012, 14:02) .... п... Jul 12 2012, 20:35    _Артём_ Цитата(ILYAUL @ Jul 12 2012, 23:35) Там с... Jul 12 2012, 20:54 ILYAUL Он может такое делать ,чего-то там указывать. Посм... Jul 12 2012, 09:44 Plain Цитата(iiv @ Jul 10 2012, 14:01) SPI. Но ... Jul 12 2012, 19:51 ILYAUL Цитатаms? или us?У него мс. Про тактовую Atmega мо... Jul 12 2012, 21:51 _Артём_ Цитата(ILYAUL @ Jul 13 2012, 00:51) Про т... Jul 12 2012, 22:45 ReAl Цитата(ILYAUL @ Jul 13 2012, 00:51) Слово... Jul 14 2012, 10:19  SmarTrunk С одновибратором - это интересное решение. Если у ... Jul 14 2012, 10:43  iiv Во-первых, всем огромное спасибо, что не оставили ... Jul 30 2012, 21:01 des00 а чем софтовый UART не подходит? во времена аврок ... Jul 14 2012, 11:34 SmarTrunk Но ведь программно реализованный интерфейс загружа... Jul 14 2012, 13:01
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|