AN451
ЗЫМСЫЗ M-BUS ПРОГРАММАСЫН ИШКЕ АШЫРУУ
Introduction
Бул колдонмо эскертмесинде Silicon Labs C8051 MCU жана EZRadioPRO® аркылуу Wireless M-Busтын Silicon Labs ишке ашырылышы сүрөттөлөт. Wireless M-bus – бул 868 МГц жыштык тилкесин колдонуу менен эсептегичти окуу колдонмолору үчүн европалык стандарт.
Стек катмарлары
Wireless M-Bus 3 катмарлуу OSI моделинин бир бөлүгү болгон 7 катмарлуу IEC моделин колдонот (1-сүрөттү караңыз).
Физикалык (PHY) катмар EN 13757-4 аныкталат. Физикалык катмар биттердин кантип коддолушун жана берилишин, RF модеминин мүнөздөмөлөрүн (чиптин ылдамдыгы, преамбула жана синхрондоштуруу сөзү) жана RF параметрлерин (модуляция, борбор жыштык жана жыштыктан четтөө) аныктайт.
PHY катмары аппараттык жана микропрограмманын айкалышы аркылуу ишке ашырылат. EZRadioPRO бардык RF жана модем функцияларын аткарат. EZRadioPRO пакет иштетүүчү менен FIFO режиминде колдонулат. MbusPhy.c модулу SPI интерфейсин, коддоо/декоддоону, окууну/жазууну бөгөттөөнү жана пакеттерди иштетүүнү камсыз кылат жана кабыл алгычтын абалын башкарат.
M-Bus Data шилтеме катмары MbusLink.c модулунда ишке ашырылат. M-Bus Колдонмо программалоо интерфейси негизги жиптеги тиркеме катмарынан чакырылышы мүмкүн болгон коомдук функциялардан турат. MbusLink модулу ошондой эле Data Link катмарын ишке ашырат. Берилиштер шилтемеси катмары талап кылынган аталыштарды жана CRCдерди кошуп, TX буферинен MbusPhy TX буферине маалыматтарды форматтап жана көчүрөт.
Колдонмо катмарынын өзү M-автобус микропрограммасынын бир бөлүгү эмес. Колдонмо катмары берилиштердин ар кандай түрлөрүн өткөрүү үчүн форматталышын аныктайт. Көпчүлүк эсептегичтер маалыматтардын бир же эки түрүн гана өткөрүшү керек. Эсептегичке ар кандай маалыматтарды жайгаштыруу үчүн чоң көлөмдөгү кодду кошуу керексиз кодду жана эсептегичке чыгымдарды кошот. Бул китепкана же башын ишке ашыруу мүмкүн болушу мүмкүн file маалымат түрлөрүнүн толук тизмеси менен. Бирок, өлчөөчү кардарлардын көбү кандай маалыматтарды берүү керек экенин так билишет жана форматтоо деталдары үчүн стандартка кайрыла алышат. Универсалдуу окурман же жыттоочу PC GUIде тиркеме маалыматтарынын түрлөрүнүн толук топтомун ишке ашырышы мүмкүн. Ушул себептерден улам, колдонмо катмары 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-Bus Европада эсептегичти окуу үчүн зымдуу стандарт болуп саналат.
- Зымсыз M-Bus—Европада эсептегичтерди окуу үчүн зымсыз M-Bus.
- PHY—Физикалык катмар маалымат биттеринин жана байттарынын коддолушун жана берилишин аныктайт.
- API—Колдонмо программалоочу интерфейси.
- ШИЛТЕМЕ—Data Link Layer блоктордун жана жээкчелердин кантип берилээрин аныктайт.
- CRC -Циклдик ашыкча текшерүү.
- FSK —Frequency Shift Keying.
- Чип —Берилген маалыматтардын эң кичине бирдиги. Бир маалымат бит бир нече чип катары коддолгон.
- Модуль —AC код булагы .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 жана Mode R үчүн 18 чип, же Model T үчүн 10 чип. Si443x үчүн синхрондоштуруу сөзү 1ден 4 байтка чейин. Бирок, синхрондоштуруу сөзүнүн алдында дайыма преамбула тургандыктан, преамбуланын акыркы алты биттерин синхрондоштуруу сөзүнүн бир бөлүгү катары кароого болот; Ошентип, биринчи синхрондоштуруу сөзү нөлдүн үч жолу кайталанышы, андан кийин бир жолу менен толтурулат. Синхрондоштуруу сөзү Si443x регистрлерине жазуудан мурун толукталат.
Таблица 1. S жана R режими үчүн синхрондоштуруу сөзү
EN 13757-4 | 00 | 01110110 | 10010110 | бинардык |
00 | 76 | 96 | Hex | |
(01) x 3 менен аянтча | 01010100 | 01110110 | 10010110 | бинардык |
54 | 76 | 96 | Hex | |
толуктоо | 10101011 | 10001001 | 01101001 | бинардык |
AB | 89 | 69 | Hex |
Таблица 2. Mode T Meter үчүн синхрондоштуруу сөзү башкага
SYNCH | SYNCH | SYNCH |
СӨЗ | СӨЗ | СӨЗ |
3 | 2 | 1 |
Берүү Преамбула Узундугу
Минималдуу преамбула төрт түрдүү иштөө режими үчүн көрсөтүлгөн. Преамбуланын көрсөтүлгөндөн узунураак болушу алгылыктуу. Преамбула үчүн алты чипти алып салуу Si443x преамбуласы үчүн микросхемалардын минималдуу санын берет. Ишке ашыруу преамбуланы аныктоону жана өз ара иштешүүнү жакшыртуу үчүн бардык кыска преамбула режимдеринде преамбуланын эки кошумча тиштерин кошот. Узун преамбула менен Mode S боюнча преамбула абдан узун; Ошентип, минималдуу преамбула колдонулат. Преамбуланын узундугу преамбуланын узундугу (0x34) реестрине жазылат. Преамбуланын узундугу реестри преамбуланы берүү учурунда гана аныктайт. Минималдуу спецификация жана преамбуланын узундугу орнотуулары 3-таблицада жалпыланган.
Таблица 3. Берүү преамбуласынын узундугу
EN-13757-4 минимум |
Si443x Преамбула Орнотуу |
Синхрондоштуруу Сөз |
Бардыгы | кошумча | |||
nx (01) | чипсы | тиштейт | чипсы | чипсы | чипсы | чипсы | |
Mode S кыска преамбула | 15 | 30 | 8 | 32 | 6 | 38 | 8 |
Mode S узун преамбула | 279 | 558 | 138 | 552 | 6 | 558 | 0 |
Mode 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 чиптен узунураак аныктоонун пайдасы өтө аз.
AFC кыска преамбуласы бар Model S жана T модели үчүн өчүрүлгөн. Бул ресивердин жайгашуу убактысын кыскартып, преамбуланы аныктоонун узунураак жөндөөсүнө жол ачат. AFC өчүрүлгөндө, T режими 20 чиптен турган сунушталган жөндөөнү колдоно алат. Кыска преамбуласы бар Model S үчүн 4 тиш же 20 чиптен турган параметр колдонулат. Бул бул модель үчүн жалган преамбуланы аныктоо ыктымалдыгын бир аз жогору кылат.
Таблица 4. Преамбуланы аныктоо
EN-13757-4 минимум |
Синхрондоштуруу Сөз |
колдонууга жарамдуу преамбула |
RX орнотуу | аныктоо мин |
Si443x Преамбула Аныктоо жөндөөсү |
|||
nx (01) | чипсы | чипсы | чипсы | чипсы | чипсы | тиштейт | чипсы | |
Mode S кыска преамбула | 15 | 30 | 6 | 24 | 8* | 16 | 4 | 16 |
Model 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 мынчалык узун преамбуланы талап кылбайт жана узун преамбуладан пайда алып келбейт. Узун преамбула Mode S2 үчүн кошумча катары белгиленгени менен, Si443x менен узун преамбуланы колдонууга эч кандай себеп жок. Эгерде бир тараптуу байланыш керек болсо, T1 режими кыскараак преамбуланы, жогорку маалымат ылдамдыгын жана батареянын иштөө мөөнөтүн узартат. Mode S2 аркылуу эки тараптуу байланыш керек болсо, кыска преамбула сунушталат.
Узун преамбуласы бар Model S үчүн аныктоо босогосу кыска преамбуласы бар Model S үчүн берилген преамбула nibbles санынан узунураак экенине көңүл буруңуз. Бул узак преамбула S Mode кабыл алгычы кыска преамбула S Mode өткөргүчүнүн преамбуласын аныктабайт дегенди билдирет. Бул Mode S кабылдагычы узун преамбуладан кандайдыр бир пайда алуу үчүн зарыл болсо керек.
Кыска преамбула Mode S кабыл алгычы преамбуланы аныктап, кыска преамбула Mode S экөөнөн тең пакеттерди кабыл ала тургандыгын эске алыңыз
өткөргүч жана узун преамбула Mode S өткөргүч; Ошентип, жалпысынан, эсептегич окурман кыска преамбула Mode S кабыл алгычтын конфигурациясын колдонушу керек.
Коддоо/декоддоо
Wireless M-автобус спецификациясы эки башка коддоо ыкмасын талап кылат. Манчестер коддоосу Mode S жана Mode R үчүн колдонулат. Манчестер коддоосу T моделиндеги башка метрге шилтеме үчүн да колдонулат. Model T метрден башкага шилтемеси 3 коддон 6тү колдонот.
1. Манчестер коддолгон/декоддоо
Манчестер коддоо жөнөкөй жана арзан модемди колдонуу менен күчтүү саатты калыбына келтирүү жана көзөмөлдөөнү камсыз кылуу үчүн RF системаларында кеңири таралган. Бирок, Si443x сыяктуу заманбап жогорку өндүрүмдүүлүктөгү радио Манчестер коддоосуна муктаж эмес. Манчестер коддоосу негизинен учурдагы стандарттарга шайкеш келүү үчүн колдоого алынат, бирок Si443x үчүн маалымат ылдамдыгы Манчестер коддоосун колдонбогондо натыйжалуу эки эсеге көбөйөт.
Si443x Манчестер коддоосун жана жабдыктагы бүт пакеттин декоддоосун колдойт. Тилекке каршы, синхрондоштуруу сөзү Манчестер коддолгон эмес. Шайкештештирүү сөзү үчүн жараксыз Манчестер ырааттуулугу атайылап тандалган. Бул Манчестер коддоосун учурдагы радиолордун көпчүлүгүнө, анын ичинде Si443x менен шайкеш келбейт. Натыйжада, Манчестер коддоо жана декоддоо MCU тарабынан аткарылышы керек. Коддолбогон маалыматтардагы ар бир байт сегиз маалымат битинен турат. Манчестер коддоосун колдонуу менен ар бир маалымат бит эки чиптүү символго коддолгон. Коддолгон маалыматтар FIFO радиосуна бир эле учурда сегиз чип менен жазылышы керек болгондуктан, бир эле учурда бир маалымат коддолуп, FIFOго жазылат.
Таблица 5. Манчестер коддоосу
маалыматтар | Ox12 | 0x34 | байт | ||
Ox1 | 0x2 | 0x3 | 0x4 | тиштейт | |
1 | 10 | 11 | 100 | бинардык | |
чип | 10101001 | 10100110 | 10100101 | 10011010 | бинардык |
FIFO | OxA9 | OxA6 | OxA5 | Ox9A | Hex |
Берилүүчү ар бир байт коддоо байт функциясына бирден бир байт өткөрүлүп берилет. Коддоо байт функциясы коддоочу nibble функциясын эки жолу чакырат, адегенде эң маанилүү тиштөө үчүн, андан кийин эң аз маанилүү тиштөө үчүн.
Манчестерди программалык камсыздоодо коддоо кыйын эмес. Эң маанилүү биттен баштап, бири “01” чип ырааттуулугу катары коддолот. Нөл "10" чип ырааттуулугу катары коддолгон. Бул циклди жана ар бир символ үчүн эки битти алмаштырууну колдонуу менен оңой аткарылса болот. Бирок, жөн гана жөнөкөй 16 кирүү издөө үстөлүн колдонуу тезирээк. Encode Manchester nibble функциясы маалыматтардын тиштерин коддойт, андан кийин аны FIFOго жазат. Инверттелген преамбуланын талаптарын эсепке алуу үчүн FIFOго жазуудан мурун чиптер инвертирленет.
Кабыл алууда ФИФОдогу ар бир байт сегиз чиптен турат жана маалыматтардын бир тишине декоддолот. Окуу блогунун функциясы FIFOдон бирден бир байт окуйт жана декод байт функциясын чакырат. Инверттелген преамбуланын талаптарын эсепке алуу үчүн FIFOдон окугандан кийин чиптер тескериленет. Манчестер коддолгон микросхемалардын ар бир байты маалыматтардын бир аздыгына декоддолот. Коддон чыгарылган nibble RX буферине жазуу nibble RX буфер функциясын колдонуу менен жазылат.
Көңүл буруңуз, коддолгон да, декоддоодо да бир маалда бир маалымат тиштелет. Буферге коддоо коддолбогон маалыматтардан эки эсе чоң кошумча буферди талап кылат. Коддоштуруу жана декоддоо эң ылдам колдоого алынган маалымат ылдамдыгынан (секундасына 100 к чип) алда канча ылдам. Si443x бир нече байт окууну жана FIFOго жазууну колдогондуктан, бир байт окуу жана жазууну колдонууда бир аз чыгым бар. 10 коддолгон чиптер үчүн кошумча чыгым 100 мкс. Пайдасы 512 байт RAM үнөмдөө болуп саналат.
2. Алтыдан үчөө коддоону чечмелөө
EN-13757-4-те көрсөтүлгөн үчтөн алтыдан коддоо ыкмасы MCUдагы микропрограммада да ишке ашырылат. Бул коддоо жогорку ылдамдыктагы (секундасына 100 к чиптер) режими T үчүн метрден экинчисине колдонулат. Модели T зымсыз эсептегич үчүн эң кыска берүү убактысын жана эң узак батареянын иштөө мөөнөтүн камсыз кылат.
Берилүүчү маалыматтардын ар бир байт эки тишке бөлүнөт. Эң маанилүү кычышуу коддолуп, алгач берилет. Кайрадан, бул коддоо байт функциясын колдонуу менен ишке ашырылат, ал коддоо nibble функциясын эки жолу чакырат.
Ар бир маалымат алты чиптүү символго коддолгон. Алты чиптүү символдордун ырааттуулугу 8чип ФИФОго жазылышы керек.
Коддоштуруу учурунда эки байт маалымат төрт тиш катары коддолот. Ар бир тиштүү 6 чиптен турган символ. Төрт 6чип символу үч байт катары бириктирилген.
Таблица 6. Алтыдан үч коддоо
маалыматтар | 0x12 | 0x34 | байт | ||||
Ox1 | 0x2 | 0x3 | 0x4 | тиштейт | |||
чип | 15 | 16 | 13 | 34 | сегиздик | ||
1101 | 1110 | 1011 | 11100 | бинардык | |||
FIFO | 110100 | 11100010 | 11011100 | бинардык | |||
0x34 | OxE2 | OxDC | Hex |
Программалык камсыздоодо алтыдан үчөө коддоо үч уяча функцияны колдонуу менен ишке ашырылат. Коддоо байт функциясы коддоочу nibble функциясын эки жолу чакырат. Encode nibble функциясы алты чиптүү символ үчүн издөө таблицасын колдонот жана символду алты функциянын ичинен Shift Үчүнчүсүнө жазат. Бул функция программалык камсыздоодо 16 чиптик сменалык регистрди ишке ашырат. Символ нөөмөт регистринин эң аз маанилүү байтына жазылат. Реестр эки жолу солго жылдырылат. Бул үч жолу кайталанат. Толук байт нөөмөт регистринин жогорку байтында болгондо, ал инвертирленет жана ФИФОго жазылат.
Маалыматтын ар бир байты бир жарым коддолгон байт катары коддолгондуктан, биринчи коддолгон байт туура болушу үчүн алгач нөөмөт регистрин тазалоо маанилүү. Эгерде пакеттин узундугу так сан болсо, бардык байттарды коддогондон кийин нөөмөт регистринде дагы бир тиш калат. Бул кийинки бөлүмдө түшүндүрүлгөндөй почта аркылуу чечилет.
Шифрленген алтыдан үчөөнү чечмелөө тескери процедура болуп саналат. Декоддоштурууда үч коддолгон байт эки маалымат байтына декоддолот. Программалык нөөмөт реестри кайрадан коддон чыгарылган маалыматтардын байттарын бириктирүү үчүн колдонулат. Дешифрлөө үчүн 64-киргизилген тескери издөө таблицасы колдонулат. Бул азыраак циклди, бирок көбүрөөк код эс тутумун колдонот. Тиешелүү символду издөө үчүн 16 жазуудан турган таблицада издөө бир топ убакытты талап кылат.
Почта
Wireless M-автобус спецификациясында почто же трейлер үчүн атайын талаптар бар. Бардык режимдер үчүн минималдуу эки чип, ал эми максималдуу сегиз чип болот. FIFO үчүн минималдуу атомдук бирдик бир байт болгондуктан, S Mode жана Mode R үчүн 8 чиптүү трейлер колдонулат. Mode T postamble пакетинин узундугу жуп болсо, сегиз чипти же пакеттин узундугу так болсо төрт чипти түзөт. Так пакеттин узундугу үчүн төрт чиптүү почта байланышы жок дегенде эки кезектешип чипке ээ болуу талаптарына жооп берет.
Таблица 7. Почта ташынын узундугу
Почта узундугу (чиптер) | |||||
мин | макс | Ишке ашыруу | чип ырааттуулугу | ||
С режими | 2 | 8 | 8 | 1010101 | |
Режим Т | 2 | 8 | 4 | (так) | 101 |
8 | (жуп) | 1010101 | |||
Режим R | 2 | 8 | 8 | 1010101 |
Пакет иштетүүчү
Si443x боюнча пакет иштетүүчү өзгөрүлмө пакеттик туурасы режиминде же белгиленген пакет туурасы режиминде колдонулушу мүмкүн. Пакет туурасынын өзгөрүлмө режими синхрондоштуруу сөзүнөн кийин пакет узундугу байты жана кошумча баш байттарды талап кылат. Кабыл алуудан кийин Радио жарактуу пакеттин соңун аныктоо үчүн узундуктагы байтты колдонот. Берүүдө радио узундук талаасын баш байттан кийин киргизет.
Зымсыз M-автобус протоколунун L талаасын Si443x узундугу талаасы үчүн колдонууга болбойт. Биринчиден, L талаасы пакеттин чыныгы узундугу эмес. Бул CRC байттарын же коддоону кошпогондо, шилтеме катмарынын пайдалуу жүк байттарынын саны. Экинчиден, L-талаасынын өзү Манчестер коддоосу же Mode T метри үчүн алтыдан үчөө башка коддоо аркылуу коддолгон.
Ишке ашыруу пакет иштеткичти берүү жана кабыл алуу үчүн белгиленген пакеттин туурасы режиминде колдонот. Өткөрүүдө PHY катмары берүү буфериндеги L талаасын окуйт жана коддолгон байттардын санын, анын ичинде почта байланышын эсептейт. Берилүүчү коддолгон байттардын жалпы саны Пакет узундугу регистрине (0x3E) жазылат.
Кабыл алууда биринчи эки коддолгон байт декоддолот жана L-талаа кабыл алуу буферине жазылат. L-талаасы кабыл алынуучу коддолгон байттардын санын эсептөө үчүн колдонулат. Андан кийин кабыл алынуучу коддолгон байттардын саны Пакет узундугу регистрине (0x3E) жазылат. Почта ташылат.
MCU L-талаасын чечмелеп, коддолгон байттардын санын эсептеп, пакеттин эң кыска узундугу алынганга чейин маанини Пакет узундугу реестрине жазышы керек. PHY катмары үчүн эң кыска жол берилген L-талаасы 9, коддолбогон 12 байтты берет. Бул T модели үчүн 18 коддолгон байт берет. Биринчи эки байт мурунтан эле коддон чыгарылган. Ошентип, пакеттин узундугу реестри 16 кбит же 100 миллисекундда 1.28 байт жолу менен жаңыртылышы керек. 8051 MIPS ылдамдыгы менен иштеген 20 үчүн бул көйгөй эмес.
Кабыл алынуучу байттардын саны так пакеттин узундугу менен Mode T пакеттери үчүн колдонулган төрт чиптүү почта байланышын кошпогондо, почта байланышын камтыбайт. Ошентип, модель T так узундуктагы пакеттерди кошпогондо, ресивер почта байланышын талап кылбайт. Бул почта байланышы коддолгон байттардын бүтүн санын берүү үчүн гана керек. Почта катынын мазмуну этибарга алынбайт; ошондуктан, почта жөнөтүлбөсө, төрт чип ызы-чуу кабыл алынат жана этибарга алынбайт. Коддолгон байттардын жалпы саны 255 (0xFF) менен чектелгендиктен, ишке ашыруу ар кандай режимдер үчүн максималдуу L-талаасын чектейт.
Таблица 8. Пакеттин көлөмүнүн чектөөлөрү
коддолгон | коддон чыгарылган | M-Bus | ||||
байт | байт | L-Талаа | ||||
дек | Hex | дек | Hex | дек | Hex | |
С режими | 255 | FF | 127 | 7 F | 110 | 6E |
Mode 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 өткөрүп жиберилет.
Эгер коддолгон байттардын саны 64төн көп болсо, пакетти жөнөтүү үчүн бир нече FIFO которуулары талап кылынат. Биринчи 64 байт ФИФОго жазылган. Пакет жөнөтүлгөн жана TX FIFO дээрлик бош үзгүлтүктөр иштетилген. TX FIFO дээрлик бош босогосу 16 байтка (25%) коюлган. Ар бир IRQ окуясында 2-статус реестри окулат. Алгач Пакет жөнөтүлгөн бит текшерилет, ал эми пакет толук жөнөтүлбөсө, кийинки 48 байт коддолгон маалымат FIFOго жазылат. Бул бардык коддолгон байттар жазылганга жана Пакет жөнөтүлгөн үзгүлтүккө учурамайынча уланат.
1. Кабыл алуу
Кабыл алууда, адегенде, Синхрондоштуруу Word үзгүлтүктөрү гана иштетилет. Синхрондоштуруу сөзүн алгандан кийин, синхрондоштуруу сөзүнүн үзгүлтүккө учурашы өчүрүлөт жана FIFO дээрлик толук үзгүлтүккө учурашы иштетилет. FIFO дээрлик толук босогосу алгач 2 байтка коюлган. Биринчи FIFO дээрлик толук үзгүлтүккө эки узундуктагы байт качан кабыл алынганын билүү үчүн колдонулат. Узундук алынгандан кийин, узундук чечмеленет жана коддолгон байттардын саны эсептелет. RX FIFO дээрлик Толук босогосу анда 48 байтка коюлат. RX FIFO дээрлик толуп калды жана Жарактуу пакет үзгүлтүктөрү иштетилди. Кийинки IRQ окуясында статус 1 реестри окулат. Биринчиден, Valid Packet бити текшерилет, андан кийин FIFO дээрлик толук бит текшерилет. Эгерде 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-талаа - бул Link катмарынын маалымат жүктөмүнүн узундугу. Бул L-талаанын өзүн же CRC байттарын камтыбайт. Ал L-талаа, C-талаа, M-талаа жана A-талааны камтыйт. Булар PHY жүктөмүнүн бир бөлүгү.
Коддолгон байттардын саны 255 байт менен чектелгендиктен, M-талаасы үчүн максималдуу колдоого алынган маани Манчестер коддолгон маалыматтар үчүн 110 байт жана T Mode Three-Out-of-Six коддолгон маалыматтар үчүн 148 байт.
Link катмары берүүдөгү L-талаасын эсептөө үчүн жооптуу. Шилтеме катмары кабыл алууда L-талаасын колдонот.
L-талаасы PHY пайдалуу жүктүн узундугун же коддолгон байттардын санын көрсөтпөй турганын эске алыңыз. Өткөрүүдө PHY PHY пайдалуу жүктүн узундугун жана коддолгон байттардын санын эсептейт. Кабыл алуудан кийин PHY L-талаасын чечмелейт жана декоддоо үчүн байттардын санын эсептейт. - C-Талаа
C-талаасы кадрды башкаруу талаасы болуп саналат. Бул талаа кадр түрүн аныктайт жана шилтеме маалымат алмашуу кызматынын примитивдери үчүн колдонулат. C-талаасы кадрдын түрүн көрсөтөт - ЖӨНӨТ, ЫРАКТОО, СУРОО же ЖООП БЕРҮҮ. ЖӨНӨТҮҮ жана СУРОО жээкчелеринин учурда, C-талаасы ЫРАСТОО же ЖООП БЕРҮҮ күтүлгөнүн көрсөтөт.
Негизги Link TX функциясын колдонууда Стин каалаган маанисин колдонсо болот. Link Service Primitives колдонууда C талаасы EN 13757-4:2005 ылайык автоматтык түрдө толтурулат. - M-Талаа
M-талаа өндүрүүчүнүн коду болуп саналат. Өндүрүүчүлөр төмөндөгү үч тамгадан турган кодду сурай алышат web дареги: http://www.dlms.com/flag/INDEX.HTM Үч тамгалуу коддун ар бир белгиси беш бит катары коддолгон. 5 биттик кодду ASCII кодун алып, 0x40 ("A") кемитүү менен алса болот. Үч 5-бит коддору 15-бит кылуу үчүн бириктирилген. Эң маанилүү бит нөл. - A-Талаа
Дарек талаасы ар бир түзмөк үчүн уникалдуу 6 байт дарек болуп саналат. Уникалдуу дарек өндүрүүчү тарабынан дайындалышы керек. Ар бир аппараттын уникалдуу 6 байт дареги болушу үчүн ар бир өндүрүүчүнүн милдети. Жөнөтүү жана суроо жээкчелеринин дареги эсептегичтин же башка түзүлүштүн өздүк дареги болуп саналат. Ырастоо жана жооп маалымат алкактары баштапкы түзүлүштүн дареги аркылуу жөнөтүлөт. - CI-Талаа
CI-талаасы - бул колдонмонун аталышы жана колдонмонун берилиштеринин пайдалуу жүгүндөгү маалыматтардын түрү. EN13757-4:2005 чектелүү сандагы маанилерди белгилегени менен, Link Service Primitives ар кандай маанини колдонууга уруксат берет. - 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" караңыз.
Power Management
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 эсептөө үчүн жетиштүү узун. MCU кристалл турукташтырылганга чейин бардык CRCдерди бүтүрсө, кайра уйкуга кетет. Эгер шифрлөө талап кылынса, аны да кристалл осцилляторун күтүп жатканда баштоого болот.
MCU көпчүлүк тапшырмалар үчүн аз кубаттуулуктагы осциллятордун жардамы менен 20 МГц иштеши керек. Так тайм-аутту талап кылган тапшырмалар уйку режиминин ордуна так осцилляторду жана бош режимди колдонушу керек. RTC көпчүлүк тапшырмалар үчүн жетиштүү чечим менен камсыз кылат. T2 эсептегич үчүн энергияны башкаруу графиги эксample өтүнмө 3-сүрөттө көрсөтүлгөн.
Трансиверди ишке ашыруу эсептегич ойгонгондо жана окурман жок болгондо, кадимки учурга оптималдаштырылышы керек. Минималдуу/максималдуу ACK таймауттары жетиштүү узун, ошондуктан C8051F930 RTC колдонууга жана MCUди уйку режимине коюуга болот.
Түзүү параметрлери уйку режимин колдонуунун кереги жок болгон электр же USB менен иштеген окурмандар үчүн каралган. USB жана UART MCU үзгүлтүккө учурашы үчүн, бош режим уйку режиминин ордуна колдонулат.
Simplicity Studio
MCU жана зымсыз куралдарга, документтерге, программалык камсыздоого, баштапкы код китепканаларына жана башкаларга бир чыкылдатуу менен кирүү. Windows үчүн жеткиликтүү,
Mac жана Linux!
![]() |
![]() |
![]() |
![]() |
IoT портфолиосу www.silabs.com/IoT |
SW/HW www.silabs.com/simplicity |
Сапат www.silabs.com/quality |
Колдоо жана коомчулук community.silabs.com |
Жоопкерчиликтен баш тартуу
Silicon Labs кардарларга Silicon Labs өнүмдөрүн колдонгон же колдонууга ниеттенген система жана программалык камсыздоону ишке ашыруучулар үчүн жеткиликтүү болгон бардык перифериялык түзүлүштөрдүн жана модулдардын эң акыркы, так жана тереңдетилген документтерин берүүгө ниеттенүүдө. Мүнөздөө маалыматтары, жеткиликтүү модулдар жана перифериялык түзүлүштөр, эстутумдун өлчөмдөрү жана эстутум даректери ар бир конкреттүү түзүлүшкө тиешелүү жана берилген "Типтүү" параметрлер ар кандай тиркемелерде ар кандай болушу мүмкүн. Колдонмо мисampбул жерде сүрөттөлгөн les иллюстрациялоо максатында гана. 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-bus, Wireless, M-BUS, Программалык камсыздоо, Ишке ашыруу, AN451 |