Привет, есть ли какой -нибудь проект с >2M SPI Bus Line, которая работает нормально?

Виндиам
Вт 24 июля 2018 г. 9:43 утра
У меня есть несколько работ по внедрению IMUS под рукой, чтобы поймать точные движения, я использую порт STM32 SPI для сбора данных. Однако с более длинной проволокой SPI, кажется, становится нестабильным для поддержания, ИМУ всегда останавливается на работу, но я не могу узнать, почему. Проводите, как 2 метра, вводит какое-то вмешательство Elec-MAG между часами и мисо/MOSI?

Стивестронг
Вт 24 июля 2018 г. 9:49
[Виндиам - Вторник 24 июля 2018 г. 9:43 утра] - Делает более длинный провод, как 2 метра, вводит какое -то вмешательство Elec -MAG между часами и мисо/моси?
Да.
Вы можете попробовать защитить провода или использовать 2 -й проводной ком, например, RS485 для больших расстояний.

Виндиам
Вт 24 июля 2018 г. 9:53 утра
[Стивестронг - Вт 24 июля 2018 г. 9:49 утра] - Как 485 рупий на большие расстояния.
Спасибо за ответ, но у IMU нет интерфейса RS485, так что я полагаю, это потребуется дополнительные платы STM32 ?:(

Я попробую сначала защитить проволоку с помощью оловянной фольги

Пито
Вт 24 июля 2018 г. 10:49
Экранирование не очень помогает.
Вы должны обеспечить сопоставление импеданса вашей автобусной линии SPI.
Выходной импеданс драйвера SPI == Линейный импеданс == Входной импеданс приемника SPI..

Например:
Вам нужен драйвер SPI ~ 100OM, импеданс линии 100 Ом, входной приемник ~ 100 Ом.

AG123
Вт 24 июля 2018 г. 10:50 утра
На высоких частотах то, что предназначено для квадратных волн, может стать изогнутыми квадратными волнами
Это, вероятно, будет причиной паразитического сопротивления + емкость на автобусе
Чем дольше провода я думаю, тем больше проблема
Я предполагаю, что вам может понадобиться область, чтобы проверить, что вы настанете на более высоких частотах/скорости
или более дешевый путь без прицела - попытаться использовать более короткие провода, использовать лучшие провода с низким сопротивлением
И чтобы выяснить, есть ли некоторые способы снизить паразитарную емкость (я не уверен, как, хотя, разделяя провода?)

Пито
Вт 24 июля 2018 г. 10:58 утра
Как я писал выше паразитических емкости/индуктивности не играет никакой роли, когда передатчик->линия->приемник соответствует правильному.
Я видел несколько плоских кабелей длиной нескольких метров (не защищенных) для SCSI и других высокоскоростных вещей, без проблем..

Рисунок 13:
http: // www.тип.com/lit/an/scaa034c/scaa034c.PDF

Например, скрученная пара Cat5 составляет 90-120 дюймов, кабели с плоской лентой (с GND между сигналами) также около 110 Ом составляют около 110 Ом.
Вам нужно добавить выходной драйвер (т.е. 3.3V логические версии знаменитого 74xxx125/244/245), чтобы получить выходной импеданс ~ 110om, и на стороне приемника просто заканчивает линию с 1 или 2 резисторами, такой.

AG123
Вт 24 июля 2018 г. 11:09
Спасибо, пито, я не слишком уверен, что на самом деле будет помогать заканчивать резисторы.глин.
https: // www.нити.com/support/serial/lesinfo.htm

Пито
Вт 24 июля 2018 г. 11:13
Я не слишком уверен, что на самом деле поможет положить заканчивающие резисторы Да, это поможет. Автобус SPI не является дифференциальным автобусом. Так что делайте это просто, как описано в DOC TI выше..

Я бы использовал драйвер 74LVC125, линию ~ 120ом и 2x240OM (версия Thevenin выше) со стороны приемника (3.3 В VCC - 240OM - LINE/SIGNAL - 240OM - GND, на каждом входе сигнала).

http: // www.тип.com/lit/ds/symlink/sn74lvc125a.PDF

Кабель ~ 120om Flat Grey лента (он же дисковый кабель Floppy или ATA) вы можете попробовать 10 проводов с 10 -пински.:
void set_clock(uint32_t clk_khz, uint32_t baudrate) { set_cpu_clk(clk_khz); // see core set_ticks(clk_khz); // see core set_baudrate(baudrate); // see core } .. #define baudrate 115200; set_clock(8000, baudrate); set_clock(128000, baudrate); set_clock(48000, baudrate); set_clock(72000, baudrate); set_clock(96000, baudrate); ..

Виндиам
Ср. 25 июля 2018 г. 1:08
[Пито - Вт 24 июля 2018 г. 11:13] - SPI кабель соответствует 74LVC125_.JPG
это действительно помощь, я думаю, у меня есть время, чтобы переварить все это : D


Пито
Ср. 25 июля 2018 г. 8:53 утра
[Mrburnette - Ср. 25 июля 2018 г. 1:43] - Ti WhitePaper на расширяющемся автобусе SPI... PDF
Да, для длины кабеля ~ 100 м, что расширение шины Ti может работать намного лучше :)

Mrburnette
Ср. 25 июля 2018 г. 13:33
[Пито - Ср. 25 июля 2018 г. 8:53] -
[Mrburnette - Ср. 25 июля 2018 г. 1:43] - Ti WhitePaper на расширяющемся автобусе SPI... PDF
Да, для длины кабеля ~ 100 м, что расширение шины Ti может работать намного лучше :)
«Красота» решения заключается в том, что оно будет работать в любую длину, поэтому это стабильное решение для вопроса расширения SPI. Стабильные (инженерные) решения часто являются лучшими моментами, поскольку >2M действительно не является окончательным.

Луча

Хейсан
Ср. 25 июля 2018 г. 13:55
Предел ~ 100 м - это ограничение задержки, при котором мисо и Моси должны иметь перенаправленные часы...

Это функционально, но далеко не идеально. SPI был разработан для бортовых компаний. Вы можете расширить его с помощью таких решений, но это все еще больше взлома, чем спроектированное решение.

Я бы сказал, что лучшим решением будет иметь самую маленькую/дешевую доску Arduino, которую вы можете найти на каждом датчике для обработки коммунальных компаний, а затем сделать коммунальные связи с выделенным стандартом вне борта, например, RS-485. Или еще больше удовольствия, небольшая литиевая батарея и некоторые платы NRF24L01 ;) .

Speffs на STM32