မာတိကာ ပုန်း

STlogo

TN1348 SPC58x သည် CAN နှင့် CAN-FD စစ်ထုတ်မှုများကို ပြင်ဆင်ခြင်း

ထုတ်ကုန်

နိဒါန်း

ဤနည်းပညာဆိုင်ရာမှတ်စုသည် SPC58x မော်တော်ယာဥ်မိုက်ခရိုကွန်ထရိုးများတွင် ထည့်သွင်းထားသော CAN ထိန်းချုပ်ကိရိယာများအတွက် လက်ခံမှုစစ်ထုတ်ခြင်းများကို မည်သို့ပြင်ဆင်ရမည်ကို ဖော်ပြထားပါသည်။ စာရွက်စာတမ်းသည် မှတ်ပုံတင်ခြင်းပုံစံများကို ဖော်ပြပြီး အချို့သော ex ကို ပေးသည်။ampfilter configuration ကိုအရှိန်မြှင့်ရန်။ ဤဖွဲ့စည်းပုံများကို ဤမိသားစုရှိ မိုက်ခရိုကွန်ထရိုလာများအားလုံးအတွက် အနည်းငယ်ကွဲလွဲမှုများဖြင့် လက်ခံနိုင်သည်။ ရည်းစားဟောင်းampဤစာရွက်စာတမ်းရှိ les များသည် SPC584Cx/SPC58ECx 32-bit MCU ကို အခြေခံထားသည်။

ကျော်နိုင်သလားview

SPC584Cx/SPC58ECx တွင် မတူညီသော စနစ်ခွဲနှစ်ခုတွင် ထည့်သွင်းထားသော CAN ဖြစ်ရပ် ရှစ်ခု ရှိသည်
တူညီသောစနစ်ခွဲရှိ CAN ထိန်းချုပ်ကိရိယာများအားလုံးသည် RAM မမ်မိုရီ၊ နာရီစသည်ဖြင့် အရင်းအမြစ်များကို မျှဝေမည်ဖြစ်သည်။ CAN စနစ်ခွဲတစ်ခုစီကို အောက်ပါအဓိကပိတ်ဆို့မှုများဖြင့် ပုံဖော်ထားသည်။

  • Modular CAN cores- CAN module ၏ မှတ်ပုံတင်မှုများကို Generic Slave Interface (GSI) ကို အသုံးပြု၍ ဝင်ရောက်ကြည့်ရှုနိုင်ပါသည်။ အရံ GSI module သည် မာစတာတစ်ခုစီမှ တောင်းဆိုချက်တစ်ခုအဖြစ် လုပ်ဆောင်သည်။
  • CAN-RAM arbiter- ၎င်းသည် CAN controllers အမျိုးမျိုးမှ RAM အသုံးပြုခွင့်တောင်းဆိုမှုများကြား ခုံသမာဓိအတွက် အပိုယုတ္တိတစ်ခုဖြစ်သည်။
  • SRAM- CAN စနစ်ခွဲသည် ဤအင်တာဖေ့စ်ကို အသုံးပြု၍ ပြင်ပ RAM တစ်ခုနှင့် ချိတ်ဆက်ပေးမည် ဖြစ်ပြီး ၎င်းမှာ SRAM ဖြစ်သည်။
  • ECC ထိန်းချုပ်ကိရိယာ- ၎င်းတွင် SRAM မမ်မိုရီရှိ အမှားပြင်ကုဒ်ကို တွက်ချက်ပြီး အတည်ပြုရန် လော့ဂျစ်ပါရှိသည်။

SRAM အင်တာဖေ့စ်နှင့် မန်မိုရီအဖွဲ့အစည်းအတွက် စက်ပစ္စည်းကိုးကားချက်လက်စွဲ အပိုင်း နောက်ဆက်တွဲ A ရည်ညွှန်းစာရွက်စာတမ်းများကို ကိုးကားပါ။

စီစစ်ခြင်းမိတ်ဆက်

CAN filter logic သည် သင့်အား filter များကို နည်းလမ်းအမျိုးမျိုးဖြင့် configure လုပ်ခွင့်ပေးသည်။ ဟောင်းအတွက်ampလက်ခံမှု စစ်ထုတ်ခြင်းကို ကျော်လွန်သော မက်ဆေ့ချ်များကို Rx FIFO (0 သို့မဟုတ် 1) သို့မဟုတ် သီးခြား rx ကြားခံများတွင် သိမ်းဆည်းနိုင်ပါသည်။ စစ်ထုတ်မှုတစ်ခုစီကို လက်ခံမှု သို့မဟုတ် ငြင်းပယ်ခြင်း စစ်ထုတ်မှုတစ်ခုအဖြစ် သတ်မှတ်နိုင်ပြီး ဖွင့် သို့မဟုတ် ပိတ်နိုင်သည်။ လက်ခံမှုစစ်ထုတ်ခြင်းအတွက်၊ စစ်ထုတ်မှုစာရင်းတစ်ခုစီကို ဖိုင် #0 မှ စစ်ထုတ်မှုစာရင်းရှိ ပထမဆုံးကိုက်ညီသည့်အရာအထိ လုပ်ဆောင်သည်။ စစ်ထုတ်မှုများကို အသုံးမပြုမီ မက်ဆေ့ချ် RAM ၏ တစ်စိတ်တစ်ပိုင်းကို သိမ်းဆည်းထားရန် စတင်သည့်လိပ်စာနှင့် စစ်ထုတ်မှုနံပါတ်များကို သတ်မှတ်ရန် မဖြစ်မနေ လိုအပ်ပါသည်။ အောက်ပါပုံသည် a ကိုပြသည်။ view မျှဝေထားသော မှတ်ဉာဏ်မြေပုံနှင့် မှတ်ပုံတင်များ (ထို့ကြောင့် ကဏ္ဍတစ်ခုစီအတွက် အစလိပ်စာများ)။

ပုံ 1. မက်ဆေ့ချ် RAM ဖွဲ့စည်းမှုပုံစံ ဥပမာample

မက်ဆေ့ချ် RAM စတင်ခြင်း

မည်သည့် filter ကိုမဆိုအသုံးမပြုမီ၊ ၎င်းတို့သိမ်းဆည်းမည့် မက်ဆေ့ချ်များ၏ သက်ဆိုင်ရာ RAM ဧရိယာကို ပြင်ဆင်သတ်မှတ်ရန် လိုအပ်ပါသည်။ ထိုသို့လုပ်ဆောင်ရန်၊ ဆော့ဖ်ဝဲအပလီကေးရှင်းသည် စစ်ထုတ်မှုဧရိယာတစ်ခုစီ၏ မက်ဆေ့ချ် RAM အခြေခံလိပ်စာမှ အော့ဖ်ဆက် (စကားလုံးများဖြင့်) ရေးရပါမည်။ ဧရိယာတစ်ခုစီအတွက် စစ်ထုတ်မှုအရေအတွက်ကို ပြင်ဆင်သတ်မှတ်ရမည်၊ သို့မှသာ ထိန်းချုပ်သူသည် သက်ဆိုင်ရာ filter memory ဧရိယာတစ်ခုစီတွင် ဤစာတမ်းတွင် မည်သည့်နေရာတွင် အဆုံးသတ်သည်ကို သိရှိနိုင်စေရန်၊ampအဆိုပါ စစ်ထုတ်မှု လေးခု၊ စံသတ်မှတ်မှုစနစ်များ (11 ဘစ်) နှင့် တိုးချဲ့သတ်မှတ်မှုများအတွက် စစ်ထုတ်မှု လေးခု (29 ဘစ်) အတွက် ပြင်ဆင်သတ်မှတ်မည်ဖြစ်သောကြောင့်၊ 11-ဘစ် စစ်ထုတ်မှုများ သိမ်းဆည်းရန် မက်ဆေ့ချ် RAM ၏ အပိုင်းတစ်ပိုင်းနှင့် အခြား 29-ဘစ် စစ်ထုတ်မှုများအတွက် အခြားတစ်ခုကို သိမ်းဆည်းပါ။ စံ id filter area ၏ အစလိပ်စာကို ပြင်ဆင်သတ်မှတ်ရန်၊ software သည် SIDFC မှတ်ပုံတင်ခြင်း (Standard ID filter configuration register) ၏ FLSSA အကွက်ကို ရေးရပါမည်။ တိုးချဲ့ ID စစ်ထုတ်ခြင်းအတွက်၊ XIDFC မှတ်ပုံတင်ခြင်း (Extended ID filter configuration register) ၏ FLESA အကွက်ကို ရေးသားရန် လိုအပ်သည်။ FLSSA နှင့် FLESA အကွက်များတွင် မက်ဆေ့ချ်၏ RAM အခြေခံလိပ်စာမှ “စကားလုံးများဖြင့်” မမ်မိုရီအော့ဖ်ဆက် ပါဝင်သင့်သည်။ ဤအပလီကေးရှင်းသည် အော့ဖ်ဆက် သုညတွင် စံစစ်ထုတ်မှုလေးခုနှင့် တိုးချဲ့ထားသော စစ်ထုတ်မှုလေးခုကို စီစဉ်ပေးသည်။

ပုံမှန်စစ်ထုတ်မှုဖွဲ့စည်းပုံအတွက်-

  • FLSSA = 0x0- မက်ဆေ့ချ် RAM အခြေခံ လိပ်စာအတွက် အော့ဖ်ဆက်လေးစားမှုမှာ သုညဖြစ်ပြီး၊ ထို့ကြောင့် ဧရိယာသည် Message RAM ၏အစတွင် စတင်သည်။
  • LSS = 4- ဤသည်မှာ configure လုပ်ရန် filters အရေအတွက်ဖြစ်သည်။ filter တစ်ခုစီကို `one` 32 bits စကားလုံးဖြင့် ဖွဲ့စည်းထားသည်။
    ဤဖွဲ့စည်းပုံတွင် စာလုံးလေးလုံးအရွယ်အစားရှိ၍ အော့ဖ်ဆက် သုညမှ စတင်သည့် မမ်မိုရီ၏ အစိတ်အပိုင်းတစ်ခု။

မှတ်ချက် - CAN controller တွင် မက်ဆေ့ချ် RAM ကို configure လုပ်ရန်အတွက် ထိန်းချုပ်မှု ယန္တရားမရှိပါ၊ ဆိုလိုသည်မှာ Developer သည် configured RAM ဧရိယာများကို ထပ်မထပ်စေရန် သတိထားရမည်ဖြစ်သည်။ အောက်ဖော်ပြပါပုံသည် တိုးချဲ့သတ်မှတ်ခြင်းစစ်ထုတ်ခြင်းများကို သိမ်းဆည်းရန် မမ်မိုရီ၏အပိုင်းတစ်ခုကို မည်သို့စီစဉ်သတ်မှတ်ရမည်ကို ပြသထားသည်။

ထပ်တိုးစစ်ထုတ်မှုများကို သိမ်းဆည်းရန် RAM ဧရိယာကို ပြင်ဆင်သတ်မှတ်ရန် FLESA နှင့် LSE အကွက်များတွင် အောက်ပါတန်ဖိုးများကို အစီအစဉ်ဆွဲရန် လိုအပ်သည်။

  • FLESA = 0x04- မက်ဆေ့ချ် RAM အခြေခံ လိပ်စာနှင့် စပ်လျဉ်းသည့် စကားလုံးများတွင် ထေရနှုန်းဖြစ်သည်။ အဘယ်ကြောင့်ဆိုသော် ယခင်ဖွဲ့စည်းထားသော စစ်ထုတ်မှုဧရိယာတွင် စံ ID စစ်ထုတ်ခြင်းများအတွက် 0x04 စကားလုံးများကို သီးသန့်ထားခဲ့ပြီး ထို့နောက် အသုံးပြုနိုင်သော အနိမ့်ဆုံး အော့ဖ်ဆက်မှာ 0x04 ဖြစ်သည်။
  • LSE = 4- ဤသည်မှာ configure လုပ်ရန် filters အရေအတွက်ဖြစ်သည်။ တိုးချဲ့ ID အတွက် စစ်ထုတ်မှုအား `နှစ်ခု` 32 ဘစ် စကားလုံးဖြင့် ဖွဲ့စည်းထားသည်။

ဤဖွဲ့စည်းပုံတွင် 0x04 (စကားလုံးများ) မှစပြီး မှတ်ဉာဏ်အပိုင်းတစ်ခုသည် စကားလုံးရှစ်လုံး (စကားလုံးနှစ်လုံး စစ်ထုတ်မှု လေးခု) အရွယ်အစားရှိသည်။ ထို့ကြောင့်၊ နောက်ပြင်ဆင်နိုင်သော မမ်မိုရီဧရိယာအတွက် အနိမ့်ဆုံး offset သည် 0x0C စကားလုံးများဖြစ်သည်။ မက်ဆေ့ချ် RAM ၏ ကဏ္ဍများအားလုံးသည် အပိုင်းများကို ထပ်မွမ်းမံခြင်းမရှိဘဲ အပိုင်းအတွင်း သိမ်းဆည်းမည့် အစိတ်အပိုင်းများ၏ အရေအတွက်နှင့် အရွယ်အစားကို ထည့်သွင်းစဉ်းစားကာ ပြင်ဆင်သတ်မှတ်ရမည်ဖြစ်သည်။
မှတ်ချက် - စကားလုံး အော့ဖ်ဆက်ကို ဘိုက်အော့ဖ်ဆက်အဖြစ် ပြောင်းရန်၊ စကားလုံးတန်ဖိုးကို လေးခုဖြင့် မြှောက်ရန် လိုအပ်သည်။

Exampစံ ID စစ်ထုတ်မှုများ

မက်ဆေ့ချ် RAM ကို ပြင်ဆင်သတ်မှတ်ပြီးနောက်၊ သင်သည် စက်၏ စစ်ထုတ်မှုများကို စီစဉ်သတ်မှတ်နိုင်သည်။
filter element တစ်ခုစီကို အောက်ပါအတိုင်း configure လုပ်နိုင်ပါသည်။

  • အပိုင်းအခြား စစ်ထုတ်မှု
  • ID နှစ်ထပ် စစ်ထုတ်မှု
  • ဂန္တဝင် စစ်ထုတ်မှု
  • အထူးသီးသန့် rx ကြားခံအတွက် စစ်ထုတ်ခြင်း (တစ်ခုတည်း ID စစ်ထုတ်ခြင်း)

အောက်ဖော်ပြပါပုံသည် စံသတ်မှတ်မှုစနစ်များ (11-bit identifiers) အတွက် မတူညီသော စစ်ထုတ်မှု လေးမျိုးကို မည်သို့စီစဉ်သတ်မှတ်ရမည်ကို ပြသထားသည်။ STANDARD ID အတွက် အောက်ပါ စစ်ထုတ်သည့် အစိတ်အပိုင်းကို အသုံးပြုပါ။

RX FIFO0 အတွက် အပိုင်းအခြား စစ်ထုတ်မှု

အောက်မှာ ရည်းစားဟောင်းampအကွာအဝေး [0x16 , 0xF6] လက်ခံ FIFO 0 တွင် ခွဲခြားသတ်မှတ်မှုများဖြင့် မက်ဆေ့ချ်များကို သိမ်းဆည်းရန် စစ်ထုတ်ခြင်း
မှတ်ပုံတင်ခြင်းတန်ဖိုး (HEX): 0x081600F6
မှတ်ပုံတင်တန်ဖိုး (BIN): 00 001 00000010110 (00000) 00011110110

မှတ်ချက် - ex အားလုံးကိုampဤစာရွက်စာတမ်းတွင် ပံ့ပိုးပေးထားသည့် les ၊ ကွင်းပိတ်ထားသော bit များကို မူရင်းတန်ဖိုးတွင် သိမ်းဆည်းထားသည်။ အကွက်တန်ဖိုးများ-

  • SFT -> `00` -> အပိုင်းအခြား စစ်ထုတ်မှု SFID1 မှ SFID2 အထိ
  • SFEC -> `001` -> စစ်ထုတ်မှု ကိုက်ညီပါက Rx FIFO 0 တွင် သိမ်းဆည်းပါ။
  • SFID1 -> `00000010110` -> စံ ID စစ်ထုတ်မှု အပိုင်းအခြား (0x16) ၏ ပထမ ID
  • SFID2 -> `00011110110` -> စံ ID စစ်ထုတ်မှု အပိုင်းအခြား (0xF6) ၏ ဒုတိယ ID
RX FIFO1 အတွက် နှစ်ထပ် စစ်ထုတ်မှု

အောက်မှာ ရည်းစားဟောင်း ရှိတယ်။amp0 x 0A သို့မဟုတ် 0 x FF သည် FIFO 1 သို့ မက်ဆေ့ချ်များကို သိမ်းဆည်းရန် ID နှစ်ထပ် စစ်ထုတ်မှုတစ်ခု။
မှတ်ပုံတင်ခြင်းတန်ဖိုး (HEX): 0x500A00FF
မှတ်ပုံတင်တန်ဖိုး (BIN): 01 010 00000001010 (00000) 00011111111
အကွက်တန်ဖိုးများ-

  • SFT -> `01` -> SFID1 သို့မဟုတ် SFID2 အတွက် Dual ID စစ်ထုတ်မှု
  • SFEC -> `010` -> စစ်ထုတ်မှု ကိုက်ညီပါက Rx FIFO 1 တွင် သိမ်းဆည်းပါ။
  • SFID1 -> `00000001010` -> စံနှစ်ခု ID စစ်ထုတ်မှုဒြပ်စင်၏ ပထမ ID
  • SFID2 -> `00011111111` -> စံနှစ်ခု ID စစ်ထုတ်မှုဒြပ်စင်၏ ဒုတိယ ID
Rx သီးသန့် ကြားခံ စစ်ထုတ်ခြင်း

အောက်မှာ ရည်းစားဟောင်း ရှိတယ်။amp0 x 7F0 ကို သီးခြား rx ကြားခံ #0 တွင် ခွဲခြားသတ်မှတ်ခြင်းဖြင့် မက်ဆေ့ချ်များကို သိမ်းဆည်းရန်။
သီးသန့်ကြားခံကို အသုံးပြု၍ မက်ဆေ့ခ်ျ ID တစ်ခုသာ စစ်ထုတ်နိုင်ပြီး ၎င်းသည် SFID1 အကွက်တွင် ရေးထားသည့် တစ်ခုဖြစ်သည်။
မှတ်ပုံတင်ခြင်းတန်ဖိုး (HEX): 0x3FF00000
မှတ်ပုံတင်တန်ဖိုး (BIN): 00 111 11111110000 (00000) 00 (000) 000000

  • SFT -> `00` -> ဤတန်ဖိုးသည် သီးခြား RX BUFFER တွင် သိမ်းဆည်းရန် စစ်ထုတ်ခြင်းဖြစ်ပြီး ဤအခြေအနေတွင် SFT တန်ဖိုးကို လျစ်လျူရှုထားသောကြောင့် (SFEC အကွက်ဖော်ပြချက် ကိစ္စ `111` ကိုကြည့်ပါ)၊
  • SFEC -> `111` -> စစ်ထုတ်မှု ကိုက်ညီပါက သီးခြား rx ကြားခံတွင် သိမ်းဆည်းပါ။
  • SFID1 -> `11111110000` -> စစ်ထုတ်သည့်စံ ID (0x7F0)
  • SFID2[10, 9] -> `00` -> ဤအကွက်သည် လက်ခံရရှိထားသော မက်ဆေ့ချ်ကို rx ကြားခံတွင် သိမ်းဆည်းခြင်း ရှိ၊မရှိ သို့မဟုတ် အမှားရှာပြင်စာတန်း၏ မက်ဆေ့ချ် A၊ B၊ သို့မဟုတ် C အဖြစ် သတ်မှတ်သည်။ ဤကိစ္စတွင်၊ ဆော့ဖ်ဝဲအပလီကေးရှင်းသည် မက်ဆေ့ချ်ကို rx ကြားခံတွင် သိမ်းဆည်းလိုသည်။
  • SFID2[0,5] -> `000000` → သက်ဆိုင်ရာ မက်ဆေ့ချ်ကို သိမ်းဆည်းမည့် သီးသန့် ကြားခံ rx ၏ အညွှန်း (N သီးသန့် ကြားခံ rx ကို ပြင်ဆင်ပြီးပါက၊ ဤအညွှန်းသည် အပိုင်းအခြား [0၊ N -1] တွင် ရှိနိုင်သည်) ဤအခြေအနေတွင် မက်ဆေ့ချ်ကို သီးခြားကြားခံ #0 တွင် သိမ်းဆည်းထားသည်။
RX FIFO0 အတွက် ဂန္တဝင် စစ်ထုတ်မှု

ဒီ example သည် RX FIFO 0 ရှိ အကွာအဝေး [688x0, 68x0F] တွင် identifier ဖြင့် မက်ဆေ့ချ်များကို သိမ်းဆည်းနည်းကို ပြထားသည်။ ဂန္ထဝင်စစ်ထုတ်မှုတစ်ခုအတွက်၊ Identifier / Mask အတွဲကို သတ်မှတ်ရပါမည်။ identifier ကို SFID1 နှင့် filter element ၏ SFID2 အကွက်များတွင် mask ကိုရေးရပါမည်။ ဂန္တဝင်စစ်ထုတ်မှုတစ်ခုတွင်၊ စစ်ထုတ်မှုသို့ဖြတ်သွားသော ID မက်ဆေ့ဂျ်များကို အောက်ပါအတိုင်း identifier သို့ မျက်နှာဖုံးကိုအသုံးပြုခြင်းဖြင့် ရရှိသည်-

  • ၎င်းသည် filter bits ၏ အဓိပ္ပါယ်မှာ -> 1 = တူညီရမည် (0 = don`t care);
  • “1s” အားလုံးဖြင့်ဖွဲ့စည်းထားသော မျက်နှာဖုံးပါသော စစ်ထုတ်မှုတစ်ခုရှိပြီး၊ ခွဲခြားသတ်မှတ်သူ တစ်ဦးတည်းသာ (SFID1 အကွက်တွင် ရေးထားသည်) စစ်ထုတ်မှုသို့ “0” အားလုံးကို ခွဲခြားသတ်မှတ်သူအားလုံးနှင့် ဖွဲ့စည်းထားသည့် စစ်ထုတ်မှုတစ်ခုသည် ကျော်သွားမည်ဖြစ်ပြီး၊ filter ကို။

သိသာထင်ရှားစွာ၊ ဤအရာများသည် အရိုးရှင်းဆုံး filter များဖြစ်သည်။ အောက်တွင်ဖော်ပြထားသည်မှာ RX FIFO 0 တွင် လက်ခံရရှိသောမက်ဆေ့ချ်များကို သိမ်းဆည်းထားသည့် အပိုင်းအခြားရှိ စံ ID အတွက် အပိုင်းအခြား စစ်ထုတ်မှုတစ်ခုကို မည်ကဲ့သို့ စုစည်းရမည်ကို ရှင်းလင်းချက်တစ်ခုဖြစ်သည်။ ၎င်းသည် စံမက်ဆေ့ဂျ်စစ်ထုတ်ခြင်းဖြစ်ပြီး၊ ထို့ကြောင့် ကျွန်ုပ်တို့သည် SFID688 = Identifier နှင့် SFID0 = တန်ဖိုးများကို ပေးပါမည်။ မျက်နှာဖုံး။
မှတ်ပုံတင်ခြင်းတန်ဖိုး (HEX): 0x8E8B07F8
မှတ်ပုံတင်တန်ဖိုး (BIN): 10 001 11010001011 00000 11111111000

  • SFT -> `10` -> ဂန္တဝင် စစ်ထုတ်မှု- SFID1 = စစ်ထုတ်မှု၊ SFID2 = မျက်နှာဖုံး
  • SFEC -> `001` -> စစ်ထုတ်မှု ကိုက်ညီပါက Rx FIFO 0 တွင် သိမ်းဆည်းပါ။
  • SFID1 = 110 1000 1011 (Identifier0x68B)
  • SFID2 = 111 1111 1000 (Mask0x7F8)

mask bit (1 = 0 = don`t care) ဟူသော အဓိပ္ပာယ်ဖြင့် identifier (နည်းနည်း) တွင် mask ကို အသုံးပြုခြင်းဖြင့် `X` သင်္ကေတသည် သုည သို့မဟုတ် တစ်ခုအတွက် ဖော်ပြထားသည့် အပိုင်းအခြား filter ကို တွေ့ရှိပါသည်။

စစ်ထုတ်ခြင်း = 110 1000 1XXX

ထို့နောက်၊ အကွာအဝေး [0x688, 0x68F] ရှိ စံစာများအားလုံးသည် စစ်ထုတ်မှုကို ကျော်သွားပါမည်။

တိုးချဲ့ ID စစ်ထုတ်မှုများ ဖွဲ့စည်းမှုပုံစံ

တူညီသော စစ်ထုတ်မှု အမျိုးအစားများကို တိုးချဲ့သတ်မှတ်မှုများ (29-bit identifiers) များအတွက်လည်း အကောင်အထည်ဖော်နိုင်ပါသည်။

RX FIFO0 အတွက် အပိုင်းအခြား တိုးချဲ့ထားသော စစ်ထုတ်မှု

ဒီ exampထို့ကြောင့် ဤစစ်ထုတ်မှုသည် FIFO 0 ရှိ အပိုင်းအခြား [0xFFFFF, 1x0FFFFFF] တွင် ခွဲခြားသတ်မှတ်မှုများပါသည့် မက်ဆေ့ချ်များကို သိမ်းဆည်းမည်ဖြစ်သည်။
မှတ်ပုံတင်တန်ဖိုးများအောက်တွင်-

  • F0 မှတ်ပုံတင်တန်ဖိုး (HEX): 0x200FFFFF
  • F1 မှတ်ပုံတင်တန်ဖိုး (HEX): 0xDFFFFFFF
  • FO မှတ်ပုံတင်တန်ဖိုး (BIN): 001 00000000011111111111111111111
  • F1 မှတ်ပုံတင်တန်ဖိုး (BIN): 11 (0) 11111111111111111111111111111

အကွက်တန်ဖိုးများ-

  • EFEC -> `001` -> စစ်ထုတ်မှု ကိုက်ညီပါက Rx FIFO 0 တွင် သိမ်းဆည်းပါ။
  • EFID1 ->`00000000011111111111111111111` -> တိုးချဲ့ ID စစ်ထုတ်သည့်ဒြပ်စင်၏ ပထမ ID
    အပိုင်းအခြား(0xFFFF)
  • EFT -> `11` -> အပိုင်းအခြား စစ်ထုတ်မှု SFID1 မှ SFID2 အထိ
  • SFID2 ->`11111111111111111111111111111` -> စံ ID စစ်ထုတ်သည့်ဒြပ်စင်အပိုင်းအပိုင်းအခြား၏ ဒုတိယ ID (0x1FFFFFF)
FIFO 1 အတွက် Double ID စစ်ထုတ်မှု

ဒီ exampdual ID စစ်ထုတ်မှုသည် 0xAAAAA သို့မဟုတ် 0xBBBBBB ပါရှိသော မက်ဆေ့ဂျ်များကို FIFO 1 တွင် သိမ်းဆည်းမည်ဖြစ်သည်။

  • F0 မှတ်ပုံတင်တန်ဖိုး (HEX): 0x400AAAAA
  • F1 မှတ်ပုံတင်တန်ဖိုး (HEX): 0x400BBBBB
  • FO မှတ်ပုံတင်တန်ဖိုး (BIN): 010 000000000 10101010101010101010
  • F1 မှတ်ပုံတင်တန်ဖိုး (BIN): 01 (0) 00000000010111011101110111011

အကွက်တန်ဖိုးများ-

  • EFEC -> `010` -> စစ်ထုတ်မှု ကိုက်ညီပါက Rx FIFO 1 တွင် သိမ်းဆည်းပါ။
  • EFID1 -> `00000000010101010101010101010` -> ပထမဆုံး တိုးချဲ့ ID (0xAAAAA)
  • EFT -> `01` -> EFID1 သို့မဟုတ် EFID2 အတွက် Dual ID စစ်ထုတ်မှု
  • EFID2 -> `00000000010111011101110111011` -> ဒုတိယ ထပ်တိုး ID (0x000BBBB)
သီးသန့် rx ကြားခံ

ဒီ exampထို့ကြောင့် စစ်ထုတ်ခြင်းသည် 0x000AAAAA identifier 1x1AAAAA ပါရှိသော စာများကို သီးခြား rx ကြားခံ #XNUMX အဖြစ် သိမ်းဆည်းပါမည်။ ထို့အပြင် ဤအခြေအနေတွင်၊ သီးခြားကြားခံကိုအသုံးပြု၍ မက်ဆေ့ဂျ် id တစ်ခုတည်းကိုသာ စစ်ထုတ်နိုင်ပြီး ၎င်းသည် EFIDXNUMX အကွက်တွင် ရေးသားထားသည်။

  • သီးခြား rx ကြားခံအတွက် ID စစ်ထုတ်ခြင်း (ID = 0x000AAAAA)
  • F0 မှတ်ပုံတင်တန်ဖိုး (HEX): 0xE00AAAAAA
  • F1 မှတ်ပုံတင်တန်ဖိုး (HEX): 0x00000001
  • FO မှတ်ပုံတင်တန်ဖိုး (BIN): 111 00000000010101010101010101010
  • F1 မှတ်ပုံတင်တန်ဖိုး (BIN): 00 (0) 000000000000000000 00 (000) 000001

အကွက်တန်ဖိုးများ-

  • EFEC -> `111` -> စစ်ထုတ်မှု ကိုက်ညီပါက သီးခြား rx ကြားခံတွင် သိမ်းဆည်းပါ။
  • EFID1 -> `00000000010101010101010101010` -> စစ်ထုတ်မှုလက်ခံမည့် တိုးချဲ့ ID
    (0x000AAAAAA)
  • EFT -> `00` -> သီးခြား RX တွင် သိမ်းဆည်းရန် စစ်ထုတ်ခြင်းကြောင့် ဤတန်ဖိုးသည် အရေးမကြီးပါ။
    BUFFER နှင့် ဤကိစ္စတွင် EFT တန်ဖိုးကို လျစ်လျူရှုထားသည် (EFEC အကွက်ဖော်ပြချက်ကိစ္စ `111` ကိုကြည့်ပါ)
  • EFID2[10၊ 9] -> `00` -> ဤအကွက်သည် လက်ခံရရှိသောမက်ဆေ့ချ်အား Rx Buffer တွင် သိမ်းဆည်းခြင်း ရှိ၊ မရှိ သို့မဟုတ် အမှားရှာပြင်စာတို၏ မက်ဆေ့ချ် အတွဲ၏ A၊ B သို့မဟုတ် C အဖြစ် သတ်မှတ်သည်။ ဤကိစ္စတွင် ဆော့ဖ်ဝဲအပလီကေးရှင်းသည် မက်ဆေ့ချ်ကို Rx Buffer တွင် သိမ်းဆည်းလိုသည်။
  • EFID2[0,5] -> `000001` -> ကိုက်ညီသော မက်ဆေ့ချ်ကို သိမ်းဆည်းမည့် သီးသန့် rx ကြားခံ၏ အညွှန်း (သင် N သီးသန့် rx ကြားခံကို ပြင်ဆင်သတ်မှတ်ထားပါက ဤအညွှန်းကိန်းသည် အပိုင်းအခြား [0၊ N -1] တွင်ရှိနိုင်သည်)။ ဤအခြေအနေတွင် မက်ဆေ့ချ်ကို သီးခြားကြားခံ #1 တွင် သိမ်းဆည်းထားသည်။
rx FIFO1 အတွက် ဂန္တဝင် စစ်ထုတ်မှု

ဒီ exampထို့ကြောင့်၊ စစ်ထုတ်ခြင်းပရိုဂရမ်ရေးဆွဲခြင်းသည် အပိုင်းအခြား [0 x FFFFF, 0 x1FFFFFF] တွင် rx FIFO 1 တွင် ခွဲခြားသတ်မှတ်မှုဖြင့် သိမ်းဆည်းထားသည့် မက်ဆေ့ချ်များကို သိမ်းဆည်းမည်ဖြစ်သည်။ မျက်နှာဖုံးစွပ်နည်းလမ်းသည် စံ ID စစ်ထုတ်မှုများနှင့် အတူတူပင်ဖြစ်ပါသည်။ အောက်တွင် ဖော်ပြချက်သည် rx FIFO 0 တွင် လက်ခံရရှိသော မက်ဆေ့ချ်များကို သိမ်းဆည်းသည့် rx FIFO 0 တွင် တိုးချဲ့ ID အပိုင်းအခြား စစ်ထုတ်ခြင်း အစီအစဉ်ကို မည်သို့ ပရိုဂရမ်လုပ်ရမည်နည်း၊ ထို့ကြောင့် ကျွန်ုပ်တို့သည် EFID1 = Identifier သို့ တန်ဖိုးများ ပေးပါမည်။ နှင့် EFID1 = Mask

  • F0 မှတ်ပုံတင်တန်ဖိုး (HEX): 0x400FFFFF
  • F1 မှတ်ပုံတင်တန်ဖိုး (HEX): 0x9E0FFFFFF
  • F0 မှတ်ပုံတင်တန်ဖိုး (BIN): 010 00000000011111111111111111111
  • F1 မှတ်ပုံတင်တန်ဖိုး (BIN): 10 (0) 11110000011111111111111111111
  • EFT > `10` -> ဂန္တဝင် စစ်ထုတ်မှု- EFID1 = စစ်ထုတ်မှု၊ EFID2 = မျက်နှာဖုံး
  • EFEC -> `010` -> စစ်ထုတ်မှု ကိုက်ညီပါက Rx FIFO 1 တွင် သိမ်းဆည်းပါ။
  • EFID1 = 0 0000 0000 1111 1111 1111 1111 1111 (အမှတ်အသားပြု 0xFFFFFF)
  • EFID2 = 1 1110 0000 1111 1111 1111 1111 1111 (မျက်နှာဖုံး 0x1E0FFFFF)

mask bit (1 = 0 = don`t ဂရုမစိုက်ခြင်း) ၏ အဓိပ္ပာယ်ဖြင့် identifier (နည်းနည်း) တွင် mask ကို အသုံးပြုခြင်းတွင် `X` သင်္ကေတသည် သုည သို့မဟုတ် တစ်ခုအတွက် ကိုယ်စားပြုသည့် အောက်ပါ အပိုင်းအခြား filter ကို ရှာတွေ့သည်။

စစ်ထုတ်ခြင်း = 0 000X XXXX 1111 1111 1111 1111 1111

ထို့ကြောင့်၊ အကွာအဝေး [0xFFFFF၊ 0x1FFFFFF] အတွင်းရှိ တိုးချဲ့ထားသော စာတိုအားလုံးသည် စစ်ထုတ်မှုကို ကျော်သွားပါမည်။

နောက်ဆက်တွဲ A ကိုးကားစာတမ်းများ

  • SPC584Cx/SPC58ECx အကိုးအကားလက်စွဲ
  • SPC584Cx/SPC58ECx ဒေတာစာရွက်

နောက်ဆက်တွဲ B ၏ အတိုကောက်များနှင့် အတိုကောက်များ

အတိုကောက် နာမည်အပြည့်အစုံ
နိုင်သလား ထိန်းချုပ်သူဧရိယာကွန်ရက်
FD ပြောင်းလွယ်ပြင်လွယ်ဒေတာနှုန်း
စာရွက်စာတမ်း ပြန်လည်ပြင်ဆင်မှုမှတ်တမ်း
ရက်စွဲ ဗားရှင်း အပြောင်းအလဲများ
01-Mar-2021 ရက် 1 ကနဦး ထုတ်ဝေမှု။

အရေးကြီးသောသတိပေးချက် - သေချာစွာဖတ်ပါ

STMicroelectronics NV နှင့်၎င်း၏လက်အောက်ခံကုမ္ပဏီများ (“ ST”) သည် ST ထုတ်ကုန်များနှင့် / သို့မဟုတ်ဤစာရွက်စာတမ်းများအားအချိန်မရွေးအသိပေးခြင်းမရှိပဲပြောင်းလဲမှုများ၊ ပြင်ဆင်မှုများ၊ တိုးမြှင့်မှုများ၊ ပြုပြင်မွမ်းမံမှုများနှင့်တိုးတက်မှုများကိုလုပ်ပိုင်ခွင့်ရှိသည်။ ၀ ယ်ယူသူများသည်အမှာစာမပေးပို့မီ ST ထုတ်ကုန်များနှင့်သက်ဆိုင်သောနောက်ဆုံးပေါ်သတင်းအချက်အလက်များကိုရယူသင့်သည်။ ST ထုတ်ကုန်များသည် ST ၏စည်းမျဉ်းစည်းကမ်းများအရရောင်း ၀ ယ်သည်။

ဝယ်ယူသူများသည် ST ထုတ်ကုန်များရွေးချယ်ခြင်း၊ ရွေးချယ်ခြင်းနှင့်အသုံးပြုခြင်းအတွက်သာတာ ၀ န်ရှိသည်။ ST သည်လျှောက်လွှာအကူအညီသို့မဟုတ် ၀ ယ်သူများ၏ထုတ်ကုန်များ၏ဒီဇိုင်းအတွက်တာ ၀ န်မရှိပါ။

ဤနေရာတွင် ST မှ ပေးအပ်သည့် မည်သည့်ဉာဏပစ္စည်းမူပိုင်ခွင့်ကိုမဆို လိုင်စင်၊ ဖော်ပြခြင်း သို့မဟုတ် အဓိပ္ပာယ်ဖွင့်ဆိုထားခြင်းမရှိပါ။

ဤနေရာတွင်ဖော်ပြထားသော အချက်အလက်များနှင့် ကွဲပြားသော ပြဋ္ဌာန်းချက်များရှိသော ST ထုတ်ကုန်များကို ပြန်လည်ရောင်းချခြင်းသည် ထိုထုတ်ကုန်အတွက် ST မှပေးသော အာမခံတစ်စုံတစ်ရာကို ပျက်ပြယ်စေမည်ဖြစ်သည်။

ST နှင့် ST လိုဂိုများသည် ST ၏ကုန်အမှတ်တံဆိပ်များဖြစ်သည်။ ST အမှတ်တံဆိပ်များအကြောင်း နောက်ထပ်အချက်အလက်များအတွက် ကျေးဇူးပြု၍ ဖတ်ရှုပါ။ www.st.com/trademarks. အခြားထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုအမည်များအားလုံးသည် ၎င်းတို့၏ သက်ဆိုင်ရာပိုင်ရှင်များ၏ ပိုင်ဆိုင်မှုဖြစ်သည်။

ဤစာရွက်စာတမ်းရှိ အချက်အလက်ကို အစားထိုးပြီး ဤစာရွက်စာတမ်း၏ ယခင်ဗားရှင်းတစ်ခုခုတွင် ယခင်က ပေးခဲ့သည့် အချက်အလက်များကို အစားထိုးသည်။

© 2021 STMicroelectronics - အခွင့်အရေးအားလုံးကို လက်ဝယ်ရှိသည်။

စာရွက်စာတမ်းများ / အရင်းအမြစ်များ

ST TN1348 SPC58x CAN နှင့် CAN-FD စစ်ထုတ်မှုများကို ပြင်ဆင်ခြင်း [pdf] ညွှန်ကြားချက်များ
TN1348၊ SPC58x သည် CAN နှင့် CAN-FD စစ်ထုတ်မှုများကို ပြင်ဆင်နေသည်။

ကိုးကား

မှတ်ချက်တစ်ခုချန်ထားပါ။

သင့်အီးမေးလ်လိပ်စာကို ထုတ်ပြန်မည်မဟုတ်ပါ။ လိုအပ်သောအကွက်များကို အမှတ်အသားပြုထားသည်။ *