STlogó

TN1348 SPC58x Stilla CAN og CAN-FD síur

vöru

Inngangur

Þessi tæknilega athugasemd lýsir því hvernig á að stilla samþykkissíur fyrir CAN stýringar sem eru innbyggðar í SPC58x örstýringar fyrir bíla. Skjalið lýsir uppsetningum skrárinnar og gefur nokkur tdample til að flýta fyrir síustillingu. Þessar stillingar er hægt að nota fyrir alla örstýringa í þessari fjölskyldu með minniháttar frávikum. FyrrverandiampLesin í þessu skjali eru byggð á SPC584Cx/SPC58ECx 32-bita MCU.

GET yfirview

SPC584Cx/SPC58ECx er með átta CAN tilvik sem eru felld inn í tvö mismunandi undirkerfi eins og skjalfest er í tilvísunarhandbók tækisins. kafla viðauka A tilvísunarskjöl.
Allir CAN stýringar í sama undirkerfi munu deila auðlindum eins og vinnsluminni, klukku o.s.frv. Hvert CAN undirkerfi er samsett af eftirfarandi helstu blokkum:

  • Modular CAN kjarna: Hægt er að nálgast skrár CAN einingarinnar með því að nota Generic Slave Interface (GSI). Jaðara GSI einingin virkar sem beiðni frá hverjum skipstjóra.
  • CAN-RAM gerðardómari: það er viðbótarrökfræði fyrir gerðardóm meðal beiðna um vinnsluminni aðgang hinna ýmsu CAN stýringar.
  • SRAM: CAN undirkerfið mun tengjast utanaðkomandi vinnsluminni með því að nota þetta viðmót, það er SRAM.
  • ECC stjórnandi: það inniheldur rökfræði til að reikna og sannreyna leiðréttingarkóðann á SRAM minni.

Fyrir SRAM viðmótið og minnisskipulagið vísað til tilvísunarhandbókar tækisins Hluta Viðauka A tilvísunarskjöl.

Kynning á síun

CAN filter rökfræði gerir þér kleift að stilla síurnar á ýmsan hátt. Til dæmisample, skilaboðin sem standast staðfestingarsíuna geta verið geymd í Rx FIFO (0 eða 1) eða í sérstökum rx biðminni. Hægt er að stilla hverja síu sem samþykkis- eða höfnunarsíu og einnig er hægt að gera hana virka eða óvirka. Fyrir staðfestingarsíu er hver síulisti framkvæmdur frá atriði #0 til fyrsta samsvarandi atriðis í síulistanum. Áður en síur eru notaðar er skylt að stilla upphafsvistfangið og númer síunnar til að taka frá hluta af vinnsluminni skilaboðanna. Myndin hér að neðan sýnir a view af samnýttu minniskortinu og skránum (þess vegna upphafsföngin fyrir hvern hluta).

Mynd 1. Skilaboð RAM stillingar tdample

Skilaboð RAM frumstilling

Áður en einhver sía er notuð er skylda að stilla viðeigandi vinnsluminni svæði skilaboðanna þar sem þau verða geymd. Til að gera þetta verður hugbúnaðarforritið að skrifa offset (í orðum) frá skilaboðum RAM grunnfang hvers síusvæðis. Stilla þarf fjölda sía fyrir hvert svæði þannig að stjórnandinn geti skilið hvar hvert tengt síuminnissvæði endar Í þessu skjali, eins og td.ampfjórar síur, verða stilltar fyrir staðlað auðkenni (11 bita) og fjórar síur fyrir útvíkkað auðkenni (29 bita), þannig að pantaðu hluta af vinnsluminni skilaboða til að geyma 11 bita síur og annan fyrir 29 bita síur. Til að stilla upphafsvistfang staðlaðs auðkennissíusvæðis verður hugbúnaðurinn að skrifa FLSSA reitinn í SIDFC skránni (Standard ID filter configuration register). Fyrir auknar auðkennissíur er nauðsynlegt að skrifa FLESA reitinn í XIDFC skránni (Extended ID filter configuration register). FLSSA og FLESA reitirnir ættu að innihalda minnisjöfnun „í orðum“ frá RAM grunnvistfangi skilaboðanna. Þetta forrit stillir fjórar staðlaðar síur á offset núll og fjórar útbreiddar síur

Fyrir staðlaða síustillingu:

  • FLSSA = 0x0: á móti virðisauka við grunnvistfang skilaboða RAM er núll, þannig að svæðið byrjar í upphafi skilaboða RAM.
  • LSS = 4: þetta er fjöldi sía til að stilla. Hver sía er samsett af „einu“ 32 bita orði.
    Í þessari uppsetningu er hluti af minni sem byrjar á núlli á móti og hefur stærðina fjögur orð.

Athugið: CAN stjórnandi hefur engan stjórnbúnað til að stilla vinnsluminni skilaboðanna, þetta þýðir að þróunaraðili verður að gæta þess að skarast ekki uppsett vinnsluminni svæði. Eftirfarandi mynd sýnir hvernig á að stilla hluta af minni til að geyma auknar auðkenningarsíur.

Til að stilla vinnsluminni svæði til að geyma útbreiddar síur er nauðsynlegt að forrita eftirfarandi gildi í FLESA og LSE reitunum.

  • FLESA = 0x04: frávikið í orðum með tilliti til RAM grunnvistfangs skilaboða. Þetta vegna þess að á fyrra stilltu síusvæði hefur það verið frátekið 0x04 orð fyrir staðlaðar auðkennissíur og þá er lágmarksnothæft frávik 0x04.
  • LSE = 4: þetta er fjöldi sía til að stilla. Fyrir útvíkkað auðkenni er sía samsett af „tveimur“ 32 bita orði.

Í þessari uppsetningu er hluti af minni sem byrjar frá offset 0x04 (orð) sem hefur stærðina átta orð (fjórar tveggja orða síur). Þess vegna er lágmarksjöfnun fyrir næsta stillanlega minnissvæði 0x0C orð. Allir hlutar vinnsluminni skilaboðanna verða að vera stilltir með hliðsjón af fjölda og stærð þáttanna sem verða geymdir í hlutanum án þess að skarast neina hluta.
Athugið: til að breyta orðajöfnun í bætajöfnun þarf að margfalda orðagildið með fjórum.

Example af stöðluðum auðkennissíum

Eftir að hafa stillt vinnsluminni skilaboðanna geturðu stillt síur tækisins.
Hægt er að stilla hvern síuhluta sem:

  • Range sía
  • Tvöföld auðkennissía
  • Klassísk sía
  • Sía fyrir sérstakan rx biðminni (einkennissía)

Eftirfarandi mynd sýnir hvernig á að stilla fjórar mismunandi gerðir af síum fyrir staðlað auðkenni (11 bita auðkenni). Notaðu eftirfarandi síueiningaskrá fyrir STANDARD ID.

Sía fyrir RX FIFO0

Fyrir neðan fyrrverandiampsíun til að geyma skilaboðin með auðkennum á bilinu [0x16 , 0xF6] í Receive FIFO 0.
Skráningargildi (HEX): 0x081600F6
Skráningargildi (BIN): 00 001 00000010110 (00000) 00011110110

Athugið: í öllu fyrrvamplesunum sem gefnar eru upp í þessu skjali, eru bitarnir í sviga haldið á sjálfgefna gildinu. Gildi reita:

  • SFT -> `00` -> Sía frá SFID1 til SFID2
  • SFEC -> `001` -> Geymið í Rx FIFO 0 ef sían passar
  • SFID1 -> `00000010110` -> Fyrsta auðkenni staðlaðs auðkennissíueiningasviðs (0x16)
  • SFID2 -> `00011110110` -> Annað auðkenni staðlaðs auðkennissíueiningasviðs (0xF6)
Tvöföld sía fyrir RX FIFO1

Hér að neðan er fyrrverandiample af tvöfaldri auðkennissíu til að geyma skilaboðaauðkenni 0 x 0A eða 0 x FF í FIFO 1.
Skráningargildi (HEX): 0x500A00FF
Skráningargildi (BIN): 01 010 00000001010 (00000) 00011111111
Gildi reita:

  • SFT -> `01` -> Dual ID sía fyrir SFID1 eða SFID2
  • SFEC -> `010` -> Geymið í Rx FIFO 1 ef sían passar
  • SFID1 -> `00000001010` -> Fyrsta auðkenni venjulegs síueiningar með tvöföldum auðkenni
  • SFID2 -> `00011111111` -> Annað auðkenni venjulegs síueiningar með tvöföldu auðkenni
Rx sérstök biðminni síun

Hér að neðan er fyrrverandiample til að geyma skilaboð með auðkenni 0 x 7F0 í sérstökum rx biðminni #0.
Með því að nota sérstaka biðminni er hægt að sía aðeins eitt skilaboðakenni og það er það sem er skrifað í SFID1 reitinn.
Skráningargildi (HEX): 0x3FF00000
Skráningargildi (BIN): 00 111 11111110000 (00000) 00 (000) 000000

  • SFT -> `00` -> þetta gildi er ekki mikilvægt vegna þess að síun til að geyma í sérstakan RX BUFFER og í þessu tilfelli er SFT gildi hunsuð (sjá SFEC reitlýsingstilfelli `111`)
  • SFEC -> `111` -> Geymið í sérstökum rx biðminni ef sían passar
  • SFID1 -> `11111110000` -> staðlað auðkenni sem sían mun samþykkja (0x7F0)
  • SFID2[10, 9] -> `00` -> þessi reitur ákveður hvort móttekið skilaboð séu geymd í rx biðminni eða meðhöndluð sem skilaboð A, B eða C í kembiskilaboðaröðinni. Í þessu tilviki vill hugbúnaðarforritið geyma skilaboðin í rx biðminni.
  • SFID2[0,5] -> `000000` → vísitala sérstaka biðminni rx þar sem samsvarandi skilaboð verða geymd (ef N sérstakur biðminni rx hefur verið stilltur getur þessi vísitala verið á bilinu [0, N -1]) .Í þessu tilviki eru skilaboðin geymd í sérstökum biðminni #0.
Klassísk sía fyrir RX FIFO0

Þetta frvampLe sýnir hvernig á að geyma skilaboðin með auðkenni á bilinu [0x688, 0x68F] í RX FIFO 0. Fyrir klassíska síu verður að skilgreina auðkenni / grímupar. Auðkennið verður að skrifa í SFID1 og gríman í SFID2 sviðum síueiningarinnar. Í klassískri síu eru auðkennisskilaboðin sem standast síuna fengin með því að nota grímuna á auðkennið sem hér segir:

  • þetta er merking síubitanna -> 1 = verður að passa (0 = er alveg sama);
  • með síu með grímu sem samanstendur af öllum „1s“, mun aðeins eitt auðkenni fara í síuna (það sem er skrifað í SFID1 reitinn) á meðan sía með grímu sem samanstendur af öllum „0“ og öll auðkenni munu fara framhjá sían.

Augljóslega eru þetta einföldustu síurnar. Hér að neðan er útskýring á því hvernig á að skipuleggja sviðssíu fyrir staðlað auðkenni á bilinu [0x688, 0x68F] sem geymir móttekin skilaboð í RX FIFO 0. Þetta er staðlað skilaboðasía, þannig að við munum gefa gildi til SFID1 = Identifier og SFID2 = Gríma.
Skráningargildi (HEX): 0x8E8B07F8
Skráningargildi (BIN): 10 001 11010001011 00000 11111111000

  • SFT -> `10` -> Klassísk sía: SFID1 = sía, SFID2 = gríma
  • SFEC -> `001` -> Geymið í Rx FIFO 0 ef sían passar
  • SFID1 = 110 1000 1011 (auðkenni0x68B)
  • SFID2 = 111 1111 1000 (Mask0x7F8)

Með því að nota grímuna á auðkennið (smá hluti) með merkingu grímubitans (1 = verður að passa við 0 = er ekki sama) finnum við eftirfarandi sviðssíu þar sem 'X' táknið stendur fyrir núll eða eitt.

Sía = 110 1000 1XXX

Þá munu öll staðlað skilaboð á bilinu [0x688, 0x68F] standast síuna.

Útvíkkuð uppsetning auðkennissía

Einnig er hægt að útfæra sömu síurgerðir fyrir útbreidd auðkenni (29-bita auðkenni).

Útvíkkuð sía fyrir RX FIFO0

Í þessu frvample, þessi sía mun geyma skilaboð með auðkennum á bilinu [0xFFFFF, 0x1FFFFFFF] í FIFO 0.
Fyrir neðan skráargildin:

  • F0 skráargildi (HEX): 0x200FFFFF
  • F1 skráargildi (HEX): 0xDFFFFFFF
  • FO skráargildi (BIN): 001 00000000011111111111111111111
  • F1 skráargildi (BIN): 11 (0) 11111111111111111111111111111

Gildi reita:

  • EFEC -> `001` -> Geymið í Rx FIFO 0 ef sían passar
  • EFID1 ->`00000000011111111111111111111` -> Fyrsta auðkenni útvíkkaðs auðkennissíueiningar
    svið (0xFFFFF)
  • EFT -> `11` -> Sía frá SFID1 til SFID2
  • SFID2 ->`11111111111111111111111111111` -> Annað auðkenni staðlaðs auðkennissíueiningasviðs (0x1FFFFFFF)
Tvöföld auðkennissía fyrir FIFO 1

Í þessu frvampLe tvöfalda auðkennissían mun geyma skilaboð með auðkenni 0xAAAAA eða 0xBBBBB í FIFO 1.

  • F0 skráargildi (HEX): 0x400AAAAA
  • F1 skráargildi (HEX): 0x400BBBBB
  • FO skráargildi (BIN): 010 000000000 10101010101010101010
  • F1 skráargildi (BIN): 01 (0) 00000000010111011101110111011

Gildi reita:

  • EFEC -> `010` -> Geymið í Rx FIFO 1 ef sían passar
  • EFID1 -> `00000000010101010101010101010` -> Fyrsta framlengda auðkenni (0xAAAAA)
  • EFT -> `01` -> Dual ID sía fyrir EFID1 eða EFID2
  • EFID2 -> `00000000010111011101110111011` -> Annað framlengt auðkenni (0x000BBBBB)
Sérstakur rx biðminni

Í þessu frvampsíunin mun geyma skilaboð með auðkenninu 0x000AAAAA í sérstökum rx biðminni #1. Einnig í þessari atburðarás, með því að nota sérstaka biðminni er aðeins hægt að sía eitt skilaboðaauðkenni og það er það sem skrifað er í EFID1 reitinn.

  • Auðkennissía fyrir sérstakan rx biðminni (ID = 0x000AAAAA)
  • F0 skráargildi (HEX): 0xE00AAAAA
  • F1 skráargildi (HEX): 0x00000001
  • FO skráargildi (BIN): 111 00000000010101010101010101010
  • F1 skráargildi (BIN): 00 (0) 000000000000000000 00 (000) 000001

Gildi reita:

  • EFEC -> `111` -> Geymið í sérstökum rx biðminni ef sían passar
  • EFID1 -> `00000000010101010101010101010` -> útvíkkað auðkenni sem sían mun samþykkja
    (0x000AAAAA)
  • EFT -> `00` -> þetta gildi er ekki mikilvægt vegna þess að síun til að geyma í sérstaka RX
    BUFFER og í þessu tilviki EFT gildi er hunsað (sjá EFEC reit lýsingu tilfelli `111`)
  • EFID2[10, 9] -> `00` -> þessi reitur ákveður hvort móttekið skilaboð séu geymd í Rx Buffer eða meðhöndluð sem skilaboð A, B eða C í kembiskilaboðaröðinni. Í þessu tilviki vill hugbúnaðarforrit geyma skilaboð í Rx Buffer
  • EFID2[0,5] -> `000001` -> vísitala sérstaka rx biðminni þar sem samsvarandi skilaboðin verða geymd (ef þú stilltir N sérstaka rx biðminni getur þessi vísitala verið á bilinu [0, N -1]). Í þessu tilviki eru skilaboðin geymd í sérstökum biðminni #1
Klassísk sía fyrir rx FIFO1

Í þessu frvample, síuforritun mun geyma skilaboð sem eru geymd með auðkenni á bilinu [0 x FFFFF, 0 x1FFFFFF] í rx FIFO 1. Það er ljóst að grímuaðferðin sé sú sama og staðlaðar auðkennissíur. Hér að neðan er útskýring á því hvernig á að forrita útbreidda auðkennisviðssíu í rage [0 x FFFFF, 0 x 1FFFFFF] sem geymir móttekin skilaboð í rx FIFO 1. Þetta er sía fyrir útvíkkuð skilaboð, þannig að við gefum gildi til EFID1 = auðkenni og EFID2 = Gríma

  • F0 skráargildi (HEX): 0x400FFFFF
  • F1 skráargildi (HEX): 0x9E0FFFFF
  • F0 skráargildi (BIN): 010 00000000011111111111111111111
  • F1 skráargildi (BIN): 10 (0) 11110000011111111111111111111
  • EFT > `10` -> Klassísk sía: EFID1 = sía, EFID2 = gríma
  • EFEC -> `010` -> Geymið í Rx FIFO 1 ef sían passar
  • EFID1 = 0 0000 0000 1111 1111 1111 1111 1111 (auðkenni 0xFFFFF)
  • EFID2 = 1 1110 0000 1111 1111 1111 1111 1111 (Maska 0x1E0FFFFF)

Með því að nota grímuna á auðkennið (bita) með merkingu grímubitans (1 = verður að samsvara 0 = ekki sama) finnum við eftirfarandi sviðsíu þar sem táknið "X" stendur fyrir núll eða eitt.

Sía = 0 000X XXXX 1111 1111 1111 1111 1111

Þannig að öll útbreidd skilaboð á bilinu [0xFFFFF, 0x1FFFFFF] munu standast síuna.

Viðauki A Tilvísunarskjöl

  • SPC584Cx/SPC58ECx tilvísunarhandbók
  • SPC584Cx/SPC58ECx gagnablað

Viðauki B Skammstafanir og skammstafanir

Skammstöfun Fullt nafn
GETUR Svæðisnet stjórnanda
FD Sveigjanlegur gagnahraði
Endurskoðunarferill skjala
Dagsetning Útgáfa Breytingar
01-mars-2021 1 Upphafleg útgáfa.

MIKILVÆGT TILKYNNING - VINSAMLEGA LESIÐ NÁGUR

STMicroelectronics NV og dótturfyrirtæki þess („ST“) áskilja sér rétt til að gera breytingar, leiðréttingar, endurbætur, breytingar og endurbætur á ST vörum og / eða á þessu skjali hvenær sem er án fyrirvara. Kaupendur ættu að fá nýjustu viðeigandi upplýsingar um ST vörur áður en pantanir eru gerðar. ST vörur eru seldar í samræmi við skilmála ST og söluskilmála sem eru til staðar við viðurkenningu pöntunar.

Kaupendur bera einir ábyrgð á vali, vali og notkun ST-vara og ST tekur enga ábyrgð á umsóknaraðstoð eða hönnun á vörum kaupenda.

Ekkert leyfi, óbeint eða óbeint, til nokkurs hugverkaréttar er veitt af ST hér.

Endursala á ST vörum með öðrum ákvæðum en upplýsingarnar sem settar eru fram hér ógilda alla ábyrgð sem ST veitir fyrir slíka vöru.

ST og ST merkið eru vörumerki ST. Fyrir frekari upplýsingar um ST vörumerki, vinsamlegast vísa til www.st.com/trademarks. Öll önnur vöru- eða þjónustuheiti eru eign viðkomandi eigenda.

Upplýsingar í þessu skjali koma í stað og koma í stað upplýsinga sem áður hafa verið gefnar í fyrri útgáfum þessa skjals.

© 2021 STMicroelectronics – Allur réttur áskilinn

Skjöl / auðlindir

ST TN1348 SPC58x Stilla CAN og CAN-FD síur [pdfLeiðbeiningar
TN1348, SPC58x Stilla CAN og CAN-FD síur

Heimildir

Skildu eftir athugasemd

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru merktir *