SILICON LABS logotipi

AN451
SIMSIZ M-BUS DASTURI TA'MINOTI

Kirish

Ushbu ilova eslatmasi Silicon Labs C8051 MCU va EZRadioPRO® yordamida Simsiz M-Busning Silicon Labs amalga oshirilishini tavsiflaydi. Simsiz M-avtobus 868 MGts chastota diapazoni yordamida hisoblagichlarni o'qish ilovalari uchun Evropa standartidir.

Stack qatlamlari

Simsiz M-Bus 3 qatlamli OSI modelining quyi qismi bo'lgan 7 qatlamli IEC modelidan foydalanadi (1-rasmga qarang).

SILICON LABS Wireless M-BUS dasturiy ta'minotini amalga oshirish AN451Jismoniy (PHY) qatlam EN 13757-4 da belgilangan. Jismoniy qatlam bitlarning qanday kodlanishi va uzatilishini, RF modem xususiyatlarini (chip tezligi, kirish so'zi va sinxronizatsiya so'zi) va RF parametrlarini (modulyatsiya, markaz chastotasi va chastotaning og'ishi) belgilaydi.
PHY qatlami apparat va proshivka kombinatsiyasi yordamida amalga oshiriladi. EZRadioPRO barcha RF va modem funksiyalarini bajaradi. EZRadioPRO FIFO rejimida paketli ishlov beruvchi bilan ishlatiladi. MbusPhy.c moduli SPI interfeysi, kodlash/dekodlash, blokni o'qish/yozish va paketlar bilan ishlashni ta'minlaydi va qabul qiluvchining holatini boshqaradi.
M-Bus Data link qatlami MbusLink.c modulida amalga oshiriladi. M-Bus Application Programming interfeysi asosiy tarmoqdagi dastur sathidan chaqirilishi mumkin bo'lgan umumiy funktsiyalardan iborat. MbusLink moduli Data Link Layerni ham amalga oshiradi. Ma'lumotlar havolasi qatlami kerakli sarlavhalar va CRC'larni qo'shib, dastur TX buferidan MbusPhy TX buferiga ma'lumotlarni formatlaydi va nusxalaydi.
Ilova qatlamining o'zi M-avtobus mikrodasturining bir qismi emas. Ilova qatlami turli xil ma'lumotlarni uzatish uchun qanday formatlash kerakligini belgilaydi. Aksariyat hisoblagichlar faqat bir yoki ikki turdagi ma'lumotlarni uzatishi kerak. Hisoblagichga har qanday ma'lumotni joylashtirish uchun katta hajmdagi kod qo'shilishi keraksiz kod va hisoblagichga xarajatlarni oshiradi. Kutubxona yoki sarlavhani amalga oshirish mumkin bo'lishi mumkin file ma'lumotlar turlarining to'liq ro'yxati bilan. Biroq, ko'pchilik o'lchash mijozlari qanday ma'lumotlarni uzatish kerakligini aniq bilishadi va ma'lumotlarni formatlash uchun standartga murojaat qilishlari mumkin. Universal o'quvchi yoki sniffer kompyuter grafik interfeysida dastur ma'lumotlar turlarining to'liq to'plamini amalga oshirishi mumkin. Shu sabablarga ko'ra, dastur qatlami ex yordamida amalga oshiriladiampHisoblagich va o'quvchi uchun le ilovalar.

Majburiy standartlar
  1. EN 13757-4
    EN 13757-4
    Hisoblagichlar uchun aloqa tizimi va hisoblagichlarni masofadan o'qish
    4-qism: Simsiz hisoblagichni o'qish
    868 MGts dan 870 MGts SRD diapazonida ishlash uchun radiometr ko'rsatkichi
  2. EN 13757-3
    Hisoblagichlar uchun aloqa tizimi va hisoblagichlarni masofadan o'qish
    3-qism: Maxsus dastur qatlami
  3. IEC 60870-2-1: 1992
    Teleboshqaruv uskunalari va tizimlari
    5-qism: uzatish protokollari
    1-bo'lim: Bog'lanishni uzatish tartibi
  4. IEC 60870-1-1: 1990
    Teleboshqaruv uskunalari va tizimlari
    5-qism: uzatish protokollari
    1-bo'lim: Transmissiya ramka formatlari
Ta'riflar
  • M-avtobus -M-Bus Evropada hisoblagichlarni o'qish uchun simli standartdir.
  • Simsiz M-avtobus— Yevropada hisoblagichlarni o‘qish ilovalari uchun simsiz M-Bus.
  • PHY— Jismoniy qatlam maʼlumotlar bitlari va baytlarini qanday kodlash va uzatishni belgilaydi.
  • API—Ilova dasturchisi interfeysi.
  • LINK—Data Link Layer bloklar va ramkalar qanday uzatilishini belgilaydi.
  • CRC -Tsiklik ortiqcha tekshiruv.
  • FSK -Chastotani almashtirish.
  • Chip -Uzatilgan ma'lumotlarning eng kichik birligi. Bitta ma'lumot biti bir nechta chiplar sifatida kodlangan.
  • Modul -AC kod manbai .c file.

M-Bus PHY Funktsional tavsifi

Preambula ketma-ketligi

M-avtobus spetsifikatsiyasi tomonidan belgilangan muqaddima ketma-ketligi nol va birlarni almashtiruvchi butun sondir. Bir yuqori chastota, nol esa past chastota sifatida aniqlanadi.
nx (01)
Si443x uchun muqaddima opsiyalari oʻzgaruvchan va nollardan tashkil topgan nibblesning butun sonidir.
nx (1010)
Qo'shimcha boshlovchisi bo'lgan preambula muammo bo'lmaydi, lekin sinxronizatsiya so'zi va foydali yuk bir bitga noto'g'ri bo'ladi.
Yechim modulyatsiyani boshqarish 2 registrida (0x71) vosita bitini o'rnatish orqali butun paketni invertatsiya qilishdir. Bu preambula, so'zni sinxronlash va TX/RX ma'lumotlarini o'zgartiradi. Natijada, TX ma'lumotlarini yozish yoki RX ma'lumotlarini o'qishda ma'lumotlar teskari bo'lishi kerak. Shuningdek, sinxronizatsiya so'zi Si443x Sinxronizatsiya Word registrlariga yozishdan oldin teskari aylantiriladi.

Sinxronizatsiya Word

EN-13757-4 talab qiladigan sinxronlash soʻzi S rejimi va R rejimi uchun 18 ta chip yoki T modeli uchun 10 ta chipdir. Si443x uchun sinxronizatsiya soʻzi 1 dan 4 baytgacha. Biroq, sinxronlash so'zidan oldin doimo kirish so'zi bo'lganligi sababli, kirish so'zining oxirgi olti bitini sinxronizatsiya so'zining bir qismi deb hisoblash mumkin; Shunday qilib, birinchi sinxronlash so'zi uchta takroriy noldan keyin bitta bilan to'ldiriladi. Sinxronizatsiya so'zi Si443x registrlariga yozishdan oldin to'ldiriladi.
1-jadval. S rejimi va R rejimi uchun sinxronlash so'zi

EN 13757-4 00 01110110 10010110 ikkilik
00 76 96 hex
pad (01) x 3 bilan 01010100 01110110 10010110 ikkilik
54 76 96 hex
to‘ldiruvchi 10101011 10001001 01101001 ikkilik
AB 89 69 hex

2-jadval. T Meter rejimi uchun so'zni boshqasiga sinxronlash

SINOX SINOX SINOX
SO'Z SO'Z SO'Z
3 2 1
Transmit Preambula uzunligi

Minimal muqaddima to'rt xil ish rejimi uchun ko'rsatilgan. Muqaddimaning belgilanganidan uzunroq bo'lishi maqbuldir. Preambula uchun oltita chipni ayirish Si443x preambulasi uchun minimal chiplar sonini beradi. Amalga oshirish muqaddimani aniqlash va o'zaro muvofiqlikni yaxshilash uchun barcha qisqa muqaddima rejimlarida ikkita qo'shimcha muqaddima qo'shiladi. Uzoq muqaddima bilan S rejimidagi muqaddima juda uzun; shuning uchun minimal muqaddima ishlatiladi. Muqaddima uzunligi (0x34) registriga nibblesdagi muqaddima uzunligi yoziladi. Preambula uzunligi reestri faqat uzatilgandagina muqaddimani belgilaydi. Minimal spetsifikatsiya va kirish uzunligi sozlamalari 3-jadvalda jamlangan.
Jadval 3. Transmit Preambula uzunligi

EN-13757-4
minimal
Si443x Preambula
O'rnatish
Sinxronlash
So'z
Jami qo'shimcha
nx (01) chiplar nibbles chiplar chiplar chiplar chiplar
S rejimi qisqacha kirish 15 30 8 32 6 38 8
S rejimi uzun kirish 279 558 138 552 6 558 0
T rejimi (metr-boshqa) 19 38 10 40 6 46 8
R rejimi 39 78 20 80 6 86 8

Qabul qilish uchun minimal preambula Preambulani aniqlashni boshqarish registrida (0x35) aniqlanadi. Qabul qilingandan so'ng, foydalanish mumkin bo'lgan preambulani aniqlash uchun sinxronlash so'zidagi bitlar soni belgilangan minimal preambuladan olib tashlanishi kerak. Qabul qilgichning minimal o'rnatish vaqti, agar AFC yoqilgan bo'lsa, 16 chip yoki AFC o'chirilgan bo'lsa, 8 chip. Preambulani aniqlashni boshqarish registrining minimal sozlamasini aniqlash uchun qabul qiluvchining o'rnatish vaqti ham foydalanish mumkin bo'lgan preambuladan chiqariladi.

Noto'g'ri preambula ehtimoli Preambulani aniqlashni boshqarish registrining o'rnatilishiga bog'liq. 8-chiplarning qisqacha sozlanishi har bir necha soniyada noto'g'ri muqaddima aniqlanishiga olib kelishi mumkin. Tavsiya etilgan 20 ta chip sozlamasi noto'g'ri kirishni aniqlashni ehtimoldan yiroq hodisaga aylantiradi. Mode R va Mode SL uchun muqaddima uzunligi tavsiya etilgan sozlamadan foydalanish uchun etarlicha uzun.
Muqaddimani 20 ta chipdan uzoqroq aniqlashning foydasi juda kam.
Qisqa muqaddima va T modeliga ega Model S uchun OFK o‘chirib qo‘yilgan. Bu qabul qiluvchining o‘rnatish vaqtini qisqartiradi va uzoqroq kirish sozlamasini aniqlashga imkon beradi. AFC o'chirilgan bo'lsa, T rejimi tavsiya etilgan 20 ta chip sozlamasidan foydalanishi mumkin. Qisqa muqaddima bilan Model S uchun 4 ta nibbles yoki 20 chips sozlamalari qo'llaniladi. Bu ushbu model uchun noto'g'ri muqaddimani aniqlash ehtimolini biroz yuqoriroq qiladi.
Jadval 4. Preambulani aniqlash

EN-13757-4
minimal
Sinxronlash
So'z
foydalanish mumkin
muqaddima
RX o'rnatish Aniqlash
min
Si443x Preambula
Aniqlashni sozlash
nx (01) chiplar chiplar chiplar chiplar chiplar nibbles chiplar
S rejimi qisqacha kirish 15 30 6 24 8* 16 4 16
Model S uzun muqaddimasi 279 558 6 552 16 536 5 20
Model T (metr-boshqa) 19 38 6 32 8* 24 5 20
R rejimi 39 78 6 72 16 56 5 20
*Eslatma: OFK o'chirib qo'yilgan

Qabul qilgich minimal belgilangan muqaddima yordamida transmitter bilan o'zaro ishlash uchun tuzilgan. Bu qabul qiluvchining har qanday M-avtobusga mos uzatuvchi bilan o'zaro ishlashini ta'minlaydi.
Wireless M-Bus spetsifikatsiyasi S1 rejimi uchun kamida 558 chipdan iborat juda uzun kirishni talab qiladi. Bu muqaddimani uzatish uchun taxminan 17 milodiy vaqtni oladi. Si443x bunday uzun muqaddimani talab qilmaydi va uzoq muqaddimadan foyda keltirmaydi. Uzoq muqaddima S2 rejimi uchun ixtiyoriy sifatida qayd etilgan bo'lsa-da, Si443x bilan uzun muqaddimani ishlatish uchun hech qanday sabab yo'q. Agar bir tomonlama aloqa zarur bo'lsa, T1 rejimi qisqaroq kirishni, yuqori ma'lumot tezligini va batareyaning uzoq umrini ta'minlaydi. Agar S2 rejimidan foydalangan holda ikki tomonlama aloqa zarur bo'lsa, qisqacha kirish tavsiya etiladi.
Eʼtibor bering, uzun muqaddima bilan Model S uchun aniqlash chegarasi qisqa muqaddima bilan Model S uchun uzatilgan muqaddima nibbles sonidan uzunroqdir. Bu shuni anglatadiki, uzun preambula Mode S qabul qiluvchisi qisqa preambula Mode S uzatuvchisidan kirishni aniqlamaydi. Agar uzoq muqaddima Mode S qabul qiluvchisi uzoq muqaddimadan har qanday foyda olish uchun zarur bo'lsa, bu zarur.
Esda tutingki, qisqa preambula Mode S qabul qiluvchisi muqaddimani aniqlaydi va qisqa Preambula Mode S dan paketlarni qabul qiladi.
uzatuvchi va uzun preambula Mode S uzatuvchi; shuning uchun, umuman olganda, hisoblagichni o'quvchi Mode S qabul qiluvchining qisqa preambula konfiguratsiyasidan foydalanishi kerak.

Kodlash/dekodlash

Simsiz M-avtobus spetsifikatsiyasi ikki xil kodlash usulini talab qiladi. Manchester kodlash Mode S va Mode R uchun ishlatiladi. Manchester kodlash T Modelidagi boshqa metrga havola uchun ham ishlatiladi. Model T metrdan boshqasiga havola 3 ta kodlashdan 6 tasini ishlatadi.
1. Manchester kodlangan/dekodlash
Manchester kodlash RF tizimlarida oddiy va arzon modem yordamida ishonchli soatni tiklash va kuzatishni ta'minlash uchun tarixan keng tarqalgan. Biroq, Si443x kabi zamonaviy yuqori unumdor radio Manchester kodlashiga muhtoj emas. Manchester kodlash birinchi navbatda mavjud standartlarga muvofiqligi uchun qo'llab-quvvatlanadi, ammo Si443x uchun ma'lumotlar tezligi Manchester kodlashdan foydalanilmaganda samarali ravishda ikki baravar oshiriladi.
Si443x apparatdagi butun paketni Manchester kodlash va dekodlashni qo'llab-quvvatlaydi. Afsuski, sinxronizatsiya so'zi Manchesterda kodlanmagan. Sinxronizatsiya so'zi uchun yaroqsiz Manchester ketma-ketligi ataylab tanlangan. Bu Manchester kodlashni mavjud radiolarning aksariyati, jumladan Si443x bilan mos kelmaydi. Natijada, Manchester kodlash va dekodlash MCU tomonidan amalga oshirilishi kerak. Kodlanmagan ma'lumotlarning har bir bayti sakkizta ma'lumot bitidan iborat. Manchester kodlashdan foydalanib, har bir ma'lumot biti ikki chipli belgiga kodlanadi. Kodlangan ma'lumotlar FIFO radiosiga bir vaqtning o'zida sakkiz chipga yozilishi kerakligi sababli, bir vaqtning o'zida bitta ma'lumot kodlanadi va FIFOga yoziladi.
5-jadval. Manchester kodlash

ma'lumotlar Ox12 0x34 bayt
Ox1 0x2 0x3 0x4 nibbles
1 10 11 100 ikkilik
chip 10101001 10100110 10100101 10011010 ikkilik
FIFO OxA9 OxA6 OxA5 Ox9A hex

Uzatiladigan har bir bayt bir vaqtning o'zida bir baytdan kodlash bayt funksiyasiga uzatiladi. Kodlash bayti funksiyasi kodlash funktsiyasini ikki marta chaqiradi, birinchi navbatda eng muhim nibble uchun, keyin esa eng kam ahamiyatli nibble uchun.
Dasturiy ta'minotda Manchester kodlash qiyin emas. Eng muhim bitdan boshlab, biri "01" chip ketma-ketligi sifatida kodlangan. Nol "10" chiplar ketma-ketligi sifatida kodlangan. Buni pastadir yordamida va har bir belgi uchun ikki bitni siljitish orqali osongina bajarish mumkin. Biroq, har bir nibble uchun oddiy 16 ta kirish jadvalini ishlatish tezroq. Encode Manchester nibble funktsiyasi ma'lumotlarning bir qismini kodlaydi va keyin uni FIFOga yozadi. Inverted preambula talablarini hisobga olish uchun FIFOga yozishdan oldin chiplar teskari aylantiriladi.
Qabul qilishda FIFOdagi har bir bayt sakkiz chipdan iborat bo'lib, ma'lumotlarning bitta nibblesiga dekodlanadi. O'qish bloki funktsiyasi FIFO dan bir vaqtning o'zida bir baytni o'qiydi va dekodlash bayt funksiyasini chaqiradi. Inverted preambula talablarini hisobga olish uchun FIFO dan o'qilgach, chiplar teskari aylantiriladi. Manchester kodlangan chiplarning har bir bayti ma'lumotlar to'plamiga dekodlanadi. Kod dekodlangan nibble RX buferiga yozish nibble RX bufer funksiyasi yordamida yoziladi.
E'tibor bering, kodlangan va dekodlash bir vaqtning o'zida bir vaqtning o'zida bir marta amalga oshiriladi. Buferga kodlash uchun kodlanmagan ma'lumotlardan ikki baravar kattaroq qo'shimcha bufer kerak bo'ladi. Kodlash va dekodlash eng tez qo'llab-quvvatlanadigan ma'lumotlar tezligidan (sekundiga 100 k chips) ancha tezroq. Si443x ko'p baytli o'qish va FIFO-ga yozishni qo'llab-quvvatlaganligi sababli, faqat bitta baytli o'qish va yozishdan foydalanishda kichik xarajatlar mavjud. 10 ta kodlangan chiplar uchun 100 mks ni tashkil qiladi. Foyda 512 bayt operativ xotirani tejashdir.
2. Oltitadan uchtasi kodlashni dekodlash
EN-13757-4 da ko'rsatilgan uchtadan oltitasini kodlash usuli MCU da proshivkada ham qo'llaniladi. Ushbu kodlash yuqori tezlikda (sekundiga 100 k chip) T rejimini metrdan ikkinchisiga o'tkazish uchun ishlatiladi. Model T simsiz hisoblagich uchun eng qisqa uzatish vaqtini va eng uzoq batareya quvvatini ta'minlaydi.
Uzatiladigan ma'lumotlarning har bir bayti ikkita nibblega bo'linadi. Eng muhim nibble kodlangan va birinchi bo'lib uzatiladi. Shunga qaramay, bu kodlash bayt funksiyasi yordamida amalga oshiriladi, bu kodlash nibble funktsiyasini ikki marta chaqiradi.
Ma'lumotlarning har bir qismi olti chipli belgiga kodlangan. Olti chipli belgilar ketma-ketligi 8 chipli FIFO ga yozilishi kerak.
Kodlash paytida ma'lumotlarning ikki bayti to'rtta nibble sifatida kodlanadi. Har bir nibble 6 chipli belgidir. To'rtta 6 chipli belgi uch bayt sifatida jamlangan.
Jadval 6. Oltita kodlashdan uchtasi

ma'lumotlar 0x12 0x34 bayt
Ox1 0x2 0x3 0x4 nibbles
chip 15 16 13 34 sakkizlik
1101 1110 1011 11100 ikkilik
FIFO 110100 11100010 11011100 ikkilik
0x34 OxE2 OxDC hex

Dasturiy ta'minotda oltitadan uchtasi kodlash uchta ichki funksiya yordamida amalga oshiriladi. Kodlash bayti funksiyasi kodlash nibble funksiyasini ikki marta chaqiradi. Encode nibble funksiyasi olti chipli belgi uchun qidirish jadvalidan foydalanadi va belgini oltita funksiyadan uchtasini Shiftga yozadi. Bu funksiya dasturiy ta'minotda 16 chipli siljish registrini amalga oshiradi. Belgi siljish registrining eng kam ahamiyatli baytiga yoziladi. Registr ikki marta chapga siljiydi. Bu uch marta takrorlanadi. Shift registrining yuqori baytida to'liq bayt mavjud bo'lsa, u teskari aylantiriladi va FIFOga yoziladi.
Ma'lumotlarning har bir bayti bir yarim kodlangan bayt sifatida kodlanganligi sababli, birinchi kodlangan bayt to'g'ri bo'lishi uchun dastlab siljish registrini tozalash muhimdir. Agar paket uzunligi toq son bo'lsa, barcha baytlarni kodlashdan keyin siljish registrida bitta nibble qoladi. Bu keyingi bobda tushuntirilganidek, pochta jo'natmalari bilan ishlanadi.
Kodlangan oltitadan uchtasini dekodlash teskari jarayondir. Dekodlashda uchta kodlangan bayt ikkita ma'lumot baytiga dekodlanadi. Dasturiy ta'minotni o'zgartirish registri yana dekodlangan ma'lumotlarning baytlarini jamlash uchun ishlatiladi. Dekodlash uchun 64 ta yozuvli teskari qidirish jadvali qo'llaniladi. Bu kamroq tsikllardan foydalanadi, lekin ko'proq kod xotirasi. Tegishli belgi uchun 16 ta kirish jadvalini qidirish ancha uzoq davom etadi.
Pochta savdosi
Simsiz M-avtobus spetsifikatsiyasi pochta qutisi yoki treyler uchun maxsus talablarga ega. Barcha rejimlar uchun minimal - ikkita chip, maksimal - sakkiz chip. FIFO uchun minimal atom birligi bir bayt bo'lganligi sababli, S rejimi va R rejimi uchun 8 chipli treyler ishlatiladi. Agar paket uzunligi juft bo'lsa, T rejimi sakkiz chip yoki paket uzunligi toq bo'lsa, to'rt chip bo'ladi. G'alati paket uzunligi uchun to'rt chipli pochta qutisi kamida ikkita o'zgaruvchan chipga ega bo'lish talablariga javob beradi.
Jadval 7. Pochta uzunligi

Pochta uzunligi (chiplar)
min maks Amalga oshirish chiplar ketma-ketligi
S rejimi 2 8 8 1010101
T rejimi 2 8 4 (g'alati) 101
8 (hatto) 1010101
R rejimi 2 8 8 1010101
Paket ishlov beruvchisi

Si443x-dagi paket ishlov beruvchisi o'zgaruvchan paket kengligi rejimida yoki belgilangan paket kengligi rejimida ishlatilishi mumkin. O'zgaruvchan paket kengligi rejimi sinxronizatsiya so'zidan keyin paket uzunligi baytini va ixtiyoriy sarlavha baytlarini talab qiladi. Qabul qilingandan so'ng, Radio joriy paketning oxirini aniqlash uchun uzunlik baytidan foydalanadi. Uzatishda radio sarlavha baytlaridan keyin uzunlik maydonini kiritadi.
Simsiz M-bus protokoli uchun L maydonini Si443x uzunlik maydoni uchun ishlatib bo'lmaydi. Birinchidan, L maydoni haqiqiy paket uzunligi emas. Bu CRC baytlari yoki kodlashni o'z ichiga olmagan havola qatlamining foydali yuk baytlari soni. Ikkinchidan, L-maydonning o'zi Manchester kodlash yoki Mode T metr uchun uchta oltita kodlash yordamida boshqasiga kodlangan.
Amalga oshirish paketli ishlov beruvchidan ma'lum paket kengligi rejimida ham uzatish, ham qabul qilish uchun foydalanadi. Uzatilganda, PHY qatlami uzatish buferidagi L maydonini o'qiydi va kodlangan baytlar sonini, shu jumladan pochta jo'natmasini hisoblab chiqadi. Uzatiladigan kodlangan baytlarning umumiy soni Packet Length registriga (0x3E) yoziladi.
Qabul qilingandan so'ng, dastlabki ikkita kodlangan bayt dekodlanadi va L-maydon qabul qilish buferiga yoziladi. L-maydon qabul qilinadigan kodlangan baytlar sonini hisoblash uchun ishlatiladi. Qabul qilinadigan kodlangan baytlar soni keyin Packet Length registriga (0x3E) yoziladi. Pochta qutisi tashlab yuboriladi.
MCU L-maydonni dekodlashi, kodlangan baytlar sonini hisoblashi va paket uzunligining eng qisqa uzunligini olishdan oldin qiymatni Paket uzunligi registriga yozishi kerak. PHY qatlami uchun ruxsat etilgan eng qisqa L-maydon 9 bo'lib, 12 kodlanmagan baytni beradi. Bu T modeli uchun 18 kodlangan baytni beradi. Dastlabki ikki bayt allaqachon dekodlangan. Shunday qilib, paket uzunligi registrini 16 kbit / s yoki 100 millisekundda 1.28 bayt marta yangilash kerak. 8051 MIPS tezlikda ishlaydigan 20 uchun bu muammo emas.
Qabul qilinishi kerak bo'lgan baytlar soni toq paket uzunligiga ega bo'lgan T rejimi paketlari uchun ishlatiladigan to'rt chipli pochta qutisidan tashqari, pochta aloqasini o'z ichiga olmaydi. Shunday qilib, qabul qiluvchiga pochta jo'natmalari kerak emas, Model T toq uzunlikdagi paketlardan tashqari. Ushbu pochta aloqasi faqat kodlangan baytlarning butun sonini berish uchun kerak. Pochta jo'natmasining mazmuni e'tiborga olinmaydi; shuning uchun, agar pochta jo'natmasi uzatilmasa, to'rtta shovqin chiplari qabul qilinadi va e'tiborga olinmaydi. Kodlangan baytlarning umumiy soni 255 (0xFF) bilan cheklanganligi sababli, dastur turli rejimlar uchun maksimal L-maydonni cheklaydi.
Jadval 8. Paket hajmi chegaralari

kodlangan dekodlangan M-avtobus
bayt bayt L-maydon
dek hex dek hex dek hex
S rejimi 255 FF 127 7 F 110 6E
T rejimi (metr-boshqa) 255 FF 169 A9 148 94
R rejimi 255 FF 127 7 F 110 6E

Bu chegaralar odatda simsiz hisoblagich uchun odatiy foydalanish holatidan ancha yuqori. Batareyaning maksimal ishlash muddatini olish uchun paket uzunligi kichik bo'lishi kerak.
Bundan tashqari, foydalanuvchi qabul qilinishi kerak bo'lgan maksimal L-maydonni belgilashi mumkin (USER_RX_MAX_L_FIELD). Bu qabul qilish buferi uchun kerakli hajmni aniqlaydi (USER_RX_BUFFER_SIZE).
Maksimal 255 L maydonini qo'llab-quvvatlash uchun 290 baytlik qabul buferi va maksimal 581 Manchester kodlangan bayt kerak bo'ladi. Paket ishlov beruvchisi o'chirilishi kerak va bu holda Paket uzunligi registrini ishlatib bo'lmaydi. Buni amalga oshirish mumkin, lekin agar iloji bo'lsa, paketli ishlov beruvchidan foydalanish qulayroqdir.

FIFO dan foydalanish

Si4431 uzatish va qabul qilish uchun 64 baytli FIFO ni taqdim etadi. Kodlangan baytlar soni 255 bo'lgani uchun butun kodlangan paket 64 baytlik buferga sig'masligi mumkin.
Yuqish
Uzatishda kodlangan baytlarning umumiy soni hisoblanadi. Agar kodlangan baytlarning umumiy soni, shu jumladan pochta jo'natmalari 64 baytdan kam bo'lsa, butun paket FIFOga yoziladi va faqat paket yuborilgan uzilish yoqiladi. Ko'pgina qisqa paketlar bitta FIFO uzatishda yuboriladi.
Agar kodlangan baytlar soni 64 dan ortiq bo'lsa, paketni yuborish uchun bir nechta FIFO o'tkazmalari talab qilinadi. Birinchi 64 bayt FIFOga yoziladi. Packet Sent va TX FIFO Deyarli bo'sh uzilishlar yoqilgan. TX FIFO Almost Empty chegarasi 16 baytga (25%) o'rnatiladi. Har bir IRQ hodisasida 2-holat reestri o'qiladi. Avval paket yuborilgan bit tekshiriladi va agar paket to'liq yuborilmagan bo'lsa, keyingi 48 bayt kodlangan ma'lumotlar FIFOga yoziladi. Bu barcha kodlangan baytlar yozilguncha davom etadi va Packet Sent uzilishi sodir bo'ladi.
1. Qabul qilish
Qabul qilishda, dastlab, faqat Sinxron Word uzilishi yoqilgan. Sinxronlash so'zini olgandan so'ng, sinxronlash so'zining uzilishi o'chiriladi va FIFO Deyarli To'liq uzilishi yoqiladi. FIFO deyarli to'liq chegarasi dastlab 2 baytga o'rnatiladi. Birinchi FIFO Deyarli To'liq uzilish ikki uzunlikdagi bayt qachon olinganligini bilish uchun ishlatiladi. Uzunlik olingandan so'ng, uzunlik dekodlanadi va kodlangan baytlar soni hisoblanadi. RX FIFO deyarli to'liq chegarasi keyin 48 baytga o'rnatiladi. RX FIFO deyarli to‘lgan va Valid Packet uzilishlari yoqilgan. Keyingi IRQ hodisasida 1-holat reestri o'qiladi. Birinchidan, Valid Packet biti tekshiriladi, so'ngra FIFO Almost Full biti tekshiriladi. Agar faqat RX FIFO deyarli to'liq bit o'rnatilgan bo'lsa, keyingi 48 bayt FIFOdan o'qiladi. Yaroqli paket biti o'rnatilgan bo'lsa, paketning qolgan qismi FIFOdan o'qiladi. MCU qancha bayt o'qilganligini kuzatib boradi va oxirgi baytdan keyin o'qishni to'xtatadi.

Ma'lumotlar havolasi qatlami

Ma'lumotlar havolasi qatlami moduli 13757-4:2005 mos keladigan havola qatlamini amalga oshiradi. Ma'lumotlar havolasi qatlami (LINK) jismoniy qatlam (PHY) va amaliy qatlam (AL) o'rtasidagi interfeysni ta'minlaydi.
Ma'lumotlar havolasi qatlami quyidagi funktsiyalarni bajaradi:

  • PHY va AL o'rtasida ma'lumotlarni uzatuvchi funktsiyalarni ta'minlaydi
  • Chiquvchi xabarlar uchun CRCs hosil qiladi
  • Kiruvchi xabarlardagi CRC xatolarini aniqlaydi
  • Jismoniy manzilni ta'minlaydi
  • Ikki tomonlama aloqa rejimlari uchun o'tkazmalarni tasdiqlaydi
  • Ma'lumotlar bitlarini ramkalar
  • Kiruvchi xabarlardagi ramkalash xatolarini aniqlaydi
Bog'lanish qatlamining ramka formati

EN 13757-4:2005 da qoʻllaniladigan Wireless M-Bus ramka formati IEC3-3-60870 dan FT5 (Frame Type 2) ramka formatidan olingan. Ramka bir yoki bir nechta ma'lumotlar bloklaridan iborat. Har bir blok 16 bitli CRC maydonini o'z ichiga oladi. Birinchi blok - bu L-maydon, C-maydon, M-maydon va A-maydonni o'z ichiga olgan 12 baytlik qattiq uzunlikdagi blok.

  1. L-maydon
    L-maydon bog'lanish qatlami ma'lumotlar yukining uzunligi. Bu L-maydonning o'zi yoki CRC baytlarini o'z ichiga olmaydi. U L-maydon, C-maydon, M-maydon va A-maydonni oʻz ichiga oladi. Bular PHY foydali yukining bir qismidir.
    Kodlangan baytlar soni 255 bayt bilan cheklanganligi sababli, M-maydon uchun maksimal qo'llab-quvvatlanadigan qiymat Manchester kodlangan ma'lumotlar uchun 110 bayt va T Mode T Three-Out-of-Six kodlangan ma'lumotlar uchun 148 bayt.
    Bog'lanish qatlami uzatishdagi L-maydonni hisoblash uchun javobgardir. Bog'lanish qatlami qabul qilishda L-maydonidan foydalanadi.
    E'tibor bering, L maydoni PHY foydali yuk uzunligini yoki kodlangan baytlar sonini ko'rsatmaydi. Uzatilganda, PHY PHY foydali yuk uzunligini va kodlangan baytlar sonini hisoblab chiqadi. Qabul qilingandan so'ng, PHY L-maydonni dekodlaydi va dekodlash uchun baytlar sonini hisoblab chiqadi.
  2. C-maydon
    C-maydon - bu kadrlarni boshqarish maydoni. Ushbu maydon ramka turini aniqlaydi va havola ma'lumotlarini almashish xizmatining primitivlari uchun ishlatiladi. C-maydon ramka turini ko'rsatadi - SEND, CONFIRM, REQUEST yoki RESPOND. SEND va REQUEST freymlarida C-maydon TASDIQ yoki RESPOND kutilayotganligini ko'rsatadi.
    Asosiy Link TX funksiyasidan foydalanganda C ning istalgan qiymatidan foydalanish mumkin. Link Service Primitives dan foydalanilganda, C maydoni EN 13757-4:2005 ga muvofiq avtomatik ravishda to'ldiriladi.
  3. M-maydon
    M-maydon ishlab chiqaruvchining kodidir. Ishlab chiqaruvchilar quyidagidan uch harfli kodni so'rashlari mumkin web manzil: http://www.dlms.com/flag/INDEX.HTM Uch harfli kodning har bir belgisi besh bit sifatida kodlangan. 5 bitli kodni ASCII kodini olib, 0x40 (“A”) ayirish orqali olish mumkin. Uchta 5-bitli kodlar 15-bit qilish uchun birlashtiriladi. Eng muhim bit nolga teng.
  4. A-maydon
    Manzil maydoni har bir qurilma uchun 6 baytli noyob manzildir. Noyob manzil ishlab chiqaruvchi tomonidan tayinlanishi kerak. Har bir qurilmaning 6 baytli o'ziga xos manzilga ega bo'lishini ta'minlash har bir ishlab chiqaruvchining mas'uliyatidir. Yuborish va so'rov freymlari uchun manzil hisoblagich yoki boshqa qurilmaning o'z manzili hisoblanadi. Tasdiqlash va javob ma'lumotlari ramkalari kelib chiqqan qurilmaning manzili yordamida yuboriladi.
  5. CI-maydon
    CI-maydon ilova sarlavhasi boʻlib, ilova maʼlumotlar yuklamasidagi maʼlumotlar turini aniqlaydi. EN13757-4:2005 cheklangan miqdordagi qiymatlarni bildirsa-da, bog'lanish xizmatining primitivlari har qanday qiymatdan foydalanishga ruxsat beradi.
  6. CRC
    CRC EN13757-4:2005 da ko'rsatilgan.
    CRC polinomi:
    X16 + x13 + x12 + x11 + x10 + x8 +x6 + x5 +x2 + 1
    M-Bus CRC har bir 16 baytli blok uchun hisoblanganligini unutmang. Natijada, har 16 bayt ma'lumot uzatish uchun 18 bayt kerak bo'ladi,
Qo'shimcha ma'lumot

Bog'lanish qatlamini amalga oshirish haqida qo'shimcha ma'lumot olish uchun "AN452: Simsiz M-Bus Stack dasturchilar qo'llanmasi" ga qarang.

Quvvatni boshqarish

2-rasmda hisoblagich uchun quvvatni boshqarish vaqt jadvali ko'rsatilganampT1 rejimidan foydalanish.

MCU quvvatni tejash uchun iloji boricha Kutish rejimida bo'lishi kerak. Bu sobiqample, MCU RTC ishlayotganda, radio kristalli ishga tushishni kutayotganda va FIFO dan uzatishda uxlayapti. MCU Port Match uyg'otuvchisiga ulangan EZRadioPRO IRQ signalidan uyg'onadi.
Bitta blokdan uzunroq xabarlarni uzatganda, MCU FIFOni to'ldirish uchun uyg'onishi kerak (FIFO deyarli bo'sh uzilish asosida) va keyin yana uyquga o'tishi kerak.
MCU ADC dan o'qiyotganda kam quvvatli osilator yoki portlash rejimi osilatoridan ishlaydigan Bo'sh rejimda bo'lishi kerak. ADC SAR soatini talab qiladi.
Foydalanilmayotganda, EZRadioPRO SDN pinini baland qilib o'chirish rejimida bo'lishi kerak. Bu MCUga qattiq simli ulanishni talab qiladi. EZ Radio Pro registrlari o'chirish rejimida saqlanmaydi; Shunday qilib, EZRadioPro har bir RTC oralig'ida ishga tushiriladi. Radioni ishga tushirish 100 mks dan kamroq vaqtni oladi va 400 nA ni tejaydi. Bu 10 soniyalik interval asosida 10 mJ energiya tejashga olib keladi.
EZRadioPRO kristalli POR uchun taxminan 16 ms vaqt oladi. Bu taxminan sakkiz blok uchun CRCni hisoblash uchun etarli. MCU kristall barqarorlashgunga qadar barcha CRClarni tugatsa, yana uyquga ketadi. Agar shifrlash kerak bo'lsa, uni kristall osilatorda kutish paytida ham boshlash mumkin.
MCU ko'p vazifalar uchun kam quvvatli osilator yordamida 20 MGts chastotada ishlashi kerak. Aniq vaqt tugashini talab qiladigan vazifalar uyqu rejimi o'rniga aniq osilator va bo'sh rejimdan foydalanishi kerak. RTC ko'pgina vazifalar uchun etarli ruxsatni ta'minlaydi. T2 metr uchun quvvatni boshqarish vaqt jadvali example ilovasi 3-rasmda ko'rsatilgan.

Qabul qiluvchilarni amalga oshirish hisoblagich uyg'onganda va o'quvchi yo'q bo'lganda oddiy holat uchun optimallashtirilgan bo'lishi kerak. Minimal/maksimal ACK kutish vaqti etarlicha uzun, shuning uchun C8051F930 RTC dan foydalanish va MCUni uyqu rejimiga o'tkazish mumkin.
Qurilish opsiyalari uyqu rejimidan foydalanishni talab qilmaydigan elektr tarmog'i yoki USB orqali quvvatlanadigan o'quvchilar uchun taqdim etiladi. USB va UART MCU ni to'xtatishi uchun kutish o'rniga bo'sh rejim ishlatiladi.

SILICON LABS Wireless M-BUS dasturiy ta'minotini amalga oshirish AN451-1

Oddiylik studiyasi
MCU va simsiz asboblar, hujjatlar, dasturiy ta'minot, manba kodlari kutubxonalari va boshqalarga bir marta bosish orqali kirish. Windows uchun mavjud,
Mac va Linux!

IoT portfeli Sifat
IoT portfeli
www.silabs.com/IoT
SW/HW
www.silabs.com/simplicity
Sifat
www.silabs.com/quality
Qo'llab-quvvatlash va hamjamiyat
community.silabs.com

Rad etish
Silicon Labs mijozlarga Silicon Labs mahsulotlaridan foydalanadigan yoki foydalanmoqchi bo‘lgan tizim va dasturiy ta’minotni amalga oshiruvchilar uchun mavjud bo‘lgan barcha tashqi qurilmalar va modullarning eng so‘nggi, aniq va chuqur hujjatlarini taqdim etish niyatida. Xarakterlash ma'lumotlari, mavjud modullar va tashqi qurilmalar, xotira o'lchamlari va xotira manzillari har bir aniq qurilmaga tegishli va taqdim etilgan "Odat" parametrlar turli ilovalarda farq qilishi mumkin. Ilova, masalanampBu yerda tasvirlangan les faqat tasvirlash uchun. Silicon Labs bu yerdagi mahsulot ma’lumotlari, spetsifikatsiyalari va tavsiflariga qo‘shimcha ogohlantirishsiz va cheklovlarsiz o‘zgartirish kiritish huquqini o‘zida saqlab qoladi va kiritilgan ma’lumotlarning to‘g‘riligi yoki to‘liqligiga kafolat bermaydi. Silicon Labs bu erda keltirilgan ma'lumotlardan foydalanish oqibatlari uchun javobgar emas. Ushbu hujjat har qanday integral mikrosxemalarni loyihalash yoki ishlab chiqarish uchun berilgan mualliflik huquqi litsenziyalarini anglatmaydi yoki ifodalamaydi. Mahsulotlar Silicon Labsning maxsus yozma roziligisiz hayotni qo'llab-quvvatlash tizimida foydalanish uchun mo'ljallangan yoki ruxsat berilmagan. "Hayotni qo'llab-quvvatlash tizimi" hayotni va/yoki salomatlikni qo'llab-quvvatlash yoki qo'llab-quvvatlashga mo'ljallangan har qanday mahsulot yoki tizim bo'lib, agar u muvaffaqiyatsiz bo'lsa, jiddiy shaxsiy jarohat yoki o'limga olib kelishi mumkin. Silicon Labs mahsulotlari harbiy maqsadlarda foydalanish uchun mo'ljallanmagan yoki ruxsat berilmagan. Silicon Labs mahsulotlari hech qanday holatda ommaviy qirg'in qurollarida, shu jumladan yadroviy, biologik yoki kimyoviy qurollarda yoki bunday qurollarni etkazib bera oladigan raketalarda qo'llanilmasligi kerak.
Savdo belgisi haqida ma'lumot
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® va Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember® , Energy Micro, Energy Micro logotipi va ularning kombinatsiyasi, “dunyodagi eng energiyaga qulay mikrokontrollerlar”, Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY® , Telegesis, Telegesis Logo®, USBXpress® va boshqalar Silicon Labs kompaniyasining savdo belgilari yoki roʻyxatdan oʻtgan savdo belgilaridir. ARM, CORTEX, Cortex-M3 va bosh barmoqlar ARM Holdings kompaniyasining savdo belgilari yoki roʻyxatdan oʻtgan savdo belgilaridir. Keil ARM Limited kompaniyasining ro'yxatdan o'tgan savdo belgisidir. Bu yerda tilga olingan barcha boshqa mahsulotlar yoki tovar nomlari tegishli egalarining savdo belgilaridir.SILICON LABS logotipi

Silicon Laboratories Inc.
400 G'arbiy Sezar Chaves
Ostin, TX 78701
AQSh
http://www.silabs.com

Hujjatlar / manbalar

SILICON LABS Wireless M-BUS dasturiy ta'minotini amalga oshirish AN451 [pdf] Foydalanuvchi uchun qoʻllanma
SILICON LABS, C8051, MCU va, EZRadioPRO, Wireless M-bus, Wireless, M-BUS, Software, Implementation, AN451

Ma'lumotnomalar

Fikr qoldiring

Sizning elektron pochta manzilingiz nashr etilmaydi. Majburiy maydonlar belgilangan *