సిలికాన్ ల్యాబ్స్ లోగో

AN451
వైర్‌లెస్ M-బస్ సాఫ్ట్‌వేర్ అమలు

పరిచయం

ఈ అప్లికేషన్ నోట్ Silicon Labs C8051 MCU మరియు EZRadioPRO® ఉపయోగించి వైర్‌లెస్ M-బస్ యొక్క సిలికాన్ ల్యాబ్స్ అమలును వివరిస్తుంది. వైర్‌లెస్ M-బస్ అనేది 868 MHz ఫ్రీక్వెన్సీ బ్యాండ్‌ని ఉపయోగించి మీటర్-రీడింగ్ అప్లికేషన్‌ల కోసం ఒక యూరోపియన్ ప్రమాణం.

దొంతర పొరలు

వైర్‌లెస్ M-బస్ 3-లేయర్ IEC మోడల్‌ను ఉపయోగిస్తుంది, ఇది 7-లేయర్ OSI మోడల్ యొక్క ఉపసమితి (మూర్తి 1 చూడండి).

సిలికాన్ ల్యాబ్స్ వైర్‌లెస్ M-BUS సాఫ్ట్‌వేర్ ఇంప్లిమెంటేషన్ AN451భౌతిక (PHY) పొర EN 13757-4లో నిర్వచించబడింది. భౌతిక పొర బిట్‌లు ఎలా ఎన్‌కోడ్ చేయబడి ప్రసారం చేయబడిందో, RF మోడెమ్ లక్షణాలు (చిప్ రేట్, ఉపోద్ఘాతం మరియు సమకాలీకరణ పదం) మరియు RF పారామితులను (మాడ్యులేషన్, సెంటర్ ఫ్రీక్వెన్సీ మరియు ఫ్రీక్వెన్సీ విచలనం) నిర్వచిస్తుంది.
PHY లేయర్ హార్డ్‌వేర్ మరియు ఫర్మ్‌వేర్ కలయికను ఉపయోగించి అమలు చేయబడుతుంది. EZRadioPRO అన్ని RF మరియు మోడెమ్ విధులను నిర్వహిస్తుంది. EZRadioPRO ప్యాకెట్ హ్యాండ్లర్‌తో FIFO మోడ్‌లో ఉపయోగించబడుతుంది. MbusPhy.c మాడ్యూల్ SPI ఇంటర్‌ఫేస్, ఎన్‌కోడింగ్/డీకోడింగ్, బ్లాక్ రీడ్/రైట్ మరియు ప్యాకెట్ హ్యాండ్లింగ్‌ను అందిస్తుంది మరియు ట్రాన్స్‌సీవర్ స్టేట్‌లను నిర్వహిస్తుంది.
M-Bus డేటా లింక్ లేయర్ MbusLink.c మాడ్యూల్‌లో అమలు చేయబడింది. M-బస్ అప్లికేషన్ ప్రోగ్రామింగ్ ఇంటర్‌ఫేస్ ప్రధాన థ్రెడ్‌లోని అప్లికేషన్ లేయర్ నుండి పిలవబడే పబ్లిక్ ఫంక్షన్‌లను కలిగి ఉంటుంది. MbusLink మాడ్యూల్ డేటా లింక్ లేయర్‌ను కూడా అమలు చేస్తుంది. డేటా లింక్ లేయర్ అప్లికేషన్ TX బఫర్ నుండి MbusPhy TX బఫర్‌కు డేటాను ఫార్మాట్ చేస్తుంది మరియు కాపీ చేస్తుంది, అవసరమైన హెడర్‌లు మరియు CRCలను జోడిస్తుంది.
అప్లికేషన్ లేయర్ కూడా M-బస్ ఫర్మ్‌వేర్‌లో భాగం కాదు. అప్లికేషన్ లేయర్ ప్రసారం కోసం అనేక రకాల డేటాను ఎలా ఫార్మాట్ చేయాలో నిర్వచిస్తుంది. చాలా మీటర్లు ఒకటి లేదా రెండు రకాల డేటాను మాత్రమే ప్రసారం చేయాలి. మీటర్‌కు ఏ రకమైన డేటానైనా ఉంచడానికి పెద్ద మొత్తంలో కోడ్‌ను జోడించడం వలన మీటర్‌కు అనవసరమైన కోడ్ మరియు ధర జోడించబడుతుంది. లైబ్రరీ లేదా హెడర్‌ని అమలు చేయడం సాధ్యమవుతుంది file డేటా రకాల సమగ్ర జాబితాతో. అయినప్పటికీ, చాలా మంది మీటరింగ్ కస్టమర్‌లకు వారు ఎలాంటి డేటాను ప్రసారం చేయాలో ఖచ్చితంగా తెలుసు మరియు ఫార్మాటింగ్ వివరాల కోసం ప్రమాణాన్ని సూచించగలరు. యూనివర్సల్ రీడర్ లేదా స్నిఫర్ PC GUIలో అప్లికేషన్ డేటా రకాల పూర్తి సెట్‌ను అమలు చేయవచ్చు. ఈ కారణాల వల్ల, అప్లికేషన్ లేయర్ ex ఉపయోగించి అమలు చేయబడుతుందిampఒక మీటర్ మరియు రీడర్ కోసం le అప్లికేషన్లు.

అవసరమైన ప్రమాణాలు
  1. EN 13757-4
    EN 13757-4
    మీటర్ల కోసం కమ్యూనికేషన్ సిస్టమ్ మరియు మీటర్ల రిమోట్ రీడింగ్
    పార్ట్ 4: వైర్‌లెస్ మీటర్ రీడౌట్
    868 MHz నుండి 870 MHz SRD బ్యాండ్‌లో ఆపరేషన్ కోసం రేడియోమీటర్ రీడింగ్
  2. EN 13757-3
    మీటర్ల కోసం కమ్యూనికేషన్ సిస్టమ్ మరియు మీటర్ల రిమోట్ రీడింగ్
    పార్ట్ 3: అంకితమైన అప్లికేషన్ లేయర్
  3. IEC 60870-2-1:1992
    టెలికంట్రోల్ పరికరాలు మరియు వ్యవస్థలు
    పార్ట్ 5: ట్రాన్స్‌మిషన్ ప్రోటోకాల్‌లు
    విభాగం 1:లింక్ ట్రాన్స్మిషన్ విధానం
  4. IEC 60870-1-1:1990
    టెలికంట్రోల్ పరికరాలు మరియు వ్యవస్థలు
    పార్ట్ 5: ట్రాన్స్‌మిషన్ ప్రోటోకాల్‌లు
    విభాగం 1: ట్రాన్స్‌మిషన్ ఫ్రేమ్ ఫార్మాట్‌లు
నిర్వచనాలు
  • M-బస్సు-M-బస్ అనేది ఐరోపాలో మీటర్ రీడింగ్ కోసం వైర్డు ప్రమాణం.
  • వైర్‌లెస్ M-బస్యూరోప్‌లో మీటర్ రీడింగ్ అప్లికేషన్‌ల కోసం వైర్‌లెస్ M-బస్.
  • PHY—ఫిజికల్ లేయర్ డేటా బిట్‌లు మరియు బైట్‌లు ఎలా ఎన్‌కోడ్ చేయబడి ప్రసారం చేయబడతాయో నిర్వచిస్తుంది.
  • API-అప్లికేషన్ ప్రోగ్రామర్ ఇంటర్ఫేస్.
  • లింక్-బ్లాక్‌లు మరియు ఫ్రేమ్‌లు ఎలా ప్రసారం చేయబడతాయో డేటా లింక్ లేయర్ నిర్వచిస్తుంది.
  • CRC-సైక్లిక్ రిడెండెన్సీ చెక్.
  • FSK-ఫ్రీక్వెన్సీ షిఫ్ట్ కీయింగ్.
  • చిప్ -ప్రసారం చేయబడిన డేటా యొక్క చిన్న యూనిట్. ఒక డేటా బిట్ బహుళ చిప్‌లుగా ఎన్‌కోడ్ చేయబడింది.
  • మాడ్యూల్ -AC కోడ్ మూలం .c file.

M-బస్ PHY ఫంక్షనల్ వివరణ

పీఠిక సీక్వెన్స్

M-బస్ స్పెసిఫికేషన్ ద్వారా పేర్కొనబడిన ఉపోద్ఘాత శ్రేణి అనేది సున్నాలు మరియు వాటిని ఏకాంతర పూర్ణాంకం సంఖ్య. ఒకటి అధిక ఫ్రీక్వెన్సీగా నిర్వచించబడింది మరియు సున్నా తక్కువ పౌనఃపున్యం అని నిర్వచించబడింది.
nx (01)
Si443x కోసం ఉపోద్ఘాతం ఎంపికలు ఏకాంతర వాటిని మరియు సున్నాలను కలిగి ఉండే పూర్ణాంకాల సంఖ్య.
nx (1010)
అదనపు లీడింగ్‌తో కూడిన పీఠిక సమస్య కాదు, అయితే, సింక్రొనైజేషన్ పదం మరియు పేలోడ్ ఒక బిట్‌తో తప్పుగా అమర్చబడతాయి.
మాడ్యులేషన్ కంట్రోల్ 2 రిజిస్టర్ (0x71)లో ఇంజిన్ బిట్‌ను సెట్ చేయడం ద్వారా మొత్తం ప్యాకెట్‌ను విలోమం చేయడం దీనికి పరిష్కారం. ఇది ఉపోద్ఘాతం, సమకాలీకరణ పదం మరియు TX/RX డేటాను విలోమం చేస్తుంది. పర్యవసానంగా, TX డేటాను వ్రాసేటప్పుడు లేదా RX డేటాను చదివేటప్పుడు డేటా విలోమం చేయబడాలి. అలాగే, Si443x సింక్రొనైజేషన్ వర్డ్ రిజిస్టర్‌లకు వ్రాయడానికి ముందు సమకాలీకరణ పదం విలోమం చేయబడింది.

సమకాలీకరణ పదం

EN-13757-4కి అవసరమైన సమకాలీకరణ పదం మోడ్ S మరియు మోడ్ R కోసం 18 చిప్‌లు లేదా మోడల్ T కోసం 10 చిప్‌లు. Si443x కోసం సింక్రొనైజేషన్ పదం 1 నుండి 4 బైట్‌లు. అయినప్పటికీ, సమకాలీకరణ పదం ఎల్లప్పుడూ ఉపోద్ఘాతంతో ముందు ఉంటుంది కాబట్టి, పీఠికలోని చివరి ఆరు బిట్‌లను సమకాలీకరణ పదంలో భాగంగా పరిగణించవచ్చు; కాబట్టి, మొదటి సమకాలీకరణ పదం సున్నా యొక్క మూడు పునరావృత్తులు మరియు దాని తర్వాత ఒకటితో ప్యాడ్ చేయబడింది. Si443x రిజిస్టర్‌లకు వ్రాయడానికి ముందు సమకాలీకరణ పదం పూర్తి చేయబడుతుంది.
టేబుల్ 1. మోడ్ S మరియు మోడ్ R కోసం సింక్రొనైజేషన్ వర్డ్

EN 13757-4 00 01110110 10010110 బైనరీ
00 76 96 హెక్స్
(01) x 3తో ప్యాడ్ 01010100 01110110 10010110 బైనరీ
54 76 96 హెక్స్
పూరకంగా 10101011 10001001 01101001 బైనరీ
AB 89 69 హెక్స్

టేబుల్ 2. మోడ్ T మీటర్ కోసం సింక్రొనైజేషన్ వర్డ్ అదర్‌కు

సమకాలీకరించు సమకాలీకరించు సమకాలీకరించు
పదం పదం పదం
3 2 1
పీఠిక పొడవును ప్రసారం చేయండి

కనీస ఉపోద్ఘాతం నాలుగు వేర్వేరు ఆపరేటింగ్ మోడ్‌ల కోసం పేర్కొనబడింది. ఉపోద్ఘాతం నిర్దేశించిన దానికంటే పొడవుగా ఉండటం ఆమోదయోగ్యమైనది. ఉపోద్ఘాతం కోసం ఆరు చిప్‌లను తీసివేస్తే Si443x ఉపోద్ఘాతం కోసం కనీస చిప్‌ల సంఖ్య లభిస్తుంది. అమలు ఉపోద్ఘాత గుర్తింపు మరియు పరస్పర చర్యను మెరుగుపరచడానికి అన్ని చిన్న ఉపోద్ఘాత మోడ్‌లలో రెండు అదనపు ఉపోద్ఘాతాలను జోడిస్తుంది. సుదీర్ఘ ఉపోద్ఘాతంతో మోడ్ Sపై ఉపోద్ఘాతం చాలా పొడవుగా ఉంది; కాబట్టి, కనీస ఉపోద్ఘాతం ఉపయోగించబడుతుంది. నిబుల్స్‌లోని ఉపోద్ఘాతం ఉపోద్ఘాతం (0x34) రిజిస్టర్‌కు వ్రాయబడింది. పీఠిక పొడవు రిజిస్టర్ ప్రసారంపై మాత్రమే ప్రవేశికను నిర్ణయిస్తుంది. కనీస వివరణ మరియు ఉపోద్ఘాతం సెట్టింగులు టేబుల్ 3లో సంగ్రహించబడ్డాయి.
పట్టిక 3. ఉపోద్ఘాత నిడివిని ప్రసారం చేయండి

EN-13757-4
కనీస
Si443x ఉపోద్ఘాతం
సెట్ చేయడం
సమకాలీకరించు
మాట
మొత్తం అదనపు
nx (01) చిప్స్ nibbles చిప్స్ చిప్స్ చిప్స్ చిప్స్
మోడ్ S చిన్న ఉపోద్ఘాతం 15 30 8 32 6 38 8
మోడ్ S లాంగ్ పీఠిక 279 558 138 552 6 558 0
మోడ్ T (మీటర్-ఇతర) 19 38 10 40 6 46 8
మోడ్ R 39 78 20 80 6 86 8

రిసెప్షన్ కోసం కనీస ఉపోద్ఘాతం ప్రీయాంబుల్ డిటెక్షన్ కంట్రోల్ రిజిస్టర్ (0x35) ద్వారా నిర్ణయించబడుతుంది. స్వీకరించిన తర్వాత, ఉపయోగించగల ఉపోద్ఘాతాన్ని నిర్ణయించడానికి సమకాలీకరణ పదంలోని బిట్‌ల సంఖ్యను తప్పనిసరిగా పేర్కొన్న కనీస ఉపోద్ఘాతం నుండి తీసివేయాలి. AFC ప్రారంభించబడితే రిసీవర్ యొక్క కనీస స్థిరీకరణ సమయం 16-చిప్‌లు లేదా AFC నిలిపివేయబడితే 8-చిప్‌లు. ప్రీయాంబుల్ డిటెక్షన్ కంట్రోల్ రిజిస్టర్ కోసం కనీస సెట్టింగ్‌ను నిర్ణయించడానికి రిసీవర్ సెటిల్లింగ్ సమయం కూడా ఉపయోగించదగిన ఉపోద్ఘాతం నుండి తీసివేయబడుతుంది.

తప్పుడు ఉపోద్ఘాతం యొక్క సంభావ్యత ఉపోద్ఘాత గుర్తింపు నియంత్రణ రిజిస్టర్ సెట్టింగ్‌పై ఆధారపడి ఉంటుంది. 8-చిప్‌ల యొక్క చిన్న సెట్టింగ్ ప్రతి కొన్ని సెకన్లలో తప్పుడు ఉపోద్ఘాతం కనుగొనబడవచ్చు. 20చిప్‌ల యొక్క సిఫార్సు సెట్టింగ్ తప్పుడు ఉపోద్ఘాత గుర్తింపును అసంభవమైన సంఘటనగా చేస్తుంది. మోడ్ R మరియు మోడ్ SL కోసం పీఠిక పొడవులు సిఫార్సు చేయబడిన సెట్టింగ్‌ని ఉపయోగించడానికి తగినంత పొడవుగా ఉన్నాయి.
ఉపోద్ఘాతం 20 చిప్‌ల కంటే పొడవుగా గుర్తించేలా చేయడం వల్ల చాలా తక్కువ ప్రయోజనం ఉంది.
చిన్న ఉపోద్ఘాతం మరియు మోడల్ Tతో మోడల్ S కోసం AFC నిలిపివేయబడింది. ఇది రిసీవర్ స్థిరీకరణ సమయాన్ని తగ్గిస్తుంది మరియు సుదీర్ఘమైన ఉపోద్ఘాత గుర్తింపు సెట్టింగ్‌ను అనుమతిస్తుంది. AFC నిలిపివేయబడినప్పుడు, మోడ్ T 20 చిప్‌ల సిఫార్సు సెట్టింగ్‌ని ఉపయోగించవచ్చు. చిన్న ఉపోద్ఘాతంతో మోడల్ S కోసం 4 నిబుల్స్ లేదా 20 చిప్‌ల సెట్టింగ్ ఉపయోగించబడుతుంది. ఇది ఈ మోడల్‌కు తప్పుడు ఉపోద్ఘాతం యొక్క సంభావ్యతను కొంచెం ఎక్కువగా చేస్తుంది.
టేబుల్ 4. ఉపోద్ఘాత గుర్తింపు

EN-13757-4
కనీస
సమకాలీకరించు
మాట
ఉపయోగించదగినది
ఉపోద్ఘాతం
RX స్థిరపడుతోంది గుర్తించండి
నిమి
Si443x ఉపోద్ఘాతం
డిటెక్షన్ సెట్టింగ్
nx (01) చిప్స్ చిప్స్ చిప్స్ చిప్స్ చిప్స్ nibbles చిప్స్
మోడ్ S చిన్న ఉపోద్ఘాతం 15 30 6 24 8* 16 4 16
మోడల్ S లాంగ్ పీఠిక 279 558 6 552 16 536 5 20
మోడల్ T (మీటర్-ఇతర) 19 38 6 32 8* 24 5 20
మోడ్ R 39 78 6 72 16 56 5 20
*గమనిక: AFC నిలిపివేయబడింది

కనీస పేర్కొన్న ఉపోద్ఘాతాన్ని ఉపయోగించి ట్రాన్స్‌మిటర్‌తో పరస్పర చర్య చేయడానికి రిసీవర్ కాన్ఫిగర్ చేయబడింది. ఇది రిసీవర్ ఏదైనా M-బస్-కంప్లైంట్ ట్రాన్స్‌మిటర్‌తో పరస్పర చర్య చేస్తుందని నిర్ధారిస్తుంది.
వైర్‌లెస్ M-బస్ స్పెసిఫికేషన్‌కు కనీసం 1 చిప్‌ల మోడ్ S558 కోసం చాలా పెద్ద పీఠిక అవసరం. ఇది ఉపోద్ఘాతాన్ని ప్రసారం చేయడానికి దాదాపు 17 ms పడుతుంది. Si443xకి అంత పొడవైన ఉపోద్ఘాతం అవసరం లేదు మరియు పొడవైన ఉపోద్ఘాతం నుండి ప్రయోజనం లేదు. సుదీర్ఘ ఉపోద్ఘాతం మోడ్ S2 కోసం ఐచ్ఛికంగా గుర్తించబడినప్పటికీ, Si443xతో సుదీర్ఘమైన ఉపోద్ఘాతాన్ని ఉపయోగించడానికి ఎటువంటి కారణం లేదు. వన్-వే కమ్యూనికేషన్ కావాలనుకుంటే, మోడ్ T1 చిన్న ఉపోద్ఘాతం, అధిక డేటా రేటు మరియు ఎక్కువ బ్యాటరీ జీవితాన్ని అందిస్తుంది. మోడ్ S2ని ఉపయోగించి రెండు-మార్గం కమ్యూనికేషన్ అవసరమైతే, చిన్న ఉపోద్ఘాతం సిఫార్సు చేయబడింది.
పొడవైన ఉపోద్ఘాతంతో మోడల్ S కోసం గుర్తించే థ్రెషోల్డ్, చిన్న ఉపోద్ఘాతంతో మోడల్ S కోసం ప్రసారం చేయబడిన ఉపోద్ఘాతాల సంఖ్య కంటే ఎక్కువగా ఉందని గమనించండి. దీని అర్థం పొడవాటి ఉపోద్ఘాతం మోడ్ S రిసీవర్ చిన్న ఉపోద్ఘాతం మోడ్ S ట్రాన్స్‌మిటర్ నుండి ఉపోద్ఘాతాన్ని గుర్తించదు. పొడవైన ఉపోద్ఘాత మోడ్ S రిసీవర్ లాంగ్ పీఠిక నుండి ఏదైనా ప్రయోజనాన్ని పొందాలంటే ఇది అవసరం.
చిన్న ఉపోద్ఘాతం మోడ్ S రిసీవర్ ఉపోద్ఘాతాన్ని గుర్తిస్తుందని మరియు చిన్న ఉపోద్ఘాతం మోడ్ S రెండింటి నుండి ప్యాకెట్‌లను స్వీకరిస్తుంది.
ట్రాన్స్మిటర్ మరియు లాంగ్-ప్రియమ్బుల్ మోడ్ S ట్రాన్స్మిటర్; కాబట్టి, సాధారణంగా, మీటర్ రీడర్ చిన్న పీఠిక మోడ్ S రిసీవర్ కాన్ఫిగరేషన్‌ను ఉపయోగించాలి.

ఎన్‌కోడింగ్/డీకోడింగ్

వైర్‌లెస్ M-బస్ స్పెసిఫికేషన్‌కు రెండు వేర్వేరు ఎన్‌కోడింగ్ పద్ధతులు అవసరం. మాంచెస్టర్ ఎన్‌కోడింగ్ మోడ్ S మరియు మోడ్ R కోసం ఉపయోగించబడుతుంది. మాంచెస్టర్ ఎన్‌కోడింగ్ మోడల్ Tలో ఇతర-టు-మీటర్ లింక్ కోసం కూడా ఉపయోగించబడుతుంది. మోడల్ T మీటర్-టు-ఇతర లింక్ 3 ఎన్‌కోడింగ్‌లలో 6ని ఉపయోగిస్తుంది.
1. మాంచెస్టర్ ఎన్‌కోడ్/డీకోడింగ్
మాంచెస్టర్ ఎన్‌కోడింగ్ అనేది సాధారణ మరియు చవకైన మోడెమ్‌ని ఉపయోగించి బలమైన క్లాక్ రికవరీ మరియు ట్రాకింగ్ అందించడానికి RF సిస్టమ్‌లలో చారిత్రాత్మకంగా సాధారణం. అయినప్పటికీ, Si443x వంటి ఆధునిక అధిక-పనితీరు గల రేడియోకు మాంచెస్టర్ ఎన్‌కోడింగ్ అవసరం లేదు. మాంచెస్టర్ ఎన్‌కోడింగ్ ప్రాథమికంగా ఇప్పటికే ఉన్న ప్రమాణాలతో అనుకూలత కోసం మద్దతు ఇస్తుంది, అయితే మాంచెస్టర్ ఎన్‌కోడింగ్‌ని ఉపయోగించనప్పుడు Si443x డేటా రేటు సమర్థవంతంగా రెట్టింపు అవుతుంది.
Si443x మాంచెస్టర్ ఎన్‌కోడింగ్ మరియు హార్డ్‌వేర్‌లో మొత్తం ప్యాకెట్ యొక్క డీకోడింగ్‌కు మద్దతు ఇస్తుంది. దురదృష్టవశాత్తు, సమకాలీకరణ పదం మాంచెస్టర్ ఎన్‌కోడ్ చేయబడలేదు. సింక్రొనైజేషన్ పదం కోసం ఉద్దేశపూర్వకంగా చెల్లని మాంచెస్టర్ సీక్వెన్స్ ఎంచుకోబడింది. ఇది మాంచెస్టర్ ఎన్‌కోడింగ్‌ని Si443xతో సహా ఇప్పటికే ఉన్న చాలా రేడియోలతో అననుకూలంగా చేస్తుంది. పర్యవసానంగా, మాంచెస్టర్ ఎన్‌కోడింగ్ మరియు డీకోడింగ్ తప్పనిసరిగా MCUచే నిర్వహించబడాలి. ఎన్‌కోడ్ చేయని డేటాలోని ప్రతి బైట్ ఎనిమిది డేటా బిట్‌లను కలిగి ఉంటుంది. మాంచెస్టర్ ఎన్‌కోడింగ్‌ని ఉపయోగించి, ప్రతి డేటా బిట్ రెండు-చిప్ చిహ్నంగా ఎన్‌కోడ్ చేయబడుతుంది. ఎన్‌కోడ్ చేయబడిన డేటా తప్పనిసరిగా రేడియోకి FIFO ఎనిమిది చిప్‌లకు ఒకేసారి వ్రాయబడాలి కాబట్టి, ఒక నిబ్బల్ డేటా ఎన్‌కోడ్ చేయబడుతుంది మరియు FIFOకి వ్రాయబడుతుంది.
పట్టిక 5. మాంచెస్టర్ ఎన్‌కోడింగ్

డేటా ఆక్స్ .12 0x34 బైట్లు
ఆక్స్ .1 0x2 0x3 0x4 nibbles
1 10 11 100 బైనరీ
చిప్ 10101001 10100110 10100101 10011010 బైనరీ
FIFO OxA9 OxA6 OxA5 ఆక్స్9A హెక్స్

ప్రసారం చేయవలసిన ప్రతి బైట్ ఒక సమయంలో ఒక బైట్ ఎన్‌కోడ్ బైట్ ఫంక్షన్‌కు పంపబడుతుంది. ఎన్‌కోడ్ బైట్ ఫంక్షన్ ఎన్‌కోడ్ నిబుల్ ఫంక్షన్‌ను రెండుసార్లు పిలుస్తుంది, మొదట అత్యంత ముఖ్యమైన నిబుల్ కోసం మరియు తరువాత తక్కువ ముఖ్యమైన నిబుల్ కోసం.
సాఫ్ట్‌వేర్‌లో మాంచెస్టర్ ఎన్‌కోడింగ్ కష్టం కాదు. అత్యంత ముఖ్యమైన బిట్ నుండి ప్రారంభించి, ఒకటి “01” చిప్ సీక్వెన్స్‌గా ఎన్‌కోడ్ చేయబడింది. సున్నా "10" చిప్ సీక్వెన్స్‌గా ఎన్‌కోడ్ చేయబడింది. ఇది లూప్‌ని ఉపయోగించి మరియు ప్రతి గుర్తుకు రెండు-బిట్‌లను మార్చడం ద్వారా సులభంగా సాధించవచ్చు. అయితే, ప్రతి నిబ్బల్ కోసం సాధారణ 16 ఎంట్రీ లుక్-అప్ టేబుల్‌ని ఉపయోగించడం చాలా వేగంగా ఉంటుంది. ఎన్‌కోడ్ మాంచెస్టర్ నిబుల్ ఫంక్షన్ ఒక నిబ్బల్ డేటాను ఎన్‌కోడ్ చేసి, దానిని FIFOకి వ్రాస్తుంది. విలోమ ఉపోద్ఘాత అవసరాల కోసం FIFOకి వ్రాయడానికి ముందు చిప్‌లు విలోమం చేయబడతాయి.
స్వీకరించేటప్పుడు, FIFOలోని ప్రతి బైట్ ఎనిమిది చిప్‌లను కలిగి ఉంటుంది మరియు డేటా యొక్క ఒక నిబ్బల్‌గా డీకోడ్ చేయబడుతుంది. రీడ్ బ్లాక్ ఫంక్షన్ FIFO నుండి ఒక సమయంలో ఒక బైట్‌ను రీడ్ చేస్తుంది మరియు డీకోడ్ బైట్ ఫంక్షన్‌ని పిలుస్తుంది. విలోమ ఉపోద్ఘాత అవసరాల కోసం FIFO నుండి చదివిన తర్వాత చిప్‌లు విలోమం చేయబడతాయి. మాంచెస్టర్ ఎన్‌కోడ్ చేసిన చిప్‌ల యొక్క ప్రతి బైట్ డేటా యొక్క నిబ్బల్‌గా డీకోడ్ చేయబడుతుంది. డీకోడ్ చేసిన నిబుల్ రైట్ నిబుల్ RX బఫర్ ఫంక్షన్‌ని ఉపయోగించి RX బఫర్‌కు వ్రాయబడుతుంది.
ఎన్‌కోడ్ చేయబడిన మరియు డీకోడింగ్ రెండూ ఫ్లైలో ఒకేసారి ఒక డేటా నిబ్బల్ చేయడం గమనించండి. బఫర్‌కు ఎన్‌కోడింగ్ చేయడం వలన ఎన్‌కోడ్ చేయని డేటా కంటే రెట్టింపు పరిమాణంలో అదనపు బఫర్ అవసరం అవుతుంది. ఎన్‌కోడింగ్ మరియు డీకోడింగ్ వేగవంతమైన మద్దతు ఉన్న డేటా రేటు (సెకనుకు 100 k చిప్స్) కంటే చాలా వేగంగా ఉంటుంది. Si443x FIFOకి బహుళ-బైట్ రీడ్‌లు మరియు రైట్‌లకు మద్దతు ఇస్తుంది కాబట్టి, సింగిల్-బైట్ రీడ్‌లు మరియు రైట్‌లను మాత్రమే ఉపయోగించడంలో చిన్న ఓవర్‌హెడ్ ఉంది. 10 ఎన్‌కోడ్ చేసిన చిప్‌లకు ఓవర్‌హెడ్ దాదాపు 100 µs. ప్రయోజనం 512 బైట్ల RAM ఆదా.
2. ఆరులో మూడు ఎన్‌కోడింగ్ డీకోడింగ్
EN-13757-4లో పేర్కొన్న త్రీ-ఔట్-ఆఫ్-సిక్స్ ఎన్‌కోడింగ్ పద్ధతి MCUలోని ఫర్మ్‌వేర్‌లో కూడా అమలు చేయబడుతుంది. ఈ ఎన్‌కోడింగ్ హై-స్పీడ్ (సెకనుకు 100 k చిప్స్) మోడ్ T కోసం మీటర్ నుండి మరొకటికి ఉపయోగించబడుతుంది. మోడల్ T అనేది వైర్‌లెస్ మీటర్ కోసం అతి తక్కువ ప్రసార సమయాన్ని మరియు పొడవైన బ్యాటరీ జీవితాన్ని అందిస్తుంది.
ప్రసారం చేయవలసిన ప్రతి బైట్ డేటా రెండు నిబుల్స్‌గా విభజించబడింది. అత్యంత ముఖ్యమైన నిబ్బల్ ఎన్కోడ్ చేయబడింది మరియు మొదట ప్రసారం చేయబడుతుంది. మళ్ళీ, ఇది ఎన్‌కోడ్ బైట్ ఫంక్షన్‌ని ఉపయోగించి అమలు చేయబడుతుంది, అది ఎన్‌కోడ్ నిబుల్ ఫంక్షన్‌ను రెండుసార్లు పిలుస్తుంది.
డేటా యొక్క ప్రతి నిబ్బల్ ఆరు-చిప్ చిహ్నంగా ఎన్కోడ్ చేయబడింది. ఆరు-చిప్ చిహ్నాల క్రమాన్ని తప్పనిసరిగా 8chip FIFOకి వ్రాయాలి.
ఎన్‌కోడింగ్ సమయంలో, రెండు బైట్‌ల డేటా నాలుగు నిబుల్స్‌గా ఎన్‌కోడ్ చేయబడుతుంది. ప్రతి నిబ్బల్ 6-చిప్ చిహ్నం. నాలుగు 6చిప్ చిహ్నాలు మూడు బైట్‌లుగా సమగ్రపరచబడ్డాయి.
టేబుల్ 6. ఆరు ఎన్‌కోడింగ్‌లో మూడు

డేటా 0x12 0x34 బైట్లు
ఆక్స్ .1 0x2 0x3 0x4 nibbles
చిప్ 15 16 13 34 ఆక్టల్
1101 1110 1011 11100 బైనరీ
FIFO 110100 11100010 11011100 బైనరీ
0x34 ఆక్స్ఈ2 OxDC హెక్స్

సాఫ్ట్‌వేర్‌లో, త్రీ-ఆఫ్-సిక్స్ ఎన్‌కోడింగ్ మూడు సమూహ ఫంక్షన్‌లను ఉపయోగించి అమలు చేయబడుతుంది. ఎన్‌కోడ్ బైట్ ఫంక్షన్ ఎన్‌కోడ్ నిబుల్ ఫంక్షన్‌ని రెండుసార్లు పిలుస్తుంది. ఎన్‌కోడ్ నిబ్బల్ ఫంక్షన్ సిక్స్-చిప్ సింబల్ కోసం లుక్-అప్ టేబుల్‌ని ఉపయోగిస్తుంది మరియు సిక్స్ ఫంక్షన్‌లలో షిఫ్ట్ త్రీకి సింబల్‌ను వ్రాస్తుంది. ఈ ఫంక్షన్ సాఫ్ట్‌వేర్‌లో 16-చిప్ షిఫ్ట్ రిజిస్టర్‌ను అమలు చేస్తుంది. చిహ్నము షిఫ్ట్ రిజిస్టర్ యొక్క అతి తక్కువ ముఖ్యమైన బైట్‌కి వ్రాయబడింది. రిజిస్టర్ రెండుసార్లు ఎడమవైపుకు మార్చబడింది. ఇది మూడుసార్లు పునరావృతమవుతుంది. షిఫ్ట్ రిజిస్టర్ ఎగువ బైట్‌లో పూర్తి బైట్ ఉన్నప్పుడు, అది విలోమం చేయబడి FIFOకి వ్రాయబడుతుంది.
డేటా యొక్క ప్రతి బైట్ ఒకటిన్నర ఎన్‌కోడ్ బైట్‌లుగా ఎన్‌కోడ్ చేయబడినందున, షిఫ్ట్ రిజిస్టర్‌ను మొదట్లో క్లియర్ చేయడం ముఖ్యం, తద్వారా మొదటి ఎన్‌కోడ్ బైట్ సరైనది. ప్యాకెట్ పొడవు బేసి సంఖ్య అయితే, అన్ని బైట్‌లను ఎన్‌కోడ్ చేసిన తర్వాత, షిఫ్ట్ రిజిస్టర్‌లో ఇంకా ఒక నిబ్బల్ మిగిలి ఉంటుంది. తదుపరి విభాగంలో వివరించిన విధంగా ఇది పోస్టల్‌తో నిర్వహించబడుతుంది.
ఎన్‌కోడ్ చేసిన ఆరులో మూడింటిని డీకోడ్ చేయడం రివర్స్ విధానం. డీకోడింగ్ చేస్తున్నప్పుడు, మూడు ఎన్‌కోడ్ బైట్‌లు రెండు డేటా బైట్‌లుగా డీకోడ్ చేయబడతాయి. డీకోడ్ చేసిన డేటా యొక్క బైట్‌లను సమగ్రపరచడానికి సాఫ్ట్‌వేర్ షిఫ్ట్ రిజిస్టర్ మళ్లీ ఉపయోగించబడుతుంది. డీకోడింగ్ కోసం 64-ఎంట్రీ ఇన్వర్స్ లుక్-అప్ టేబుల్ ఉపయోగించబడుతుంది. ఇది తక్కువ చక్రాలను ఉపయోగిస్తుంది కానీ ఎక్కువ కోడ్ మెమరీని ఉపయోగిస్తుంది. సంబంధిత చిహ్నం కోసం 16-ఎంట్రీ లుక్-అప్ టేబుల్‌ను శోధించడం చాలా ఎక్కువ సమయం పడుతుంది.
తపాలా
వైర్‌లెస్ M-బస్ స్పెసిఫికేషన్‌లో పోస్ట్‌టాంబుల్ లేదా ట్రైలర్ కోసం నిర్దిష్ట అవసరాలు ఉన్నాయి. అన్ని మోడ్‌ల కోసం, కనిష్టంగా రెండు చిప్‌లు మరియు గరిష్టంగా ఎనిమిది చిప్‌లు. FIFO యొక్క కనిష్ట పరమాణు యూనిట్ ఒక బైట్ కాబట్టి, మోడ్ S మరియు మోడ్ R కోసం 8-చిప్ ట్రెయిలర్ ఉపయోగించబడుతుంది. ప్యాకెట్ పొడవు సరిసమానంగా ఉంటే మోడ్ T పోస్ట్‌టాంబుల్ ఎనిమిది చిప్‌లు లేదా ప్యాకెట్ పొడవు బేసిగా ఉంటే నాలుగు చిప్‌లు. బేసి ప్యాకెట్ పొడవు కోసం నాలుగు-చిప్ పోస్ట్‌టాంబుల్ కనీసం రెండు ఆల్టర్నేటింగ్ చిప్‌లను కలిగి ఉండే అవసరాలను తీరుస్తుంది.
టేబుల్ 7. పోస్టాంబుల్ పొడవు

తపాలా పొడవు (చిప్స్)
నిమి గరిష్టంగా అమలు చిప్ క్రమం
మోడ్ S 2 8 8 1010101
మోడ్ T 2 8 4 (బేసి) 101
8 (సరి) 1010101
మోడ్ R 2 8 8 1010101
ప్యాకెట్ హ్యాండ్లర్

Si443xలోని ప్యాకెట్ హ్యాండ్లర్‌ను వేరియబుల్ ప్యాకెట్ వెడల్పు మోడ్ లేదా స్థిర ప్యాకెట్ వెడల్పు మోడ్‌లో ఉపయోగించవచ్చు. వేరియబుల్ ప్యాకెట్ వెడల్పు మోడ్‌కు సమకాలీకరణ పదం మరియు ఐచ్ఛిక హెడర్ బైట్‌ల తర్వాత ప్యాకెట్ పొడవు బైట్ అవసరం. రిసెప్షన్ తర్వాత, చెల్లుబాటు అయ్యే ప్యాకెట్ ముగింపును గుర్తించడానికి రేడియో పొడవు బైట్‌ని ఉపయోగిస్తుంది. ప్రసారంలో, రేడియో హెడర్ బైట్‌ల తర్వాత పొడవు ఫీల్డ్‌ను ఇన్సర్ట్ చేస్తుంది.
వైర్‌లెస్ M-బస్ ప్రోటోకాల్ కోసం L ఫీల్డ్ Si443x పొడవు ఫీల్డ్ కోసం ఉపయోగించబడదు. మొదట, L ఫీల్డ్ అసలు ప్యాకెట్ పొడవు కాదు. ఇది CRC బైట్‌లు లేదా ఎన్‌కోడింగ్‌తో సహా లేని లింక్ లేయర్ పేలోడ్ బైట్‌ల సంఖ్య. రెండవది, L-ఫీల్డ్ కూడా మాంచెస్టర్ ఎన్‌కోడింగ్ లేదా మోడ్ T మీటర్ కోసం సిక్స్‌లో మూడు ఎన్‌కోడింగ్‌లను ఉపయోగించి ఎన్‌కోడ్ చేయబడింది.
అమలు ప్యాకెట్ హ్యాండ్లర్‌ను ట్రాన్స్‌మిషన్ మరియు రిసెప్షన్ రెండింటికీ స్థిర ప్యాకెట్ వెడల్పు మోడ్‌లో ఉపయోగిస్తుంది. ప్రసారం చేసిన తర్వాత, PHY లేయర్ ట్రాన్స్‌మిట్ బఫర్‌లోని L ఫీల్డ్‌ని చదువుతుంది మరియు పోస్ట్‌టాంబుల్‌తో సహా ఎన్‌కోడ్ చేసిన బైట్‌ల సంఖ్యను గణిస్తుంది. ప్రసారం చేయవలసిన మొత్తం ఎన్‌కోడ్ బైట్‌ల సంఖ్య ప్యాకెట్ పొడవు రిజిస్టర్ (0x3E)కి వ్రాయబడుతుంది.
రిసెప్షన్ తర్వాత, మొదటి రెండు ఎన్‌కోడ్ చేసిన బైట్‌లు డీకోడ్ చేయబడతాయి మరియు L-ఫీల్డ్ రిసీవ్ బఫర్‌కు వ్రాయబడుతుంది. స్వీకరించాల్సిన ఎన్‌కోడ్ బైట్‌ల సంఖ్యను లెక్కించడానికి L-ఫీల్డ్ ఉపయోగించబడుతుంది. ఎన్‌కోడ్ చేయబడిన బైట్‌ల సంఖ్యను స్వీకరించాల్సిన తర్వాత ప్యాకెట్ పొడవు రిజిస్టర్ (0x3E)కి వ్రాయబడుతుంది. పోస్టాంబుల్ విస్మరించబడింది.
MCU తప్పనిసరిగా L-ఫీల్డ్‌ను డీకోడ్ చేయాలి, ఎన్‌కోడ్ చేయబడిన బైట్‌ల సంఖ్యను లెక్కించాలి మరియు సాధ్యమైనంత తక్కువ ప్యాకెట్ పొడవును స్వీకరించడానికి ముందు విలువను ప్యాకెట్ పొడవు రిజిస్టర్‌కు వ్రాయాలి. PHY లేయర్ కోసం అతి తక్కువ అనుమతించదగిన L-ఫీల్డ్ 9, ఇది 12 ఎన్‌కోడ్ చేయని బైట్‌లను ఇస్తుంది. ఇది మోడల్ T కోసం 18 ఎన్‌కోడ్ బైట్‌లను ఇస్తుంది. మొదటి రెండు బైట్‌లు ఇప్పటికే డీకోడ్ చేయబడ్డాయి. అందువల్ల, ప్యాకెట్ పొడవు రిజిస్టర్ తప్పనిసరిగా 16-బైట్ సమయాల్లో 100 kbps లేదా 1.28 మిల్లీసెకన్లలో నవీకరించబడాలి. 8051 MIPS వద్ద నడుస్తున్న 20కి ఇది సమస్య కాదు.
బేసి ప్యాకెట్ పొడవుతో మోడ్ T ప్యాకెట్‌ల కోసం ఉపయోగించే నాలుగు-చిప్ పోస్ట్‌టాంబుల్ మినహా, స్వీకరించాల్సిన బైట్‌ల సంఖ్యలో పోస్టల్‌ను చేర్చలేదు. అందువల్ల, మోడల్ T బేసి పొడవు ప్యాకెట్‌లకు తప్ప, రిసీవర్‌కు పోస్ట్‌టాంబుల్ అవసరం లేదు. ఎన్‌కోడ్ చేయబడిన బైట్‌ల పూర్ణాంక సంఖ్యను ఇవ్వడానికి మాత్రమే ఈ పోస్ట్‌టాంబుల్ అవసరం. పోస్ట్‌టాంబుల్ యొక్క కంటెంట్ విస్మరించబడింది; కాబట్టి, పోస్ట్‌టాంబుల్ ప్రసారం చేయకపోతే, శబ్దం యొక్క నాలుగు చిప్‌లు స్వీకరించబడతాయి మరియు విస్మరించబడతాయి. ఎన్‌కోడ్ చేయబడిన బైట్‌ల మొత్తం సంఖ్య 255 (0xFF)కి పరిమితం చేయబడినందున, అమలు వివిధ మోడ్‌ల కోసం గరిష్ట L-ఫీల్డ్‌ని పరిమితం చేస్తుంది.
టేబుల్ 8. ప్యాకెట్ సైజు పరిమితులు

ఎన్కోడ్ చేయబడింది డీకోడ్ చేయబడింది M-బస్సు
బైట్లు బైట్లు ఎల్-ఫీల్డ్
డిసెంబర్ హెక్స్ డిసెంబర్ హెక్స్ డిసెంబర్ హెక్స్
మోడ్ S 255 FF 127 7 F 110 6E
మోడ్ T (మీటర్-ఇతర) 255 FF 169 A9 148 94
మోడ్ R 255 FF 127 7 F 110 6E

ఈ పరిమితులు సాధారణంగా వైర్‌లెస్ మీటర్ కోసం సాధారణ వినియోగ కేసు కంటే చాలా ఎక్కువగా ఉంటాయి. సాధ్యమైనంత ఉత్తమమైన బ్యాటరీ జీవితాన్ని పొందడానికి ప్యాకెట్ పొడవును చిన్నగా ఉంచాలి.
అదనంగా, వినియోగదారు అందుకోవాల్సిన గరిష్ట L-ఫీల్డ్‌ను పేర్కొనవచ్చు (USER_RX_MAX_L_FIELD). ఇది స్వీకరించే బఫర్ (USER_RX_BUFFER_SIZE)కి అవసరమైన పరిమాణాన్ని నిర్ణయిస్తుంది.
గరిష్టంగా 255 L-ఫీల్డ్‌కు మద్దతు ఇవ్వడానికి 290 బైట్‌ల రిసీవ్ బఫర్ మరియు గరిష్టంగా 581 మాంచెస్టర్ ఎన్‌కోడ్ బైట్‌లు అవసరం. ప్యాకెట్ హ్యాండ్లర్‌ని డిజేబుల్ చేయాలి మరియు ఆ సందర్భంలో ప్యాకెట్ పొడవు రిజిస్టర్‌ని ఉపయోగించలేరు. ఇది సాధ్యమే, కానీ వీలైతే ప్యాకెట్ హ్యాండ్లర్‌ను ఉపయోగించడం మరింత సౌకర్యవంతంగా ఉంటుంది.

FIFO వినియోగం

Si4431 ప్రసారం మరియు స్వీకరించడం కోసం 64 బైట్ FIFOని అందిస్తుంది. ఎన్‌కోడ్ చేసిన బైట్‌ల సంఖ్య 255 కాబట్టి, మొత్తం ఎన్‌కోడ్ చేసిన ప్యాకెట్ 64-బైట్ బఫర్‌లో సరిపోకపోవచ్చు.
ఒకరి నుండి ఒకరికి వ్యాధి ప్రబలడం
ప్రసారంలో, ఎన్‌కోడ్ చేయబడిన బైట్‌ల మొత్తం సంఖ్య లెక్కించబడుతుంది. పోస్టల్‌తో సహా మొత్తం ఎన్‌కోడ్ చేసిన బైట్‌ల సంఖ్య 64 బైట్‌ల కంటే తక్కువగా ఉంటే, మొత్తం ప్యాకెట్ FIFOకి వ్రాయబడుతుంది మరియు ప్యాకెట్ పంపిన అంతరాయాన్ని మాత్రమే ప్రారంభించబడుతుంది. చాలా చిన్న ప్యాకెట్లు ఒక FIFO బదిలీలో పంపబడతాయి.
ఎన్‌కోడ్ చేయబడిన బైట్‌ల సంఖ్య 64 కంటే ఎక్కువగా ఉంటే, ప్యాకెట్‌ను పంపడానికి బహుళ FIFO బదిలీలు అవసరం. మొదటి 64 బైట్‌లు FIFOకి వ్రాయబడ్డాయి. పంపిన ప్యాకెట్ మరియు TX FIFO దాదాపు ఖాళీ అంతరాయాలు ప్రారంభించబడ్డాయి. TX FIFO దాదాపు ఖాళీ థ్రెషోల్డ్ 16 బైట్‌లకు (25%) సెట్ చేయబడింది. ప్రతి IRQ ఈవెంట్ తర్వాత, స్థితి 2 రిజిస్టర్ చదవబడుతుంది. ప్యాకెట్ పంపిన బిట్ మొదట తనిఖీ చేయబడుతుంది మరియు ప్యాకెట్ పూర్తిగా పంపబడకపోతే, తదుపరి 48 బైట్‌ల ఎన్‌కోడ్ డేటా FIFOకి వ్రాయబడుతుంది. అన్ని ఎన్‌కోడ్ చేసిన బైట్‌లు వ్రాయబడే వరకు మరియు ప్యాకెట్ పంపిన అంతరాయం ఏర్పడే వరకు ఇది కొనసాగుతుంది.
1 రిసెప్షన్
రిసెప్షన్‌లో, మొదట్లో, సింక్ వర్డ్ అంతరాయం మాత్రమే ప్రారంభించబడుతుంది. సమకాలీకరణ పదాన్ని స్వీకరించిన తర్వాత, సమకాలీకరణ పదం అంతరాయం నిలిపివేయబడుతుంది మరియు FIFO దాదాపు పూర్తి అంతరాయం ప్రారంభించబడుతుంది. FIFO దాదాపు పూర్తి థ్రెషోల్డ్ ప్రారంభంలో 2 బైట్‌లకు సెట్ చేయబడింది. మొదటి FIFO దాదాపు పూర్తి అంతరాయాన్ని రెండు పొడవు బైట్‌లు ఎప్పుడు స్వీకరించాయో తెలుసుకోవడానికి ఉపయోగించబడుతుంది. పొడవును స్వీకరించిన తర్వాత, పొడవు డీకోడ్ చేయబడుతుంది మరియు ఎన్కోడ్ చేయబడిన బైట్‌ల సంఖ్య లెక్కించబడుతుంది. RX FIFO దాదాపు పూర్తి థ్రెషోల్డ్ 48 బైట్‌లకు సెట్ చేయబడింది. RX FIFO దాదాపు నిండింది మరియు చెల్లుబాటు అయ్యే ప్యాకెట్ అంతరాయాలు ప్రారంభించబడ్డాయి. తదుపరి IRQ ఈవెంట్‌లో, స్థితి 1 రిజిస్టర్ చదవబడుతుంది. మొదట, చెల్లుబాటు అయ్యే ప్యాకెట్ బిట్ తనిఖీ చేయబడుతుంది, ఆపై FIFO ఆల్మోస్ట్ ఫుల్ బిట్ తనిఖీ చేయబడుతుంది. RX FIFO ఆల్మోస్ట్ ఫుల్ బిట్ మాత్రమే సెట్ చేయబడితే, తదుపరి 48 బైట్‌లు FIFO నుండి చదవబడతాయి. చెల్లుబాటు అయ్యే ప్యాకెట్ బిట్ సెట్ చేయబడితే, ప్యాకెట్ యొక్క మిగిలిన భాగం FIFO నుండి చదవబడుతుంది. MCU ఎన్ని బైట్‌లు చదవబడిందో ట్రాక్ చేస్తుంది మరియు చివరి బైట్ తర్వాత చదవడం ఆపివేస్తుంది.

డేటా లింక్ లేయర్

డేటా లింక్ లేయర్ మాడ్యూల్ 13757-4:2005 కంప్లైంట్ లింక్ లేయర్‌ని అమలు చేస్తుంది. డేటా లింక్ లేయర్ (LINK) భౌతిక లేయర్ (PHY) మరియు అప్లికేషన్ లేయర్ (AL) మధ్య ఇంటర్‌ఫేస్‌ను అందిస్తుంది.
డేటా లింక్ లేయర్ క్రింది విధులను నిర్వహిస్తుంది:

  • PHY మరియు AL మధ్య డేటాను బదిలీ చేసే ఫంక్షన్‌లను అందిస్తుంది
  • అవుట్‌గోయింగ్ సందేశాల కోసం CRCలను రూపొందిస్తుంది
  • ఇన్‌కమింగ్ మెసేజ్‌లలో CRC ఎర్రర్‌లను గుర్తిస్తుంది
  • భౌతిక చిరునామాను అందిస్తుంది
  • ద్వి దిశాత్మక కమ్యూనికేషన్ మోడ్‌ల కోసం బదిలీలను అంగీకరిస్తుంది
  • ఫ్రేమ్‌ల డేటా బిట్‌లు
  • ఇన్‌కమింగ్ మెసేజ్‌లలో ఫ్రేమింగ్ ఎర్రర్‌లను గుర్తిస్తుంది
లింక్ లేయర్ ఫ్రేమ్ ఫార్మాట్

EN 13757-4:2005లో ఉపయోగించిన వైర్‌లెస్ M-బస్ ఫ్రేమ్ ఫార్మాట్ IEC3-3-60870 నుండి FT5 (ఫ్రేమ్ టైప్ 2) ఫ్రేమ్ ఫార్మాట్ నుండి తీసుకోబడింది. ఫ్రేమ్ ఒకటి లేదా అంతకంటే ఎక్కువ డేటా బ్లాక్‌లను కలిగి ఉంటుంది. ప్రతి బ్లాక్‌లో 16-బిట్ CRC ఫీల్డ్ ఉంటుంది. మొదటి బాక్ అనేది 12 బైట్‌ల స్థిర-పొడవు బ్లాక్, ఇందులో L-ఫీల్డ్, C-ఫీల్డ్, M-ఫీల్డ్ మరియు A-ఫీల్డ్ ఉన్నాయి.

  1. ఎల్-ఫీల్డ్
    L-ఫీల్డ్ అనేది లింక్ లేయర్ డేటా పేలోడ్ యొక్క పొడవు. ఇందులో L-ఫీల్డ్ లేదా CRC బైట్‌లు ఏవీ చేర్చబడలేదు. ఇందులో L-ఫీల్డ్, C-ఫీల్డ్, M-ఫీల్డ్ మరియు A-ఫీల్డ్ ఉన్నాయి. ఇవి PHY పేలోడ్‌లో భాగం.
    ఎన్‌కోడ్ చేయబడిన బైట్‌ల సంఖ్య 255 బైట్‌లకు పరిమితం చేయబడినందున, M-ఫీల్డ్‌కు గరిష్ట మద్దతు విలువ మాంచెస్టర్ ఎన్‌కోడ్ చేసిన డేటాకు 110 బైట్లు మరియు మోడ్ T త్రీ-అవుట్-ఆఫ్-సిక్స్ ఎన్‌కోడ్ డేటా కోసం 148 బైట్‌లు.
    ట్రాన్స్‌మిషన్‌లో L-ఫీల్డ్‌ను లెక్కించడానికి లింక్ లేయర్ బాధ్యత వహిస్తుంది. లింక్-లేయర్ రిసెప్షన్‌లో L-ఫీల్డ్‌ని ఉపయోగిస్తుంది.
    L-ఫీల్డ్ PHY పేలోడ్ పొడవు లేదా ఎన్‌కోడ్ చేసిన బైట్‌ల సంఖ్యను సూచించదని గమనించండి. ప్రసారం చేసిన తర్వాత, PHY PHY పేలోడ్ పొడవు మరియు ఎన్‌కోడ్ చేయబడిన బైట్‌ల సంఖ్యను గణిస్తుంది. స్వీకరించిన తర్వాత, PHY L-ఫీల్డ్‌ని డీకోడ్ చేస్తుంది మరియు డీకోడ్ చేయడానికి బైట్‌ల సంఖ్యను గణిస్తుంది.
  2. సి-ఫీల్డ్
    C-ఫీల్డ్ ఫ్రేమ్ కంట్రోల్ ఫీల్డ్. ఈ ఫీల్డ్ ఫ్రేమ్ రకాన్ని గుర్తిస్తుంది మరియు లింక్ డేటా ఎక్స్ఛేంజ్ సర్వీస్ ప్రిమిటివ్స్ కోసం ఉపయోగించబడుతుంది. C-ఫీల్డ్ ఫ్రేమ్ రకాన్ని సూచిస్తుంది - పంపండి, నిర్ధారించండి, అభ్యర్థన లేదా ప్రతిస్పందించండి. SEND మరియు REQUEST ఫ్రేమ్‌ల విషయంలో, C-ఫీల్డ్ నిర్థారణ లేదా ప్రతిస్పందించబడుతుందా అని సూచిస్తుంది.
    ప్రాథమిక లింక్ TX ఫంక్షన్‌ని ఉపయోగిస్తున్నప్పుడు, C యొక్క ఏదైనా విలువను ఉపయోగించవచ్చు. లింక్ సర్వీస్ ప్రిమిటివ్‌లను ఉపయోగిస్తున్నప్పుడు, EN 13757-4:2005 ప్రకారం C ఫీల్డ్ స్వయంచాలకంగా పూరించబడుతుంది.
  3. M-ఫీల్డ్
    M-ఫీల్డ్ అనేది తయారీదారు కోడ్. తయారీదారులు కింది వాటి నుండి మూడు అక్షరాల కోడ్‌ను అభ్యర్థించవచ్చు web చిరునామా: http://www.dlms.com/flag/INDEX.HTM మూడు అక్షరాల కోడ్‌లోని ప్రతి అక్షరం ఐదు బిట్‌లుగా ఎన్‌కోడ్ చేయబడింది. ASCII కోడ్ తీసుకొని 5x0 (“A”) తీసివేయడం ద్వారా 40-బిట్ కోడ్ పొందవచ్చు. మూడు 5-బిట్ కోడ్‌లు 15-బిట్‌లను రూపొందించడానికి సంగ్రహించబడ్డాయి. అత్యంత ముఖ్యమైన బిట్ సున్నా.
  4. A-ఫీల్డ్
    చిరునామా ఫీల్డ్ ప్రతి పరికరానికి ప్రత్యేకమైన 6-బైట్ చిరునామా. ప్రత్యేక చిరునామా తయారీదారుచే కేటాయించబడాలి. ప్రతి పరికరానికి ప్రత్యేకమైన 6-బైట్ చిరునామా ఉండేలా చూసుకోవడం ప్రతి తయారీదారు యొక్క బాధ్యత. పంపడం మరియు అభ్యర్థించడం ఫ్రేమ్‌ల చిరునామా మీటర్ లేదా ఇతర పరికరం యొక్క స్వీయ-చిరునామా. నిర్ధారణ మరియు ప్రతిస్పందన డేటా ఫ్రేమ్‌లు మూలాధార పరికరం యొక్క చిరునామాను ఉపయోగించి పంపబడతాయి.
  5. CI-ఫీల్డ్
    CI-ఫీల్డ్ అనేది అప్లికేషన్ హెడర్ మరియు అప్లికేషన్ డేటా పేలోడ్‌లోని డేటా రకాన్ని నిర్దేశిస్తుంది. EN13757-4:2005 పరిమిత సంఖ్యలో విలువలను నిర్దేశిస్తున్నప్పుడు, లింక్ సర్వీస్ ప్రిమిటివ్స్ ఏదైనా విలువను ఉపయోగించడానికి అనుమతిస్తాయి.
  6. CRC
    CRC EN13757-4:2005లో పేర్కొనబడింది.
    CRC బహుపది:
    X16 + x13 + x12 + x11 + x10 + x8 +x6 + x5 + x2 + 1
    M-Bus CRC ప్రతి 16-బైట్ బ్లాక్‌పై లెక్కించబడుతుందని గమనించండి. ఫలితంగా ప్రతి 16 బైట్‌ల డేటాకు 18 బైట్‌లు ప్రసారం కావాలి,
అదనపు సమాచారం

లింక్ లేయర్ ఇంప్లిమెంటేషన్ గురించి అదనపు సమాచారం కోసం, “AN452: వైర్‌లెస్ M-బస్ స్టాక్ ప్రోగ్రామర్స్ గైడ్” చూడండి.

పవర్ మేనేజ్‌మెంట్

ఫిగర్ 2 మాజీ మీటర్ కోసం పవర్ మేనేజ్‌మెంట్ టైమ్‌లైన్‌ను చూపుతుందిampమోడ్ T1ని ఉపయోగిస్తుంది.

శక్తిని ఆదా చేయడానికి వీలైనప్పుడల్లా MCU స్లీప్ మోడ్‌లో ఉండాలి. ఇందులో మాజీampఅలాగే, RTC నడుస్తున్నప్పుడు, రేడియో క్రిస్టల్ స్టార్ట్-అప్‌లో వేచి ఉన్నప్పుడు మరియు FIFO నుండి ప్రసారం చేస్తున్నప్పుడు MCU నిద్రపోతోంది. పోర్ట్ మ్యాచ్ వేక్-అప్‌కి కనెక్ట్ చేయబడిన EZRadioPRO IRQ సిగ్నల్ నుండి MCU మేల్కొంటుంది.
ఒకటి కంటే ఎక్కువ బ్లాక్ సందేశాలను ప్రసారం చేస్తున్నప్పుడు, MCU తప్పనిసరిగా FIFO (FIFO దాదాపు ఖాళీ అంతరాయంపై ఆధారపడి) పూరించడానికి మేల్కొని, ఆపై తిరిగి నిద్రలోకి వెళ్లాలి.
MCU ADC నుండి చదివేటప్పుడు తక్కువ పవర్ ఓసిలేటర్ లేదా బర్స్ట్-మోడ్ ఓసిలేటర్ నుండి అమలవుతున్న ఐడిల్ మోడ్‌లో ఉండాలి. ADCకి SAR గడియారం అవసరం.
ఉపయోగంలో లేనప్పుడు, EZRadioPRO SDN పిన్‌తో ఎక్కువగా నడిచే షట్‌డౌన్ మోడ్‌లో ఉండాలి. దీనికి MCUకి హార్డ్‌వైర్డ్ కనెక్షన్ అవసరం. EZ రేడియో ప్రో రిజిస్టర్‌లు షట్‌డౌన్ మోడ్‌లో భద్రపరచబడలేదు; కాబట్టి, ప్రతి RTC విరామంలో EZRadioPro ప్రారంభించబడుతుంది. రేడియోను ప్రారంభించడం 100 µs కంటే తక్కువ సమయం పడుతుంది మరియు 400 nAని ఆదా చేస్తుంది. దీని ఫలితంగా 10-సెకన్ల విరామం ఆధారంగా 10 µJ శక్తి ఆదా అవుతుంది.
EZRadioPRO క్రిస్టల్ POR కోసం 16 ms పడుతుంది. ఇది సుమారు ఎనిమిది బ్లాక్‌ల కోసం CRCని లెక్కించడానికి సరిపోతుంది. క్రిస్టల్ స్థిరీకరించబడకముందే MCU అన్ని CRCలను పూర్తి చేస్తే తిరిగి నిద్రపోతుంది. ఎన్‌క్రిప్షన్ అవసరమైతే, క్రిస్టల్ ఓసిలేటర్‌పై వేచి ఉన్నప్పుడు కూడా దీన్ని ప్రారంభించవచ్చు.
MCU చాలా పనుల కోసం తక్కువ-పవర్ ఓసిలేటర్‌ని ఉపయోగించి 20 MHz వద్ద అమలు చేయాలి. ఖచ్చితమైన గడువు అవసరమయ్యే పనులు తప్పనిసరిగా స్లీప్ మోడ్‌కు బదులుగా ఖచ్చితమైన ఓసిలేటర్ మరియు ఐడిల్ మోడ్‌ను ఉపయోగించాలి. RTC చాలా పనులకు తగినంత రిజల్యూషన్‌ను అందిస్తుంది. T2 మీటర్ మాజీ పవర్ మేనేజ్‌మెంట్ టైమ్‌లైన్ample అప్లికేషన్ మూర్తి 3లో చూపబడింది.

మీటర్ మేల్కొన్నప్పుడు మరియు రీడర్ లేనప్పుడు ట్రాన్స్‌సీవర్ అమలును సాధారణ సందర్భంలో ఆప్టిమైజ్ చేయాలి. C8051F930 RTCని ఉపయోగించడం మరియు MCUని స్లీప్ మోడ్‌లో ఉంచడం సాధ్యమయ్యేలా కనిష్ట/గరిష్ట ACK గడువులు తగినంత పొడవుగా ఉన్నాయి.
స్లీప్ మోడ్‌ని ఉపయోగించాల్సిన అవసరం లేని మెయిన్‌లు లేదా USB పవర్డ్ రీడర్‌ల కోసం బిల్డ్ ఆప్షన్‌లు అందించబడ్డాయి. నిద్రకు బదులుగా నిష్క్రియ మోడ్ ఉపయోగించబడుతుంది, తద్వారా USB మరియు UART MCUకి అంతరాయం కలిగించవచ్చు.

సిలికాన్ ల్యాబ్స్ వైర్‌లెస్ M-BUS సాఫ్ట్‌వేర్ ఇంప్లిమెంటేషన్ AN451-1

సింప్లిసిటీ స్టూడియో
MCU మరియు వైర్‌లెస్ సాధనాలు, డాక్యుమెంటేషన్, సాఫ్ట్‌వేర్, సోర్స్ కోడ్ లైబ్రరీలు మరియు మరిన్నింటికి ఒక-క్లిక్ యాక్సెస్. Windows కోసం అందుబాటులో ఉంది,
Mac మరియు Linux!

IoT పోర్ట్‌ఫోలియో నాణ్యత
IoT పోర్ట్‌ఫోలియో
www.silabs.com/IoT
SW/HW
www.silabs.com/simplicity
నాణ్యత
www.silabs.com/qualitty
మద్దతు మరియు సంఘం
community.silabs.com

నిరాకరణ
సిలికాన్ ల్యాబ్స్ సిలికాన్ ల్యాబ్స్ ఉత్పత్తులను ఉపయోగించే లేదా ఉపయోగించడానికి ఉద్దేశించిన సిస్టమ్ మరియు సాఫ్ట్‌వేర్ అమలుదారుల కోసం అందుబాటులో ఉన్న అన్ని పెరిఫెరల్స్ మరియు మాడ్యూల్స్ యొక్క తాజా, ఖచ్చితమైన మరియు లోతైన డాక్యుమెంటేషన్‌ను వినియోగదారులకు అందించాలని భావిస్తోంది. క్యారెక్టరైజేషన్ డేటా, అందుబాటులో ఉన్న మాడ్యూల్స్ మరియు పెరిఫెరల్స్, మెమరీ పరిమాణాలు మరియు మెమరీ చిరునామాలు ప్రతి నిర్దిష్ట పరికరాన్ని సూచిస్తాయి మరియు అందించిన “విలక్షణమైన” పారామితులు వేర్వేరు అప్లికేషన్‌లలో మారవచ్చు మరియు మారవచ్చు. అప్లికేషన్ ఉదాampఇక్కడ వివరించిన les దృష్టాంత ప్రయోజనాల కోసం మాత్రమే. ఉత్పత్తి సమాచారం, స్పెసిఫికేషన్‌లు మరియు వివరణలకు తదుపరి నోటీసు మరియు పరిమితి లేకుండా మార్పులు చేసే హక్కు సిలికాన్ ల్యాబ్‌లకు ఉంది మరియు చేర్చబడిన సమాచారం యొక్క ఖచ్చితత్వం లేదా సంపూర్ణతకు సంబంధించి వారంటీలను ఇవ్వదు. ఇక్కడ అందించిన సమాచారాన్ని ఉపయోగించడం వల్ల కలిగే పరిణామాలకు సిలికాన్ ల్యాబ్‌లకు ఎటువంటి బాధ్యత ఉండదు. ఈ పత్రం ఏదైనా ఇంటిగ్రేటెడ్ సర్క్యూట్‌లను రూపొందించడానికి లేదా రూపొందించడానికి ఇక్కడ మంజూరు చేయబడిన కాపీరైట్ లైసెన్స్‌లను సూచించదు లేదా వ్యక్తపరచదు. సిలికాన్ ల్యాబ్‌ల నిర్దిష్ట వ్రాతపూర్వక అనుమతి లేకుండా ఉత్పత్తులు ఏ లైఫ్ సపోర్ట్ సిస్టమ్‌లోనైనా ఉపయోగించేందుకు రూపొందించబడలేదు లేదా అధికారం కలిగి ఉండవు. “లైఫ్ సపోర్ట్ సిస్టమ్” అనేది జీవితం మరియు/లేదా ఆరోగ్యానికి మద్దతు ఇవ్వడానికి లేదా నిలబెట్టడానికి ఉద్దేశించిన ఏదైనా ఉత్పత్తి లేదా వ్యవస్థ, ఇది విఫలమైతే, గణనీయమైన వ్యక్తిగత గాయం లేదా మరణానికి దారితీస్తుందని సహేతుకంగా అంచనా వేయవచ్చు. సిలికాన్ ల్యాబ్స్ ఉత్పత్తులు సైనిక అనువర్తనాల కోసం రూపొందించబడలేదు లేదా అధికారం ఇవ్వబడలేదు. అణు, జీవ, లేదా రసాయన ఆయుధాలు లేదా అటువంటి ఆయుధాలను బట్వాడా చేయగల క్షిపణులతో సహా (కానీ వీటికే పరిమితం కాకుండా) సామూహిక విధ్వంసం చేసే ఆయుధాలలో సిలికాన్ ల్యాబ్స్ ఉత్పత్తులు ఎట్టి పరిస్థితుల్లో ఉపయోగించబడవు.
ట్రేడ్మార్క్ సమాచారం
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs®, మరియు Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM®, EFM32, , ఎనర్జీ మైక్రో, ఎనర్జీ మైక్రో లోగో మరియు వాటి కలయికలు, “ప్రపంచంలోని అత్యంత శక్తి అనుకూల మైక్రోకంట్రోలర్‌లు”, Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, ISOmodem®, Precision32®, SimpSLIC® Studio, , Telegesis, Telegesis లోగో®, USBXpress® మరియు ఇతరాలు సిలికాన్ ల్యాబ్‌ల యొక్క ట్రేడ్‌మార్క్‌లు లేదా నమోదిత ట్రేడ్‌మార్క్‌లు. ARM, CORTEX, Cortex-M3 మరియు బ్రొటనవేళ్లు ARM హోల్డింగ్స్ యొక్క ట్రేడ్‌మార్క్‌లు లేదా నమోదిత ట్రేడ్‌మార్క్‌లు. కెయిల్ అనేది ARM లిమిటెడ్ యొక్క నమోదిత ట్రేడ్‌మార్క్. ఇక్కడ పేర్కొన్న అన్ని ఇతర ఉత్పత్తులు లేదా బ్రాండ్ పేర్లు వాటి సంబంధిత హోల్డర్‌ల ట్రేడ్‌మార్క్‌లు.సిలికాన్ ల్యాబ్స్ లోగో

సిలికాన్ లేబొరేటరీస్ ఇంక్.
400 వెస్ట్ సీజర్ చావెజ్
ఆస్టిన్, TX 78701
USA
http://www.silabs.com

పత్రాలు / వనరులు

సిలికాన్ ల్యాబ్స్ వైర్‌లెస్ M-BUS సాఫ్ట్‌వేర్ ఇంప్లిమెంటేషన్ AN451 [pdf] యూజర్ గైడ్
సిలికాన్ ల్యాబ్స్, C8051, MCU, మరియు, EZRadioPRO, వైర్‌లెస్ M-బస్, వైర్‌లెస్, M-BUS, సాఫ్ట్‌వేర్, ఇంప్లిమెంటేషన్, AN451

సూచనలు

వ్యాఖ్యానించండి

మీ ఇమెయిల్ చిరునామా ప్రచురించబడదు. అవసరమైన ఫీల్డ్‌లు గుర్తించబడ్డాయి *