реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> CANopen, CANFestival
Ekka
сообщение Nov 1 2017, 11:16
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Привет всем, засели за такую штуку как CAN. Пока ничего не понятно, к сожалению, но, может, кто-то знает,
как в CubeMX настроить работу CAN с готовым стеком и протоколом, это вообще возможно ? Посоветуйте, что почитать по этому поводу?
Хочу использовать stm32f105R8Tx+CAN(CANopen+CANfestival) О_О"

Есть еще какое-то ПО для этого случая... canopen object dictionary editor вроде..
Что это все и где взять и куда вообще начать копать?

Сообщение отредактировал Ekka - Nov 1 2017, 12:50
Go to the top of the page
 
+Quote Post
Forger
сообщение Nov 1 2017, 12:50
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Ekka @ Nov 1 2017, 14:16) *
Привет всем, засели за такую штуку как CAN. Пока ничего не понятно, к сожалению, но, может, кто-то знает,

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



зы. Если серьезно: как только у вас будут появляться конкретные вопросы, ответы на которые не дают интернеты и книги, то можно смело писать сюда, тогда помогут. wink.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
x893
сообщение Nov 1 2017, 15:02
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Более того сайты со словами CAN блокируются Роскомнадзором.
Здесь конечно люди, которые тщательно скрывают свои знания, но часть тайны смогут приоткрыть.
Go to the top of the page
 
+Quote Post
*Leks*
сообщение Nov 2 2017, 05:00
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 28-01-06
Из: Москва
Пользователь №: 13 719



Эх, старый добрый российский интернет.
Go to the top of the page
 
+Quote Post
_3m
сообщение Nov 2 2017, 06:47
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(Forger @ Nov 1 2017, 15:50) *
CAN - закрытая секретная информация, по ней в интернете все удалено со всех серверов, все книги и даташиты по CAN под жесточайшим запретом.
Даже обсуждение CAN в открытом доступе попадает по статью ...
CAN - это не шутки!

Не смешно.
Информация на https://www.can-cia.org открытого доступа к ней нет.
Чтобы получить доступ надо стать CiA Member и уплачивать ежегодные взносы. На торрентах материалов из CiA нет.
Для работы нужен софт (анализаторы протоколов). С этим беда-печаль: ixaat за невменяемое количество денег а у остальных анализаторы протоколов либо отсутствуют как класс либо рудиментарные.

ТС: подумайте как следует еще раз так ли уж нужен вам CAN ?
Не можете ли вы обойтись чем нибудь открытым и стандартным эзернетом например ?

Go to the top of the page
 
+Quote Post
gosha-z
сообщение Nov 2 2017, 07:05
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 30-10-05
Пользователь №: 10 288



Цитата(_3m @ Nov 2 2017, 09:47) *
Информация на https://www.can-cia.org открытого доступа к ней нет.
Чтобы получить доступ надо стать CiA Member и уплачивать ежегодные взносы.

Цитата отсюда:
Technical documents in public status can be downloaded free of charge by CiA-members and non-members after registration
Go to the top of the page
 
+Quote Post
Forger
сообщение Nov 2 2017, 07:07
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(_3m @ Nov 2 2017, 09:47) *
Для работы нужен софт (анализаторы протоколов). С этим беда-печаль: ixaat за невменяемое количество денег а у остальных анализаторы протоколов либо отсутствуют как класс либо рудиментарные.

Странно, как же тогда мне удалось все это скачать бесплатно и даже часть на русском? ... Может, у меня какой-то другой интернет, выходящий в параллельную вселенную?

Бюджетное железо (USB-CAN) брал тут: http://can.marathon.ru, софт в довесок у них бесплатный (под их железки).
В свое время мне этого вполне хватило самостоятельно написать даже свой CANopen slave, не говоря уже о прикручивании готовых стеков.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
leocat
сообщение Nov 2 2017, 07:17
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 109
Регистрация: 12-10-16
Пользователь №: 93 727



Н-да... сейчас понапишут...
Если по работе с CAN на чипах серии STM32F10x, в частности 103, то описание работы с этим "добром" очень хорошо сделал https://www.smartmode.info. Правда с использованием SPL.
Если интересно использовать микрочиповские чипы, то это есть у меня https://github.com/leocat3/open-plc/tree/ma...source/can_gate, тоже SPL
Не знаю, какова необходимость в "стандарте" CANOpen, но почитамши буквари, пришел к выводу, что мне этого не надо. Через чур усложнили. Все можно сделать намного проще, напр.: http://open-plc.blogspot.ru/2017/05/explor...f100-board.html
От CANOpen взял только стандарт на скорости да количество точек выборки / процент попадания.
Литературы и по CANopen и по CANfestival в открытом доступе - немеряно. Начните с того же Beremiz.
Для анализа физического уровня вроде тоже - трудностей не заметил. Взять тот же китайский клон Saleae.
Go to the top of the page
 
+Quote Post
_3m
сообщение Nov 2 2017, 08:58
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(leocat @ Nov 2 2017, 10:17) *
Не знаю, какова необходимость в "стандарте" CANOpen, но почитамши буквари, пришел к выводу, что мне этого не надо. Через чур усложнили.
...
Литературы и по CANopen и по CANfestival в открытом доступе - немеряно. Начните с того же Beremiz.

Немеряно букварей. Когда начнете выяснять почему не работает ваша реализация lss fast scan или еще что-то из глубин стандарта обнаружите что букварей недостаточно.
CANopen протокол обширный и весьма непростой. Я и пишу - оно ТС надо ?

Цитата
Для анализа физического уровня вроде тоже - трудностей не заметил. Взять тот же китайский клон Saleae.

Нет проблем с физическим уровнем. Есть проблемы с анализом стандартных протоколов.



Цитата(Forger @ Nov 2 2017, 10:07) *
Странно, как же тогда мне удалось все это скачать бесплатно и даже часть на русском? ... Может, у меня какой-то другой интернет, выходящий в параллельную вселенную?

Наверно у меня интернет неправильный.
Скачайте-ка из "параллельной вселенной" бесплатно и на русском:
CiA 302 все части
CiA 309 все части (особенно интересует 309-2)
CiA 310
CiA 312
CiA 315
CiA 445
CiA 603
Go to the top of the page
 
+Quote Post
Forger
сообщение Nov 2 2017, 09:13
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(_3m @ Nov 2 2017, 11:58) *
Нет проблем с физическим уровнем. Есть проблемы с анализом стандартных протоколов.

Чуть выше я давал ссылку на железку от отеч. производителя. У них есть бесплатный анализатор протоколов CANopen, я такой использовал в свое время. Называется CANwise или типа того.
Конечно, он не дотягивает до "крутых", но мне его вполне хватило спроектировать свой CANopen slave.
А уж для прикручивания готового стека его за глаза.

Цитата
Наверно у меня интернет неправильный.
Полагаю, что дело тут не в интернете вовсе ... biggrin.gif
На местном FTP есть много литературы по CAN, как получить туда доступ, есть соотв. тема.

Цитата
Скачайте-ка из "параллельной вселенной" бесплатно и на русском:

Существование базовых описаний на русском лишь немного упрощают вхождение в тему, но работать все равно придется с оригинально документацией - на английском.

Поэтому дело тут не "отсутствии документации", а в том, кому она нужна в таком избыточном объеме.

С другой стороны, когда делаете коммерческое изделие с CANopen, его все равно нужно сертифицировать, проходя соотв. тесты.
А это требует полной документации, чтобы не платить за процедуру сертификации по много раз.
Поэтому придется регистрироваться в CAN CiA и платить членские взносы, чтобы получить нужную документацию (кстати, это не так уж и дорого).

Ну а для "колхозников", которые городят CANopen железяки на коленках для себя или таких же "колхозных" организаций вполне хватает и того, что можно скачать в открытом доступе.




зы. вспомните известную пословицу: "И рыпку съесть и на %$# сесть" ...


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Ekka
сообщение Nov 2 2017, 11:37
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



После чтения всего того, что тут понаписали и понапугали... Ну ладно( Пытаюсь просто сейчас с помощью HAL и Куба настроить КАН в режиме LoopBack,
чтобы КАН слушал сам себя. (Поправьте, если ерунда: это же значит, что на КАН получит на прием то, что сам же и отправил, так?)
Но после моей корявой настройки в прерывание упорно не заходит. Просто не заходит в прерывания, ни по приему, ни по передаче.
Не бейте, пожалуйста, за --говнокод--, только учусь. Настройка кана Кубовская. Фильтры взяты с интернета и вообще убраны. В цикле отправляю посылку.
Настройка кана:
Код
static void MX_CAN1_Init(void)
{

  hcan1.Instance = CAN1;
  hcan1.Init.Prescaler = 12;
  hcan1.Init.Mode = CAN_MODE_LOOPBACK;
  hcan1.Init.SJW = CAN_SJW_1TQ;
  hcan1.Init.BS1 = CAN_BS1_4TQ;
  hcan1.Init.BS2 = CAN_BS2_3TQ;
  hcan1.Init.TTCM = DISABLE;
  hcan1.Init.ABOM = DISABLE;
  hcan1.Init.AWUM = DISABLE;
  hcan1.Init.NART = ENABLE;
  hcan1.Init.RFLM = DISABLE;
  hcan1.Init.TXFP = DISABLE;
  if (HAL_CAN_Init(&hcan1) != HAL_OK)
  {
    Error_Handler();
  }
}


Функция отправки:
Код
void CAN_Transmit(void)
{
    hcan1.pTxMsg->StdId = 0x130;
    hcan1.pTxMsg->DLC = 8;
    hcan1.pTxMsg->Data[0] = 1;
    hcan1.pTxMsg->Data[1] = 2;
    hcan1.pTxMsg->Data[2] = 3;
    hcan1.pTxMsg->Data[3] = 4;
    hcan1.pTxMsg->Data[4] = 5;
    hcan1.pTxMsg->Data[5] = 6;
    hcan1.pTxMsg->Data[6] = 7;
    hcan1.pTxMsg->Data[7] = 8;
    HAL_CAN_Transmit(&hcan1, 10);
}


функция по приему: (надо ли вообще)
Код
void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef* canHandle)
{
    CAN_ID = canHandle->pRxMsg->StdId;
    CAN_DLC = canHandle->pRxMsg->DLC;
    DATA[0] = canHandle->pRxMsg->Data[0];
    DATA[1] = canHandle->pRxMsg->Data[1];
    DATA[2] = canHandle->pRxMsg->Data[2];
    DATA[3] = canHandle->pRxMsg->Data[3];
    DATA[4] = canHandle->pRxMsg->Data[4];
    DATA[5] = canHandle->pRxMsg->Data[5];
    DATA[6] = canHandle->pRxMsg->Data[6];
    DATA[7] = canHandle->pRxMsg->Data[7];
    HAL_CAN_Receive_IT(&hcan1, CAN_FIFO0);
}


мэйн:
Код
int main(void)
{
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_CAN1_Init();
  hcan1.pTxMsg = &canTxMessage;
  hcan1.pRxMsg = &canRxMessage;
  /*CAN_FilterConfTypeDef canFilterConfig;
  canFilterConfig.FilterNumber = 0;
  canFilterConfig.FilterMode = CAN_FILTERMODE_IDLIST;
  canFilterConfig.FilterScale = CAN_FILTERSCALE_16BIT;
  canFilterConfig.FilterIdHigh = 0x53A<<5;
  canFilterConfig.FilterIdLow = 0x53D<<5;
  canFilterConfig.FilterMaskIdHigh = 0x54D<<5;
  canFilterConfig.FilterMaskIdLow = 0x54F<<5;
  canFilterConfig.FilterFIFOAssignment = 0;
  canFilterConfig.FilterActivation = ENABLE;
  canFilterConfig.BankNumber = 1;
  HAL_CAN_ConfigFilter(&hcan1, &canFilterConfig);
  canFilterConfig.FilterNumber = 1;
  canFilterConfig.FilterIdHigh = 0xA<<5;
  canFilterConfig.FilterIdLow = 0x33<<5;
  canFilterConfig.FilterMaskIdHigh = 0x44<<5;
  canFilterConfig.FilterMaskIdLow = 0x55<<5;
  HAL_CAN_ConfigFilter(&hcan1, &canFilterConfig);*/
  HAL_CAN_Receive_IT(&hcan1, CAN_FIFO0);
  while (1)
  {
     CAN_Transmit();
     HAL_Delay(200);
   }
}


Почему может в прерывания не заходить? (void CAN1_TX_IRQHandler(void) и void CAN1_RX0_IRQHandler(void))
Go to the top of the page
 
+Quote Post
x893
сообщение Nov 2 2017, 12:07
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Ох мамулька дорогая !
А почему надо сразу что то строчить и генерить, а не посмотреть любой из 100500 открытых проектов (с исходниками Карл !) ?

Цитата
Привет всем, засели за такую штуку как CAN.

То есть коллектив ?
Go to the top of the page
 
+Quote Post
Ekka
сообщение Nov 2 2017, 12:10
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Как раз смотрю
Go to the top of the page
 
+Quote Post
Forger
сообщение Nov 2 2017, 12:49
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Ekka @ Nov 2 2017, 14:37) *
Почему может в прерывания не заходить?

Потому что соотв. прерывания не были разрешены или/и не реализованы соотв. векторы прерываний.


Цитата(x893 @ Nov 2 2017, 15:07) *
То есть коллектив ?

Типа того: smile3046.gif smile3046.gif smile3046.gif smile3046.gif smile3046.gif
biggrin.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Ekka
сообщение Nov 2 2017, 14:08
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Цитата(Forger @ Nov 2 2017, 12:49) *
Потому что соотв. прерывания не были разрешены или/и не реализованы соотв. векторы прерываний.



Типа того: smile3046.gif smile3046.gif smile3046.gif smile3046.gif smile3046.gif
biggrin.gif


нет... скорее ТАК crying.gif /I am Alone/
разрешены прерывания сейчас по приему и передаче. Все нормально, входит в прерывание по приему и передаче, НО!!!
ЕдИнОжДы... хотя отправляю в цикле же... висит в состоянии готовности.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th July 2025 - 21:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01481 секунд с 7
ELECTRONIX ©2004-2016