TN1348 SPC58x Fa'atonuga CAN ma CAN-FD Filifiliga
Folasaga
O lenei faʻamatalaga faʻapitoa e faʻamatalaina pe faʻafefea ona faʻatulagaina filiga taliaina mo CAN controllers faʻapipiʻi i totonu ole SPC58x automotive microcontrollers. O lo'o fa'amatalaina e le pepa le fa'atonuga o le resitara ma tu'u mai ai nisi fa'ata'ita'igaample e faatelevave le seti faamama. O nei fa'atonuga e mafai ona fa'aaogaina mo microcontrollers uma i totonu o lenei aiga ma nai eseesega laiti. O le exampO mea i totonu o lenei pepa e fa'avae ile SPC584Cx/SPC58ECx 32-bit MCU.
MAFAI ua umaview
SPC584Cx/SPC58ECx e valu CAN fa'ata'ita'iga o lo'o fa'apipi'iina i vaega laiti e lua e pei ona fa'amauina i totonu o le tusi fa'asinoga masini Vaega Fa'aopoopo A Fa'amatalaga pepa.
O fa'atonu uma o le CAN i totonu o le la'asaga tutusa o le a fa'asoa fa'asoa e pei o le RAM manatua, uati, ma isi. O vaega ta'itasi CAN e fa'avaeina i poloka tetele nei:
- Modular CAN cores: o le resitala o le CAN module e mafai ona faʻaogaina e faʻaaoga ai le Generic Slave Interface (GSI). O le vaega GSI pito i luga e galue o se talosaga mai matai taitasi.
- CAN-RAM arbiter: o se faʻamatalaga faʻaopoopo mo le faʻatalanoaina i totonu o talosaga mo le avanoa RAM e le CAN controllers eseese.
- SRAM: o le CAN subsystem o le a fesoʻotaʻi ma se RAM i fafo e faʻaaoga ai lenei faʻaoga, o le SRAM.
- Pulea ECC: o lo'o i ai le fa'atatau e fa'atatau ma fa'amaonia le fa'atonuga fa'atonu ile SRAM manatua.
Mo le SRAM fa'afeso'ota'i ma le fa'atulagaina o manatuaga va'ai ile tusi tusi fa'asinoga masini Vaega Fa'aopoopo A Fa'asinoga pepa.
Fa'aliga folasaga
CAN filter logic e mafai ai e oe ona faʻapipiʻi filiga i auala eseese. Mo example, o savali e pasia le faamamaina o le taliaina e mafai ona teuina i le Rx FIFO (0 poʻo le 1) poʻo i totonu o faʻamaufaʻailoga rx. E mafai ona fa'apipi'i fa'amama ta'itasi e fai ma fa'amama talia po'o le teena ma e mafai fo'i ona fa'agaoioia pe fa'agata. Mo le faamama o le taliaina, e fa'atino lisi fa'amama ta'itasi mai le mea #0 i le mea fa'afetaui muamua i le lisi fa'amama. Aʻo leʻi faʻaaogaina filiga e faʻatagaina le faʻatulagaina o le tuatusi amata ma numera o le faamama e faʻaagaga se vaega o le savali RAM. O le ata o lo'o i lalo o lo'o fa'aalia ai a view o le fa'afanua fa'amanatu fa'atasi ma tusi resitala (o le mea lea o tuatusi amata mo vaega ta'itasi).
Ata 1. Fe'au RAM fa'aopoopo fa'atasiample
Fa'ailoga RAM savali
Aʻo leʻi faʻaogaina soʻo se faamama, e faʻamalosia le faʻatulagaina o le vaega RAM talafeagai o feʻau o le a teuina ai. Ina ia faia lenei mea, e tatau i le polokalama faakomepiuta ona tusi le offset (i upu) mai le savali RAM tuatusi autu o vaega faamama taitasi. Ole numera o filiga mo vaega taʻitasi e tatau ona faʻatulagaina, ina ia mafai e le pule ona malamalama i le mea e gata ai vaega taʻitasi e manatua ai faamama I totonu o lenei pepa, e pei o ex.ample fa filiga, o le a configured mo faʻamatalaga masani (11 bits) ma faamama e fa mo faʻamatalaga faʻalautele (29 bits), o lea, faʻaagaga se vaega o le RAM savali e teu ai 11-bit filiga ma le isi mo 29-bit filiga. Ina ia faʻapipiʻi le tuatusi amata o le id filter area, e tatau i le masini komepiuta ona tusi le fanua FLSSA o le resitala SIDFC (Standard ID filter configuration register). Mo filiga ID fa'alautele e mana'omia le tusia o le fanua FLESA o le resitala XIDFC (Fa'asili ID fa'apipi'i fa'amaufa'ailoga resitala). O fanua FLSSA ma FLESA e tatau ona i ai le manatua o le "i upu" mai le tuatusi RAM ole savali. O lenei talosaga e fa'apipi'i fa'amama fa'ata'ita'iga ile offset zero ma fa fa'asili fa'alautele
Mo le fa'atulagaina o faamama masani:
- FLSSA = 0x0: o le offset respect to message RAM base address is zero, o lea e amata le vaega i le amataga o le Message RAM.
- LSS = 4: o le numera lea o filiga e faʻapipiʻi. O faamama ta'itasi e fatuina e le upu 'tasi' 32 bits.
I lenei faatulagaga o se vaega o le manatua e amata mai le offset zero ma i ai le tele o upu e fa.
Fa'aaliga: o le CAN controller e leai se masini faʻatonutonu mo le faʻatulagaina o le savali RAM, o lona uiga e tatau ona faʻaeteete le Atinaʻe ia aua neʻi faʻapipiʻi vaega o le RAM ua faʻatulagaina. O le ata o loʻo i lalo o loʻo faʻaalia ai le faʻaogaina o se vaega o le manatua e teu ai faʻamatalaga faʻamatalaga lautele.
Ina ia fetuutuunai le vaega o le RAM e teu ai filiga faʻalautele e manaʻomia le faʻapipiʻiina o tulaga taua i totonu ole FLESA ma LSE fanua.
- FLESA = 0x04: o le offset i upu e tusa ai ma le savali RAM tuatusi faavae. O le mea lea ona o le vaega o filiga na fa'atulaga muamua na fa'apolopolo 0x04 upu mo fa'amaumauga ID masani ona fa'agata ai lea ole fa'aogaina ole 0x04.
- LSE = 4: o le numera lea o filiga e faʻapipiʻi. Mo ID fa'alautele o se faamama e fatuina e le 'lua' 32 bits upu.
I lenei faatulagaga o se vaega o le manatua e amata mai le offset 0x04 (upu) e iai le tele o le valu upu (fa e lua upu filiga). O le mea lea, o le fa'aitiitiga fa'asili mo le isi vaega e mafai ona fa'aogaina o le 0x0C upu. O vaega uma o le savali RAM e tatau ona faʻatulagaina pe a mafaufau i le numera ma le tele o elemene o le a teuina i totonu o le vaega e aunoa ma le faʻafefeina o soʻo se vaega.
Fa'aaliga: e faaliliu ai se upu offset i se byte offset, e manaomia le faatele o le upu tau.
Example o filiga ID masani
A maeʻa ona faʻapipiʻi le RAM savali, e mafai ona e faʻapipiʻiina le masini masini.
E mafai ona fa'atulagaina elemene ta'itasi e pei o:
- Fuafuaga faamama
- Fa'ailoga ID fa'alua
- Filifiliga masani
- Fa'amama mo le fa'apolopolo rx tu'ufa'atasi (fa'amama ID tasi)
O le ata o loʻo i lalo o loʻo faʻaalia ai pe faʻafefea ona faʻapipiʻi ituaiga eseese e fa o faamama mo faʻamatalaga masani (11-bit identifiers). Fa'aoga le tusi resitala elemene mo STANDARD ID.
Va'aiga fa'amama mo RX FIFO0
Lalo o se example fa'amama e teu ai fe'au fa'atasi ma fa'amatalaga i le laina [0x16 , 0xF6] i le Receive FIFO 0.
Resitala tau (HEX): 0x081600F6
Resitala tau (BIN): 00 001 00000010110 (00000) 00011110110
Fa'aaliga: i ex umaampo lo'o tu'uina atu i totonu o lenei pepa, o fa'ailoga puipui o lo'o teuina i le tau fa'aletonu. Fa'ataua fanua:
- SFT -> `00` -> Va'aiga va'aiga mai le SFID1 i le SFID2
- SFEC -> `001` -> Teu i le Rx FIFO 0 pe a fetaui lelei
- SFID1 -> `00000010110` -> ID muamua o le fa'avasegaina o elemene fa'amama ID (0x16)
- SFID2 -> `00011110110` -> ID lona lua o le fa'avasegaina o elemene fa'amama ID (0xF6)
Fa'asala fa'alua mo RX FIFO1
Lalo o se exampole fa'amama ID fa'alua e teu ai fa'amatalaga fe'au 0 x 0A po'o le 0 x FF ile FIFO 1.
Resitala tau (HEX): 0x500A00FF
Resitala tau (BIN): 01 010 00000001010 (00000) 00011111111
Fa'ataua fanua:
- SFT -> `01` -> Fa'ailoga ID Lua mo SFID1 po'o SFID2
- SFEC -> `010` -> Teu i le Rx FIFO 1 pe a fetaui lelei
- SFID1 -> `00000001010` -> ID muamua o le elemene faamama ID lua masani
- SFID2 -> `00011111111` -> ID lona lua o elemene faamama ID lua masani
Rx fa'apitoa fa'amama fa'amama
Lalo o se exampe teu ai fe'au ma fa'amatalaga 0 x 7F0 i totonu o le rx buffer #0.
I le faʻaaogaina o se faʻamaufaʻailoga faʻapitoa, e mafai ona faʻamama naʻo le tasi le ID feʻau ma o le mea lena e tusia i le SFID1 fanua.
Resitala tau (HEX): 0x3FF00000
Resitala tau (BIN): 00 111 11111110000 (00000) 00 (000) 000000
- SFT -> `00` -> e le taua lenei tau ona o le fa'amama e teu i totonu o le RX BUFFER tu'ufa'atasi ma i lenei tulaga ua le amana'ia le tau SFT (silasila i le SFEC fa'amatalaga fanua `111`)
- SFEC -> `111` -> Teu i totonu o le rx buffer pe a fetaui lelei
- SFID1 -> `11111110000` -> ID masani e talia e le faamama (0x7F0)
- SFID2[10, 9] -> `00` -> o lenei fanua e filifili pe o le fe'au na maua o lo'o teuina i totonu o le rx buffer pe fa'aogaina o le fe'au A, B, po'o le C o le fa'asologa o fe'au debug. I lenei tulaga, e manaʻo le polokalama faakomepiuta e teu le feʻau i se rx buffer.
- SFID2[0,5] -> `000000` → index of the dedicated buffer rx lea o le a teuina ai le feʻau talafeagai (afai ua faʻapipiʻi le N dedicated buffer rx, e mafai ona i ai lenei faʻasino i le laina [0, N -1]) .I le tulaga lea e teu ai le fe'au i totonu o le patepa tuuto #0.
Fa'amama masani mo RX FIFO0
O lenei exampLe faʻaalia le auala e teu ai feʻau faʻatasi ma faʻamatalaga i le laina [0x688, 0x68F] i le RX FIFO 0. Mo se faamama masani, e tatau ona faʻamalamalamaina se Identifier / Mask pair. E tatau ona tusia le fa'ailoa ile SFID1 ma le ufimata ile SFID2 fanua ole elemene faamama. I se faamama masani, o feʻau ID e pasi le faamama e maua e ala i le faʻaogaina o le matapulepule i le faʻamatalaga e pei ona taua i lalo:
- o le uiga lea o mea faamama -> 1 = e tatau ona fetaui (0 = le popole);
- o le i ai o se faamama ma se matapulepule e faia uma i "1s", na o le tasi le faʻamatalaga o le a pasi atu i le faamama (le mea o loʻo tusia i le SFID1 fanua) ae o se faamama e iai se matapulepule e faia uma "0" o faʻamatalaga uma o le a pasi. le faamama.
E manino lava, o filiga sili ona faigofie nei. O loʻo i lalo se faʻamatalaga pe faʻafefea ona faʻapipiʻiina se faʻaputuga faʻapipiʻi mo le ID masani i le lautele [0x688, 0x68F] o loʻo teuina ai feʻau maua i le RX FIFO 0. O se faʻamama savali masani lea, o lea o le a matou tuʻuina atu ai tau i le SFID1 = Identifier ma SFID2 = Ufiufi.
Resitala tau (HEX): 0x8E8B07F8
Resitala tau (BIN): 10 001 11010001011 00000 11111111000
- SFT -> `10` -> Va'aiga masani: SFID1 = faamama, SFID2 = matapulepule
- SFEC -> `001` -> Teu i le Rx FIFO 0 pe a fetaui lelei
- SFID1 = 110 1000 1011 (Fa'ailoa0x68B)
- SFID2 = 111 1111 1000 (Mask0x7F8)
O le fa'aogaina o le matapulepule i le fa'ailoaina (la'ititi) fa'atasi ai ma le uiga o le ufimata fasi (1 = e tatau ona fetaui ma le 0 = le popole) tatou te maua ai le fa'amama fa'asolo lea o lo'o fa'atusa ai le 'X' fa'ailoga mo le zero po'o le tasi.
Filifili = 110 1000 1XXX
Ona, o fe'au masani uma i le laina [0x688, 0x68F] o le a pasi le faamama.
Fa'alautele le fa'atulagaina o filiga ID
E mafai fo'i ona fa'atinoina ia ituaiga fa'amama mo fa'amatalaga fa'alautele (29-bit identifiers).
Fa'amama fa'alautele lautele mo RX FIFO0
I lenei exampLe, o lenei faamama o le a teuina feʻau ma faʻamatalaga i le laina [0xFFFFF, 0x1FFFFFF] i le FIFO 0.
I lalo ifo o le tau resitala:
- F0 tau resitala (HEX): 0x200FFFFF
- F1 resitala tau (HEX): 0xDFFFFFFF
- FO resitala tau (BIN): 001 00000000011111111111111111111
- Tau resitala F1 (BIN): 11 (0) 11111111111111111111111111111
Fa'ataua fanua:
- EFEC -> `001` -> Teu ile Rx FIFO 0 pe a fetaui lelei
- EFID1 ->`00000000011111111111111111111` -> ID muamua o le elemene faamama ID lautele
va'aiga(0xFFFFF) - EFT -> `11` -> Va'aiga va'aiga mai le SFID1 i le SFID2
- SFID2 ->`11111111111111111111111111111` -> ID lona lua o le fa'avasegaina o elemene fa'amama ID masani(0x1FFFFFFF)
Fa'ailoga ID fa'alua mo le FIFO 1
I lenei exampO le fa'amama ID lua e teu ai fe'au o lo'o iai fa'amatalaga 0xAAAA po'o 0xBBBBB ile FIFO 1.
- F0 tau resitala (HEX): 0x400AAAA
- F1 tau resitala (HEX): 0x400BBBBB
- FO resitala tau (BIN): 010 000000000 10101010101010101010
- Tau resitala F1 (BIN): 01 (0) 00000000010111011101110111011
Fa'ataua fanua:
- EFEC -> `010` -> Teu ile Rx FIFO 1 pe a fetaui lelei
- EFID1 -> `00000000010101010101010101010` -> ID fa'alautele muamua (0xAAAA)
- EFT -> `01` -> Fa'ailoga ID Lua mo EFID1 po'o EFID2
- EFID2 -> `00000000010111011101110111011` -> ID faaopoopo lona lua (0x000BBBBB)
Fa'apolopolo rx buffer
I lenei exampO le fa'amamaina o le a teuina ai fe'au o lo'o iai le fa'amatalaga 0x000AAAA i totonu o le rx buffer #1. I lenei tulaga, o le faʻaaogaina o le paʻu tuʻufaʻatasia naʻo le tasi le feʻau id e mafai ona faʻamama ma o le tasi lea na tusia i totonu ole fanua EFID1.
- Filifiliga ID mo fa'apolopolo rx tu'ufa'atasi (ID = 0x000AAAA)
- F0 tau resitala (HEX): 0xE00AAAA
- F1 tau resitala (HEX): 0x00000001
- FO resitala tau (BIN): 111 00000000010101010101010101010
- F1 resitala tau (BIN): 00 (0) 000000000000000000 00 (000) 000001
Fa'ataua fanua:
- EFEC -> `111` -> Teu i totonu o le fa'apolopolo rx tu'ufa'atasi pe a fetaui lelei
- EFID1 -> `00000000010101010101010101010` -> ID fa'alautele e talia e le faamama.
(0x000AAAA) - EFT -> `00` -> e le taua lenei tau ona o le fa'amama e teu i totonu o le RX tuuto
BUFFER ma i lenei tulaga e le amanaʻia le tau o le EFT (silasila i le EFEC faʻamatalaga faʻamatalaga mataupu `111`) - EFID2[10, 9] -> `00` -> o lenei fanua e filifili pe o le savali na maua e teuina i totonu o se Rx Buffer pe faʻaogaina o le feʻau A, B, poʻo le C o le faʻasologa o feʻau debug. I le tulaga lea e mana'o ai le polokalama e teu ai le fe'au i totonu o se Rx Buffer
- EFID2[0,5] -> `000001` -> fa'asinomaga o le tu'ufa'atasi rx fa'apolopolo lea o le a teuina ai le fe'au fa'afetaui (afai na e fa'atulagaina N tu'ufa'atasi rx buffer e mafai ona i ai lenei fa'asino i le laina [0, N -1]). I le tulaga lea, o lo'o teuina le fe'au i totonu o le pa'u fa'apitoa #1
Fa'amama masani mo rx FIFO1
I lenei example, o le polokalame faamama o le a teuina le teuina o savali ma le faailoaina i le laina [0 x FFFFF, 0 x1FFFFFF] i le rx FIFO 1. Ua underatood o le masking auala e tutusa ma le tulaga faamama ID. O loʻo i lalo se faʻamatalaga i le auala e faʻapipiʻi ai se faʻaputuga faʻalautele ID lautele i le ita [0 x FFFFF, 0 x 1FFFFFF] o loʻo teuina ai feʻau maua i le rx FIFO 1. O se faamama lea mo feʻau faʻalautele, o lea o le a matou tuʻuina atu ai tau i le EFID1 = Identifier ma EFID2 = Mask
- F0 tau resitala (HEX): 0x400FFFFF
- F1 tau resitala (HEX): 0x9E0FFFFF
- F0 tau resitala (BIN): 010 00000000011111111111111111111
- Tau resitala F1 (BIN): 10 (0) 11110000011111111111111111111
- EFT > `10` -> Va'aiga masani: EFID1 = faamama, EFID2 = matapulepule
- EFEC -> `010` -> Teu ile Rx FIFO 1 pe a fetaui lelei
- EFID1 = 0 0000 0000 1111 1111 1111 1111 1111 (Fa'ailoa 0xFFFFF)
- EFID2 = 1 1110 0000 1111 1111 1111 1111 1111 (Mask 0x1E0FFFFF)
O le fa'aogaina o le matapulepule i le fa'asinomaga (si mea) fa'atasi ai ma le uiga o le mata ufimata (1 = e tatau ona fetaui ma le 0 = le popole) matou te maua ai le fa'amama o le laina lea e tu ai le fa'ailoga 'X' mo le zero po'o le tasi.
Filifili = 0 000X XXXX 1111 1111 1111 1111 1111
O lea la, o fe'au fa'alautele uma i le laina [0xFFFFF, 0x1FFFFFF] o le a pasi le faamama.
Pepa Fa'aopoopo A Fa'asinomaga
- SPC584Cx/SPC58ECx Fa'asinoga tusi lesona
- SPC584Cx/SPC58ECx fa'amaumauga
Fa'aopoopo B Acronyms ma fa'apu'upu'u
Faapuupuuga | igoa atoa |
MAFAI | Feso'ota'iga eria e pulea |
FD | Fesuia'i fua fa'amaumauga |
Tala'aga o le toe iloiloga o pepa
Aso | Fa'aliliuga | Suiga |
01-Mat-2021 | 1 | Fa'asalalauga muamua. |
FAʻAALIGA AUTU - FAITAU FAITAU MA LE FAʻAMANATU
STMicroelectronics NV ma ana lala ("ST") faʻasao le aia tatau e faia ai suiga, faʻasaʻoga, faʻaleleia, fesuiaʻiga, ma faʻaleleia i oloa ST ma / poʻo lenei pepa i soʻo se taimi e aunoa ma se faʻaaliga. Tagata faʻatau e tatau ona maua mai lata mai faʻamatalaga talafeagai i oloa ST ae leʻi tuʻuina ni oka. O oloa a le ST e faʻatau atu e tusa ma aiaiga ma tuʻutuʻuga o faʻatauga a le ST i le taimi na faʻailoa ai le faʻatonuga.
Tagata faʻatau e naʻo latou e gafa ma le filifiliga, filifiliga, ma le faʻaaogaina o oloa ST ma ST e le o i ai se noataga mo le fesoasoani tusi talosaga poʻo le ata o oloa a le Tagata Faʻatau.
Leai se laisene, fa'aalia pe fa'aalia, i so'o se aia tatau tau le atamai ua fa'atagaina e ST i totonu.
Toe fa'atauina atu oloa ST ma aiaiga e ese mai fa'amatalaga o lo'o fa'ailoa mai i inei e tatau ona fa'aleaogaina ai so'o se fa'ataga na tu'uina atu e ST mo ia oloa.
ST ma le logo ST o fa'ailoga fa'ailoga a ST. Mo fa'amatalaga fa'aopoopo e uiga i fa'ailoga ST, fa'amolemole va'ai i www.st.com/trademarks. O isi igoa uma o oloa po'o auaunaga o le meatotino a latou lava tagata.
O fa'amatalaga i totonu o lenei pepa e suitulaga ma suia fa'amatalaga na tu'uina atu muamua i so'o se lomiga muamua o lenei pepa.
© 2021 STMicroelectronics – Ua taofia aia tatau uma
Pepa / Punaoa
![]() |
ST TN1348 SPC58x Fa'atonuga CAN ma CAN-FD Filifiliga [pdf] Faatonuga TN1348, SPC58x Fa'atonuga CAN ma CAN-FD Filifiliga |