Перейти к содержанию
    

SPI на 12 МГц через длинные провода

Глобально Вы задумали. :biggrin:

Мои предложения.

1.Разделите быстрые датчики и медленные.

Тогда Ваши требования снизятся на 1-2, а то и 3 порядка.

2. На быстрые датчики можно ставить свои контроллеры.

3. Выстройте систему блочно. Иначе процесс будет бесконечным. Чем больше сделаете, тем больше проблем и тем дальше от конца работ.

Собственно, за исключением вот этой проблемы с клоком все остальное сделано, поэтому переделывать - это проще с нуля все сделать с другой архитектурой. Кроме этого, использование контроллеров сильно удорожит систему.

 

Если с FIFO, то лучше FPGA или местный uC. Т.е. распределенные контроллеры.

Рекомендую поизучать Verilog. Он похож на С.

Буду какой-нибудь стартер кит искать... Без железа как-то не изучается...

 

И как это будет выглядеть, когда все сигналы получите и отправите.

 

Буде выглядеть (очень хочется надеяться) вот так:

http://youtube.com/watch?v=YUMBEWBN0Pg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Буду какой-нибудь стартер кит искать... Без железа как-то не изучается...

Это правильно.

Еще вариант.

Если есть коллеги, которые уже наваяли кучу железа. У них всегда найдется, что отдать приятно хорошему человеку, а выбросить жалко.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это правильно.

Еще вариант.

Если есть коллеги, которые уже наваяли кучу железа. У них всегда найдется, что отдать приятно хорошему человеку, а выбросить жалко.

 

К огромному сожалению, в моем круге общения разработчиков электроники (не виртуальных, а реальных) нет совсем...

 

На всякий случай: Коллеги из Москвы, может у кого-нибудь завалялся ненужный более стартер-кит для каких-нибудь доставабельных несложных CPLD? :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К огромному сожалению, в моем круге общения разработчиков электроники (не виртуальных, а реальных) нет совсем...

 

На всякий случай: Коллеги из Москвы, может у кого-нибудь завалялся ненужный более стартер-кит для каких-нибудь доставабельных несложных CPLD? :-)

Скажите, это в форуме по ПЛИСам.

Если бы в Питере, я Вам помог, а в Москве нет зацепок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем-то, идея работает, но криво, поэтому появилась новая ;)

 

Старая идея была такой - реализуем синхронный приемник с синхронизацией от приходящего клока (по которому синхронизируются регистры ввода), как получил байт - выдал прерывание на контроллер, ну и данные. Контроллер прервался, забрал данные, подтвердил, продолжил дальше. Ну и сигнал ошибки тоже в контроллер выводим на всякий случай.

 

Идея показала свою в целом состоятельность, если убрать подтверждения ;) Такое ногодрыжество вполне сносно работает аж до 10 МГц, дальше не хватает производительности контроллера. Ну и на этих 10 МГц, естественно, все остальные задачи курят, т.е. МК занимается фактически только приемом данных.

 

В итоге стало понятно, что читать байты по прерываниям, да вручную - не есть гут, и нужно получать задержанные данные, возможно выравнивать их до байта и запихивать в контроллер, синхронизируя выдачу бит по клоку, по которому синхронизируются регистры вывода. Тут проблем с таймингом быть не должно, поскольку расстояние очень не большое (ну может пару сантиметров).

 

Идея пока недообдумана, нужно рисовать ;)

 

Велосипед не изобретаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хотел применить NCV7608 в каскаде несколько таких в пределах 30 метров, SPI до 5MHz,

но если проблема в приёме возникнет с ними, разрулить это на контроллере -проблеммно я смотрю, а делать на плис тактирование MISO- CLK_RET , это плис

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приятно почитать себя самого через 6 лет.

 

Докладываю:

Идея с CPLD был верной, задачка решилась, проект закрылся, зато еще один ребенок свет родился, пока эти годы прошли ;)

 

Спасибо еще раз всем за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чувствую себя тупым хвойным деревом "Дуб".

Простите меня, пожалуйста, что я так трудно дохожу.

Беру таймаут на подумать и порисовать.

 

На всякий случай, предпосылки такие:

1. Заранее не известна длина кабелей между модулями.

2. Заранее не известно количество каскадированных регистров. Есть максимальное количество, которое обусловлено размерами буферов в приложении в контроллере.

 

Похоже, самым простым способом понять будет попробовать 9-битную посылку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...