|
SPI на скорости 1Мбит между двуми MCU, сбивается при работе устройства. |
|
|
|
Dec 5 2007, 17:34
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 5-12-07
Пользователь №: 33 008

|
Силовой преобразователь 2кВт содержит два DSP микроконтроллера Freescale 56F801 и 56F803. Между ними сделан обмен информацией по SPI. Минимальная частота обмена которую можно установить ~1Мбит (40Мгц/32). Кроме того в цепях SPI присутствует гальваническая развязка на базе 6N137. Длина соединительных дорожек около 20см. При работе преобразователя на нагрузку SPI начинает "ловить" помехи передача информации прекращается. Посоветуйте пожалуйста помехоустойчивое схемотехническое решение.
|
|
|
|
|
 |
Ответов
|
Dec 6 2007, 07:14
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 5-12-07
Пользователь №: 33 008

|
Цитата Переходите на асинхронный интерфейс и используйте дифференциальные приемопередатчики RS422/RS485. Кстати, pull-up резистор на выходе у 6N137 какой величины? на коллекторах 6N137 висят 470 резисторы к 3.3В. принимающие ноги MCU зашунтированы 51нФ на землю. Цитата(yuri_d @ Dec 6 2007, 01:01)  Непонятно почему Вы указали минимально возможной частоту передачи 40МГц/32. Согласно reference manual на эти процессоры можно установить коэффициент деления 256, тоесть получить частоту в 8 раз меньше. не знаю где вы увидели 1/256, вот блок-схема модуля SPI  Цитата(yuri_d @ Dec 6 2007, 01:01)  Если можно менять схему, то попробуйте применить гальваническую развязку с push-pull выходными каскадами. Хорошо будет смотреться ADuM1401 от Analog Devices. насколько я понял, нужно стаыить развязку как можно ближе к приемнику чтобы токовый сигнал проходил большее расстояние, чем потенциальный. Выходит надо ставить два оптрона около slave mcu (sck+mosi) и один около master mcu (miso) ? Цитата(yuri_d @ Dec 6 2007, 01:01)  Если схему менять нельзя, то попробуйте поставить RC фильтр непосредственно у входа процессора. Фронты сигнала конечно завалятся, но при этом сильно уменьшится величина помехи от наводки. RC есть.
Сообщение отредактировал BECHA1977 - Dec 6 2007, 07:19
|
|
|
|
|
Dec 6 2007, 10:30
|
Местный
  
Группа: Свой
Сообщений: 292
Регистрация: 28-01-05
Из: МО, Мытищи
Пользователь №: 2 274

|
Цитата(BECHA1977 @ Dec 6 2007, 10:14)  не знаю где вы увидели 1/256, вот блок-схема модуля SPI Сам с этими процессорами не работал, поэтому взял MC56F0000RM с сайта freescale (http://www.freescale.com/files/dsp/doc/ref_manual/MC56F8000RM.pdf?fsrch=1&WT_TYPE=Reference%20Manuals&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation). На странице 12-4 ровно такая же диаграмма, но коэффициенты деления от 2 до 256. Возможно у Вас другой (или более старый) документ с описанием SPI. Цитата(BECHA1977 @ Dec 6 2007, 10:14)  на коллекторах 6N137 висят 470 резисторы к 3.3В. принимающие ноги MCU зашунтированы 51нФ на землю. Проверьте еще раз номинал конденсатора на землю. С таким работать не будет вообще: постоянная времени 24 мксек слишком большая для частоты передачи 1МГц. Например на тактовом выводе (SCK) будет пилообразное напряжение с размахом меньше 100 мВ и средним уровнем меньше десятых долей вольта. Цитата(BECHA1977 @ Dec 6 2007, 10:14)  насколько я понял, нужно стаыить развязку как можно ближе к приемнику чтобы токовый сигнал проходил большее расстояние, чем потенциальный. Выходит надо ставить два оптрона около slave mcu (sck+mosi) и один около master mcu (miso) ? Развязку нужно ставить на границе раздела земляных планов. При этом ещё надо следить, чтобы сигналы не проходили над чужой землей. А сигнал SS у Вас между процессорами не идет? Если так, то могут быть проблемы с синхронизацией.
|
|
|
|
|
Dec 6 2007, 11:35
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 5-12-07
Пользователь №: 33 008

|
Цитата(yuri_d @ Dec 6 2007, 13:30)  Сам с этими процессорами не работал, поэтому взял MC56F0000RM с сайта freescale (http://www.freescale.com/files/dsp/doc/ref_manual/MC56F8000RM.pdf?fsrch=1&WT_TYPE=Reference%20Manuals&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation). На странице 12-4 ровно такая же диаграмма, но коэффициенты деления от 2 до 256. Возможно у Вас другой (или более старый) документ с описанием SPI. да вроде наоборот самый новый. http://www.freescale.com/files/dsp/doc/use...T=DocumentationЦитата(yuri_d @ Dec 6 2007, 13:30)  Проверьте еще раз номинал конденсатора на землю. я ошибся 51пФ а не 51нФ Цитата(yuri_d @ Dec 6 2007, 13:30)  Развязку нужно ставить на границе раздела земляных планов. При этом ещё надо следить, чтобы сигналы не проходили над чужой землей. тогда не понятно как сделать "токовую петлю" на силовой плате - граница раздела земель посредине платы, а MCU ближе к краям. Цитата(yuri_d @ Dec 6 2007, 13:30)  А сигнал SS у Вас между процессорами не идет? Если так, то могут быть проблемы с синхронизацией. не идет, проблемы решаются програмно. на выключенной "силе" сбоев приема/передачи нет.
|
|
|
|
|
Dec 6 2007, 14:22
|
Местный
  
Группа: Свой
Сообщений: 292
Регистрация: 28-01-05
Из: МО, Мытищи
Пользователь №: 2 274

|
Цитата(BECHA1977 @ Dec 6 2007, 14:35)  Да я ошибся: посчитал, что 56F801 и 56F801X это одно и тоже. Цитата(BECHA1977 @ Dec 6 2007, 14:35)  тогда не понятно как сделать "токовую петлю" на силовой плате - граница раздела земель посредине платы, а MCU ближе к краям. Положение развязки на границе земляных планов - наиболее правильное. При этом одна сторона микросхемы находится над первой землей, а вторая сторона - над второй. При этом ещё обратите внимание на необходимость электростатического барьера (линия выводов одной стороны, затем проводник, подключенный с обоих сторон к земле этой стороны, затем разрыв во всех слоях ПП, затем земляной проводник, подключенны к земле другой стороны, и нанонец линия выводов другой стороны). Если микросхема не SMD, то барьер необходимо строить на всех слоях ПП. Если под "токовой петлей" подразумевается питание излучающего диода оптопары, то подключайте анод к плану 3.3В, далее непосредственно у вывода катода ставим токозадающий резистор и далее ведем трассу к выводу процессора. Смысл именно такого соединения в уменьшении длинны высокоомной (и следовательно более восприимчивой к помехе) части. Есть ещё одна высоомная часть: от коллектора выходного транзистора оптопары ко входу микросхемы. При закрытом транзистроре сопротивление источника сигнала - это сопротивление резистора на 3,3В. Будем иметь 470 ом, что на мой взгляд слишком много. Именно поэтому я рекомендую ставить развязку с push-pull выходным каскадом. А вообще лучше не гадать о причине сбоев, а посмотреть на сигналы осциллографом (лучше цифровым с памятью).
|
|
|
|
Сообщений в этой теме
BECHA1977 SPI на скорости 1Мбит между двуми MCU Dec 5 2007, 17:34  spf Цитатанасколько я понял, нужно стаыить развязку ка... Dec 6 2007, 08:36   BECHA1977 Цитата(spf @ Dec 6 2007, 11:36) Нет, пред... Dec 6 2007, 08:41    rezident Цитата(BECHA1977 @ Dec 6 2007, 13:41) а т... Dec 6 2007, 09:24     spf Цитата(rezident @ Dec 6 2007, 14:24) Да. ... Dec 6 2007, 10:26     BECHA1977 спасибо всем за ответы - все пляски с бубном не да... Dec 14 2007, 11:38 yuri_d Непонятно почему Вы указали минимально возможной ч... Dec 5 2007, 22:01 alexander55 Цитата(BECHA1977 @ Dec 5 2007, 20:34)
1.... Dec 6 2007, 12:58 repairDV У меня задача аналогичная. Пока не изменил кварцы ... Dec 17 2007, 10:59 BECHA1977 Цитата(repairDV @ Dec 17 2007, 13:59) У м... Dec 20 2007, 08:50 Настовьяк Артём А чем не нравится развязка Si54XX? Да, дороговато ... Dec 25 2007, 06:23 repairDV А на каком расстоянии? (Si4221 c SPI - тоже неплох... Dec 25 2007, 11:12 BECHA1977 переписал программу, написал софтовый UART - прекр... Jan 14 2008, 19:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|