ZigBee ve H.264'e Dayalı Kablosuz Video İletim Sisteminin Tasarımı ve Uygulanması

Sen Zhanghua

(Shenzhen Huahai Union Energy Technology Co., Ltd., Shenzhen 518100, Guangdong)

: ZigBee, IEEE 802.15.4 standardına dayalı, düşük maliyetli, düşük güç tüketimli bir kablosuz ağ teknolojisidir.ZigBee protokol yığını aracılığıyla, her ZigBee düğümü, büyük düğüm kapasitesi ve geniş iletişim aralığı ile bir ZigBee ağına dönüştürülebilir. H.264 günümüzün en iyi video sıkıştırma standardıdır ve düşük bit hızı, yüksek görüntü kalitesi ve güçlü hata toleransı gibi avantajlara sahiptir. H.264 video akışını iletmek için ZigBee ağını kullanmak, kablosuz video aktarım sistemini gerçekleştirmek için iyi bir çözümdür. Spesifik geliştirme örnekleri aracılığıyla, planın tasarımı ve uygulaması, donanım ve yazılımın iki yönünden tartışılmaktadır.

: ZigBee; H.264; kablosuz video aktarım sistemi

: TP393.0 Belge tanımlama kodu: ADII: 10.19358 / j.issn.1674-7720.2016.24.016

Alıntı biçimi You Zhanghua. ZigBee ve H.264 J. Mikrobilgisayar ve Uygulama, 2016,35 (24): 54-56,60 tabanlı kablosuz video aktarım sisteminin tasarımı ve uygulaması.

0 Önsöz

ZigBee, 65.000'e kadar düğümü destekleyebilen IEEE 802.15.4 standardına [1] dayalı düşük maliyetli, düşük güç tüketimi, geniş ağ kapasitesi ve geniş iletişim aralığı ile bir kablosuz ağ teknolojisidir [2]. ZigBee 868 MHz, 915 MHz ve 2,4 GHz olmak üzere 3 çalışma frekans bandına sahiptir.2,4 GHz'de çalışırken 250 KB / sn ile en yüksek aktarım hızına sahiptir. Mümkün olduğunca az depolama ile iyi görüntü kalitesi ve düşük bant genişliğine sahip görüntülerin hızlı aktarımı, video sıkıştırmada iki ana sorun haline geldi. Bu nedenle, ISO / IEC ve ITU-T'nin iki büyük uluslararası standardizasyon kuruluşu ortaklaşa yeni nesil video sıkıştırma standardı H.264 [3] geliştirmiştir. H264, iyi görüntü kalitesi, güçlü süreklilik, yüksek dinamik görüntü kalitesi, yüksek sıkıştırma oranı ve ayarlanabilir bit hızı gibi avantajlara sahiptir. Bu makalede, hem donanım hem de yazılım açısından kablosuz bir video iletim sistemi oluşturmak için H.264 donanım codec'i, ARM9 CPU çekirdeği ve mikroişlemci CC2430 ile ZigBee protokol yığını ile i.MX27'nin kullanımı anlatılmaktadır.

1 Sistemin genel tasarımı

Sistemin genel tasarımı Şekil 1'de gösterilmektedir. ZigBee ağının tamamı bir ZigBee koordinatörü, çoklu ZigBee yönlendiricileri ve ZigBee kablosuz video terminallerinden [4] oluşur. CC2430, 2,4 GHz DSSS radyo frekansı alıcı-vericisini ve tek çipli bir denetleyiciyi entegre ettiğinden, ZigBee cihazları bir CC2430 tek yonga kullanılarak uygulanabilir. ZigBee koordinatörü, ilk ZigBee ağını kurmak ve ağa katılan her ZigBee yönlendirici ve ZigBee kablosuz video terminali için 16 bitlik ağ kısa adresleri tahsis etmek için kullanılır. ZigBee yönlendirici, ZigBee ağında yönlendirme ve röle rolünü oynar, her bir ZigBee kablosuz video terminali için veri iletir ve kablosuz veri aktarım aralığını genişletir. ZigBee kablosuz video terminali, tahsis edilen 16 bitlik ağ kısa adresine göre birbirleriyle iki yönlü kablosuz veri iletişimini gerçekleştirebilir [5]. Linux işletim sistemi i.MX27 üzerinde benimsenmiştir ve toplanan görüntüler sıkıştırılır ve Linux altında donanım tarafından kodlanır.Her ZigBee kablosuz video terminali arasındaki veriler kablosuz olarak H.264 kod akışı şeklinde iletilir.

2ZigBee kablosuz video terminalinin donanım tasarımı

H.264 yazılım kodlama ve kod çözme işleminin çok fazla CPU kaynağı tüketmesi gerektiği düşünüldüğünde, bu çözümde H.264 donanım codec ve ARM9 CPU çekirdeğine sahip Freescale mikroişlemci i.MX27 seçilmiştir. Bir yandan, ARM9 CPU çekirdeği, kamera tarafından toplanan YUV görüntü verilerini H.264 donanım kodlayıcıya göndermekten ve H.264 kod akış çıktısını ZigBee mikroişlemci CC2430 aracılığıyla donanım kodlayıcı tarafından kablosuz olarak göndermekten sorumludur. Diğer yandan, H.264 kod akışı CC2430 aracılığıyla alınır ve H.264 donanım kod çözücüsüne gönderilir ve ardından donanım kod çözücüsünün YUV görüntü verisi çıktısı LCD ekranda görüntülenir. ZigBee mikroişlemci CC2430, H.264 kod akışının gönderilmesinden ve alınmasından sorumludur ve i.MX27 ile SPI arayüzü aracılığıyla iletişim kurar. ZigBee kablosuz video terminalinin donanım bileşimi Şekil 2'de gösterildiği gibi gösterilmektedir.

Görüntü toplama elde etmek için, bu çözüm bir OV9650 yongasına sahip bir CMOS kamera kullanır ve toplanan görüntüler, i.MX27'nin CSI arayüzü aracılığıyla H.264 donanım kodlayıcıya iletilir. Görüntü ekranı için Innolux AT070TN83-V.1 (16: 9, 800 × 480) 7 inç TFT LCD ekranı seçin. Ekran, 18 bitlik dijital RGB arayüzünü destekler, format RGB666'dır, yani her piksel 18 bitlik veri oluşturmak için 6 bit kırmızı, 6 bit yeşil ve 6 bit maviden oluşur. Bu ekran i.MX27'nin LCDC denetleyicisine esas olarak 18 veri hattı (LD [17: 0]), çerçeve senkronizasyonu (VSYNC), hat senkronizasyonu (HSYSNC) ve saat (LSCLK) üzerinden bağlanır. Bir Samsung K9F2G08R0A NAND Flash yongası (256 M × 8 bit), sistemin Bootloader (RedBoot), Linux çekirdeği, dosya sistemi ve video programlarını depolamak için kullanılır. İki Infineon Teknolojisi HYB18M512160AF-7.5 yongası (4 Bank × 8 M × 16 bit), esas olarak Linux işletim sistemini yüklemek ve video codec programlarını çalıştırmak için kullanılan 128 MB DDR oluşturur.

Sistemin Bootloader, Linux çekirdeği ve dosya sistemini yazmak için 10 pinli bir JTAG arayüzü tasarlayın. Hata ayıklama bilgilerini görüntülemek için MiniCom'a döndürmek için kullanılan UART arayüzünü oluşturmak için MAX3232'yi kullanın. İşlemci çekirdeği 1,8 V ve 1,5 V voltaj gerektirdiğinden ve bellek ve harici I / O 3,3 V voltaj gerektirdiğinden, tüm sistemin giriş voltajı 5 V olarak ayarlanmıştır ve bu, bir DC-DC dönüştürücü aracılığıyla 3,3 V ve 1,8 V olarak tamamlanabilmektedir. 1,5 V voltaj dönüşümü. 26 MHz aktif kristal osilatör kullanarak, kristal osilatör i.MX27'nin çip üzerinde PLL devresi ile çarpıldıktan sonra 400 MHz'e kadar ulaşabilir.

ZigBee iletişim modülü, CHIPCON Company'nin CC2430 mikro işlemcisini temel alır. CC2430'un SPI arayüzünü i.MX27'nin SPI arayüzüne bağlayın ve H.264 kod akışı SPI arayüzü üzerinden iletilir.

3ZigBee Kablosuz Video Terminali Yazılım Tasarımı

3.1 Görüntü edinimi

CSI (CMOS Sensör Arayüzü), i.MX27'deki CMOS görüntü sensörü arayüzüdür. Görüntü edinimi, CSI arayüzü, görüntü sensörü yongası OV9650 ve Linux altındaki video cihazının çekirdek sürücüsü V4L2 aracılığıyla gerçekleştirilebilir, bu nedenle CSI sürücüsü mx27_csi.ko, ov9650 sürücüsü ov9650_cam.ko ve V4L2 sürücüsü mx27_v4l2_capture.ko'nun yüklenmesi gerekir. Bu şekilde uygulama, V4L2'yi açtıktan sonra görüntü verilerini toplamaya başlayabilir.

3.2 Görüntü ekranı

LCDC (Sıvı Kristal Görüntü Denetleyicisi), i.MX27'deki sıvı kristal ekran denetleyicisidir. Görüntü ekranı LCDC arabirimi aracılığıyla kontrol edilebilir, bu nedenle LCDC sürücüleri mxcfb_modedb.ko ve mxcfb.ko ile çerçeve arabellek sürücülerinin yüklenmesi gerekir. Bir çerçeve arabellek cihazı kullanırken, görüntü arabelleği doğrudan Linux kullanıcı alanına eşlenebilir. Bu şekilde, Linux kullanıcı alanında uygulama, ön ayarlı R, G, B basamaklarına ve ofsete göre mmap haritalamadan sonra görüntü verilerini doğrudan ekran tamponuna yazabilir ve ardından görüntünün görüntüsünü gerçekleştirebilir.

3.3H.264 codec bileşeni

VPU (Video İşleme Birimi), esas olarak H.264 BP, MPEG-4 SP ve H.263 P3 formatlarının donanım kodlaması ve kodunun çözülmesi için kullanılan i.MX27'deki bir video işleme birimidir [6]. Kullanıcıların VPU donanım kodekini kullanabilmeleri için Freescale, Linux altında bir dizi i.MX27 VPU tabanlı kitaplık dosyası sağlar. Kodlama veya kod çözme ne olursa olsun, VPU donanımını başlatmak için önce vpu_Init işlevini çağırmalısınız.

H.264 kodlaması için aşağıdaki adımların gerçekleştirilmesi gerekir: (1) VPU kodlayıcısını başlatmak için vpu_EncOpen işlevini çağırın; (2) kodlama başlatma bilgilerini elde etmek için vpu_EncGetInitialInfo işlevini çağırın; (3) kodlama çerçevesi arabelleğini kaydetmek için vpu_EncRegisterFrameBuffer işlevini çağırın; (4) vpu_EncOpen işlevini çağırın; (4) vpu_EncGetInitialInfo işlevini çağırın Kodlanmış çerçeve arabelleğindeki görüntü verilerinin her karesini kodlama için VPU kodlayıcıya gönderme ve kodlanmış H.264 kod akışını belirtilen bit akışı arabelleğinde saklama işlevi; (5) Kodlama işleminin sonlandırılması gerektiğinde, Sadece vpu_EncClose işlevini çağırın. H.264 kodlamasının yürütme süreci Şekil 3'te gösterilmektedir.

H.264 kod çözme için, aşağıdaki adımların gerçekleştirilmesi gerekir: (1) VPU kod çözücüsünü başlatmak için vpu_DecOpen işlevini çağırın; (2) kod çözme başlatma bilgilerini elde etmek için vpu_DecGetInitialInfo işlevini çağırın; (3) kodu çözülmüş çerçeve arabelleğini kaydetmek için vpu_DecRegisterFrameBuffer işlevini çağırın; (4) elde etmek için H.264 kod akışının kodunu çözmek için vpu_DecGetBitstreamBuffer işlevini çağırın; (5) H.264 kod akışını kod çözme için VPU kod çözücüye göndermek için vpu_DecStartOneFrame işlevini çağırın ve elde edilen görüntü verilerini kodu çözülmüş çerçeve arabelleğinde depolayın; (6) ) Kod çözme işlemini bitirmeniz gerektiğinde, sadece vpu_DecClose işlevini çağırmanız gerekir. H.264 kod çözme işleminin yürütme akışı Şekil 4'te gösterilmektedir.

3.4 H.264 kablosuz iletim

H.264 akışını kablosuz olarak alıp göndermek için, önce i.MX27'nin SPI arabirim sürücüsü mx27_spi.ko'nun yüklenmesi gerekir. SPI arayüzü aracılığıyla, i.MX27, H.264 kod akışını [7] CC2430'a iletebilir ve kablosuz olarak gönderebilir veya CC2430 tarafından kablosuz olarak alınan H.264 kod akışını i.MX27'ye girebilir.

ZigBee, 2,4 GHz frekans bandında ve 250 KB / s iletim hızında çalıştığı için, fiziksel katman her seferinde yalnızca 127 B'ye kadar olan veri paketlerini iletebilir. Fiziksel katmanın ve MAC katmanının ağ başlığı hariç tutulduğunda, ZigBee tarafından her seferinde iletilen gerçek veriler en fazla 89 B'dir [8]. ZigBee ağ katmanı H.264 kod akışını bölümlere ayırıp yeniden düzenleyemediğinden ve iletilen H.264 kod akışı 89 B'den çok daha fazla olduğundan, H.264 kod akışı ZigBee protokolünün uygulama katmanında 89'a eşit veya daha küçük bölümlere bölünmelidir. B'nin veri paketi iletilir. Alıcı uçta, bu ayrıştırılmış veri paketlerinin doğru bir H.264 kod akışı oluşturmak için yeniden düzenlenmesi gerekir. Kablosuz veri iletimi sırasında bölünen veri paketleri kaybolabileceğinden, bu da alıcı uçtaki verilerin yeniden birleştirilmesini doğrudan etkileyeceğinden, veri iletimi sırasında kaybolan veri paketlerini yeniden iletmek için bir yeniden iletim mekanizmasının kurulması gerekir. Paket tarafından iletilen paketin formatı aşağıda verilmiştir.

Verileri göndermeden önce, el sıkışma protokolünü [9] yürütün. ZigBee göndericisi önce bir istek paketi göndererek ZigBee alıcısına gönderilecek bir H.264 veri çerçevesinin birkaç veri paketine ve ilk veri paketinin sayısına bölüneceğini söyler. Numara alanı, 4 GB veriyi numaralandırabilen 4 B olarak tanımlanır, böylece sayı tekrarlandığında, eski numaralı veri paketi ağda kaybolmuş olur.

ZigBee alıcısı istek paketini aldıktan sonra, ZigBee alıcısının ZigBee göndericisinden gelen talebi kabul ettiğini belirten bir onay paketi döndürecektir. ZigBee göndericisi onay paketini aldıktan sonra, el sıkışma protokolünün tamamlanması için bir onay paketi de geri gönderir. Sırada gerçek veri iletişimi var. El sıkışma protokolünün yürütme akışı Şekil 5'te gösterilmektedir.

El sıkışma protokolü tamamlandıktan sonra, ZigBee alıcısı, bölünmüş paketlerin sayısına göre alma arabellek boyutunu tahsis edecektir. Alınan her veri paketi, veri paketinin sayısına göre alıcı tamponun karşılık gelen konumunda depolanır ve konumun bayrağı, karşılık gelen veri paketinin alındığını belirten 1'e ayarlanır. Alıcı ara belleğindeki bazı konumların işareti 0 ise ve karşılık gelen zamanlayıcının süresi dolarsa, bu, karşılık gelen veri paketinin o konumda alınmadığı ve veri paketinin kablosuz iletim sırasında kaybolduğu anlamına gelir. ZigBee alıcısının, kayıp veri paketinin yeniden iletilmesini talep ederek ZigBee vericisine bir yeniden iletim paketi göndermesi gerekir. Bu iletim protokolü, bir yeniden iletim paketinin belirli bir konum için arka arkaya 3 kez gönderilmesi ve zamanlayıcının art arda 4 kez sona ermesi durumunda iletimin başarısız olduğu anlamına gelir. ZigBee alıcısı, ZigBee vericisine bir sonraki H.264 veri çerçevesini iletmesi için bir yeniden başlatma paketi gönderecektir. Protokol yeniden iletiminin yürütme süreci Şekil 6'da gösterilmektedir.

4 sistem testi

ZigBee göndericisinin, H.264 verisinin her karesini ZigBee alıcısına başarıyla iletip iletmediğini test etmek için, şimdi 100 kare H.264 verisi iletmek için ZigBee göndericisi ile alıcı arasına bir ila dört ZigBee yönlendiricisi yerleştirilmiştir. Ölçek. H.264 görüntülerinin kablosuz iletiminin test sonuçları Tablo 1'de gösterilmektedir.

Görüntünün kablosuz olarak ZigBee vericisinden ZigBee alıcısına iletildiği daha az sayıda yönlendirici, aktarım başarı oranının o kadar yüksek olduğu görülebilir. Gerçek testte, temelde kablosuz video iletiminin gereksinimlerini karşılayan, saniyede yaklaşık 14 kare H.264 görüntü verisi iletebilir.

5. Sonuç

Bu makale, ZigBee ve H.264 tabanlı bir kablosuz video aktarım sisteminin tasarımını ve uygulamasını ayrıntılı olarak açıklamaktadır Makalede tasarlanan çözüm, yalnızca kablosuz dijital video aktarımı için kullanılamaz, aynı zamanda güçlü çok yönlülüğü ile kablosuz dijital ses aktarımına da uygulanabilir. .

Referanslar

1 BARONTI P, PILLAI P, CHOOK V. Kablosuz sensör ağları: son teknoloji ve 802.15.4 ve ZigBee standartları üzerine bir anket D. Pisa, İtalya: Pisa Üniversitesi, 2006.

2 CHIPCON. ZigBee Kullanım Kılavuzu Z. 2006.

3 Ortak Video Ekibi. Taslak ITUT tavsiyesi ve ortak video spesifikasyonunun nihai taslak uluslararası standardı (ITUT Rec. H.264 / ISO / IEC 1449610 AVC) Z. ISO / IEC Ortak Video ekibi MPEG ve ITU-T VCEG, JVT-G050, 2003.

[4] Cheng Rui, Li Jing, Lei Ming ZigBee J 'ye dayalı kablosuz sensör ağı tasarımı Elektronik Bileşenlerin Uygulaması, 2007,9 (12): 5458.

[5] Wang Zhenling ZigBee kablosuz sensör ağına dayalı izleme sisteminin tasarımı ve uygulaması D Xinxiang: Henan Normal Üniversitesi, 2012.

6 KANG HY, JEONG KA, BAEETC J Y.MPEG4 Ölçeklenebilir veri yolu mimarisi ve çift bellek denetleyicili AVC / H.264 kod çözücü C. 2004 Uluslararası Devreler ve Sistemler sempozyumunun bildirileri, ISCAS 2004, 2004,2 (2 ): 145-148.

7 ITUT. Genel görsel-işitsel hizmetler için gelişmiş video kodlaması R. ITU T H.264 Tavsiye. Mart, 2005.

[8] Sheng Xiangang, RTP [D] 'ye dayalı H.264 video iletim sistemi üzerine araştırma Xi'an: Xidian Üniversitesi, 2006.

[9] Xiao Ya, H264 video akışı gerçek zamanlı iletim sisteminin araştırılması ve uygulaması D Pekin: Pekin Posta ve Telekomünikasyon Üniversitesi, 2008.

"Aşk Aziz 2" yeniden değiştirildi, yıldızların moral tehlikesi yatırımcıların en büyük "kara mayını" haline gelebilir
önceki
Micro Whale VR Ma Kai: VR çok soğuk, neden hala ısrar ediyoruz?
Sonraki
"God of War" yönetmeni geliştirmeden bahsetti: Ben bunu mahvedeceğimi düşündüm
Dünyada en çok satan ilk on ilacın çoğu yenilikçi ilaçlardır, ancak Çin patentli ilaçlar Çin'de daha popülerdir.
Jest tanımada Sugeno fuzzy modeline dayalı ANFIS uygulaması
Bu, bu yıl görülen en şirin çizgi film
"Arabaların Hırsızı" çıktı ... Marlon Brando'ya benzeyen bu küçük taze et nasıl patlamaz?
"Fantasy Three Kingdoms 5", bu ayın 25'inde resmi olarak yayınlanan bir medya deneyimi toplantısı düzenledi
Ekran Süresi | Dane De Haan'ın süper model yüzü
Çok Fazlı Enterpolasyona Dayalı Video Ölçekleme Sisteminin FPGA Uygulaması
Yeni film değerlendirmesi IMAX, "Yıldızlararası Ajanlar" ı açmanın doğru yoludur
"Gossip Girl" 10. yıl dönümü, kahramanlar şimdi nasıl?
Çift modlu oyun deneyimi, HyperX Cloud Mix Skyline Bluetooth oyun kulaklığı değerlendirmesi Titanium Geek
Medya ağ geçidi sisteminde geliştirilmiş ana / bağımlı anahtar tasarımı
To Top