Отговори на тема  [ 17 мнения ]  Отиди на страница 1, 2  Следваща
CAN общи въпроси 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3714
Местоположение: Високо в планината
Мнение CAN общи въпроси
Във връзка с темата за матрично свързване на платки се чудех дали да не го направя с CAN, на когото обаче познавам само физическия интерфейс.
Та първият ми въпрос е от много общо естество - лесно ли се подкарва, конкретно на майкрочипски контролери (dsPIC33 серията например). От доста време не съм писал нищо за микроконтролери, но преди няколко пъти съм им дописвал errata на някои техни чепове, а за това проектче не си струва да се разхождам из поляна с мотики.

Вторият ми въпрос е:
до колко е възможно синхронизирането на процеси. Примерно ако изпратя броудкаст команда за семплиране на аналогови канали, тази команда може ли да се дешифрира от хардуера на кана и директно да ме вкара в прекъсване. От там нататък латентността мога сам да си преценя дали ме устройва.

_________________
Хайде де!


Вто Ное 17, 2020 6:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение Re: CAN общи въпроси
dan написа:
Вторият ми въпрос е:
до колко е възможно синхронизирането на процеси. Примерно ако изпратя броудкаст команда за семплиране на аналогови канали, тази команда може ли да се дешифрира от хардуера на кана и директно да ме вкара в прекъсване. От там нататък латентността мога сам да си преценя дали ме устройва.

Това е въпрос на имплементация на CAN. И във всички имплементации, които са минавали през ръцете ми, отговорът е: Да.
Периферния CAN модул в почти всички имплементации може да се конфигурира да филтрира съобщенията от бъс-а по ID. И да ги праща в съответно за това ID, FIFO. Съответно можеш да конфигурираш прекъсване при получено съобщение във FIFO-то.
Синхронизирането обаче обикновено се прави по Глобален часовник, което също е въпрос на имплементация - софтуерна в този случай.
Разбира се не изключвам всякакъв друг фолклор, който просто ползва физическия слой на CAN, плюс каквото са отпуснали от Микрочеп-а.

_________________
Най-опасният враг на истината и свободата е мнозинството.


Вто Ное 17, 2020 9:14 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: CAN общи въпроси
Прецизната синхронизация не му е по силите на кан-а - ако е минала арбитрацията новото съобщение ще трябва да изчака докато се довърши предишното, дори да е с по-висок приоритет. Мисля че в CAN-FD имаше допълнение по темата, ама да не те излъжа.
Ако по друга линия има шедюлинг на времето и си гарантираш че никой не предава в тоя момент, ще стане. Смислените контролери съхраняват и таймстамп на съобщението, което би трябвало да ти даде суб-микросекундна точност, дори и да не се пънеш да реагираш безусловно бързо на прекъсването.


Сря Ное 18, 2020 5:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: CAN общи въпроси
Ако един CAN контролер (примерно MCP2515 в normal mode) прати съобщение, което не се припознава от никой в мрежата, ще получи ли acknowledge и ако не получи, ще предава ли съобщението отново?


Вто Ное 24, 2020 12:38 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: CAN общи въпроси
Нямам идея от CAN, но не ми звучи логично да получи акнолидж.
Пък дали ще предава до утре - сигурно се задава от ЗКУ-то.


Вто Ное 24, 2020 2:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: CAN общи въпроси
И аз така разсъждавам, но от написаното в чаршафа на контролера, леко се обърквам:

Any node that has received an
error-free frame Acknowledges the correct reception of
the frame by sending back a dominant bit (regardless
of whether the node is configured to accept that
specific message or not
)


Вто Ное 24, 2020 2:35 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: CAN общи въпроси
Да , май грешно разсъждаваме :D
И аз го прочетох това след поста, и май ще предава пак...освен ако не е програмирано за One-Shot Mode (т.3.4)


Вто Ное 24, 2020 2:43 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: CAN общи въпроси
One shot mode не ми върши работа, защото, ако бъде загубен арбитража, съобщението няма да бъде предадено. Това, което целя е, дадено съобщение да се предава само веднъж или краен брой пъти в случай, че няма ACK за него.


Вто Ное 24, 2020 2:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: CAN общи въпроси
Е, явно ще усложниш обработките,
ама изглежда ще получиш АСК от някой слушател, aко шината е в ред.


Вто Ное 24, 2020 3:12 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение Re: CAN общи въпроси
lcr написа:
Ако един CAN контролер (примерно MCP2515 в normal mode) прати съобщение, което не се припознава от никой в мрежата, ще получи ли acknowledge и ако не получи, ще предава ли съобщението отново?


Това се пресъздава лесно само с един дивайс на линията.
На осцилоскоп се забелязват данни постоянно след първоначално предаване на пакет.


Чет Ное 26, 2020 12:56 am
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: CAN общи въпроси
relsys написа:

Това се пресъздава лесно само с един дивайс на линията.
На осцилоскоп се забелязват данни постоянно след първоначално предаване на пакет.


Това е ясно, тествал съм го и е така, както казваш. Въпросът беше, ако освен предаващата точка има поне още една, но съобщението не я касае - дали тя ще прати ack. До този момент стана ясно, че - да.


Чет Ное 26, 2020 10:29 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение Re: CAN общи въпроси
lcr написа:
relsys написа:

Това се пресъздава лесно само с един дивайс на линията.
На осцилоскоп се забелязват данни постоянно след първоначално предаване на пакет.


Това е ясно, тествал съм го и е така, както казваш. Въпросът беше, ако освен предаващата точка има поне още една, но съобщението не я касае - дали тя ще прати ack. До този момент стана ясно, че - да.


CAN пакетът има само Source Address, няма Destination Address. Така че, всеки пакет касае всяка точка.


Съб Ное 28, 2020 8:58 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: CAN общи въпроси
Къде го тоя сорс адрес в кан съобщението? Няма такива неща там.


Вто Дек 01, 2020 12:04 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: CAN общи въпроси
lcr написа:
Въпросът беше, ако освен предаващата точка има поне още една, но съобщението не я касае - дали тя ще прати ack. До този момент стана ясно, че - да.

Да, праща ако види валиден пакет, нищо че не е за него. Дали е за него или не се разбира по-навътре според настроените филтри, докато ацк-то идва от по-ниско ниво.
Ако е сам на бъса започва да праща безкрайно докато някой не му го потвърди. Има броячи за error passive режим.


Вто Дек 01, 2020 12:07 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение Re: CAN общи въпроси
gicho написа:
Къде го тоя сорс адрес в кан съобщението? Няма такива неща там.


Недей заблуждава хората с празни приказки.


Вто Дек 01, 2020 2:46 pm
Профил ICQ WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 17 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни