AN451
IMPLIMENTAZZJONI TA' SOFTWARE MINGĦAJR FIL-M-BUS
Introduzzjoni
Din in-nota ta 'applikazzjoni tiddeskrivi l-implimentazzjoni ta' Silicon Labs ta 'Wireless M-Bus bl-użu ta' Silicon Labs C8051 MCU u EZRadioPRO®. Wireless M-bus huwa Standard Ewropew għall-applikazzjonijiet tal-qari tal-meter li jużaw il-medda ta 'frekwenza ta' 868 MHz.
Munzell Saffi
Wireless M-Bus juża l-mudell IEC bi 3 saffi, li huwa subsett tal-mudell OSI b'7 saffi (ara l-Figura 1).
Is-saff Fiżiku (PHY) huwa definit fl-EN 13757-4. Is-saff fiżiku jiddefinixxi kif il-bits huma kodifikati u trażmessi, il-karatteristiċi tal-modem RF (rata taċ-ċippa, preambolu, u kelma ta 'sinkronizzazzjoni), u parametri RF (modulazzjoni, frekwenza ċentrali, u devjazzjoni tal-frekwenza).
Is-saff PHY huwa implimentat bl-użu ta 'kombinazzjoni ta' ħardwer u firmware. L-EZRadioPRO iwettaq il-funzjonijiet kollha RF u modem. L-EZRadioPRO jintuża fil-modalità FIFO mal-packet handler. Il-modulu MbusPhy.c jipprovdi interface SPI, kodifikazzjoni/dekodifikazzjoni, qari/kitba tal-blokki, u mmaniġġjar tal-pakketti u jimmaniġġja l-istati tat-transceiver.
Is-saff tal-link tad-Data M-Bus huwa implimentat fil-modulu MbusLink.c. L-interface tal-Programmazzjoni tal-Applikazzjoni M-Bus tikkonsisti f'funzjonijiet pubbliċi li jistgħu jissejħu mis-saff tal-applikazzjoni fil-ħajt prinċipali. Il-modulu MbusLink jimplimenta wkoll id-Data Link Layer. Is-saff tal-link tad-Data se jifformattja u jikkopja d-dejta mill-buffer TX tal-applikazzjoni għall-buffer MbusPhy TX, u jżid il-headers u CRCs meħtieġa.
Is-saff tal-Applikazzjoni innifsu mhuwiex parti mill-firmware M-bus. Is-saff tal-applikazzjoni jiddefinixxi kif varjetà wiesgħa ta' data għandha tiġi fformattjata għat-trażmissjoni. Il-biċċa l-kbira tal-miters jeħtieġu biss li jittrasmettu tip wieħed jew tnejn ta' data. Iż-żieda ta 'ammont kbir ta' kodiċi biex takkomoda kwalunkwe tip ta 'dejta mal-meter iżżid kodiċi bla bżonn u spejjeż għall-meter. Jista' jkun fattibbli li tiġi implimentata librerija jew header file b'lista eżawrjenti ta' tipi ta' data. Madankollu, il-biċċa l-kbira tal-klijenti tal-metraġġ jafu eżattament x'tip ta 'dejta għandhom bżonn jittrasmettu u jistgħu jirreferu għall-istandard għad-dettalji tal-ifformattjar. Qarrej jew sniffer universali jista' jimplimenta sett komplut ta' tipi ta' data ta' applikazzjoni fuq il-PC GUI. Għal dawn ir-raġunijiet, is-saff tal-applikazzjoni huwa implimentat bl-użu example applikazzjonijiet għal meter u reader.
Standards Meħtieġa
- EN 13757-4
EN 13757-4
Sistema ta' komunikazzjoni għall-miters u qari mill-bogħod tal-meters
Parti 4: Qari tal-miter bla fili
Qari tar-radjometru għat-tħaddim fil-medda SRD 868 MHz sa 870 MHz - EN 13757-3
Sistema ta' komunikazzjoni għall-miters u qari mill-bogħod tal-meters
Parti 3: Saff ta 'applikazzjoni dedikat - IEC 60870-2-1:1992
Tagħmir u sistemi ta' telekontroll
Parti 5: Protokolli ta' trażmissjoni
Taqsima 1:Proċedura ta' trażmissjoni tal-link - IEC 60870-1-1:1990
Tagħmir u sistemi ta' telekontroll
Parti 5: Protokolli ta' trażmissjoni
Taqsima 1: Formati tal-qafas tat-trażmissjoni
Definizzjonijiet
- M-Bus—M-Bus huwa standard bil-fili għall-qari tal-miter fl-Ewropa.
- M-Bus bla fili—M-Bus mingħajr fili għall-applikazzjonijiet tal-qari tal-miter fl-Ewropa.
- PHY—Saff Fiżiku jiddefinixxi kif il-bits u l-bytes tad-data huma kodifikati u trażmessi.
- API—Interface tal-Programmatur tal-Applikazzjoni.
- LINK—Saff ta' Link tad-Data jiddefinixxi kif il-blokki u l-frejms jiġu trażmessi.
- CRC—Kontroll ta' Redundancy Ċikliku.
- FSK—Frekwenza Shift Keying.
- Ċip—L-iżgħar unità ta' data trażmessa. Bit tad-data wieħed huwa kodifikat bħala ċipep multipli.
- Modulu—Sors tal-kodiċi AC .c file.
Deskrizzjoni Funzjonali M-Bus PHY
Preambolu Sekwenza
Is-sekwenza tal-Preambolu speċifikata mill-ispeċifikazzjoni tal-M-bus hija numru sħiħ li jalterna żero u wieħed. Wieħed huwa definit bħala l-frekwenza ogħla, u żero huwa definit bħala l-frekwenza aktar baxxa.
nx (01)
L-għażliet tal-Preambolu għas-Si443x huwa numru sħiħ ta 'nibbles li jikkonsisti f'dawk li jalternaw u żero.
nx (1010)
Preambolu b'wieħed ewlieni żejjed ma jkunx problema, iżda, imbagħad, il-kelma ta 'sinkronizzazzjoni u t-tagħbija tkun allinjata ħażin b'bit wieħed.
Is-soluzzjoni hija li taqleb il-pakkett kollu billi tissettja l-bit tal-magna fir-reġistru tal-Kontroll tal-Modulazzjoni 2 (0x71). Dan se jaqleb il-preambolu, il-kelma tas-sinkronizzazzjoni, u d-dejta TX/RX. Bħala konsegwenza, id-dejta għandha tkun maqluba meta tikteb id-dejta TX jew taqra d-dejta RX. Ukoll, il-kelma ta 'sinkronizzazzjoni hija maqluba qabel ma tikteb fir-reġistri tal-Kelma ta' Sinkronizzazzjoni Si443x.
Kelma ta' Sinkronizzazzjoni
Il-kelma ta 'sinkronizzazzjoni meħtieġa minn EN-13757-4 hija jew 18-il ċipep għall-Modalità S u l-Modalità R jew 10 ċipep għall-Mudell T. Il-kelma ta' sinkronizzazzjoni għas-Si443x hija minn 1 sa 4 bytes. Madankollu, peress li l-kelma ta 'sinkronizzazzjoni hija dejjem preċeduta mill-preambolu, l-aħħar sitt bits tal-preambolu jistgħu jitqiesu bħala parti mill-kelma ta' sinkronizzazzjoni; għalhekk, l-ewwel kelma ta 'sinkronizzazzjoni hija kkuttunata bi tliet repetizzjonijiet ta' żero segwiti minn waħda. Il-kelma ta 'sinkronizzazzjoni hija kkumplimentata qabel ma tikteb fir-reġistri Si443x.
Tabella 1. Kelma ta' Sinkronizzazzjoni għall-Modalità S u l-Modalità R
EN 13757-4 | 00 | 01110110 | 10010110 | binarju |
00 | 76 | 96 | hex | |
kuxxinett bi (01) x 3 | 01010100 | 01110110 | 10010110 | binarju |
54 | 76 | 96 | hex | |
jikkumplimentaw | 10101011 | 10001001 | 01101001 | binarju |
AB | 89 | 69 | hex |
Tabella 2. Kelma ta' Sinkronizzazzjoni għal Mode T Meter għal Oħrajn
SYNCH | SYNCH | SYNCH |
KELMA | KELMA | KELMA |
3 | 2 | 1 |
Ittrasmetti Preambolu Tul
Il-preambolu minimu huwa speċifikat għal erba' modi operattivi differenti. Huwa aċċettabbli li jkun hemm preambolu itwal minn dak speċifikat. It-tnaqqis ta 'sitt ċipep għall-preambolu jagħti n-numru minimu ta' ċipep għall-preambolu Si443x. L-implimentazzjoni żżid żewġ nibbles żejda ta 'preambolu fil-modi kollha ta' preambolu qasir biex ittejjeb l-iskoperta u l-interoperabbiltà tal-preambolu. Il-preambolu fuq Mode S b'preambolu twil huwa twil ħafna; għalhekk, jintuża l-preambolu minimu. It-tul tal-preambolu fi nibbles huwa miktub fir-reġistru tat-Tul tal-Preambolu (0x34). Ir-reġistru tat-tul tal-preambolu jiddetermina l-preambolu mat-trażmissjoni biss. L-ispeċifikazzjoni minima u l-issettjar tat-tul tal-preambolu huma miġbura fil-qosor fit-Tabella 3.
Tabella 3. Tul tal-preambolu tat-trażmissjoni
EN-13757-4 minimu |
Si443x Preambolu Issettja ing |
Sinkronizzazzjoni Kelma |
Total | extra | |||
nx (01) | ċipep | nibbles | ċipep | ċipep | ċipep | ċipep | |
Mode S preambolu qasir | 15 | 30 | 8 | 32 | 6 | 38 | 8 |
Mode S preambolu twil | 279 | 558 | 138 | 552 | 6 | 558 | 0 |
Modalità T (miter-ieħor) | 19 | 38 | 10 | 40 | 6 | 46 | 8 |
Modalità R | 39 | 78 | 20 | 80 | 6 | 86 | 8 |
Il-preambolu minimu għar-riċeviment huwa ddeterminat mir-reġistru tal-Kontroll tas-Sejbien tal-Preambolu (0x35). Mal-wasla, in-numru ta 'bits fil-kelma sync għandu jitnaqqas mill-preambolu minimu speċifikat biex jiġi ddeterminat il-preambolu li jista' jintuża. Il-ħin minimu ta' settlement tar-riċevitur huwa 16-chips jekk AFC hija attivata jew 8-chips jekk AFC hija diżattivata. Il-ħin tal-issetiljar tar-riċevitur jitnaqqas ukoll mill-preambolu li jista' jintuża biex jiġi ddeterminat l-issettjar minimu għar-reġistru tal-Kontroll tas-Sejbien tal-Preambolu.
Il-probabbiltà ta' preambolu falz tiddependi fuq l-issettjar tar-reġistru tal-Kontroll tas-Sejbien tal-Preambolu. Setting qasir ta '8-chips jista' jirriżulta fi preambolu falz skopert kull ftit sekondi. L-issettjar rakkomandat ta '20chips jagħmel sejbien ta' preambolu falz avveniment improbabbli. It-tulijiet tal-preambolu għall-Modalità R u l-Modalità SL huma twal biżżejjed biex jintuża l-issettjar rakkomandat.
Ftit li xejn hemm benefiċċju biex il-preambolu jiskopri aktar minn 20 ċipep.
L-AFC huwa diżattivat għall-Mudell S b'preambolu qasir u l-Mudell T. Dan inaqqas il-ħin tal-issetiljar tar-riċevitur u jippermetti setting ta' skoperta ta' preambolu itwal. B'AFC diżattivat, Modalità T tista 'tuża l-issettjar rakkomandat ta' 20 ċippa. Issettjar ta '4 nibbles jew 20 ċipep jintuża għall-Mudell S bi preambolu qasir. Dan jagħmel il-probabbiltà ta' sejbien ta' preambolu falz kemmxejn ogħla għal dan il-mudell.
Tabella 4. Preambolu Sejbien
EN-13757-4 minimu |
Sinkronizzazzjoni Kelma |
użabbli preambolu |
RX Soluzzjoni | Issib min |
Si443x Preambolu L-issettjar tas-sejbien |
|||
nx (01) | ċipep | ċipep | ċipep | ċipep | ċipep | nibbles | ċipep | |
Mode S preambolu qasir | 15 | 30 | 6 | 24 | 8* | 16 | 4 | 16 |
Preambolu twil Mudell S | 279 | 558 | 6 | 552 | 16 | 536 | 5 | 20 |
Mudell T (miter-ieħor) | 19 | 38 | 6 | 32 | 8* | 24 | 5 | 20 |
Modalità R | 39 | 78 | 6 | 72 | 16 | 56 | 5 | 20 |
*Nota: AFC diżattivat |
Ir-riċevitur huwa kkonfigurat biex jaħdem ma' trasmettitur bl-użu tal-preambolu minimu speċifikat. Dan jiżgura li r-riċevitur se jaħdem ma' kwalunkwe trasmettitur konformi mal-M-bus.
L-ispeċifikazzjoni Wireless M-Bus teħtieġ preambolu twil ħafna għall-Modalità S1 ta 'mill-inqas 558 ċipep. Dan se jieħu madwar 17 ms biss biex jittrasmetti l-preambolu. Is-Si443x ma jeħtieġx preambolu twil bħal dan u ma jibbenefikax mill-preambolu twil. Filwaqt li l-preambolu twil huwa nnutat bħala fakultattiv għall-Modalità S2, m'hemm l-ebda raġuni biex jintuża preambolu twil mas-Si443x. Jekk tkun mixtieqa komunikazzjoni one-way, il-Modalità T1 se tipprovdi preambolu iqsar, rata ogħla tad-dejta, u ħajja itwal tal-batterija. Jekk tkun meħtieġa komunikazzjoni bidirezzjonali bl-użu tal-Mod S2, huwa rakkomandat preambolu qasir.
Innota li l-limitu ta 'skoperta għall-Mudell S b'preambolu twil huwa itwal min-numru ta' nibbles tal-preambolu trażmessi għall-Mudell S b'preambolu qasir. Dan ifisser li r-riċevitur Mode S tal-preambolu twil mhux se jikxef preambolu minn trasmettitur Mode S ta' preambolu qasir. Dan huwa meħtieġ jekk ir-riċevitur Mod S tal-preambolu twil irid jirċievi xi benefiċċju mill-preambolu twil.
Innota li r-riċevitur tal-preambolu qasir Mode S se jiskopri l-preambolu u jirċievi pakketti kemm minn preambolu qasir Mode S
trasmettitur u trasmettitur Mode S fit-tul; għalhekk, b'mod ġenerali, il-qarrej tal-meter għandu juża l-konfigurazzjoni tar-riċevitur Mode S tal-preambolu qasir.
Kodifikazzjoni/Dekodifikazzjoni
L-ispeċifikazzjoni Wireless M-bus teħtieġ żewġ metodi ta 'kodifikazzjoni differenti. Il-kodifikazzjoni ta' Manchester tintuża għall-Modalità S u l-Modalità R. L-kodifikazzjoni ta' Manchester tintuża wkoll għall-link minn ieħor għal metru fil-Mudell T. Il-kodifikazzjoni ta' metru għal oħra tal-Mudell T tuża 3 minn 6 kodifikazzjonijiet.
1. Manchester Encoded/Dekodifikazzjoni
Il-kodifikazzjoni ta' Manchester hija storikament komuni f'sistemi RF biex tipprovdi rkupru u traċċar robust ta' l-arloġġ bl-użu ta' modem sempliċi u rħas. Madankollu, radju modern ta 'prestazzjoni għolja bħas-Si443x m'għandux bżonn kodifikazzjoni ta' Manchester. Il-kodifikazzjoni ta 'Manchester hija appoġġjata primarjament għall-kompatibilità ma' standards eżistenti, iżda r-rata tad-dejta għas-Si443x hija effettivament irduppjata meta ma tużax l-kodifikazzjoni ta 'Manchester.
Is-Si443x jappoġġja l-kodifikazzjoni u d-dekodifikazzjoni ta 'Manchester tal-pakkett kollu fil-ħardwer. Sfortunatament, il-kelma ta 'sinkronizzazzjoni mhix kodifikata ta' Manchester. Sekwenza ta' Manchester invalida ntgħażlet intenzjonalment għall-kelma ta' sinkronizzazzjoni. Dan jagħmel il-kodifikazzjoni ta' Manchester inkompatibbli mal-biċċa l-kbira tar-radjijiet eżistenti, inkluż is-Si443x. Bħala konsegwenza, il-kodifikazzjoni u d-dekodifikazzjoni ta 'Manchester għandhom jitwettqu mill-MCU. Kull byte fuq data mhux kodifikata tikkonsisti fi tmien bits tad-data. Bl-użu ta' kodifikazzjoni ta' Manchester, kull bit tad-data huwa kkodifikat f'simbolu b'żewġ ċipep. Peress li d-dejta kodifikata trid tinkiteb fir-radju FIFO tmien ċipep kull darba, nibble wieħed ta 'dejta huwa kkodifikat u miktub lill-FIFO kull darba.
Tabella 5. Kodifikazzjoni ta' Manchester
data | Ox12 | 0x34 | bytes | ||
Ox1 | 0x2 | 0x3 | 0x4 | nibbles | |
1 | 10 | 11 | 100 | binarju | |
ċippa | 10101001 | 10100110 | 10100101 | 10011010 | binarju |
FIFO | OxA9 | OxA6 | OxA5 | Ox9A | hex |
Kull byte li għandu jiġi trażmess jiġi mgħoddi byte wieħed kull darba lill-funzjoni tal-kodifika tal-byte. Il-funzjoni tal-kodifika tal-byte se ssejjaħ il-funzjoni tal-kodifika nibble darbtejn, l-ewwel għall-nibble l-aktar sinifikanti u mbagħad għall-nibble l-inqas sinifikanti.
Il-kodifikazzjoni ta' Manchester fis-softwer mhix diffiċli. Nibda mill-aktar bit sinifikanti, wieħed huwa kodifikat bħala sekwenza taċ-ċippa "01". Żero huwa kodifikat bħala sekwenza taċ-ċippa "10". Dan jista 'jsir faċilment bl-użu ta' loop u ċaqliq ta 'żewġ bits għal kull simbolu. Madankollu, huwa aktar mgħaġġel li tuża sempliċiment tabella ta 'tfittxija ta' 16-il dħul għal kull nibble. Il-funzjoni nibble ta' Manchester tikkodifika nibble ta' data imbagħad tiktebha lill-FIFO. Iċ-ċipep huma maqluba qabel ma jiktbu lill-FIFO biex jagħtu kont tar-rekwiżiti tal-preambolu maqlub.
Meta tirċievi, kull byte fil-FIFO jikkonsisti fi tmien ċipep u huwa dekodifikat f'nibble wieħed ta 'data. Il-funzjoni tal-blokk tal-qari taqra byte wieħed kull darba mill-FIFO u ssejjaħ il-funzjoni tal-byte tad-decode. Iċ-ċipep huma maqluba wara l-qari mill-FIFO biex jagħtu kont tar-rekwiżiti tal-preambolu maqlubin. Kull byte ta 'ċipep kodifikati Manchester huwa dekodifikat fi nibble ta' data. Il-nibble dekodifikat jinkiteb fil-buffer RX bl-użu tal-funzjoni tal-buffer RX nibble tal-kitba.
Avviż li kemm kodifikati kif ukoll dekodifikazzjoni huma mwettqa nibble data waħda kull darba fuq il-fly. Kodifikazzjoni għal buffer tkun teħtieġ buffer addizzjonali darbtejn id-daqs tad-dejta mhux kodifikata. Il-kodifikazzjoni u d-dekodifikazzjoni huma ħafna aktar mgħaġġla mir-rata tad-dejta appoġġjata l-aktar mgħaġġla (100 k ċipep kull sekonda). Peress li s-Si443x jappoġġja jaqra u jikteb b'byte multipli lill-FIFO, hemm overhead żgħir fl-użu ta 'qari u jikteb b'byte wieħed biss. L-overhead huwa ta' madwar 10 µs għal 100 ċippa kodifikata. Il-benefiċċju huwa tfaddil RAM ta '512 bytes.
2. Tlieta minn Sitt Kodifikazzjoni Dekodifikazzjoni
Il-metodu ta 'kodifikazzjoni Tliet minn Sitt speċifikat f'EN-13757-4 huwa implimentat ukoll fil-firmware fuq l-MCU. Din il-kodifikazzjoni tintuża għall-Modalità T ta' veloċità għolja (100 k ċipep kull sekonda) minn metru għal ieħor. Mudell T jipprovdi l-iqsar ħin ta 'trasmissjoni u l-itwal ħajja tal-batterija għal miter mingħajr fili.
Kull byte ta 'data li għandha tiġi trażmessa hija maqsuma f'żewġ nibbles. L-aktar nibble sinifikanti huwa kodifikat u trażmess l-ewwel. Għal darb'oħra, dan huwa implimentat bl-użu ta 'funzjoni ta' encode byte li ssejjaħ il-funzjoni nibble encode darbtejn.
Kull nibble ta 'data hija kodifikata f'simbolu ta' sitt ċippa. Is-sekwenza ta 'simboli ta' sitt ċippa trid tinkiteb lill-FIFO 8chip.
Matul il-kodifikazzjoni, żewġ bytes ta 'data huma kodifikati bħala erba' nibbles. Kull nibble huwa simbolu ta '6 ċippa. Erba 'simboli 6chip huma aggregati bħala tliet bytes.
Tabella 6. Tlieta minn Sitt Kodifikazzjoni
data | 0x12 | 0x34 | bytes | ||||
Ox1 | 0x2 | 0x3 | 0x4 | nibbles | |||
ċippa | 15 | 16 | 13 | 34 | ottali | ||
1101 | 1110 | 1011 | 11100 | binarju | |||
FIFO | 110100 | 11100010 | 11011100 | binarju | |||
0x34 | OxE2 | OxDC | hex |
Fis-softwer, il-kodifikazzjoni ta 'tlieta minn sitta hija implimentata bl-użu ta' tliet funzjonijiet nested. Il-funzjoni tal-kodifika tal-byte se ssejjaħ il-funzjoni nibble tal-kodifika darbtejn. Il-funzjoni nibble encode tuża tabella ta 'ħarsa għas-simbolu ta' sitt ċippa u tikteb is-simbolu fil-funzjonijiet Shift Three minn Sitt. Din il-funzjoni timplimenta reġistru tal-bidla b'16-il ċippa fis-softwer. Is-simbolu jinkiteb fil-byte l-inqas sinifikanti tar-reġistru taċ-ċaqliq. Ir-reġistru huwa mċaqlaq lejn ix-xellug darbtejn. Dan huwa ripetut tliet darbiet. Meta byte komplut ikun preżenti fil-byte ta 'fuq tar-reġistru tal-bidla, huwa maqlub u miktub lill-FIFO.
Peress li kull byte ta 'data huwa kodifikat bħala byte wieħed u nofs kodifikat, huwa importanti li r-reġistru tal-bidla fil-bidu jiġi ikklerjat sabiex l-ewwel byte kodifikat ikun korrett. Jekk it-tul tal-pakkett huwa numru fard, wara li jiġu kodifikati l-bytes kollha, xorta jibqa' nibble wieħed fir-reġistru tal-bidla. Dan jiġi ttrattat bil-postamble kif spjegat fit-taqsima li jmiss.
Id-dekodifikazzjoni tat-tlieta minn sitta kodifikata hija l-proċedura inversa. Meta tiġi dekodifikata, tliet bytes kodifikati huma dekodifikati f'żewġ bytes tad-dejta. Ir-reġistru tal-bidla tas-softwer jerġa' jintuża biex jinġabar bytes ta' data dekodifikata. Tabella ta' ħarsa inversa b'64 entrata tintuża għad-dekodifikazzjoni. Dan juża inqas ċikli iżda aktar memorja tal-kodiċi. It-tfittxija f'tabella ta' ħarsa b'16-il entrata għas-simbolu korrispondenti tieħu ħafna aktar żmien.
Postamble
L-ispeċifikazzjoni Wireless M-bus għandha rekwiżiti speċifiċi għall-postamble jew il-karru. Għall-modi kollha, il-minimu huwa żewġ ċipep, u l-massimu huwa tmien ċipep. Peress li l-unità atomika minima għall-FIFO hija byte wieħed, karru 8-chip jintuża għall-Modalità S u l-Modalità R. Il-Postamble Modalità T huwa ta 'tmien ċipep jekk it-tul tal-pakkett ikun saħansitra jew erba' ċipep jekk it-tul tal-pakkett huwa fard. Il-postamble ta 'erba' ċippa għal tul ta 'pakkett fard jissodisfa r-rekwiżiti li jkun hemm mill-inqas żewġ ċipep alternanti.
Tabella 7. Tul wara l-amble
Tul Postamble (ċipep) | |||||
min | max | Implimentazzjoni | sekwenza taċ-ċippa | ||
Modalità S | 2 | 8 | 8 | 1010101 | |
Modalità T | 2 | 8 | 4 | (stramb) | 101 |
8 | (anke) | 1010101 | |||
Modalità R | 2 | 8 | 8 | 1010101 |
Immaniġġjar tal-Pakketti
L-immaniġġjar tal-pakketti fuq is-Si443x jista 'jintuża f'modalità ta' wisa 'ta' pakkett varjabbli jew modalità ta 'wisa' ta 'pakkett fiss. Il-mod ta 'wisa' varjabbli tal-pakkett jeħtieġ byte ta 'tul ta' pakkett wara l-kelma ta 'sinkronizzazzjoni u bytes ta' header fakultattivi. Malli jirċievi, ir-Radju juża t-tul byte biex jiddetermina t-tmiem ta’ pakkett validu. Mat-trażmissjoni, ir-radju se jdaħħal il-qasam tat-tul wara l-bytes tal-header.
Il-qasam L għall-protokoll M-bus mingħajr fili ma jistax jintuża għall-qasam tat-tul Si443x. L-ewwel, il-qasam L mhuwiex it-tul attwali tal-pakkett. Huwa n-numru ta 'bytes tat-tagħbija tas-saff ta' rabta li ma jinkludux il-bytes jew il-kodifikazzjoni CRC. It-tieni nett, il-qasam L innifsu huwa kodifikat bl-użu ta 'kodifikazzjoni ta' Manchester jew Tlieta minn Sitt kodifikazzjoni għall-miter Mode T għal oħra.
L-implimentazzjoni tuża l-immaniġġjar tal-pakketti f'modalità ta 'wisa' ta' pakkett fiss kemm għat-trażmissjoni kif ukoll għar-riċeviment. Mat-trażmissjoni, is-saff PHY se jaqra l-qasam L fil-buffer tat-trasmissjoni u jikkalkula n-numru ta 'bytes kodifikati, inkluż il-postamble. In-numru totali ta' bytes kodifikati li għandhom jiġu trażmessi jinkiteb fir-reġistru tat-Tul tal-Pakketti (0x3E).
Mal-wasla, l-ewwel żewġ bytes kodifikati huma dekodifikati, u l-qasam L jinkiteb fil-buffer tar-riċeviment. Il-qasam L huwa użat biex jikkalkula n-numru ta 'bytes kodifikati li għandhom jiġu riċevuti. In-numru ta' bytes kodifikati li jridu jiġu riċevuti mbagħad jinkiteb fir-reġistru tat-Tul tal-Pakkett (0x3E). Il-postamble hija mormija.
L-MCU għandu jiddekodifika l-qasam L, jikkalkula n-numru ta 'bytes kodifikati, u jikteb il-valur fir-reġistru tat-Tul tal-Pakkett qabel ma jkun ġie riċevut l-iqsar tul ta' pakkett possibbli. L-iqsar L-field permissibbli għas-saff PHY huwa 9, li jagħti 12-il byte mhux kodifikat. Dan jagħti 18-il byte kodifikat għall-Mudell T. L-ewwel żewġ bytes diġà ġew dekodifikati. Għalhekk, ir-reġistru tat-Tul tal-pakkett irid jiġi aġġornat f'ħinijiet ta' 16-il byte f'100 kbps jew 1.28 millisekondi. Din mhix problema għal 8051 li jaħdem f'20 MIPS.
In-numru ta' bytes li jridu jiġu riċevuti ma jinkludix il-postamble, ħlief għall-postamble b'erba' ċippa użata għal pakketti Mode T b'tul ta' pakkett fard. Għalhekk, ir-riċevitur ma jeħtieġx postamble, ħlief għall-Mudell T pakketti ta 'tul fard. Dan il-postamble huwa meħtieġ biss biex jagħti numru sħiħ ta' bytes kodifikati. Il-kontenut tal-postamble huwa injorat; għalhekk, jekk il-postamble ma jiġix trażmess, erba 'ċipep ta' storbju jiġu riċevuti u injorati. Peress li n-numru totali ta 'bytes kodifikati huwa limitat għal 255 (0xFF), l-implimentazzjoni tillimita l-kamp L massimu għall-modi differenti.
Tabella 8. Limiti tad-Daqs tal-Pakkett
kodifikat | dekodifikat | M-Bus | ||||
bytes | bytes | L-Qasam | ||||
diċ | hex | diċ | hex | diċ | hex | |
Modalità S | 255 | FF | 127 | 7 F | 110 | 6E |
Modalità T (miter-ieħor) | 255 | FF | 169 | A9 | 148 | 94 |
Modalità R | 255 | FF | 127 | 7 F | 110 | 6E |
Dawn il-limiti huma normalment 'il fuq sew mill-każ ta' użu tipiku għal miter mingħajr fili. It-tul tal-pakkett għandu jinżamm żgħir biex tikseb l-aħjar ħajja possibbli tal-batterija.
Barra minn hekk, l-utent jista' jispeċifika l-massimu L-field li għandu jiġi riċevut (USER_RX_MAX_L_FIELD). Dan jiddetermina d-daqs meħtieġ għall-buffer tar-riċeviment (USER_RX_BUFFER_SIZE).
L-appoġġ ta' L-field massimu ta' 255 ikun jeħtieġ buffer ta' riċeviment ta' 290 bytes u massimu ta' 581 bytes kodifikati ta' Manchester. Il-packet handler ikun jeħtieġ li jiġi diżattivat u r-reġistru tat-Tul tal-Pakkett ma setax jintuża f'dak il-każ. Dan huwa fattibbli, iżda huwa aktar konvenjenti li tuża l-immaniġġjar tal-pakketti, jekk possibbli.
Użu FIFO
Is-Si4431 jipprovdi FIFO ta' 64 byte għat-trażmissjoni u r-riċeviment. Peress li n-numru ta 'bytes kodifikati huwa 255, pakkett kodifikat kollu jista' ma jidħolx fil-buffer ta' 64 byte.
Trażmissjoni
Mat-trasmissjoni, in-numru totali ta 'bytes kodifikati huwa kkalkulat. Jekk in-numru totali ta 'bytes kodifikati, inkluż il-postamble, huwa inqas minn 64 bytes, il-pakkett kollu jinkiteb lill-FIFO u l-interruzzjoni tal-pakkett mibgħut biss hija attivata. Ħafna mill-pakketti qosra jintbagħtu fi trasferiment FIFO wieħed.
Jekk in-numru ta 'bytes kodifikati huwa akbar minn 64, se jkunu meħtieġa trasferimenti FIFO multipli biex jintbagħat il-pakkett. L-ewwel 64 bytes jinkitbu lill-FIFO. L-interruzzjonijiet Packet Sent u TX FIFO Kważi Vojta huma attivati. Il-limitu TX FIFO Kważi Vojt huwa ssettjat għal 16-il byte (25%). Fuq kull avveniment IRQ, jinqara r-reġistru tal-istatus 2. Il-bit Packet Sent jiġi ċċekkjat l-ewwel, u, jekk il-pakkett ma jkunx intbagħat kompletament, it-48 byte ta 'data kodifikata li jmiss jinkitbu lill-FIFO. Dan ikompli sakemm il-bytes kodifikati kollha jkunu nkitbu u sseħħ l-interruzzjoni tal-Pakkett Mibgħut.
1. Akkoljenza
Fuq ir-riċeviment, inizjalment, l-interruzzjoni Sync Word biss hija attivata. Wara li tirċievi l-kelma tas-sinkronizzazzjoni, l-interruzzjoni tal-kelma tas-sinkronizzazzjoni hija diżattivata u l-interruzzjoni FIFO Kważi Sħiħa hija attivata. Il-limitu FIFO kważi sħiħ huwa inizjalment stabbilit għal 2 bytes. L-ewwel interruzzjoni FIFO Kważi Sħiħa tintuża biex tkun taf meta ġew irċevuti ż-żewġ bytes tat-tul. Ladarba t-tul ikun ġie riċevut, it-tul jiġi dekodifikat u n-numru ta 'bytes kodifikati jiġi kkalkulat. Il-limitu RX FIFO kważi sħiħ huwa mbagħad issettjat għal 48 bytes. L-RX FIFO huwa kważi mimli u l-interruzzjonijiet Valid Packet huma attivati. Mal-avveniment IRQ li jmiss, jinqara r-reġistru tal-istatus 1. L-ewwel, il-bit Packet Valid huwa ċċekkjat, u mbagħad il-bit FIFO Kważi Sħiħ huwa ċċekkjat. Jekk huwa ssettjat biss il-bit RX FIFO Kważi Sħiħ, it-48 bytes li jmiss jinqraw mill-FIFO. Jekk il-bit tal-pakkett validu jiġi ssettjat, il-bqija tal-pakkett jinqara mill-FIFO. L-MCU iżomm kont ta' kemm inqraw bytes u jieqaf mill-qari wara l-aħħar byte.
Saff ta' Link tad-Data
Il-modulu tas-saff tal-link tad-dejta jimplimenta saff tal-link konformi mal-13757-4:2005. Is-saff tal-link tad-dejta (LINK) jipprovdi interface bejn is-saff fiżiku (PHY) u s-saff tal-applikazzjoni (AL).
Is-Saff tal-Link tad-Data jwettaq il-funzjonijiet li ġejjin:
- Jipprovdi funzjonijiet li jittrasferixxu data bejn PHY u AL
- Jiġġenera CRCs għal messaġġi ħerġin
- Jiskopri żbalji CRC fil-messaġġi deħlin
- Jipprovdi indirizzar fiżiku
- Jirrikonoxxi trasferimenti għal modi ta' komunikazzjoni bidirezzjonali
- Frejms data bits
- Jiskopri żbalji ta 'framing fil-messaġġi deħlin
Link Saff Frame Format
Il-format tal-qafas Wireless M-Bus użat fl-EN 13757-4:2005 huwa derivat mill-format tal-qafas FT3 (Frame Type 3) minn IEC60870-5-2. Il-qafas jikkonsisti fi blokk wieħed jew aktar ta' data. Kull blokka tinkludi kamp CRC ta’ 16-il bit. L-ewwel bock huwa blokk ta 'tul fiss ta' 12-il byte li jinkludi l-qasam L, il-qasam C, il-qasam M u l-Qasam A.
- L-Qasam
Il-qasam L huwa t-tul tat-tagħbija tad-dejta tas-saff tal-Link. Dan ma jinkludix il-qasam L innifsu jew xi wieħed mill-bytes CRC. Ma jinkludi l-qasam L, C-field, M-field, u A-Field. Dawn huma parti mit-tagħbija PHY.
Minħabba li n-numru ta’ bytes kodifikati huwa limitat għal 255 bytes, il-valur massimu appoġġjat għall-qasam M huwa ta’ 110 bytes għal data kodifikata ta’ Manchester u 148 bytes għal data kodifikata Tliet Minn Sitt Modalità T.
Is-saff tal-Link huwa responsabbli għall-kalkolu tal-kamp L fuq it-trasmissjoni. Il-link-saff se juża l-L-field fuq ir-riċeviment.
Innota li l-qasam L ma jindikax it-tul tat-tagħbija PHY jew in-numru ta 'bytes kodifikati. Mat-trażmissjoni, il-PHY jikkalkula t-tul tat-tagħbija PHY u n-numru ta 'bytes kodifikati. Mal-wasla, il-PHY se jiddekowdja l-qasam L u jikkalkula n-numru ta 'bytes biex jiddekowdja. - Ċ-Qasam
Il-qasam C huwa l-qasam tal-kontroll tal-qafas. Dan il-qasam jidentifika t-tip ta' frejm u jintuża għall-primittivi tas-servizz ta' skambju ta' data tal-link. Il-qasam C jindika t-tip ta' qafas – Ibgħat, IKKONFERMA, TALBA, jew Irrispondi. Fil-każ ta' frames SEND u REQUEST, il-qasam C jindika jekk huwiex mistenni JIKKONFERMA jew RISPOND.
Meta tuża l-funzjoni bażika Link TX, jista 'jintuża kwalunkwe valur ta' C. Meta tuża l-Link Service Primitives, il-qasam C jiġi popolat awtomatikament skont EN 13757-4:2005. - M-Qasam
Il-qasam M huwa l-kodiċi tal-manifattur. Il-manifatturi jistgħu jitolbu kodiċi bi tliet ittri minn dawn li ġejjin web indirizz: http://www.dlms.com/flag/INDEX.HTM Kull karattru tal-kodiċi bi tliet ittri huwa kodifikat bħala ħames bits. Il-kodiċi ta' 5 bits jista' jinkiseb billi jittieħed il-kodiċi ASCII u titnaqqas 0x40 (“A”). It-tliet kodiċijiet ta '5-bit huma konkatenati biex jagħmlu 15-bit. L-iktar bit sinifikanti huwa żero. - A-Qasam
Il-qasam tal-indirizz huwa indirizz uniku ta' 6 byte għal kull apparat. L-indirizz uniku għandu jiġi assenjat mill-manifattur. Hija r-responsabbiltà ta' kull manifattur li jiżgura li kull apparat ikollu indirizz uniku ta' 6 byte. L-indirizz għall-frejms Ibgħat u Talba huwa l-indirizz innifsu tal-meter jew apparat ieħor. Il-frejms tad-dejta tal-konferma u tar-rispons jintbagħtu bl-użu tal-indirizz tal-apparat li joriġina. - CI-Qasam
Il-qasam CI huwa l-header tal-applikazzjoni u jispeċifika t-tip ta' data fil-payload tad-data tal-applikazzjoni. Filwaqt li EN13757-4:2005 jispeċifika numru limitat ta' valuri, il-Link Service Primitives se jippermettu li jintuża kwalunkwe valur. - CRC
Is-CRC huwa speċifikat fl-EN13757-4:2005.
Il-Polonnom CRC huwa:
X16 + x13 + x12 + x11 + x10 + x8 +x6 + x5 +x2 + 1
Innota li l-M-Bus CRC huwa kkalkulat fuq kull blokka ta '16-byte. Ir-riżultat huwa li kull 16-il byte ta' dejta jeħtieġu 18-il byte biex jiġu trażmessi,
Informazzjoni Addizzjonali
Għal informazzjoni addizzjonali dwar l-Implimentazzjoni tas-Saff tal-Link, ara “AN452: Gwida għall-Programmaturi tal-Munzell M-Bus Wireless”.
Ġestjoni tal-Enerġija
Il-Figura 2 turi l-ħin tal-ġestjoni tal-enerġija għal meter example bl-użu tal-Modalità T1.
L-MCU għandu jkun fil-modalità Sleep kull meta jkun possibbli biex jikkonserva l-enerġija. F'dan example, l-MCU qed jorqod meta l-RTC tkun qed taħdem, meta tistenna fuq il-bidu tal-kristall tar-radju, u meta tittrasmetti mill-FIFO. L-MCU se jqum mis-sinjal EZRadioPRO IRQ imqabbad ma 'Port Match wake-up.
Meta jittrasmetti messaġġi itwal minn blokka waħda, l-MCU għandu jqum biex jimla l-FIFO (ibbażat fuq l-interruzzjoni tal-FIFO kważi vojta) u mbagħad jerġa 'jorqod.
L-MCU għandu jkun fil-modalità Idle taħdem mill-oxxillatur ta 'enerġija baxxa jew oxxillatur tal-modalità tal-fqigħ meta jaqra mill-ADC. L-ADC jeħtieġ arloġġ SAR.
Meta ma jkunx qed jintuża, l-EZRadioPRO għandu jkun fil-modalità Shutdown bil-pin SDN immexxi għoli. Dan jeħtieġ konnessjoni hardwired mal-MCU. Ir-reġistri EZ Radio Pro mhumiex ippreservati fil-mod ta 'għeluq; għalhekk, l-EZRadioPro huwa inizjalizzat fuq kull intervall RTC. L-inizjalizzazzjoni tar-Radju tieħu inqas minn 100 µs u tikkonserva 400 nA. Dan jirriżulta fi ffrankar ta' enerġija ta' 10 µJ, ibbażat fuq intervall ta' 10 sekondi.
Il-kristall EZRadioPRO jieħu madwar 16 ms għal POR. Dan huwa twil biżżejjed biex jiġi kkalkulat is-CRC għal madwar tmien blokki. L-MCU se jerġa' jorqod jekk itemm is-CRCs kollha qabel ma l-kristall ikun stabbilizzat. Jekk il-kriptaġġ huwa meħtieġ, huwa wkoll jista 'jinbeda waqt li tkun qed tistenna fuq l-oxxillatur tal-kristall.
L-MCU għandu jaħdem f'20 MHz billi juża l-oxxillatur ta 'enerġija baxxa għall-biċċa l-kbira tal-kompiti. Kompiti li jeħtieġu timeout preċiż għandhom jużaw l-oxxillatur ta 'preċiżjoni u l-mod idle minflok il-modalità sleep. L-RTC jipprovdi biżżejjed riżoluzzjoni għall-biċċa l-kbira tal-kompiti. Il-kalendarju tal-ġestjoni tal-enerġija għall-miter T2 exampl-applikazzjoni hija murija fil-Figura 3.
L-implimentazzjoni tat-transceiver għandha tiġi ottimizzata għall-każ normali meta l-miter iqum u ma jkun hemm l-ebda qarrej preżenti. Il-timeouts minimi/massimi ACK huma twal biżżejjed sabiex ikun possibbli li tuża l-RTC C8051F930 u tpoġġi l-MCU fil-modalità sleep.
Għażliet tal-bini huma pprovduti għal qarrejja tal-mejn jew li jaħdmu bl-USB li m'għandhomx bżonn jużaw il-modalità sleep. Il-mod idle se jintuża minflok irqad sabiex il-USB u l-UART jistgħu jinterrompu l-MCU.
Studio tas-Sempliċità
Aċċess ta 'klikk waħda għall-MCU u għodod mingħajr fili, dokumentazzjoni, softwer, libreriji tal-kodiċi tas-sors u aktar. Disponibbli għall-Windows,
Mac u Linux!
![]() |
![]() |
![]() |
![]() |
Portafoll IoT www.silabs.com/IoT |
SW/HW www.silabs.com/semplicity |
Kwalità www.silabs.com/quality |
Appoġġ u Komunità community.silabs.com |
Ċaħda
Silicon Labs bi ħsiebha tipprovdi lill-klijenti l-aktar dokumentazzjoni riċenti, preċiża u fil-fond tal-periferali u l-moduli kollha disponibbli għal dawk li jimplimentaw is-sistema u s-softwer li jużaw jew għandhom il-ħsieb li jużaw il-prodotti Silicon Labs. Id-dejta tal-karatterizzazzjoni, il-moduli u l-periferali disponibbli, id-daqsijiet tal-memorja u l-indirizzi tal-memorja jirreferu għal kull apparat speċifiku, u l-parametri "Tipiċi" pprovduti jistgħu u jvarjaw f'applikazzjonijiet differenti. Applikazzjoni examples deskritti hawnhekk huma għal skopijiet illustrattivi biss. Silicon Labs jirriżerva d-dritt li jagħmel bidliet mingħajr avviż ulterjuri u limitazzjoni għall-informazzjoni tal-prodott, speċifikazzjonijiet, u deskrizzjonijiet hawnhekk, u ma tagħtix garanziji dwar l-eżattezza jew il-kompletezza tal-informazzjoni inkluża. Silicon Labs m'għandu jkollhom l-ebda responsabbiltà għall-konsegwenzi tal-użu tal-informazzjoni pprovduta hawnhekk. Dan id-dokument ma jimplikax jew jesprimi liċenzji tad-drittijiet tal-awtur mogħtija hawn taħt biex jiddisinjaw jew jiffabbrikaw xi ċirkwiti integrati. Il-prodotti mhumiex iddisinjati jew awtorizzati biex jintużaw fi ħdan kwalunkwe Sistema ta 'Appoġġ tal-Ħajja mingħajr il-kunsens speċifiku bil-miktub ta' Silicon Labs. "Sistema ta' Appoġġ tal-Ħajja" hija kwalunkwe prodott jew sistema maħsuba biex tappoġġja jew issostni l-ħajja u/jew is-saħħa, li, jekk tonqos, tista' tkun mistennija b'mod raġonevoli li tirriżulta fi korriment personali sinifikanti jew mewt. Il-prodotti ta' Silicon Labs mhumiex iddisinjati jew awtorizzati għal applikazzjonijiet militari. Prodotti ta' Silicon Labs m'għandhom taħt l-ebda ċirkostanza jintużaw f'armi ta' qerda tal-massa inklużi (iżda mhux limitati għal) armi nukleari, bijoloġiċi jew kimiċi, jew missili li kapaċi jwasslu tali armi.
Informazzjoni dwar Trademark
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs®, u l-logo Silicon Labs®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember® , Energy Micro, Energy Micro logo u kombinazzjonijiet tagħhom, "l-aktar mikrokontrolluri fid-dinja li jiffavorixxu l-enerġija", Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY® , Telegesis, il-Logo Telegesis®, USBXpress®, u oħrajn huma trademarks jew trademarks reġistrati ta’ Silicon Labs. ARM, CORTEX, Cortex-M3, u thumbs huma trademarks jew trademarks reġistrati ta’ ARM Holdings. Keil hija trademark reġistrata ta' ARM Limited. Il-prodotti l-oħra kollha jew l-ismijiet tad-ditta msemmija hawn huma trademarks tad-detenturi rispettivi tagħhom.
Silicon Laboratories Inc.
400 Punent Cesar Chavez
Austin, TX 78701
USA
http://www.silabs.com
Dokumenti / Riżorsi
![]() |
SILICON LABS Wireless M-BUS Software Implimentazzjoni AN451 [pdfGwida għall-Utent SILICON LABS, C8051, MCU, u, EZRadioPRO, Wireless M-bus, Wireless, M-BUS, Software, Implimentazzjoni, AN451 |