AN451
СЫМСЫЗ M-BUS БАҒДАРЛАМАЛЫҚ ЖАСАУ
Кіріспе
Бұл қолданба жазбасы Silicon Labs C8051 MCU және EZRadioPRO® көмегімен Wireless M-Bus Silicon Labs іске асыруын сипаттайды. Сымсыз M-шинасы — 868 МГц жиілік диапазонын пайдаланып есептегіштерді оқу қолданбаларына арналған еуропалық стандарт.
Стек қабаттары
Wireless M-Bus 3-қабатты OSI үлгісінің ішкі жиыны болып табылатын 7-қабатты IEC үлгісін пайдаланады (1-суретті қараңыз).
Физикалық (PHY) қабат EN 13757-4 стандартында анықталған. Физикалық деңгей биттердің кодталуы мен берілу жолын, РЖ модемінің сипаттамаларын (чип жылдамдығы, кіріспе және синхрондау сөзі) және РЖ параметрлерін (модуляция, орталық жиілік және жиілік ауытқуы) анықтайды.
PHY деңгейі аппараттық және микробағдарламалық құралдардың комбинациясын қолдану арқылы жүзеге асырылады. EZRadioPRO барлық РЖ және модем функцияларын орындайды. EZRadioPRO пакет өңдеушісімен FIFO режимінде пайдаланылады. MbusPhy.c модулі SPI интерфейсін, кодтауды/декодтауды, блокты оқу/жазуды және пакеттерді өңдеуді қамтамасыз етеді және қабылдағыш күйлерін басқарады.
M-Bus Data сілтеме деңгейі MbusLink.c модулінде жүзеге асырылады. M-Bus қолданбалы бағдарламалау интерфейсі негізгі ағындағы қолданбалы деңгейден шақырылуы мүмкін жалпы функциялардан тұрады. MbusLink модулі сонымен қатар Data Link Layer іске асырады. Деректер сілтемесі деңгейі қолданбаның TX буферінен деректерді MbusPhy TX буферіне пішімдейді және көшіреді, қажетті тақырыптар мен CRC-лерді қосады.
Қолданбалы деңгейдің өзі M-bus микробағдарламасының бөлігі емес. Қолданбалы деңгей деректердің алуан түрлілігін жіберу үшін қалай пішімдеу керектігін анықтайды. Көптеген есептегіштерге тек бір немесе екі түрдегі деректерді беру қажет. Есептегішке деректердің кез келген түрін орналастыру үшін кодтың үлкен көлемін қосу қажет емес кодты және есептегішке шығындарды қосады. Кітапхананы немесе тақырыпты енгізу мүмкін болуы мүмкін file деректер түрлерінің толық тізімімен. Дегенмен, есептеу тұтынушыларының көпшілігі қандай деректер түрін жіберу керек екенін біледі және пішімдеу мәліметтері үшін стандартқа сілтеме жасай алады. Әмбебап оқу құралы немесе спикер ДК графикалық интерфейсінде қолданба деректер түрлерінің толық жинағын жүзеге асыруы мүмкін. Осы себептерге байланысты қолданбалы деңгей ex көмегімен жүзеге асырыладыampЕсептегіш пен оқырманға арналған қосымшалар.
Қажетті стандарттар
- EN 13757-4
EN 13757-4
Есептегіштерге арналған байланыс жүйесі және есептегіштерді қашықтықтан оқу
4-бөлім: Сымсыз есептегіштің көрсеткіші
868 МГц - 870 МГц SRD диапазонында жұмыс істеу үшін радиометрдің көрсеткіші - EN 13757-3
Есептегіштерге арналған байланыс жүйесі және есептегіштерді қашықтықтан оқу
3-бөлім: Арнайы қолданбалы қабат - IEC 60870-2-1:1992
Телебасқару жабдықтары мен жүйелері
5-бөлім: Тасымалдау хаттамалары
1-бөлім: Сілтемені жіберу процедурасы - IEC 60870-1-1:1990
Телебасқару жабдықтары мен жүйелері
5-бөлім: Тасымалдау хаттамалары
1-бөлім: Трансмиссиялық кадр пішімдері
Анықтамалар
- M-автобус —M-Bus – Еуропадағы есептегіштерді оқуға арналған сымды стандарт.
- Сымсыз M-шинасы—Еуропадағы есептегіштерді оқу қолданбаларына арналған сымсыз M-Bus.
- PHY—Физикалық деңгей деректер биттері мен байттарының кодталуын және берілу жолын анықтайды.
- API—Қолданбалы бағдарламашы интерфейсі.
- СІЛТЕМЕ—Data Link Layer блоктар мен фреймдердің берілу жолын анықтайды.
- CRC —Циклдық резервтік тексеру.
- FSK —Жиіліктерді ауыстыру.
- Чип —Берілген деректердің ең кіші бірлігі. Бір деректер биті бірнеше чиптер ретінде кодталған.
- Модуль-Айнымалы ток кодының көзі .c file.
M-Bus PHY Функционалдық сипаттамасы
Преамбула реті
M-шинасы спецификациясында көрсетілген кіріспе тізбегі нөлдер мен бірліктерді ауыстыратын бүтін сан болып табылады. Бір жоғары жиілік, ал нөл төменгі жиілік ретінде анықталады.
nx (01)
Si443x үшін кіріспе опциялары ауыспалы сандар мен нөлдерден тұратын таңбалардың бүтін саны болып табылады.
nx (1010)
Қосымша алдыңғы бөлігі бар преамбула қиындық тудырмайды, бірақ синхрондау сөзі мен пайдалы жүктеме бір битке сәйкес келмейтін болады.
Шешім Модуляцияны басқару 2 регистрінде (0x71) қозғалтқыш битін орнату арқылы бүкіл пакетті инверсиялау болып табылады. Бұл преамбуланы, синхрондау сөзін және TX/RX деректерін өзгертеді. Нәтижесінде, TX деректерін жазу немесе RX деректерін оқу кезінде деректер инверттелуі керек. Сондай-ақ, синхрондау сөзі Si443x Синхрондау Word регистрлеріне жазбас бұрын инверттелген.
Синхрондау Word
EN-13757-4 талап ететін синхрондау сөзі режим S және Mode 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 Meter режиміне арналған синхрондау сөзін басқаға
SINCH | SINCH | SINCH |
СӨЗ | СӨЗ | СӨЗ |
3 | 2 | 1 |
Берілген кіріспе ұзындығы
Ең аз кіріспе төрт түрлі жұмыс режимі үшін көрсетілген. Кіріспенің көрсетілгеннен ұзағырақ болуы қолайлы. Кіріспе үшін алты чипті алып тастау Si443x преамбуласы үшін чиптердің ең аз санын береді. Іске асыру преамбуланы анықтауды және өзара әрекеттесу мүмкіндігін жақсарту үшін барлық қысқа преамбула режимдерінде кіріспенің екі қосымша қисығын қосады. Ұзын преамбуласы бар S режиміндегі преамбула өте ұзын; осылайша, ең аз преамбула қолданылады. Кіріспедегі кіріспе ұзындығы Преамбула ұзындығы (0x34) регистріне жазылады. Преамбула ұзындығы регистрі кіріспеді тек жіберу кезінде анықтайды. Ең аз спецификация мен кіріспе ұзындығының параметрлері 3-кестеде жинақталған.
Кесте 3. Берілген преамбуланың ұзындығы
EN-13757-4 минимум |
Si443x Кіріспе Орнату |
Синхрондау Сөз |
Барлығы | қосымша | |||
nx (01) | чиптер | тістеп алады | чиптер | чиптер | чиптер | чиптер | |
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 чип параметрі жалған преамбуланы анықтауды екіталай оқиғаға айналдырады. Mode R және Mode SL үшін кіріспе ұзындықтар ұсынылған параметрді пайдалану үшін жеткілікті ұзын.
Преамбуланың 20 чиптен ұзағырақ анықталуының пайдасы өте аз.
Қысқа преамбуласы бар S үлгісі және T үлгісі үшін AFC өшірілген. Бұл ресивердің реттеу уақытын қысқартады және ұзағырақ кіріспе анықтау параметріне мүмкіндік береді. AFC өшірілген кезде T режимі 20 чиптің ұсынылған параметрін пайдалана алады. Қысқа преамбуласы бар Model S үшін 4 тістеу немесе 20 фишка параметрі пайдаланылады. Бұл осы модель үшін жалған преамбуланы анықтау ықтималдығын біршама жоғарылатады.
Кесте 4. Преамбуланы анықтау
EN-13757-4 минимум |
Синхрондау Сөз |
қолдануға жарамды преамбула |
RX реттеуі | Анықтау мин |
Si443x Кіріспе Анықтау параметрі |
|||
nx (01) | чиптер | чиптер | чиптер | чиптер | чиптер | тістеп алады | чиптер | |
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-шинаға сәйкес келетін таратқышпен өзара әрекеттесуін қамтамасыз етеді.
Wireless M-Bus спецификациясы S1 режимі үшін кемінде 558 чиптен тұратын өте ұзақ преамбуланы қажет етеді. Бұл преамбуланы жіберу үшін шамамен 17 мс уақытты алады. Si443x мұндай ұзын преамбуланы қажет етпейді және ұзақ преамбуланың пайдасы жоқ. Ұзын преамбула S2 режимі үшін қосымша ретінде белгіленгенімен, Si443x құрылғысымен ұзақ преамбуланы қолдануға ешқандай себеп жоқ. Егер бір жақты байланыс қажет болса, T1 режимі қысқа преамбуланы, жоғары деректер жылдамдығын және батареяның ұзақ қызмет ету мерзімін қамтамасыз етеді. S2 режимі арқылы екі жақты байланыс қажет болса, қысқа кіріспе ұсынылады.
Ұзын преамбуласы бар S үлгісін анықтау шегі қысқа преамбуласы бар S үлгісіне жіберілген кіріспе nibbles санынан ұзағырақ екенін ескеріңіз. Бұл ұзақ преамбула S Mode қабылдағышы қысқа преамбула S Mode таратқышынан преамбуланы анықтамайды дегенді білдіреді. Бұл Mode S режимінің қабылдағышы ұзақ преамбуланың кез келген пайдасын алу үшін қажет.
Қысқа преамбула S Mode қабылдағышы преамбуланы анықтайды және S Mode қысқа преамбуланың екеуінен де пакеттерді қабылдайтынын ескеріңіз.
таратқыш және ұзақ преамбула Mode S таратқышы; осылайша, жалпы есептегіш оқу құралы қысқа кіріспе Mode S қабылдағыш конфигурациясын пайдалануы керек.
Кодтау/декодтау
Wireless M-шинасы спецификациясы екі түрлі кодтау әдісін қажет етеді. Манчестер кодтауы S режимі және R режимі үшін пайдаланылады. Манчестер кодтауы T үлгісіндегі басқа метрге сілтеме үшін де пайдаланылады. T үлгісінің метрінің басқа сілтемесі 3 кодтаудың 6-ін пайдаланады.
1. Манчестер кодталған/декодтау
Манчестер кодтауы қарапайым және қымбат емес модем арқылы сенімді сағатты қалпына келтіруді және бақылауды қамтамасыз ету үшін РЖ жүйелерінде тарихи түрде кең таралған. Дегенмен, Si443x сияқты заманауи жоғары өнімді радио Манчестер кодтауын қажет етпейді. Манчестер кодтауына негізінен қолданыстағы стандарттармен үйлесімділік үшін қолдау көрсетіледі, бірақ Манчестер кодтауын пайдаланбаған кезде Si443x деректер жылдамдығы екі есе артады.
Si443x Манчестер кодтауын және аппараттық құралдағы бүкіл пакеттің декодтауын қолдайды. Өкінішке орай, синхрондау сөзі Манчестерде кодталмаған. Синхрондау сөзі үшін жарамсыз Манчестер тізбегі әдейі таңдалды. Бұл Манчестер кодтауын қолданыстағы радиостанциялардың көпшілігімен, соның ішінде Si443x-пен үйлеспейді. Нәтижесінде Манчестерді кодтау мен декодтауды MCU орындауы керек. Кодталмаған деректердегі әрбір байт сегіз деректер битінен тұрады. Манчестер кодтауын қолдану арқылы әрбір деректер биті екі чипті символға кодталады. Кодталған деректер бір уақытта FIFO радиосына сегіз чиппен жазылуы керек болғандықтан, бір уақытта деректердің бір түйірі кодталады және FIFO-ға жазылады.
Кесте 5. Манчестерді кодтау
деректер | Окс12 | 0x34 | байт | ||
Окс1 | 0x2 | 0x3 | 0x4 | тістеп алады | |
1 | 10 | 11 | 100 | екілік | |
чип | 10101001 | 10100110 | 10100101 | 10011010 | екілік |
FIFO | OxA9 | OxA6 | OxA5 | Ox9A | алтыбақан |
Әрбір тасымалданатын байт кодтау байт функциясына бір байт беріледі. Кодтау байт функциясы кодтау функциясын екі рет шақырады, алдымен ең маңызды тістеу үшін, содан кейін ең аз маңызды тістеу үшін.
Бағдарламада Манчестерді кодтау қиын емес. Ең маңызды биттен бастап, біреуі «01» чип тізбегі ретінде кодталады. Нөл «10» чип тізбегі ретінде кодталады. Мұны циклды және әр таңба үшін екі разрядты ауыстыру арқылы оңай орындауға болады. Дегенмен, әрбір тістеу үшін қарапайым 16 жазбаны іздеу кестесін пайдалану жылдамырақ. Encode Manchester nibble функциясы деректердің бір бөлігін кодтайды, содан кейін оны FIFO-ға жазады. Төңкерілген кіріспе талаптарын есепке алу үшін FIFO-ға жазбас бұрын чиптер төңкеріледі.
Қабылдау кезінде FIFO-дағы әрбір байт сегіз чиптен тұрады және деректердің бір шұңқырына декодталған. Оқу блогының функциясы FIFO-дан бір уақытта бір байтты оқиды және декодтау байт функциясын шақырады. Төңкерілген кіріспе талаптарын есепке алу үшін FIFO-дан оқығаннан кейін чиптер төңкеріледі. Манчестер кодталған чиптерінің әрбір байты деректердің қысқаша кодына декодталған. Декодталған тістеу RX буферіне жазу nibble RX буфері функциясын пайдаланып жазылады.
Кодталған да, декодтау да бір уақытта бір уақытта орындалатынына назар аударыңыз. Буферге кодтау кодталмаған деректерден екі есе үлкен қосымша буферді қажет етеді. Кодтау және декодтау қолдау көрсетілетін ең жылдам деректер жылдамдығынан (секундына 100 к чип) әлдеқайда жылдам. Si443x бірнеше байтты оқуды және FIFO-ға жазуды қолдайтындықтан, тек бір байтты оқу мен жазуды пайдалануда аз шығын бар. 10 кодталған чиптер үшін үстеме шығын шамамен 100 мкс құрайды. Артықшылығы - 512 байт жедел жадты үнемдеу.
2. Алтыдан үш кодтауды декодтау
EN-13757-4 стандартында көрсетілген алтыдан үш кодтау әдісі MCU микробағдарламасында да жүзеге асырылады. Бұл кодтау метрден екіншісіне жоғары жылдамдықты (секундына 100 к чип) T режимі үшін қолданылады. T үлгісі сымсыз есептегіш үшін ең қысқа жіберу уақытын және ең ұзақ батареяның қызмет ету мерзімін қамтамасыз етеді.
Жіберілетін деректердің әрбір байты екі нибблге бөлінеді. Ең маңызды тістеу алдымен кодталады және беріледі. Қайтадан, бұл кодтау nibble функциясын екі рет шақыратын кодтау байт функциясы арқылы жүзеге асырылады.
Деректердің әрбір түйіршігі алты чипті символға кодталған. Алты чипті белгілер тізбегі 8 чипті FIFO-ға жазылуы керек.
Кодтау кезінде деректердің екі байты төрт ниббл ретінде кодталады. Әрбір тістеу 6 чипті символ болып табылады. Төрт 6 чиптік таңба үш байт ретінде біріктірілген.
Кесте 6. Алтыдан үш кодтау
деректер | 0x12 | 0x34 | байт | ||||
Окс1 | 0x2 | 0x3 | 0x4 | тістеп алады | |||
чип | 15 | 16 | 13 | 34 | сегіздік | ||
1101 | 1110 | 1011 | 11100 | екілік | |||
FIFO | 110100 | 11100010 | 11011100 | екілік | |||
0x34 | OxE2 | OxDC | алтыбақан |
Бағдарламалық құралда алтыдан үшеуінің кодтауы үш кірістірілген функция арқылы жүзеге асырылады. Кодтау байт функциясы кодтау функциясын екі рет шақырады. Encode nibble функциясы алты чипті таңбаны іздеу кестесін пайдаланады және таңбаны алты функцияның ішінен Shift Three функциясына жазады. Бұл функция бағдарламалық құралда 16 чипті ауыстыру регистрін жүзеге асырады. Таңба ауысым регистрінің ең аз маңызды байтына жазылады. Регистр екі рет солға жылжытылады. Бұл үш рет қайталанады. Ауысым регистрінің жоғарғы байтында толық байт болған кезде ол инверттелген және FIFO-ға жазылады.
Әрбір деректер байты бір жарым кодталған байт ретінде кодталғандықтан, бірінші кодталған байт дұрыс болуы үшін ауыстыру регистрін бастапқыда тазалау маңызды. Егер десте ұзындығы тақ сан болса, барлық байтты кодтағаннан кейін ауысым регистрінде әлі де бір тістеуіш қалады. Бұл келесі бөлімде түсіндірілгендей, пошта жөнелтілімімен өңделеді.
Кодталған алтыдан үшеуін декодтау кері процедура болып табылады. Декодтау кезінде үш кодталған байт екі деректер байтына декодталады. Бағдарламалық құралды ауыстыру регистрі декодталған деректердің байттарын біріктіру үшін қайтадан пайдаланылады. Декодтау үшін 64 жазбадан тұратын кері іздеу кестесі пайдаланылады. Бұл аз циклды, бірақ көбірек код жадын пайдаланады. Сәйкес таңба үшін 16 жазбадан тұратын іздеу кестесін іздеу әлдеқайда ұзағырақ уақыт алады.
Пошта
Wireless M-автобус спецификациясында пошта тасымалын немесе тіркемеге арналған арнайы талаптар бар. Барлық режимдер үшін минимум - екі чип, ал максимум - сегіз чип. FIFO үшін ең аз атом бірлігі бір байт болғандықтан, S режимі және R режимі үшін 8 чипті тіркеме пайдаланылады. Т режимі пакет ұзындығы жұп болса, сегіз чипті немесе пакет ұзындығы тақ болса, төрт чипті құрайды. Тақ пакет ұзындығына арналған төрт чипті пошта тасымалдаушысы кемінде екі ауыспалы чипке ие болу талаптарына сәйкес келеді.
Кесте 7. Поштаның ұзындығы
Поштаның ұзындығы (чиптер) | |||||
мин | макс | Іске асыру | чиптер тізбегі | ||
S режимі | 2 | 8 | 8 | 1010101 | |
Т режимі | 2 | 8 | 4 | (тақ) | 101 |
8 | (жұп) | 1010101 | |||
Режим R | 2 | 8 | 8 | 1010101 |
Пакет өңдеушісі
Si443x жүйесіндегі пакет өңдегішін айнымалы пакет ені режимінде немесе бекітілген пакет ені режимінде пайдалануға болады. Айнымалы пакет ені режимі синхрондау сөзінен кейін пакет ұзындығы байты және қосымша тақырып байттарын қажет етеді. Қабылдау кезінде Радио жарамды пакеттің соңын анықтау үшін ұзындық байтты пайдаланады. Тасымалдауда радио тақырып байттарынан кейін ұзындық өрісін енгізеді.
Сымсыз M-шиналық протоколға арналған L өрісін Si443x ұзындығы өрісі үшін пайдалану мүмкін емес. Біріншіден, L өрісі нақты пакет ұзындығы емес. Бұл CRC байттарын немесе кодтауды қоспағанда, сілтеме деңгейінің пайдалы жүктеме байттарының саны. Екіншіден, L өрісінің өзі Манчестер кодтауымен немесе Т режимі метрі үшін басқаға үш алтыдан үш кодтау арқылы кодталады.
Іске асыру пакет өңдеушісін тасымалдау және қабылдау үшін бекітілген пакет ені режимінде пайдаланады. Тасымалдау кезінде PHY деңгейі жіберу буферіндегі L өрісін оқиды және кодталған байттардың санын, соның ішінде пошта байланысын есептейді. Берілетін кодталған байттардың жалпы саны Пакет ұзындығы регистріне (0x3E) жазылады.
Қабылдау кезінде кодталған алғашқы екі байт декодталған, ал L өрісі қабылдау буферіне жазылады. L-өрісі қабылданатын кодталған байттардың санын есептеу үшін пайдаланылады. Содан кейін қабылданатын кодталған байттардың саны Пакет ұзындығы регистріне (0x3E) жазылады. Пошта жөнелтімі жойылды.
MCU L-өрісін декодтауы, кодталған байттардың санын есептеп, пакеттің ең қысқа ұзындығын алғанға дейін мәнді Пакет ұзындығы регистріне жазуы керек. PHY қабаты үшін рұқсат етілген ең қысқа L-өрісі 9, кодталмаған 12 байтты береді. Бұл T үлгісі үшін 18 кодталған байтты береді. Алғашқы екі байт кодты шешіп қойған. Осылайша, пакет ұзындығы регистрін 16 кбит/с немесе 100 миллисекундта 1.28 байт рет жаңарту керек. Бұл 8051 MIPS жылдамдығымен жұмыс істейтін 20 үшін проблема емес.
Қабылдауға жататын байттардың саны тақ пакет ұзындығы бар T Mode пакеттері үшін пайдаланылатын төрт чипті пошта тасымалдағышын қоспағанда, пошталық тасымалдауды қамтымайды. Осылайша, T Model T тақ ұзындықтағы пакеттерді қоспағанда, ресивер пошталық тасымалдауды қажет етпейді. Бұл пошта байланысы кодталған байттардың бүтін санын беру үшін ғана қажет. Пошта жөнелтілімінің мазмұны еленбейді; сондықтан, егер пошта жөнелтілімі берілмесе, шудың төрт чипі қабылданады және еленбейді. Кодталған байттардың жалпы саны 255 (0xFF) шектелгендіктен, іске асыру әртүрлі режимдер үшін ең көп L өрісін шектейді.
Кесте 8. Пакет өлшемінің шектеулері
кодталған | декодталған | М-автобус | ||||
байт | байт | L-өріс | ||||
желтоқсан | алтыбақан | желтоқсан | алтыбақан | желтоқсан | алтыбақан | |
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-күй тізілімі оқылады. Алдымен Packet Sent биті тексеріледі, ал пакет толығымен жіберілмесе, кодталған деректердің келесі 48 байты FIFO-ға жазылады. Бұл барлық кодталған байттар жазылғанша және Пакет жіберілген үзіліс пайда болғанша жалғасады.
1. Қабылдау
Қабылдауда бастапқыда тек Word үзілуін синхрондау қосылады. Синхрондау сөзін алғаннан кейін синхрондау сөзінің үзілуі ажыратылады және FIFO дерлік толық үзілуі қосылады. FIFO толық дерлік шегі бастапқыда 2 байтқа орнатылады. Бірінші FIFO дерлік толық үзу екі ұзындық байт қабылданғанын білу үшін пайдаланылады. Ұзындық алынғаннан кейін ұзындық декодталған және кодталған байттардың саны есептеледі. RX FIFO дерлік толық шегі 48 байтқа орнатылады. RX FIFO толық дерлік және жарамды пакет үзулері қосылған. Келесі IRQ оқиғасында 1-күй тізілімі оқылады. Алдымен Valid Packet биті тексеріледі, содан кейін FIFO Almost Full биті тексеріледі. Тек RX FIFO дерлік толық биті орнатылған болса, келесі 48 байт FIFO-дан оқылады. Жарамды пакет биті орнатылған болса, дестенің қалған бөлігі FIFO-дан оқылады. MCU қанша байт оқылғанын бақылайды және соңғы байттан кейін оқуды тоқтатады.
Мәліметтер сілтемесі қабаты
Деректер сілтемесі деңгейінің модулі 13757-4:2005 үйлесімді сілтеме деңгейін жүзеге асырады. Деректерді байланыстыру деңгейі (LINK) физикалық деңгей (PHY) мен қолданбалы деңгей (AL) арасындағы интерфейсті қамтамасыз етеді.
Data Link Layer келесі функцияларды орындайды:
- PHY және AL арасында деректерді тасымалдайтын функцияларды қамтамасыз етеді
- Шығыс хабарлар үшін CRC жасайды
- Кіріс хабарламаларындағы CRC қателерін анықтайды
- Физикалық адрестеуді қамтамасыз етеді
- Екі бағытты байланыс режимдері үшін тасымалдауларды растайды
- Деректер биттерін жақтайды
- Кіріс хабарламалардағы кадр қателерін анықтайды
Сілтеме қабатының жақтау пішімі
EN 13757-4:2005 стандартында қолданылатын Wireless M-Bus кадр пішімі IEC3-3-60870 стандартынан FT5 (2-ші жақтау түрі) кадр пішімінен алынған. Фрейм деректердің бір немесе бірнеше блоктарынан тұрады. Әрбір блок 16-биттік CRC өрісін қамтиды. Бірінші блок L-өрісі, C-өрісі, M-өрісі және A-өрісін қамтитын 12 байт тұрақты ұзындықты блок.
- L-өріс
L-өрісі - Сілтеме қабатының деректерінің пайдалы жүктемесінің ұзындығы. Бұған L-өрістің өзі немесе CRC байттарының ешқайсысы кірмейді. Оған L-өрісі, С-өрісі, M-өрісі және А-өрісі кіреді. Бұл PHY пайдалы жүктемесінің бөлігі.
Кодталған байттардың саны 255 байтпен шектелгендіктен, M-өрісі үшін максималды қолдау көрсетілетін мән Манчестер кодталған деректері үшін 110 байт және T режимінің үштен алты кодталған деректері үшін 148 байт.
Сілтеме деңгейі тасымалдаудағы L-өрісті есептеуге жауап береді. Сілтеме қабаты қабылдау кезінде L өрісін пайдаланады.
L-өрісі PHY пайдалы жүктеме ұзындығын немесе кодталған байттардың санын көрсетпейтінін ескеріңіз. Тасымалдау кезінде PHY PHY пайдалы жүктемесінің ұзындығын және кодталған байттардың санын есептейді. Қабылдау кезінде PHY L-өрісін декодтайды және декодтау үшін байт санын есептейді. - C-өрісі
C-өрісі кадрды басқару өрісі болып табылады. Бұл өріс кадр түрін анықтайды және сілтеме деректерімен алмасу қызметінің примитивтері үшін пайдаланылады. C өрісі жақтау түрін көрсетеді – ЖІБЕРУ, РАСТАУ, СҰРАУ немесе ЖАУАП БЕРУ. ЖІБЕРУ және СҰРАУ кадрлары жағдайында C өрісі РАСТАУ немесе ЖАУАП БЕРУ күтілетінін көрсетеді.
Негізгі Link TX функциясын пайдаланған кезде C-тің кез келген мәнін пайдалануға болады. Сілтеме қызметінің примитивтерін пайдаланған кезде C өрісі EN 13757-4:2005 стандартына сәйкес автоматты түрде толтырылады. - М-өріс
M-өрісі өндірушінің коды болып табылады. Өндірушілер төмендегілерден үш әріптік кодты сұрай алады web мекенжайы: http://www.dlms.com/flag/INDEX.HTM Үш әріптік кодтың әрбір таңбасы бес бит ретінде кодталады. 5-биттік кодты ASCII кодын алып, 0x40 («A») алу арқылы алуға болады. Үш 5 биттік код 15 бит жасау үшін біріктірілген. Ең маңызды бит нөл. - A-өріс
Мекенжай өрісі әрбір құрылғы үшін бірегей 6 байттық мекенжай болып табылады. Бірегей мекенжайды өндіруші тағайындауы керек. Әрбір құрылғының бірегей 6 байт мекенжайы болуын қамтамасыз ету әрбір өндірушінің жауапкершілігі болып табылады. Жіберу және Сұрау кадрларының мекенжайы метрдің немесе басқа құрылғының өзіндік мекенжайы болып табылады. Растау және жауап беру деректер кадрлары бастапқы құрылғының мекенжайы арқылы жіберіледі. - CI-өрісі
CI-өрісі қолданба тақырыбы болып табылады және қолданба деректерінің пайдалы жүктемесіндегі деректер түрін анықтайды. EN13757-4:2005 мәндердің шектеулі санын көрсеткенімен, сілтеме қызметінің примитивтері кез келген мәнді пайдалануға рұқсат береді. - CRC
CRC EN13757-4:2005 стандартында көрсетілген.
CRC полиномы дегеніміз:
X16 + x13 + x12 + x11 + x10 + x8 +x6 + x5 +x2 + 1
M-Bus CRC әрбір 16 байт блок бойынша есептелетінін ескеріңіз. Нәтижесінде әрбір 16 байт деректер 18 байтты жіберуді қажет етеді,
Қосымша ақпарат
Сілтеме қабатын енгізу туралы қосымша ақпаратты «AN452: Wireless M-Bus Stack Programmers Guide» бөлімінен қараңыз.
Қуатты басқару
2-суретте есептегіш үшін қуатты басқару уақыт кестесі көрсетілгенampT1 режимін пайдалану.
Қуатты үнемдеу үшін MCU мүмкіндігінше ұйқы режимінде болуы керек. Бұл бұрынғыample, RTC жұмыс істеп тұрғанда, радиокристалды іске қосуды күткенде және FIFO-дан таратқанда MCU ұйықтап жатыр. MCU Port Match ояту құралына қосылған EZRadioPRO IRQ сигналынан оянады.
Бір блоктан ұзағырақ хабарларды жіберген кезде, MCU FIFO толтыру үшін оянуы керек (FIFO дерлік бос үзіліс негізінде), содан кейін ұйқыға қайта оралады.
ADC-ден оқу кезінде MCU төмен қуатты осциллятордан немесе жарылыс режиміндегі осциллятордан жұмыс істейтін Күту режимінде болуы керек. ADC үшін SAR сағаты қажет.
Пайдаланбаған кезде, EZRadioPRO SDN істікшесі жоғары басқарылып, Өшіру режимінде болуы керек. Бұл MCU-ға сымды қосылымды қажет етеді. EZ Radio Pro регистрлері өшіру режимінде сақталмайды; осылайша, EZRadioPro әрбір RTC интервалында инициализацияланады. Радионы іске қосу 100 мкс-тен аз уақытты алады және 400 нА үнемдейді. Бұл 10 секундтық интервал негізінде 10 мкДж қуат үнемдеуге әкеледі.
EZRadioPRO кристалы POR үшін шамамен 16 мс алады. Бұл шамамен сегіз блок үшін CRC есептеу үшін жеткілікті ұзақ. Кристалл тұрақтанбай тұрып, барлық CRC-терді аяқтаса, MCU ұйқыға қайтады. Шифрлау қажет болса, оны да кристалдық осцилляторда күту кезінде бастауға болады.
MCU көптеген тапсырмалар үшін төмен қуатты осциллятор арқылы 20 МГц жиілікте жұмыс істеуі керек. Нақты күту уақытын қажет ететін тапсырмалар ұйқы режимінің орнына дәлдік осцилляторын және бос режимді пайдалануы керек. RTC көптеген тапсырмалар үшін жеткілікті ажыратымдылықты қамтамасыз етеді. T2 есептегіші үшін қуатты басқару уақыт кестесі, мысалыample қолданбасы 3-суретте көрсетілген.
Трансиверді іске асыру есептегіш оянғанда және оқырман болмаған кезде қалыпты жағдайға оңтайландырылған болуы керек. Ең аз/максималды ACK күту уақыты C8051F930 RTC пайдалану және MCU ұйқы режиміне қою үшін жеткілікті ұзақ.
Құрастыру опциялары ұйқы режимін пайдалануды қажет етпейтін желі немесе USB арқылы жұмыс істейтін оқырмандар үшін берілген. USB және UART MCU жұмысын үзуі үшін күту режимі ұйқының орнына пайдаланылады.
Қарапайымдылық студиясы
MCU және сымсыз құралдарға, құжаттамаға, бағдарламалық құралға, бастапқы код кітапханаларына және т.б. бір рет басу арқылы қол жеткізу. Windows үшін қол жетімді,
Mac және Linux!
![]() |
![]() |
![]() |
![]() |
IoT портфолиосы www.silabs.com/IoT |
БҚ/ЖҚ www.silabs.com/simplicity |
Сапасы www.silabs.com/quality |
Қолдау және қоғамдастық community.silabs.com |
Жауапкершіліктен бас тарту
Silicon Labs тұтынушыларға Silicon Labs өнімдерін пайдаланатын немесе пайдаланғысы келетін жүйелік және бағдарламалық құралды іске асырушылар үшін қол жетімді барлық перифериялық құрылғылар мен модульдердің соңғы, дәл және тереңдетілген құжаттамасын ұсынуға ниетті. Сипаттама деректері, қол жетімді модульдер мен перифериялық құрылғылар, жад өлшемдері мен жад мекенжайлары әрбір нақты құрылғыға қатысты және берілген «Типтік» параметрлер әртүрлі қолданбаларда әр түрлі болуы мүмкін. Өтініш, мысалыampМұнда сипатталған мәліметтер тек көрнекі мақсаттарға арналған. Silicon Labs қосымша ескертусіз және өнім туралы ақпаратқа, техникалық сипаттамаларға және сипаттамаларға шектеусіз өзгертулер енгізу құқығын өзіне қалдырады және енгізілген ақпараттың дәлдігі мен толықтығына кепілдік бермейді. Silicon Labs компаниясы осы құжатта берілген ақпаратты пайдаланудың салдары үшін жауапкершілік көтермейді. Бұл құжат кез келген интегралдық микросхемаларды жобалау немесе өндіру үшін берілген авторлық құқық лицензияларын білдірмейді немесе білдірмейді. Өнімдер Silicon Labs компаниясының арнайы жазбаша келісімінсіз кез келген Тіршілікті қамтамасыз ету жүйесінде пайдалануға арналмаған немесе рұқсат етілмеген. «Тіршілікті қамтамасыз ету жүйесі» өмірді және/немесе денсаулықты қолдауға немесе қолдауға арналған кез келген өнім немесе жүйе, егер ол сәтсіз болса, елеулі жарақатқа немесе өлімге әкелуі мүмкін деп күтуге болады. Silicon Labs өнімдері әскери қолданбаларға арналмаған немесе рұқсат етілмеген. Silicon Labs өнімдері ешбір жағдайда жаппай қырып-жою қаруында, соның ішінде (бірақ олармен шектелмей) ядролық, биологиялық немесе химиялық қаруларда немесе осындай қаруды жеткізуге қабілетті зымырандарда пайдаланылмауы керек.
Сауда белгісі туралы ақпарат
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® және Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember® , Energy Micro, Energy Micro логотипі және олардың комбинациялары, «әлемдегі ең энергияға қолайлы микроконтроллерлер», Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY® , Telegesis, Telegesis Logo®, USBXpress® және басқалары Silicon Labs компаниясының сауда белгілері немесе тіркелген сауда белгілері. ARM, CORTEX, Cortex-M3 және бас бармақтар ARM Holdings компаниясының сауда белгілері немесе тіркелген сауда белгілері болып табылады. Keil - ARM Limited компаниясының тіркелген сауда белгісі. Осы жерде аталған барлық басқа өнімдер немесе бренд атаулары олардың сәйкес иелерінің сауда белгілері болып табылады.
Silicon Laboratories Inc.
400 Батыс Сезар Чавес
Остин, TX 78701
АҚШ
http://www.silabs.com
Құжаттар / Ресурстар
![]() |
SILICON LABS Wireless M-BUS бағдарламалық құралын енгізу AN451 [pdf] Пайдаланушы нұсқаулығы SILICON LABS, C8051, MCU және, EZRadioPRO, Wireless M-шинасы, Wireless, M-BUS, бағдарламалық құрал, енгізу, AN451 |