AN451
UTEKELEZAJI WA SOFTWARE YA M-BASI ISIYO NA WAYA
Utangulizi
Dokezo hili la programu linaelezea utekelezaji wa Maabara ya Silicon ya M-Bus isiyotumia waya kwa kutumia Silicon Labs C8051 MCU na EZRadioPRO®. M-bus isiyotumia waya ni Kiwango cha Ulaya kwa programu za usomaji wa mita kwa kutumia bendi ya masafa ya 868 MHz.
Tabaka za Stack
M-Bus isiyotumia waya hutumia modeli ya IEC ya safu-3, ambayo ni sehemu ndogo ya muundo wa OSI wa safu 7 (ona Mchoro 1).
Safu ya Kimwili (PHY) imefafanuliwa katika EN 13757-4. Safu halisi hufafanua jinsi biti zinavyosimbwa na kusambazwa, sifa za modemu ya RF (kiwango cha chip, utangulizi, na neno la ulandanishi), na vigezo vya RF (uwekaji sauti, marudio ya kituo, na mkengeuko wa masafa).
Safu ya PHY inatekelezwa kwa kutumia mchanganyiko wa maunzi na programu dhibiti. EZRadioPRO hufanya kazi zote za RF na modem. EZRadioPRO inatumika katika hali ya FIFO na kidhibiti cha pakiti. Moduli ya MbusPhy.c hutoa kiolesura cha SPI, usimbaji/usimbuaji, zuia usomaji/andika, na ushughulikiaji wa pakiti na kudhibiti hali za kibadilishaji data.
Safu ya kiungo cha Data ya M-Bus inatekelezwa katika moduli ya MbusLink.c. Kiolesura cha Kupanga Programu ya M-Bus kinajumuisha vitendakazi vya umma ambavyo vinaweza kuitwa kutoka kwa safu ya programu kwenye uzi mkuu. Moduli ya MbusLink pia hutekeleza Tabaka la Kiungo cha Data. Safu ya kiungo cha Data itaunda na kunakili data kutoka kwa bafa ya TX ya programu hadi kwenye bafa ya MbusPhy TX, na kuongeza vichwa na CRC zinazohitajika.
Safu ya Programu yenyewe si sehemu ya programu dhibiti ya M-bus. Safu ya programu inafafanua jinsi aina mbalimbali za data zinapaswa kuumbizwa kwa ajili ya usambazaji. Mita nyingi zinahitaji tu kusambaza aina moja au mbili za data. Kuongeza idadi kubwa ya msimbo ili kushughulikia aina yoyote ya data kwenye mita kunaweza kuongeza msimbo na gharama isiyo ya lazima kwenye mita. Inaweza kuwa yakinifu kutekeleza maktaba au kichwa file na orodha kamili ya aina za data. Hata hivyo, wateja wengi wanaopima mita wanajua hasa aina gani ya data wanayohitaji kusambaza na wanaweza kurejelea kiwango cha maelezo ya uumbizaji. Kisomaji cha wote au kinukuzi kinaweza kutekeleza seti kamili ya aina za data ya programu kwenye GUI ya Kompyuta. Kwa sababu hizi, safu ya maombi inatekelezwa kwa kutumia exampmaombi ya mita na msomaji.
Viwango vinavyohitajika
- EN 13757-4
EN 13757-4
Mfumo wa mawasiliano wa mita na usomaji wa mbali wa mita
Sehemu ya 4: Usomaji wa mita isiyotumia waya
Usomaji wa radiometer kwa uendeshaji katika bendi ya 868 MHz hadi 870 MHz SRD - EN 13757-3
Mfumo wa mawasiliano wa mita na usomaji wa mbali wa mita
Sehemu ya 3: Safu maalum ya programu - IEC 60870-2-1:1992
Vifaa na mifumo ya Telecontrol
Sehemu ya 5: Itifaki za uhamishaji
Sehemu ya 1: Utaratibu wa kusambaza kiungo - IEC 60870-1-1:1990
Vifaa na mifumo ya Telecontrol
Sehemu ya 5: Itifaki za uhamishaji
Sehemu ya 1: Miundo ya fremu za usambazaji
Ufafanuzi
- M-Bus-M-Bus ni kiwango cha waya cha usomaji wa mita huko Uropa.
- M-Bus isiyo na waya-M-Bus isiyo na waya kwa programu za kusoma mita huko Uropa.
- PHY-Safu ya Kimwili inafafanua jinsi biti na baiti za data zinavyosimbwa na kusambazwa.
- API-Kiolesura cha Kipanga programu.
- KIUNGO—Safu ya Kiungo cha Data inafafanua jinsi vizuizi na fremu hupitishwa.
- CRC-Ukaguzi wa Upungufu wa Mzunguko.
- FSK-Ufunguo wa Kuhama kwa Mara kwa mara.
- Chipu -Sehemu ndogo zaidi ya data iliyopitishwa. Biti moja ya data imesimbwa kama chip nyingi.
- Moduli-Chanzo cha msimbo wa AC .c file.
M-Bus PHY Maelezo ya Utendaji
Mfuatano wa Dibaji
Mfuatano wa Dibaji uliobainishwa na vipimo vya M-basi ni nambari kamili inayopishana sufuri na zile. A moja inafafanuliwa kama masafa ya juu, na sifuri inafafanuliwa kama masafa ya chini.
nx (01)
Chaguzi za Utangulizi za Si443x ni nambari kamili ya chuchu zinazojumuisha zile zinazopishana na sufuri.
nx (1010)
Dibaji iliyo na inayoongoza ya ziada haitakuwa tatizo, lakini, basi, neno la ulandanishi na mzigo wa malipo ungewekwa vibaya kwa biti moja.
Suluhisho ni kugeuza pakiti nzima kwa kuweka kidogo ya injini kwenye rejista ya Udhibiti wa Modulation 2 (0x71). Hii itageuza utangulizi, neno la kusawazisha, na data ya TX/RX. Kwa hivyo, data inapaswa kugeuzwa wakati wa kuandika data ya TX au kusoma data ya RX. Pia, neno la ulandanishi hugeuzwa kinyume kabla ya kuandika kwa rejista za Si443x Synchronization Word.
Neno la Usawazishaji
Neno la ulandanishi linalohitajika na EN-13757-4 ni chipsi 18 za Mode S na Mode R au chips 10 za Model T. Neno la ulandanishi la Si443x ni baiti 1 hadi 4. Hata hivyo, kwa kuwa neno la ulandanishi daima hutanguliwa na utangulizi, biti sita za mwisho za utangulizi zinaweza kuchukuliwa kuwa sehemu ya neno la ulandanishi; kwa hivyo, neno la kwanza la ulandanishi limeunganishwa na marudio matatu ya sifuri na kufuatiwa na moja. Neno la ulandanishi linakamilishwa kabla ya kuandikia rejista za Si443x.
Jedwali 1. Neno la Usawazishaji kwa Modi S na Modi R
EN 13757-4 | 00 | 01110110 | 10010110 | binary |
00 | 76 | 96 | hex | |
pedi na (01) x 3 | 01010100 | 01110110 | 10010110 | binary |
54 | 76 | 96 | hex | |
kamilisha | 10101011 | 10001001 | 01101001 | binary |
AB | 89 | 69 | hex |
Jedwali 2. Neno la Usawazishaji kwa Modi T Mita hadi Nyingine
SYNCH | SYNCH | SYNCH |
NENO | NENO | NENO |
3 | 2 | 1 |
Sambaza Urefu wa Dibaji
Utangulizi wa chini umebainishwa kwa njia nne tofauti za uendeshaji. Inakubalika kuwa na utangulizi mrefu kuliko ilivyobainishwa. Kutoa chips sita kwa utangulizi kunatoa idadi ya chini kabisa ya chipsi kwa utangulizi wa Si443x. Utekelezaji unaongeza nundu mbili za ziada za utangulizi katika njia zote fupi za utangulizi ili kuboresha utambuzi wa utangulizi na ushirikiano. Dibaji ya Modi S yenye utangulizi mrefu ni ndefu sana; kwa hivyo, utangulizi wa chini kabisa unatumika. Urefu wa utangulizi katika vijisehemu umeandikwa kwa rejista ya Urefu wa Dibaji (0x34). Rejista ya urefu wa dibaji huamua utangulizi juu ya upokezaji pekee. Vipimo vya chini kabisa na mipangilio ya urefu wa dibaji imefupishwa katika Jedwali la 3.
Jedwali 3. Sambaza Urefu wa Dibaji
EN-13757-4 kiwango cha chini |
Si443x Dibaji Kuweka |
Sawazisha Neno |
Jumla | ziada | |||
nx (01) | chips | chuchu | chips | chips | chips | chips | |
Dibaji fupi ya Modi S | 15 | 30 | 8 | 32 | 6 | 38 | 8 |
Dibaji ndefu ya Modi S | 279 | 558 | 138 | 552 | 6 | 558 | 0 |
Njia T (mita-nyingine) | 19 | 38 | 10 | 40 | 6 | 46 | 8 |
Njia ya R | 39 | 78 | 20 | 80 | 6 | 86 | 8 |
Utangulizi wa chini zaidi wa mapokezi huamuliwa na rejista ya Udhibiti wa Ugunduzi wa Dibaji (0x35). Baada ya kupokea, idadi ya biti katika neno la ulandanishi lazima iondolewe kutoka kwa utangulizi wa chini uliobainishwa ili kubainisha dibaji inayoweza kutumika. Muda wa chini zaidi wa kusuluhisha wa mpokeaji ni chipsi 16 ikiwa AFC imewashwa au chips 8 ikiwa AFC imezimwa. Muda wa kusuluhisha wa mpokeaji pia hutolewa kutoka kwa utangulizi unaoweza kutumika ili kubainisha mpangilio wa chini zaidi wa rejista ya Udhibiti wa Ugunduzi wa Dibaji.
Uwezekano wa utangulizi wa uwongo unategemea mpangilio wa rejista ya Udhibiti wa Ugunduzi wa Dibaji. Mpangilio mfupi wa chips 8 unaweza kusababisha utangulizi wa uwongo kugunduliwa kila baada ya sekunde chache. Mipangilio inayopendekezwa ya 20chips hufanya ugunduzi wa utangulizi wa uwongo kuwa tukio lisilowezekana. Urefu wa utangulizi wa Mode R na Mode SL ni mrefu vya kutosha kwa mpangilio unaopendekezwa kutumika.
Kuna manufaa kidogo sana kwa kufanya utangulizi kutambua zaidi ya chips 20.
AFC imezimwa kwa Model S kwa utangulizi mfupi na Model T. Hii hupunguza muda wa kusuluhisha wa mpokeaji na kuruhusu mpangilio mrefu wa kugundua dibaji. AFC ikiwa imezimwa, Mode T inaweza kutumia mipangilio inayopendekezwa ya chips 20. Mpangilio wa nibbles 4 au chips 20 hutumiwa kwa Model S na utangulizi mfupi. Hii hufanya uwezekano wa ugunduzi wa utangulizi wa uwongo kuwa juu kidogo kwa muundo huu.
Jedwali 4. Utambuzi wa Dibaji
EN-13757-4 kiwango cha chini |
Sawazisha Neno |
inaweza kutumika utangulizi |
Kutatua kwa RX | Tambua min |
Si443x Dibaji Kuweka Utambuzi |
|||
nx (01) | chips | chips | chips | chips | chips | chuchu | chips | |
Dibaji fupi ya Modi S | 15 | 30 | 6 | 24 | 8* | 16 | 4 | 16 |
Utangulizi mrefu wa Model S | 279 | 558 | 6 | 552 | 16 | 536 | 5 | 20 |
Mfano T (mita-nyingine) | 19 | 38 | 6 | 32 | 8* | 24 | 5 | 20 |
Njia ya R | 39 | 78 | 6 | 72 | 16 | 56 | 5 | 20 |
*Kumbuka: AFC imezimwa |
Kipokeaji kimeundwa ili kuingiliana na kisambaza data kwa kutumia utangulizi wa chini uliobainishwa. Hii inahakikisha kwamba kipokezi kitashirikiana na kisambaza data chochote kinachotii M-basi.
Vipimo vya M-Bus visivyotumia waya vinahitaji utangulizi mrefu sana wa Modi S1 wa angalau chip 558. Hii itachukua takriban 17 ms ili kusambaza utangulizi. Si443x haihitaji utangulizi mrefu kama huo na hainufaiki na utangulizi mrefu. Ingawa utangulizi mrefu umebainishwa kuwa wa hiari kwa Mode S2, hakuna sababu ya kutumia utangulizi mrefu na Si443x. Ikiwa mawasiliano ya njia moja yanahitajika, Modi T1 itatoa utangulizi mfupi zaidi, kasi ya juu ya data na maisha marefu ya betri. Ikiwa mawasiliano ya njia mbili kwa kutumia Mode S2 inahitajika, utangulizi mfupi unapendekezwa.
Kumbuka kuwa kiwango cha ugunduzi cha Model S kilicho na utangulizi mrefu ni kirefu kuliko idadi ya vijiti vya utangulizi vilivyopitishwa kwa Model S na utangulizi mfupi. Hii ina maana kwamba kipokezi kirefu cha utangulizi cha Modi S haitatambua utangulizi kutoka kwa kisambazaji kifupi cha utangulizi cha Modi S. Hii ni muhimu ikiwa kipokezi kirefu cha utangulizi cha Modi S kitapokea manufaa yoyote kutoka kwa utangulizi mrefu.
Kumbuka kuwa kipokezi kifupi cha utangulizi cha Modi S kitatambua dibaji na kupokea pakiti kutoka kwa utangulizi fupi wa Modi S.
transmita na kisambazaji cha utangulizi cha muda mrefu cha Njia ya S; kwa hivyo, kwa ujumla, msomaji wa mita anapaswa kutumia usanidi fupi wa kipokeaji cha Modi S.
Usimbaji/Usimbuaji
Uainishaji wa basi la M-Wireless unahitaji mbinu mbili tofauti za usimbaji. Usimbaji wa Manchester unatumika kwa Hali S na Mode R. Usimbaji wa Manchester pia unatumika kwa kiungo cha mita nyingine hadi mita katika Model T. Kiungo cha Model T cha mita hadi nyingine hutumia usimbaji 3 kati ya 6.
1. Manchester Iliyosimbwa/Kusimbua
Usimbaji wa Manchester ni wa kawaida kihistoria katika mifumo ya RF ili kutoa ufufuaji na ufuatiliaji wa saa kwa kutumia modemu rahisi na ya bei nafuu. Walakini, redio ya kisasa ya utendaji wa juu kama Si443x haihitaji usimbaji wa Manchester. Usimbaji wa Manchester unatumika kimsingi kwa uoanifu na viwango vilivyopo, lakini kiwango cha data cha Si443x kinaongezwa maradufu wakati hautumii usimbaji wa Manchester.
Si443x inasaidia usimbaji wa Manchester na kusimbua pakiti nzima katika maunzi. Kwa bahati mbaya, neno la ulandanishi halijasimbwa kwa Manchester. Mfuatano batili wa Manchester ulichaguliwa kimakusudi kwa neno la ulandanishi. Hii inafanya usimbaji wa Manchester kutopatana na redio nyingi zilizopo, ikiwa ni pamoja na Si443x. Kwa hivyo, usimbaji na usimbaji wa Manchester lazima ufanywe na MCU. Kila baiti kwenye data ambayo haijasimbwa ina biti nane za data. Kwa kutumia usimbaji wa Manchester, kila biti ya data imesimbwa kuwa ishara ya chip mbili. Kwa kuwa data iliyosimbwa lazima iandikwe kwa redio FIFO chips nane kwa wakati mmoja, nukta moja ya data inasimbwa na kuandikwa kwa FIFO kwa wakati mmoja.
Jedwali 5. Usimbaji wa Manchester
data | Ox12 | 0x34 | baiti | ||
Ox1 | 0x2 | 0x3 | 0x4 | chuchu | |
1 | 10 | 11 | 100 | binary | |
chip | 10101001 | 10100110 | 10100101 | 10011010 | binary |
FIFO | OxA9 | OxA6 | OxA5 | Ox9A | hex |
Kila baiti itakayotumwa hupitishwa kwa baiti moja kwa wakati kwa kazi ya kusimba baiti. Chaguo za kukokotoa za baiti zitaita kitendakazi cha kusimba kitendawili mara mbili, kwanza kwa kidonge muhimu zaidi na kisha kwa kidonge muhimu zaidi.
Manchester encoding katika programu si vigumu. Kuanzia sehemu muhimu zaidi, moja imesimbwa kama mfuatano wa chip "01". Sufuri imesimbwa kama mfuatano wa chip "10". Hii inaweza kukamilishwa kwa urahisi kwa kutumia kitanzi na kuhamisha biti mbili kwa kila ishara. Walakini, ni haraka kutumia tu jedwali rahisi la kuangalia 16 kwa kila chuchu. Usimbaji wa chaguo za kukokotoa za Manchester nibble husimba nundu ya data kisha kuiandika kwa FIFO. Chips hugeuzwa kabla ya kuandikia FIFO ili kutoa hesabu kwa mahitaji ya dibaji yaliyogeuzwa.
Wakati wa kupokea, kila baiti kwenye FIFO huwa na chipsi nane na huamuliwa kuwa nibble moja ya data. Kazi ya kuzuia kusoma inasoma byte moja kwa wakati kutoka kwa FIFO na kuita kazi ya decode byte. Chips hugeuzwa baada ya kusoma kutoka kwa FIFO ili kutoa hesabu kwa mahitaji ya dibaji yaliyogeuzwa. Kila baiti ya chipsi zilizosimbwa za Manchester husimbuliwa kuwa kichache cha data. Nibble iliyosimbuliwa imeandikwa kwa bafa ya RX kwa kutumia kitendakazi cha uandishi wa bafa ya RX.
Tambua kuwa usimbaji na usimbaji unafanywa kwa kutumia data moja kwa wakati mmoja. Usimbaji kwa bafa utahitaji bafa ya ziada mara mbili ya ukubwa wa data ambayo haijasimbwa. Usimbaji na usimbaji ni kasi zaidi kuliko kasi ya kasi ya data inayotumika (chips za k 100 kwa sekunde). Kwa kuwa Si443x inasaidia usomaji wa baiti nyingi na uandishi kwa FIFO, kuna uelekeo mdogo katika kutumia usomaji na uandishi wa baiti moja pekee. Sehemu ya juu ni takriban 10 µs kwa chips 100 zilizosimbwa. Faida ni akiba ya RAM ya ka 512.
2. Usimbaji Tatu Kati ya Sita
Mbinu ya usimbaji Tatu kati ya Sita iliyobainishwa katika EN-13757-4 pia inatekelezwa katika programu dhibiti kwenye MCU. Usimbaji huu unatumika kwa Njia ya T ya kasi ya juu (chips za k 100 kwa sekunde) kutoka mita hadi nyingine. Model T hutoa muda mfupi zaidi wa upokezi na maisha marefu zaidi ya betri kwa mita isiyotumia waya.
Kila baiti ya data itakayotumwa imegawanywa katika vijiti viwili. Nibble muhimu zaidi inasimbwa na kupitishwa kwanza. Tena, hii inatekelezwa kwa kutumia kitendakazi cha encode byte ambacho huita kitendakazi cha encode nibble mara mbili.
Kila ncha ya data imesimbwa kwa ishara ya chip sita. Mlolongo wa alama za chip sita lazima uandikwe kwa 8chip FIFO.
Wakati wa usimbaji, baiti mbili za data husimbwa kama vijiti vinne. Kila nibble ni ishara ya 6-chip. Alama nne za 6chip zimekusanywa kama baiti tatu.
Jedwali 6. Usimbaji Tatu Kati ya Sita
data | 0x12 | 0x34 | baiti | ||||
Ox1 | 0x2 | 0x3 | 0x4 | chuchu | |||
chip | 15 | 16 | 13 | 34 | octal | ||
1101 | 1110 | 1011 | 11100 | binary | |||
FIFO | 110100 | 11100010 | 11011100 | binary | |||
0x34 | OxE2 | OxDC | hex |
Katika programu, encoding tatu-kati ya sita inatekelezwa kwa kutumia kazi tatu zilizowekwa. Kitendakazi cha encode byte kitaita kitendakazi cha encode nibble mara mbili. Chaguo za kukokotoa za nibble hutumia jedwali la kuangalia kwa alama ya chip sita na huandika ishara kwa Shift Tatu kati ya vitendakazi Sita. Chaguo hili la kukokotoa hutekeleza rejista ya mabadiliko ya chip 16 katika programu. Alama imeandikwa kwa baiti ndogo zaidi ya rejista ya mabadiliko. Daftari huhamishwa kushoto mara mbili. Hii inarudiwa mara tatu. Wakati byte kamili iko kwenye byte ya juu ya rejista ya mabadiliko, inageuzwa na kuandikwa kwa FIFO.
Kwa kuwa kila baiti ya data imesimbwa kama baiti moja na nusu iliyosimbwa, ni muhimu kufuta rejista ya mabadiliko hapo awali ili byte ya kwanza iliyosimbwa iwe sahihi. Ikiwa urefu wa pakiti ni nambari isiyo ya kawaida, baada ya kusimba baiti zote, bado kutakuwa na chuchu moja kwenye rejista ya zamu. Hili linashughulikiwa na posta kama ilivyoelezwa katika sehemu inayofuata.
Kusimbua tatu kati ya sita zilizosimbwa ni utaratibu wa kurudi nyuma. Wakati wa kusimbua, baiti tatu zilizosimbwa huwekwa katika baiti mbili za data. Rejesta ya mabadiliko ya programu hutumiwa tena kujumlisha baiti za data iliyosimbuliwa. Jedwali la kuangalia kinyume la ingizo 64 linatumika kusimbua. Hii hutumia mizunguko michache lakini kumbukumbu zaidi ya nambari. Kutafuta jedwali la kuangalia-ingilio 16 kwa ishara inayolingana huchukua muda mrefu zaidi.
Postamble
Vipimo vya basi la M-Wireless vina mahitaji maalum kwa ajili ya posta au trela. Kwa njia zote, kiwango cha chini ni chips mbili, na kiwango cha juu ni chips nane. Kwa kuwa kitengo cha atomiki cha chini kabisa kwa FIFO ni baiti moja, trela ya chip 8 hutumiwa kwa Modi S na Mode R. Mode T postamble ni chips nane ikiwa urefu wa pakiti ni sawa au chips nne ikiwa urefu wa pakiti ni isiyo ya kawaida. Posho ya chipu nne kwa urefu wa pakiti isiyo ya kawaida inakidhi mahitaji ya kuwa na angalau chip mbili zinazopishana.
Jedwali 7. Urefu wa Postamble
Urefu wa Posta (chips) | |||||
min | max | Utekelezaji | mlolongo wa chip | ||
Njia ya S | 2 | 8 | 8 | 1010101 | |
Hali ya T | 2 | 8 | 4 | (isiyo ya kawaida) | 101 |
8 | (hata) | 1010101 | |||
Njia ya R | 2 | 8 | 8 | 1010101 |
Kidhibiti cha Pakiti
Kidhibiti cha pakiti kwenye Si443x kinaweza kutumika katika hali ya upana wa pakiti tofauti au hali ya upana wa pakiti isiyobadilika. Hali ya upana wa pakiti inayobadilika inahitaji baiti ya urefu wa pakiti baada ya neno la ulandanishi na baiti za hiari za vichwa. Baada ya kupokea, Redio itatumia baiti ya urefu kuamua mwisho wa pakiti halali. Inapotumwa, redio itaingiza sehemu ya urefu baada ya baiti za kichwa.
Sehemu ya L ya itifaki ya M-bus isiyo na waya haiwezi kutumika kwa uga wa urefu wa Si443x. Kwanza, uga wa L sio urefu halisi wa pakiti. Ni idadi ya baiti za upakiaji wa safu ya kiungo bila kujumuisha baiti za CRC au usimbaji. Pili, sehemu ya L yenyewe imesimbwa kwa kutumia usimbaji wa Manchester au usimbaji Tatu kati ya Sita wa mita ya Mode T hadi nyingine.
Utekelezaji hutumia kidhibiti cha pakiti katika hali isiyobadilika ya upana wa pakiti kwa usambazaji na upokeaji. Baada ya kutumwa, safu ya PHY itasoma sehemu ya L katika bafa ya kusambaza na kukokotoa idadi ya baiti zilizosimbwa, ikijumuisha posta. Jumla ya idadi ya baiti zilizosimbwa zitatumwa imeandikwa kwenye rejista ya Urefu wa Pakiti (0x3E).
Baada ya kupokea, baiti mbili za kwanza zilizosimbwa huamuliwa, na sehemu ya L imeandikwa kwa bafa ya kupokea. Sehemu ya L inatumika kukokotoa idadi ya baiti zilizosimbwa zitapokelewa. Nambari ya baiti zilizosimbwa zitapokelewa huandikwa kwa rejista ya Urefu wa Pakiti (0x3E). Barua ya posta imetupwa.
MCU lazima isimbue sehemu ya L, ihesabu idadi ya baiti zilizosimbwa, na iandike thamani kwenye rejista ya Urefu wa Pakiti kabla ya urefu mfupi zaidi wa pakiti kupokelewa. Sehemu fupi zaidi inayoruhusiwa ya L kwa safu ya PHY ni 9, ikitoa baiti 12 ambazo hazijasimbwa. Hii inatoa baiti 18 zilizosimbwa kwa Model T. Baiti mbili za kwanza tayari zimesimbuliwa. Kwa hivyo, rejista ya Urefu wa pakiti lazima isasishwe kwa mara 16-baiti kwa kbps 100 au milisekunde 1.28. Hili sio shida kwa 8051 inayoendesha kwa 20 MIP.
Idadi ya baiti zitakazopokelewa haijumuishi posta, isipokuwa kwa positi ya chipu nne inayotumika kwa pakiti za Mode T zenye urefu wa pakiti isiyo ya kawaida. Kwa hivyo, mpokeaji hauhitaji postamble, isipokuwa kwa pakiti za urefu wa Model T isiyo ya kawaida. Posta hii inahitajika tu ili kutoa nambari kamili ya baiti zilizosimbwa. Maudhui ya posta yamepuuzwa; kwa hivyo, ikiwa postamble haijapitishwa, vipande vinne vya kelele vitapokelewa na kupuuzwa. Kwa kuwa jumla ya baiti zilizosimbwa ni 255 (0xFF), utekelezaji huweka mipaka ya upeo wa L-uga kwa aina tofauti.
Jedwali 8. Vikomo vya Ukubwa wa Pakiti
imesimbwa | decoded | M-Basi | ||||
baiti | baiti | Shamba la L | ||||
desemba | hex | desemba | hex | desemba | hex | |
Njia ya S | 255 | FF | 127 | 7 F | 110 | 6E |
Njia T (mita-nyingine) | 255 | FF | 169 | A9 | 148 | 94 |
Njia ya R | 255 | FF | 127 | 7 F | 110 | 6E |
Vikomo hivi kwa kawaida huwa juu ya kipochi cha kawaida cha matumizi ya mita isiyotumia waya. Urefu wa pakiti unapaswa kuwekwa mdogo ili kupata maisha bora ya betri.
Kwa kuongeza, mtumiaji anaweza kubainisha upeo wa juu wa uga wa L ambao unapaswa kupokewa (USER_RX_MAX_L_FIELD). Hii huamua ukubwa unaohitajika wa bafa ya kupokea (USER_RX_BUFFER_SIZE).
Kuruhusu upeo wa L-uga wa 255 utahitaji bafa ya kupokea ya baiti 290 na upeo wa baiti 581 zilizosimbwa za Manchester. Kidhibiti cha pakiti kitahitaji kuzimwa na rejista ya Urefu wa Pakiti haikuweza kutumika katika hali hiyo. Hii inawezekana, lakini ni rahisi zaidi kutumia kidhibiti cha pakiti, ikiwezekana.
Matumizi ya FIFO
Si4431 hutoa FIFO ya byte 64 kwa kusambaza na kupokea. Kwa kuwa idadi ya baiti zilizosimbwa ni 255, pakiti nzima iliyosimbwa inaweza kutoshea ndani ya bafa ya baiti 64.
Uambukizaji
Kwenye maambukizi, jumla ya idadi ya baiti zilizosimbwa huhesabiwa. Ikiwa jumla ya baiti zilizosimbwa, pamoja na posta, ni chini ya ka 64, pakiti nzima imeandikwa kwa FIFO na pakiti iliyotumwa tu kukatizwa imewezeshwa. Pakiti nyingi fupi zitatumwa kwa uhamisho mmoja wa FIFO.
Ikiwa idadi ya baiti zilizosimbwa ni kubwa kuliko 64, uhamishaji mwingi wa FIFO utahitajika ili kutuma pakiti. Biti 64 za kwanza zimeandikwa kwa FIFO. Kifurushi Kilichotumwa na TX FIFO Vikatizo vya Karibu Tupu vimewashwa. Kiwango cha juu cha TX FIFO Karibu Tupu kimewekwa kuwa baiti 16 (25%). Katika kila tukio la IRQ, rejista ya hali ya 2 inasomwa. Biti ya Pakiti Iliyotumwa inaangaliwa kwanza, na, ikiwa pakiti haijatumwa kabisa, byte 48 zifuatazo za data zilizosimbwa zimeandikwa kwa FIFO. Hii inaendelea hadi baiti zote zilizosimbwa zimeandikwa na kukatiza kwa Pakiti Iliyotumwa kutokea.
1. Mapokezi
Kwenye mapokezi, mwanzoni, ni ukatizaji wa Sync Word pekee ndio umewezeshwa. Baada ya kupokea neno la ulandanishi, ukatishaji wa neno la ulandanishi umezimwa na FIFO Karibu kukatiza kumewashwa. Kizingiti cha FIFO karibu kamili kimewekwa kwa baiti 2. FIFO ya kwanza ya kukatiza kwa Karibu Kamili hutumiwa kujua wakati baiti mbili za urefu zimepokelewa. Mara baada ya urefu kupokelewa, urefu hutatuliwa na idadi ya baiti zilizosimbwa huhesabiwa. RX FIFO karibu kizingiti Kamili basi imewekwa kuwa baiti 48. RX FIFO inakaribia kujaa na ukatizaji wa Kifurushi Sahihi umewashwa. Katika tukio linalofuata la IRQ, rejista ya hali ya 1 inasomwa. Kwanza, Pakiti Halali kidogo ni checked, na kisha FIFO Karibu Kamili kidogo ni checked. Ikiwa tu RX FIFO Almost Full bit imewekwa, baiti 48 zinazofuata zitasomwa kutoka kwa FIFO. Ikiwa sehemu halali ya pakiti imewekwa, salio la pakiti linasomwa kutoka kwa FIFO. MCU hufuatilia ni baiti ngapi zimesomwa na huacha kusoma baada ya baiti ya mwisho.
Tabaka la Kuunganisha Data
Moduli ya safu ya kiungo cha data inatekeleza safu ya kiungo inayoambatana na 13757-4:2005. Safu ya kiungo cha data (LINK) hutoa kiolesura kati ya safu halisi (PHY) na safu ya programu (AL).
Safu ya Kiungo cha Data hufanya kazi zifuatazo:
- Hutoa vipengele vinavyohamisha data kati ya PHY na AL
- Huzalisha CRC kwa ujumbe unaotoka
- Hugundua hitilafu za CRC katika ujumbe unaoingia
- Hutoa kushughulikia kimwili
- Inakubali uhamishaji kwa njia za mawasiliano ya pande mbili
- Vipande vya data vya muafaka
- Hugundua hitilafu za kutunga katika ujumbe unaoingia
Umbizo la Muundo wa Safu ya Kiungo
Umbizo la fremu ya M-Bus Isiyotumia Waya inayotumika katika EN 13757-4:2005 imetolewa kutoka kwa umbizo la fremu ya FT3 (Aina ya 3 ya Fremu) kutoka IEC60870-5-2. Fremu ina darubini moja au zaidi ya data. Kila block inajumuisha uga wa 16-bit CRC. Sanduku la kwanza ni kizuizi cha urefu usiobadilika cha baiti 12 ambacho kinajumuisha uwanja wa L, uwanja wa C, uwanja wa M na A-Field.
- Shamba la L
Sehemu ya L ni urefu wa upakiaji wa data ya safu ya Kiungo. Hii haijumuishi sehemu ya L yenyewe au baiti zozote za CRC. Inajumuisha uwanja wa L, uwanja wa C, uwanja wa M, na uwanja wa A. Hizi ni sehemu ya malipo ya PHY.
Kwa sababu idadi ya baiti zilizosimbwa ni baiti 255 pekee, thamani ya juu zaidi inayotumika kwa uga wa M ni baiti 110 kwa data iliyosimbwa ya Manchester na baiti 148 za data iliyosimbwa ya Modi T Tatu-Kati-Sita.
Safu ya Kiungo ina jukumu la kuhesabu sehemu ya L kwenye upitishaji. Safu ya kiungo itatumia sehemu ya L kwenye mapokezi.
Kumbuka sehemu ya L haionyeshi urefu wa upakiaji wa PHY au idadi ya baiti zilizosimbwa. Baada ya kutuma, PHY itakokotoa urefu wa upakiaji wa PHY na idadi ya baiti zilizosimbwa. Baada ya kupokea, PHY itasimbua sehemu ya L na kukokotoa idadi ya baiti ili kusimbua. - C-Shamba
Sehemu ya C ni sehemu ya udhibiti wa fremu. Sehemu hii inabainisha aina ya fremu na inatumika kwa malighafi ya huduma ya kubadilishana data ya kiungo. Sehemu ya C inaonyesha aina ya fremu - TUMA, THIBITISHA, OMBA, au JIBU. Katika hali ya fremu za TUMA na OMBA, sehemu ya C inaonyesha kama THIBITISHO au JIBU inatarajiwa.
Unapotumia kitendakazi cha msingi cha Link TX, thamani yoyote ya C inaweza kutumika. Unapotumia Kanuni za Huduma za Kiungo, uga wa C huwekwa kiotomatiki kulingana na EN 13757-4:2005. - M-Shamba
Sehemu ya M ni msimbo wa mtengenezaji. Watengenezaji wanaweza kuomba msimbo wa herufi tatu kutoka kwa zifuatazo web anwani: http://www.dlms.com/flag/INDEX.HTM Kila herufi ya msimbo wa herufi tatu imesimbwa kama biti tano. Msimbo wa 5-bit unaweza kupatikana kwa kuchukua msimbo wa ASCII na kutoa 0x40 ("A"). Misimbo mitatu ya biti-5 imeunganishwa ili kutengeneza biti-15. Kitu muhimu zaidi ni sifuri. - A-Shamba
Sehemu ya anwani ni anwani ya kipekee ya baiti 6 kwa kila kifaa. Anwani ya kipekee inapaswa kupewa na mtengenezaji. Ni jukumu la kila mtengenezaji kuhakikisha kuwa kila kifaa kina anwani ya kipekee ya 6-baiti. Anwani ya fremu za Tuma na Ombi ni anwani ya kibinafsi ya mita au kifaa kingine. Fremu za data za uthibitisho na majibu hutumwa kwa kutumia anwani ya kifaa asili. - CI-Field
Sehemu ya CI ndio kichwa cha programu na hubainisha aina ya data katika upakiaji wa data ya programu. Ingawa EN13757-4:2005 inabainisha idadi ndogo ya thamani, Kanuni za Huduma za Kiungo zitaruhusu thamani yoyote kutumika. - CRC
CRC imebainishwa katika EN13757-4:2005.
CRC Polynomial ni:
X16 + x13 + x12 + x11 + x10 + x8 +x6 + x5 +x2 + 1
Kumbuka kuwa M-Bus CRC imekokotolewa kwa kila kizuizi cha baiti 16. Matokeo yake ni kwamba kila baiti 16 za data zinahitaji baiti 18 kupitishwa,
Maelezo ya Ziada
Kwa maelezo ya ziada kuhusu Utekelezaji wa Tabaka la Kiungo, angalia "AN452: Mwongozo wa Watengenezaji Rafu wa M-Bus Waya".
Usimamizi wa Nguvu
Mchoro wa 2 unaonyesha ratiba ya usimamizi wa nguvu kwa mita ya zamaniampkwa kutumia Modi T1.
MCU inapaswa kuwa katika hali ya Kulala kila inapowezekana ili kuhifadhi nishati. Katika hii exampna, MCU hulala wakati RTC inapofanya kazi, inapongojea kuanza kwa kioo cha redio, na inapotuma kutoka FIFO. MCU itaamka kutoka kwa ishara ya EZRadioPRO IRQ iliyounganishwa na kuamsha Mechi ya Bandari.
Wakati wa kutuma ujumbe mrefu zaidi ya kizuizi kimoja, MCU lazima iamke ili kujaza FIFO (kulingana na FIFO karibu kukatiza tupu) na kisha kulala tena.
MCU inapaswa kuwa katika hali ya Kutofanya kitu inayoendeshwa kutoka kwa kisisitizo cha nishati ya chini au kisisitizo cha hali ya mlipuko wakati wa kusoma kutoka kwa ADC. ADC inahitaji saa ya SAR.
Wakati haitumiki, EZRadioPRO inapaswa kuwa katika hali ya Kuzima na pini ya SDN inaendeshwa juu. Hii inahitaji muunganisho wa waya kwa MCU. Rejesta za EZ Radio Pro hazijahifadhiwa katika hali ya kuzima; kwa hivyo, EZRadioPro inaanzishwa kwa kila muda wa RTC. Kuanzisha Redio huchukua chini ya 100 µs na huhifadhi 400 nA. Hii inasababisha kuokoa nishati ya 10 µJ, kulingana na muda wa sekunde 10.
Kioo cha EZRadioPRO huchukua takriban ms 16 kwa POR. Hii inatosha kukokotoa CRC kwa takriban vitalu vinane. MCU italala tena ikiwa itakamilisha CRC zote kabla fuwele haijatulia. Ikiwa usimbaji fiche unahitajika, pia unaweza kuanza wakati wa kusubiri kwenye oscillator ya fuwele.
MCU inapaswa kukimbia kwa 20 MHz kwa kutumia oscillator ya nguvu ya chini kwa kazi nyingi. Majukumu yanayohitaji muda mahususi wa kuisha lazima yatumie kinyasaji cha usahihi na hali ya kutofanya kitu badala ya hali ya kulala. RTC hutoa azimio la kutosha kwa kazi nyingi. Ratiba ya usimamizi wa nishati ya zamani ya mita T2ampmaombi yanaonyeshwa kwenye Mchoro 3.
Utekelezaji wa transceiver unapaswa kuboreshwa kwa kesi ya kawaida wakati mita inaamka na hakuna msomaji aliyepo. Muda wa chini/upeo zaidi wa kuisha kwa ACK ni mrefu vya kutosha hivi kwamba inawezekana kutumia C8051F930 RTC na kuweka MCU katika hali ya usingizi.
Chaguo za uundaji hutolewa kwa mtandao mkuu au visomaji vinavyotumia USB ambavyo havihitaji kutumia hali ya kulala. Hali ya kutofanya kitu itatumika badala ya kulala ili USB na UART zikatiza MCU.
Studio ya Unyenyekevu
Ufikiaji wa MCU na zana zisizotumia waya kwa mbofyo mmoja, uhifadhi wa hati, programu, maktaba ya msimbo wa chanzo na zaidi. Inapatikana kwa Windows,
Mac na Linux!
![]() |
![]() |
![]() |
![]() |
Kwingineko ya IoT www.silabs.com/IoT |
SW/HW www.silabs.com/simplicity |
Ubora www.silabs.com/quality |
Msaada na Jumuiya jamii.silabs.com |
Kanusho
Silicon Labs inakusudia kuwapa wateja hati za hivi punde, sahihi, na za kina za vifaa vya pembeni na moduli zote zinazopatikana kwa watekelezaji wa mfumo na programu wanaotumia au wanaokusudia kutumia bidhaa za Silicon Labs. Data ya wahusika, moduli na viambajengo vinavyopatikana, ukubwa wa kumbukumbu na anwani za kumbukumbu hurejelea kila kifaa mahususi, na vigezo vya "Kawaida" vinavyotolewa vinaweza na kutofautiana katika programu mbalimbali. Maombi kwa mfanoampvilivyofafanuliwa hapa ni kwa madhumuni ya kielelezo pekee. Silicon Labs inahifadhi haki ya kufanya mabadiliko bila ilani zaidi na kizuizi kwa maelezo ya bidhaa, vipimo, na maelezo humu, na haitoi dhamana kuhusu usahihi au ukamilifu wa maelezo yaliyojumuishwa. Maabara ya Silicon hayatakuwa na dhima kwa matokeo ya matumizi ya habari iliyotolewa humu. Hati hii haimaanishi au kueleza leseni za hakimiliki zilizotolewa hapa chini ili kubuni au kutengeneza saketi zilizounganishwa. Bidhaa hazijaundwa au kuidhinishwa kutumika ndani ya Mfumo wowote wa Usaidizi wa Maisha bila idhini maalum iliyoandikwa ya Silicon Labs. "Mfumo wa Usaidizi wa Maisha" ni bidhaa au mfumo wowote unaokusudiwa kusaidia au kudumisha maisha na/au afya, ambayo, ikiwa itashindwa, inaweza kutarajiwa kusababisha majeraha makubwa ya kibinafsi au kifo. Bidhaa za Silicon Labs hazijaundwa au kuidhinishwa kwa matumizi ya kijeshi. Bidhaa za Silicon Labs hazitatumika kwa hali yoyote katika silaha za maangamizi makubwa ikijumuisha (lakini sio tu) silaha za nyuklia, kibayolojia au kemikali, au makombora yanayoweza kutoa silaha kama hizo.
Taarifa za Alama ya Biashara
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs®, na nembo ya Silicon Labs®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember® , Nembo ya Energy Micro, Energy Micro na michanganyiko yake, "vidhibiti vidogo vilivyo rafiki zaidi duniani", Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY® , Telegesis, Telegesis Logo®, USBXpress®, na nyinginezo ni alama za biashara au alama za biashara zilizosajiliwa za Silicon Labs. ARM, CORTEX, Cortex-M3, na vidole gumba ni alama za biashara au alama za biashara zilizosajiliwa za ARM Holdings. Keil ni chapa ya biashara iliyosajiliwa ya ARM Limited. Bidhaa zingine zote au majina ya chapa yaliyotajwa hapa ni alama za biashara za wamiliki husika.
Kampuni ya Silicon Laboratories Inc.
400 Magharibi Cesar Chavez
Austin, TX 78701
Marekani
http://www.silabs.com
Nyaraka / Rasilimali
![]() |
SILICON LABS Utekelezaji wa Programu Isiyo na Waya ya M-BUS AN451 [pdf] Mwongozo wa Mtumiaji SILICON LABS, C8051, MCU, na, EZRadioPRO, M-basi isiyotumia waya, Isiyo na waya, M-BUS, Programu, Utekelezaji, AN451 |