| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Смущения по SPI http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=8567 |
Страница 1 от 3 |
| Автор: | amdatlon [ Съб Фев 19, 2011 10:23 pm ] |
| Заглавие: | Смущения по SPI |
Дано да съм уцелил раздела Проблема е че, ползвам SPI връзка м/у два пик-а (18F458 ) , които са на отделни платки и на 15-20 см един от друг . Идват ми яки смущения на данните , т.е. съвсем неверни стойности. От разни опити се разбра че, най-вероятно е от смущения по проводниците м/у двата ПИК-а. Като раздалеча трите проводника на разстояние един от друг нещата се подобряват значително . Сега пък трите проводника са три тънки коаксиални кабелчета . Викам си оплетката ще спира "вредните емисии" , да , ама не ! Разни варианти пробвах , трите оплетки ги свързвах заедно към маса , или пък висящи , или само една към маса , по някой път половин час може всички данни да са верни , при следващ опит пък почват да идват небивалици ... и така Master-а ми е с 20 Мхз кварц , а Slave-a със 16 Мхз . Делителя на SPI Модула е 4 . Не мога само да разбера дали смущенията са м/у трите линии на SPI -то , или от кварца?!? Кажете моля някакъв начин за справяне с проблема, ползват ли се някакви екранировки или що .... ? |
|
| Автор: | sthx [ Нед Фев 20, 2011 11:33 am ] |
| Заглавие: | |
Aми пусни SPI на 2 кHz и проблемите почти сигурно ще ти се решат. По принцип този интерфейс е създаден за комуникация между схеми на една платка. |
|
| Автор: | relsys [ Нед Фев 20, 2011 1:42 pm ] |
| Заглавие: | |
Пробвай с феритно пръстенче. А освен това този контролер има CAN модул. |
|
| Автор: | Nikola Kirov [ Нед Фев 20, 2011 2:10 pm ] |
| Заглавие: | |
По вероятно да имаш смущения между масите на двете платки. Пусни една дебела и къса жица между масите им. |
|
| Автор: | amdatlon [ Нед Фев 20, 2011 2:37 pm ] |
| Заглавие: | |
Много благодаря за идеите ! Почвам да ги пробвам , с феритен пръсен и с дебела маса , ако не стане ще пробвам да бутна честотата . А това за CAN съм го мислил , но мисля почти всички крачета на пик-а ( МАСТЕР-а) са заети . Но пък ако не стане по горните начини ще преразгледам схемата ако мога да променя нещо че да се освободят CAN-oвите . Проблема ми е само че платката на мастер-а вече е реализирана , само SLAVE-a е на експериментална платка |
|
| Автор: | Цецо [ Нед Фев 20, 2011 2:37 pm ] |
| Заглавие: | |
А сигурен ли си че таме проблема? Можеш ли да пробваш с по къси жици |
|
| Автор: | amdatlon [ Нед Фев 20, 2011 3:13 pm ] | |||||||||
| Заглавие: | ||||||||||
Ами най-първо като пуснах комуникацията , трите жици м/у платките си бяха най обикновенни 20 см медни проводници 0,35 кв.мм , и ги бях вързал на сноп с тиксо . А данните бяха някакви постоянно подскачащи числа . Изпращам пакети от по 2 байта ( т.е едно 16 битово число разделено на 2 части ) Станното е че преди всеки пакет си пращам едно число (0х55 ) като контролно и ако другия пик ми върне определено число ( 0х56) , чак тогава запитвам за дугите 2 байта . И явно контролното число почти винаги минава проверката , но следващите са някакви хаотични числа После разделих трите жици отделно , данните почти заспаха . Примерно на половин час всичко е добре но ако размърам жиците , пак се омазват данните . Като рестартирам пик-а, се оправят .... и после пак така . Сега след обяд ще пробвам разните методи които предложихте ! |
||||||||||
| Автор: | relsys [ Нед Фев 20, 2011 4:12 pm ] | |||||||||
| Заглавие: | ||||||||||
Можеш да сложиш CAN Tranceiver и на SPI. |
||||||||||
| Автор: | head_up [ Нед Фев 20, 2011 5:12 pm ] |
| Заглавие: | |
@amdatlon, с какво ги храниш тия платки? Ако имаш скоп погледни пакетите - да нямаш повече фронтове в клока отколкото е редно? Че едно калпаво захранване или друг консуматор наблизо и липсващи филтри на твоята платка могат да те вкарат в чудене за дни наред. Ако ползваш импулсно захранваене пробвай да го смениш с някое с траф и простичък стабилизатор с прилежащите му филтри (сещаш се - по всички правила на изкуството, на платката, до чеповете и т.н. ). Защото говориш за връзка между жиците - не че не може, ама ми се струва, че по-скоро нещо външно смущава душения ти мир. |
|
| Автор: | Цецо [ Нед Фев 20, 2011 5:20 pm ] | |||||||||
| Заглавие: | ||||||||||
Ти осцилоскоп ползваш ли? SPI ако не друго, поне е благодатен за контрол интерфейс, всичко е ясно и точно синхронизирано. Погледни си сигналите и ще видиш дали ти е там проблема. |
||||||||||
| Автор: | amdatlon [ Пон Фев 21, 2011 1:35 am ] |
| Заглавие: | |
Първо бутнах честотата : 100 kHz , 50 kHz и така до към 10 kHz , пробвах и на 2 кхз но взе да дава проблем и изобщо никакви данни не тръгнаха по жицата. Но при всички случаи беше доста по добре от първоначалната на която бях . Но пак като събера жиците близо и даже не отчита нищо вярно , т.е. и контролния ми байт не минава . Пробвах с дебела маса м/у платките , но никаква промяна Нещо което забелязах : SLAVE-a ми ще мери едни импулси , а тях сега ги симулирам от паралелния порт на компютъра ( ниско честотни са 0-60-70 Хз ) . .... та като свъжа масата от компа към оплетката на SPI- Линията , всичко заспива и няма грешки , а като е към масата на платката остават грешките . въпреки че двете маси са свързани ?!?! както и да е де накрая скъсих максимално жиците 3 - 4 см , даже сложих обикновенни без екранировка и всички аномалии изчезнаха . Пробвах - допирах жиците местих ги , но нямаше за сега грешни данни Даже скоростта на SPI-то пак я върнах на пъвоначалната 1,25 Mbit/s . @head_up Захранването си ми е класическо траф-че + 7805 с кондензаторите .... така . Външни смущеня е почти изключено тъй като всичко е в домашни условия и наоколо до 5-6 метра даже и телевизор няма , само един комп. Но съм пробвал и при изключен комп , ама няма промяна . Пробвал съм и не-мрежово захранване - от акумулатор . @head_up , @Цецо Еееех ако имах осцилоскоп , доста главоблъскане бих си спестил Но аз съм един Псолютен начинаещ и тези две платки са ми първия досег с микроконтролери изобщо . На разположение имам един мултицет ( от по-умните - служебен ) и с това ми се изчерпва арсенала от уреди , но както казваше един приятел :имам голяма вътрешна енергия . Много благодаря за помоща ви !!! |
|
| Автор: | Цецо [ Пон Фев 21, 2011 9:17 am ] |
| Заглавие: | |
Ами сега поне има разни осцилоскопчета на цената на средна ръка GSM апарат. Така, че ако човек иска да се занимава като хората с електроника, това е първото нещо което трябва да изгладува. И няма да гладува много, едно време и 10 години да гладуваш - все тая, осцилоскопа струваше колкото 2 апартамента Да работиш без осцилоскоп е безмислено. Губиш време и пропускаш ценни знания и опит в глупави проверки на принципа проба - грешка. |
|
| Автор: | marcuka68 [ Пон Фев 21, 2011 11:25 am ] |
| Заглавие: | |
Аз ползвах по-рано един осцилоскоп на компютър. Инсталираш си програмата и през звуковата карта направо мериш. Ползвах го, за да наблюдавам RS485 и вършеше работа. Не е много професионална работа, но като за начало е добро и е без пари. |
|
| Автор: | mitko_el [ Пон Фев 21, 2011 3:37 pm ] |
| Заглавие: | |
Вържи от двете страни на "жиците" си по един R 1k към +5V. Капацитет май ти бърка работата... Другата проба , дет се сещам- R 10 кила последователно на "жиците" |
|
| Автор: | Cekins [ Пон Фев 21, 2011 4:30 pm ] |
| Заглавие: | |
На мен ми мирише повече на кофти синхронизация. I2C на 100 kHz по 20 метра жица съм пускал. И то в зашумена среда. Не мога да повярвам, че на 10kHz и на 30 см. нещо ще може да го смущава толкова, че да дава чак такива грешки. Още повече SPI. |
|
| Страница 1 от 3 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|