| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Can bus проблем http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=13986 |
Страница 1 от 1 |
| Автор: | stoyanoff [ Сря Авг 19, 2015 10:38 am ] |
| Заглавие: | Can bus проблем |
Здравейте! Построил съм си CANbus линия с MCP2515 и SN65HVD230D. При нормални условия всичко е ОК. Проблемите започват ако няма нодове по линията. Как се установява липса на нодове?! За програмата съм използвал готова библиотека на CCS can-mcp251x. Проблемът е, че тези пичове на са доизпипали кода и когато няма други нодове, програмата забива. Вероятно буфера на MCP2515 се препълва и до там. Има ли някакъв прост начин да установя дали има други нодове по линията и да избегна тези проблеми?! Благодаря! ПП: Мисля си да изпращам нещо като пинг - малко заклинание, на което нодовете да отговарят. Нз обаче какво би станало ако има много нодове и тръгнат да отговарят на куп... |
|
| Автор: | vesko_hard [ Сря Авг 19, 2015 11:11 am ] |
| Заглавие: | Re: Can bus проблем |
То по спецификация кана не знае дали има нодове отсреща, Праща си и си чака. Терминирана ли е линията? |
|
| Автор: | Dimitar [ Сря Авг 19, 2015 12:07 pm ] |
| Заглавие: | Re: Can bus проблем |
Веско, това въобще не е вярно - знае си много добре, че отсреща няма никой и то точно по спецификация. Даже can контролера трябва да има брояч на грешките от изпратени, но не получени от никой съобщения и да дава прекъсване, в което програмата да се грижи да рестартира контролера когато въпросните грешки станат 127. Сега не знам как точно са го реализирали в майкрочипския чип, но би трябвало да е нещо подобно. |
|
| Автор: | vesko_hard [ Сря Авг 19, 2015 1:03 pm ] |
| Заглавие: | Re: Can bus проблем |
Това има ли го документирано някъде, да се образовам. |
|
| Автор: | Dimitar [ Сря Авг 19, 2015 1:35 pm ] |
| Заглавие: | Re: Can bus проблем |
Естествено - би трябвало да го има както в дейта шитовете, така и в стандарта. Става да закачиш и осцилоскоп и ще видиш как като няма никой отсреща да отгивори на акнолиджа и контролера не изпраща цялото съобщение а бичи нонстоп нещо като приамбъл и в същото време трябва да инкрементира брояча, за който споменах по-горе. CAN бъса е доста интелегентен и доста сейфти, което е естествено като се има предвид къде се ползва. Аз затова винаги го препоръчвам вместо RS-485 защото за разлика от него софтуера не трябва да се грижи за нищо на физическо и ниско ниво. |
|
| Автор: | stoyanoff [ Сря Авг 19, 2015 5:22 pm ] |
| Заглавие: | Re: Can bus проблем |
Въпрос! Да кажем, че намеря как да получа достъп до въпросния регистър! По принцип грешка може да възникне по ред причини - сиреч да се инкрементира регистъра. Как да различа двете неща? Кога е просто грешка и кога липса на получател?! Поздрави! |
|
| Автор: | ДедоБоре [ Сря Авг 19, 2015 6:05 pm ] |
| Заглавие: | Re: Can bus проблем |
ама ти наистина ли искаш някой да ти прочете какво пише на стр. 48 от чаршафа за MCP2515? |
|
| Автор: | Dimitar [ Сря Авг 19, 2015 7:39 pm ] |
| Заглавие: | Re: Can bus проблем |
Дедо, ама ти даже си отворил и чаршафа ли Веско, в чиповете дето аз ползвам няма разграничаване на грешката, ама ти ако се замислиш тя е само липса на друг нод, което разбира се може да е откъсната или шортната жица. Ти толкова категорично се изказа в първия ти пост, че сега чак няма логика във въпросите ти |
|
| Автор: | gicho [ Сря Авг 19, 2015 9:58 pm ] |
| Заглавие: | Re: Can bus проблем |
На база на споменатите броячи контролера минава в error passive (май беше над 128 грешки) или ако продължи затъмнението стига до bus off state. Това нормалните контролери го имат като статус, като прекъсване и т.н. На МЦП-то не помня, минаха 10-тина години откак съм го ползвал. Разпознаването дали има друг активен node на бъса е че в края на съобщението предаващия пуска един бит, който всеки активен нод е длъжен да натисне и така предаващия разбира че някой е видял съобщението и то е минало валидно по бъса. Между другото, сега е момента да си осъвремениш платформата - SPI към CAN е загуба на време, в смисъл времето дето ще загубиш да питаш по форумите докато разбереш че е шит, ще ти стигне да си смениш платформата с такава с вграден кан. |
|
| Автор: | stoyanoff [ Сря Авг 19, 2015 10:27 pm ] |
| Заглавие: | Re: Can bus проблем |
Нямам под ръка удобен контролер с вграден CAN. Иначе благодаря за съветите. Утре ще видя как да осъвместя четенето на вътрешните регистри на MCP с това, което имам като код... Поздрави! |
|
| Автор: | Quadro [ Вто Окт 13, 2015 4:57 pm ] | |||||||||
| Заглавие: | Re: Can bus проблем | |||||||||
Ще може ли малко повече обяснение защо това е така ? Мисля да пробвам един CAN за любителски проект и LPC-тата, които ползвам нямат вграден CAN,та мислех по SPI <-> CAN контролер с някакъв вграден transceiver. |
||||||||||
| Автор: | gicho [ Сря Окт 14, 2015 1:57 pm ] |
| Заглавие: | Re: Can bus проблем |
Майкрочипския спи кан контролер има бъгове и лимитации от дизайна. Мина много време откак го настъпих, но по спомен: - СПИ интерфейса не държи специфицираната скорост, май го пишеха 8мбит но не ги държи - броя мейлбокси е малък - имаш само един интерръпт (не можеш да вържеш определени пакети да генерират по-високо приоритетно прекъсване от други) - трябват ти микро с повече пинове - СПИ + интеръпт и ресет поне, отколкото двата на кан-а - към момента избора на микроконтролери с вграден кан започва от цени, по-ниски от тези на едно мцп - нема кой да се занимава с него, освен китайците докато клонират някой архаичен дизайн (примерно някой диагностики за коли) - имаше и други неща, но не помня вече - продуктът си работеше (работи) но всяка мотика удължаваше развоя и така си умря тоя дизайн (мина на микро с вграден кан) Много по-ефективно е да го имаш вътре контролера. Със сигурност има специфични проекти, в който няма микроконтролер с всички необходими периферии - например новите ELM327 китайците ги правят с някакъв блутут чип (май ARM7 или 9 имаше вътре |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|