STM32L4 in CAN BUS

Vse kar je v povezavi z ARM-Cotrex-M procesorji. Sem spada tako HW kot SW.

Moderator: tilz0R

STM32L4 in CAN BUS

OdgovorNapisal/-a marko » 29 Okt 2018, 17:28

Ima mogoče kdo kakšno delujočo varianto CAN BUS driverja? Uporabljam to kar je v CubeMX (HAL) in sem poskusil ogromno primerov že, pa mi nikakor ne uspe zagnat prenosa. Sem že pri prvi oviri ugotovil, da je težko kaj najdit za ST :) Kup enih informacij levo desno, pa nič na kupu.

Kak 100% delujoč primer bi bil zelo dobrodošel.

Hvala.
Če ti v življenju ne gre in si nesrečen, se spomni na lastnike Renaultov.
marko
 
Prispevkov: 928
Pridružen: 18 Jan 2015, 01:00
Zahvalil se je: 110 krat
Prejel zahvalo: 120 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 65

Re: STM32L4 in CAN BUS

OdgovorNapisal/-a mucek » 29 Okt 2018, 17:42

Komunikacijo - pulze na TX imas? Baudrate si pravilno nastavil? Kljub Cube-tu je to precej sitno, z vsemi timerji itd - imas pa en online calc. Keil pa ti npr zracuna sam, ti mu samo podas zeljeni bps.
... lahko pa se tudi motim ...
Uporabniški avatar
mucek
 
Prispevkov: 1430
Pridružen: 18 Jan 2015, 20:20
Kraj: Ljubljana
Zahvalil se je: 50 krat
Prejel zahvalo: 393 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 72

Re: STM32L4 in CAN BUS

OdgovorNapisal/-a tilz0R » 29 Okt 2018, 23:22

Ne vidim kater L4 MCU imaš, ampak za L476-EVAL board imaš example v CubeL4 paketu (ki ga itak rabiš za CubeMX generacijo projekta):

REPOSITORY\STM32Cube_FW_L4_Vx.x.x\Projects\STM32L476G-EVAL\Examples\CAN\CAN_Networking\
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1501
Pridružen: 17 Jan 2015, 23:12
Kraj: Črnomelj
Zahvalil se je: 193 krat
Prejel zahvalo: 371 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: STM32L4 in CAN BUS

OdgovorNapisal/-a marko » 30 Okt 2018, 08:53

@mucek - Ne, na TX ni pulzov.
@tilz0R - ta primer poznam in ga tudi gledam, pa mi ne deluje. Nedolgo nazaj so spremenili CAN driver in vsi ostali primeri iz interneta ne delajo več.

Takole izgleda moja koda. Zaradi berljivosti sem izpustil preverjanje klicev, če vračajo HAL_OK. Vsi klici namreč vrnejo OK. Ta test je tudi brez FreeRTOS-a.
Clock sem nastavil po http://www.bittiming.can-wiki.info/.
Moj glavni clock (in tudi APB1) je 80Mhz.
Koda: Izberi vse
hcan1.Init.Prescaler = 10;
hcan1.Init.Mode = CAN_MODE_NORMAL;
hcan1.Init.SyncJumpWidth = CAN_SJW_1TQ;
hcan1.Init.TimeSeg1 = CAN_BS1_13TQ;
hcan1.Init.TimeSeg2 = CAN_BS2_2TQ;


Koda: Izberi vse
MX_CAN1_Init();
HAL_CAN_Start(&hcan1);

TxHeader.StdId = 0x321;
TxHeader.ExtId = 0x01;
TxHeader.RTR = CAN_RTR_DATA;
TxHeader.IDE = CAN_ID_STD;
TxHeader.DLC = 2;
TxHeader.TransmitGlobalTime = DISABLE;

while (1)
{
   ++TxData[0];
   HAL_CAN_AddTxMessage(&hcan1, &TxHeader, TxData, &TxMailbox);
   HAL_Delay(10);
}


Edit: Čip je STM32L433CCT6. CAN1_RX je na PB8, CAN1_TX pa na BP9. Noben drug pin ni v uporabi (konfiguriran). Priklopljen pa imam SWD programator.
Če ti v življenju ne gre in si nesrečen, se spomni na lastnike Renaultov.
marko
 
Prispevkov: 928
Pridružen: 18 Jan 2015, 01:00
Zahvalil se je: 110 krat
Prejel zahvalo: 120 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 65

Re: STM32L4 in CAN BUS

OdgovorNapisal/-a tilz0R » 30 Okt 2018, 21:54

Tudi nič ne vidiš na TX pinu? Karkoli?
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1501
Pridružen: 17 Jan 2015, 23:12
Kraj: Črnomelj
Zahvalil se je: 193 krat
Prejel zahvalo: 371 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: STM32L4 in CAN BUS

OdgovorNapisal/-a marko » 01 Nov 2018, 10:30

No, po 2 dneh razbijanja, obupavanja, preklinjanja.. sem vseeno še enkrat pogledal CubeMX projekt in ugotovil, da na omenjenih pinih, ni fizično can bus sploh povezan :(
Ko sem to popravil, je začel delati. Sem se pa veliko naučil :_rolling
Če ti v življenju ne gre in si nesrečen, se spomni na lastnike Renaultov.
marko
 
Prispevkov: 928
Pridružen: 18 Jan 2015, 01:00
Zahvalil se je: 110 krat
Prejel zahvalo: 120 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 65


Vrni se na ARM-Cortex-M

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost