T.C KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü RF MODÜL İLE SES İLETİMİ Ömer Faruk ZENGİN Prof. Dr. Temel KAYIKÇIOĞLU Mayıs 2013 TRABZON T.C KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü RF MODÜL İLE SES İLETİMİ Ömer Faruk ZENGİN Prof. Dr. Temel KAYIKÇIOĞLU Mayıs 2013 TRABZON LİSANS BİTİRME PROJESİ ONAY FORMU Ömer Faruk ZENGİN tarafından Prof. Dr. Temel KAYIKÇIOĞLU yönetiminde hazırlanan “RF Modül İle Ses İletimi” başlıklı lisans bitirme projesi tarafımızdan incelenmiş, kapsamı ve niteliği açısından bir Lisans Bitirme Projesi olarak kabul edilmiştir. Danışman : Prof. Dr. Temel KAYIKÇIOĞLU ……………………. Jüri Üyesi 1 : Doç. Dr. Ali GANGAL ………………….…. Jüri Üyesi 2 : Yrd. Doç. Dr. Gökçe HACIOĞLU .…………………… Bölüm Başkanı : Prof. Dr. İsmail H. ALTAŞ ……………………. ÖNSÖZ Bu tez çalışmam boyunca yardımlarından dolayı ve tez konumun danışmanlığını yapan kıymetli hocam Sayın Prof. Dr. Temel KAYIKÇIOĞLU ‘na şükranlarımı sunmak istiyorum. Hayatım boyunca bana her konuda tam destek veren aileme ve bana hayatlarıyla örnek olan tüm hocalarıma saygı ve sevgilerimi sunarım. Ömer Faruk ZENGİN Mayıs 2013 iii İÇİNDEKİLER LİSANS BİTİRME PROJESİ ONAY FORMU ii ÖNSÖZ iii İÇİNDEKİLER iv ÖZET vi SEMBOLLER VE KISALTMALAR vii ŞEKİLLER DİZİNİ ix TABLOLAR DİZİNİ x 1. GİRİŞ 1 2.TEORİK ALTYAPI 2 2.1. Mikrodenetleyici 2 2.2. RF Modül 2 2.3. Gerilim Regülatörü 3 2.4. RF Haberleşme 3 2.4.1. Radyo Çalışmasının Temelleri 3 2.4.2. Radyo Frekans Spektrumu 4 2.4.3. Radyo Linkinin Temel Bileşenleri 5 2.4.4. RF Genel Yapısı ve Birimleri 5 2.5. nRF24L01 RF Modül 6 2.5.1. Enhanced Shockburst™ 10 2.5.1.1. Enhanced ShockBurst ™ veri paketi 11 2.5.1.2. Enhanced ShockBurst akış şemaları 12 2.5.1.2.1. PTX modu 12 2.5.1.2.2. PRX modu 13 2.6. Frekans Kaydırmalı Anahtarlama 15 2.7. PCM Kodlama ve Wav Dosya Formatı 16 2.8. ATMEGA328P Mikrodenetleyicisi 18 2.9. AT24C1024 Serial EEPROM 19 iv 3. TASARIM 20 4. DENEYSEL ÇALIŞMALAR 21 5. SONUÇLAR 26 6. YORUMLAR ve DEĞERLENDİRME 27 KAYNAKLAR 28 EK 1 29 v ÖZET RF modül ses iletimi sistemi alıcı ve verici olmak üzere iki ayrı devreden oluşmaktadır. Bu proje ile bir hafıza ünitesinde bulunan ses kaydının vericiden alıcıya aktarılması ve kaydın kullanıcı tarafından dinlenmesi amaçlanmıştır. Bu proje elektronik bilgisi, mikrodenetleyici ve yazılım bilgilerini gerektirmektedir. RF modülleriyle verici ile alıcı arasında haberleşme sağlanırken, modüllerin kontrolü ise mikrodenetleyicinin programlanması ile sağlanır. vi SEMBOLLER VE KISALTMALAR A : Amper ACK : Acknowledgement ADC : Analog Dijital Converter ARD : Auto Retransmit Delay ART : Auto Re-Transmit ASCII : American Standard Code for Information Interchange CE : Chip Enable CLK : Clock CRC : Cyclic Redundancy Check CSN : Chip Select NOT dB : Desibel DC : Direct Current EEPROM : Electronically Erasable Programmable Read Only Memory FIFO : First In, First Out FM : Frequency modulation FSK : Frequency shift keying GFSK : Gaussian Frequency Shift Keying GND : Ground, Toprak Hz : Hertz IRQ : Interrupt Request ISM : Industrial Scientific Medical Band I/O : Input / Output (Giriş/ Çıkış) LNA : Low Noise Amplifier m : Metre Mbps : Megabit per second MCU : Microcontroller Unit MISO : Master In Slave Out MOSI : Master Out Slave In PCM : Pulse-code modulation ppm : Parts per million vii PID : Packet Identity Bits PRX : Primary RX PTX : Primary TX PWM : Pulse Code Modulation, Darbe Kod Modülasyonu RF : Radio Frequency RIFF : Resource Interchange File Format RISC : Reduced instruction set computing RX : Receiver RX_DR : Receive Data Ready s : Saniye SPI : Serial Peripheral Interface TOA : Time on-air TX : Transmitter TX_DS : Transmit Data Sent USART : Universal Synchronous/Asynchronous Receiver/Transmitter V : Volt WAV : Waveform Audio File Format : Santigrad Derece Ω : Ohm vii ŞEKİLLER DİZİNİ Şekil 1. RF genel yapısı 5 Şekil 2. Enhanced ShockBurst™ için PRX işlemleri 13 Şekil 3. Enhanced ShockBurst™ için PTX işlemleri 14 Şekil 4. FSK modülasyonu 15 Şekil 5. Verici devreye ait blok diyagram 20 Şekil 6. Alıcı devreye ait blok diyagram 20 Şekil 7. Besleme katı devre şeması 21 Şekil 8. Verici devre şeması 22 Şekil 9. Verici devresinin baskı devresi 25 Şekil 10. Alıcı devre şeması 24 Şekil 11. Alıcı devresinin baskı devresi 25 ix TABLOLAR DİZİNİ Tablo 1. Çalışma Takvimi 1 Tablo 2. Radyo Frekansının Frekans Spektrumu 4 Tablo 3. nRF24L01’e ait uçların isimleri ve fonksiyonları 8 Tablo 4. nRF24L01 çalışma modları 9 Tablo 5. nRF24L01 anahtarlama ve bekleme süreleri 10 Tablo 6. Geliştirilmiş Bir ShockBurst ™ veri paketi 11 Tablo 7. Standart Wav dosya formatı 17 Tablo 8. Atmega328P mikrodenetleyicinin pin açıklamaları 19 Tablo 9. AT24C1024 Serial EEPROM pin açıklamaları 19 x 1. GİRİŞ RF modül ses iletimi ile yapılmak istenen bir vericide bulunan ses kaydının alıcıya aktarılması ve kaydın kullanıcı tarafından dinlenmesidir. Bu projede bir hafıza ünitesinde bulunan ses verilerinin vericiden alıcıya radyo frekansıyla iletimi sağlanmaktadır. Bu proje ile müzelerde kullanılan tuş kontrolü ile yapılan sesli bilgilendirme yerine ziyaretçinin tuşlama yapmadan ses kaydının otomatik olarak dinletilmesi sağlanmaktadır. RF modülleriyle verici ile alıcı arasında haberleşme sağlanırken, modüllerin kontrolü ise mikrodenetleyicinin programlanması ile sağlanır. RF modüllerinin yayın frekansı ve yayın gücü lisans gerektirmeyen frekans bantlarındadır. Ses kaydı bilgisayarda örneklenerek bir hafıza ünitesi olan EEPROM a kopyalanmıştır. Örnekleme frekansı ses kalitesi göz önüne alınarak seçilmiştir. Bu ses verisinin içerikleri mikrodenetleyici ile okunmaktadır. Böylece iletilecek olan ses kaydının seçimi gerçekleşmekte ve bu kaydın iletimi sağlanmaktadır. Sistemde alıcı kısımda sinyalleri algılayan RF modülünün kontrolü yine bir mikrodenetleyici ile sağlanmaktadır. Mikrodenetleyicide işlemden geçen sinyaller sayısalanalog dönüştürücüde analog işarete dönüştürülür. Bu işarette kulaklık veya hoparlör aracılığıyla dinlenir. Projenin çalışma takvimi tüm döneme yayılmıştır. Tablo 1’de verilmiştir. Tablo 1. Çalışma Takvimi GÖREV ŞUBAT Gerekli malzemelerin tespiti ve temini Baskı devre şemalarının çizimi ve üretimi Donanım üretimi ve testi Yazılım geliştirme Sistemin test edilmesi Bitirme tezinin yazımı 1 MART NİSAN MAYIS 2. TEORİK ALTYAPI Sistemin gerçekleştirilmesi için çeşitli malzemeler kullanılmıştır. Bu kısımda kullanılan malzemelerin ne amaçla kullanıldığı anlatılacaktır. 2.1. Mikrodenetleyici Mikrodenetleyiciler, bir mikroişlemci, veri ve program belleği, lojik giriş/ çıkışlar, analog girişler ve çevre birimlerine (zamanlayıcılar, sayaçlar, kesiciler, analog/dijital dönüştürücüler vb.) sahip mikrobilgisayarlardır. Mikrodenetleyiciler içine yazılan program ile istenilen işlemi gerçekleştiren bir kontrol elemanıdır. Bu projede iki adet Atmega328P mikrodenetleyici kullanılmaktadır. Mikrodenetleyicilerin programlanmasıyla, haberleşmeyi sağlayan RF modüllerinin kontrolü sağlanmaktadır. EEPROM’da bulunan ses verisinin içerikleri mikrodenetleyici tarafından okunarak verinin türü, başlangıcı ve süresi vb. bilgiler elde edilmektedir. Böylece ses verisinin seçimi gerçekleşmektedir. Alıcı tarafında da iletilen sinyalleri algılayan RF modülünün kontrolü yine bir mikrodenetleyici tarafından sağlanmaktadır. Mikrodenetleyicinin çalışma gerilimi +5 Volt’tur. Mikrodenetleyici ile RF modülün çalışma gerilimleri farklı olduğu için dirençler ve diyotlar kullanılmıştır. Kullanılan Atmega328P mikrodenetleyici ile ilgili detaylı bilgi 2.8. kısmında verilecektir. 2.2. RF Modül Bu projede RF birim olarak nRF24L01 RF modül kullanılmaktadır. Bu birim hem alıcı hem de verici yapısındadır. RF modülleri oluşturulan sistem de kablosuz haberleşmeyi sağlamaktadır. nRF24L01 RF modülü ses gibi yüksek veri aktarım hızı gerektiren sistemlerde kullanılabilmektedir. nRF24L01 RF modülü 2.4-2.524 GHz ISM bandı frekans aralığında çalışmaktadır. Bu modül, GFSK modülasyonunu kullanır. nRF24L01 RF modülü ile ilgili detaylı bilgi 2.5. kısımda verilecektir. 2 2.3. Gerilim Regülatörleri LM78XX serisi pozitif gerilim regülatörleri, devre tasarımında yaygın olarak kullanılmaktadır. Ayrıca LM79XX serisi negatif gerilim regülatörleri de mevcuttur. LM7805 devresi, girişine uygulanan gerilimi çıkışta 5 Volt ‘a sabitlerken; LM7905 devresi ise bu gerilimi -5 Volt’a sabitlemektedir. Çıkış gerilimi 5, 6, 8, 9, 10, 12, 15, 18, 24 V olan modeller bulunmaktadır. Bu projede kullanılan gerilim regülatörü LM7805 modelidir. Devrede giriş gerilimi 5 V ile 24 V arası seçilebilmektedir. Gerilim regülatörü LM7805 özellikle 5 V gerilimle beslenen RF modül için kullanılmıştır. LM7805 tüm devresi 3 bacağa sahiptir ve en üstteki bacağı çıkış bacağıdır. En alttaki bacak pozitif doğru gerilim girişi, ortadaki bacak ise toprağa veya 0 Volt gerilime bağlanacak olan bacaktır. 2.4. RF Haberleşme 2.4.1. Radyo Çalışmasının Temelleri Belli bir dirence sahip iletkenden alternatif akım geçirildiğinde iletken, elektromanyetik dalga şeklinde enerji yayacaktır. Bu dalganın şiddeti, kaynaktan uzaklaştıkça mesafenin karesiyle ters orantılı zayıflamaktadır. Yayılan elektromanyetik dalganın frekansı ile alternatif akımın salınım hızı birbirine eşittir. Radyo antenlerinde, dalganın elektrik alanı antene paraleldir. Elektromanyetik dalgalar sinyallerin alıcıya ileten alıcı antenden geçerken elektrik alan iletkene paralelse iletkendeki elektronları yukarı ve aşağı hareket ettirecektir. Alıcıda bu hareketi algılayıp sinyali işleme sokacaktır. Serbest uzay, hava ve boşluk ortamları için tanımlanmaktadır. Dalgalar bu ortamlarda ışık hızında hareket etmektedir. Belli bir frekanstaki dalga boyu aşağıdaki formül ile belirlenir. Bu formül ile frekans ve dalga boyu arasındaki ters orantı görülmektedir. Dalga boyu arttıkça frekans azalmaktadır. Burada c ışık hızıdır. (1) 3 2.4.2. Radyo Frekans Spektrumu RF haberleşmesi 3 Hz ile 300 GHz frekans spektrum aralığında elektromanyetik dalgaların işletilmesidir. Bu haberleşme, yüksek frekans sinyalleriyle yapılan haberleşme anlamına gelmektedir. RF haberleşme, 535-1605 kHz AM radyo frekansları ile 2.4 GHz lik yerel ağ frekanslarına kadar tanımlıdır. RF genelde 1 kHz’den 1GHz’e kadar tanımlanır. Mikrodalga frekansları için ise bu aralık 300 GHz’e kadardır [1]. Aşağıdaki Tablo 2’de radyo frekansının frekans spektrumu verilmektedir. Tablo 2. Radyo Frekansının Frekans Spektrumu Tanım Band Frekans Dalga Boyu Extremely low Frequency ELF 30-300 Hz 104-103 km Voice Frequency VF 300-3000 kHz 103-102 km 3-30 kHz 100-10 km Very Low Frequency VLF Low Frequency LF 30-300 MHz 10-1 km Medium Frequency MF 0.3-3 MHz 1-0,1 km High Frequency HF 3-30 MHz 100-10 m MHz 10-1 Very High Frequency VHF 30-300 m Ultra High Frequency UHF 300-3000 MHz 100-10 cm Super High Frequency SHF 3-30 GHz 10-1 cm Extremely High Frequency EHF 30-300 GHz 10-1 mm Bu tabloda radyo dalgalarının frekans spektrum üzerindeki frekans dağılımları ve bant aralıkları gösterilmiştir. Haberleşme sistemlerinde bu bantların belirli bölümleri kullanılmaktadır. Radyo frekans spektrumunun belli kısımlarının nasıl kullanılacağını belirleyen düzenlemeler bulunmaktadır. ISM (Industrial Scientific Medical Band) bandı telsiz iletişimi için lisansa gerek olmadan belirli bir çıkış gücünde yayın yapılabilen bir banttır. Ülkemizde ISM bandı yaygın olarak 315 MHz, 418 MHz, 433,93 MHz, 868 MHz, 915 MHz ve 2,5 GHz frekanslarında kullanılır. 4 RF modülleri belirli bir frekansta çalışacak şekilde tasarlanmışlardır ve alıcı verici olarak beraber satılmaktadır. Devreye bir anten ekleyerek kolayca çalıştırılabilirler. RF modülleri düşük güç tüketmektedir ve böylece taşınabilen sistemlerde kullanışlıdır. 2.4.3. Radyo Linkinin Temel Bileşenleri Bir radyo linki antenler, vericiler, alıcılar, kablolama, ara yüz cihazları ve anten destek yapılarından oluşmaktadır [2]. Antenler, elektromanyetik dalgaları almak veya yaymak amacıyla kullanılan cihazlardır. Her farklı tasarımlı anten elektromanyetik dalgaları farklı şekilde yaymaktadır. Verici, sinyali daha yüksek frekanslara modüle eder ve antene ileten kısımdır. Alıcı ise elektromanyetik dalgaları antenden alan ve bu dalgayı veri sinyaline dönüştüren cihazdır. Destek yapıları antenlerin daha yüksekte olmalarını sağlamak amacıyla kullanılmaktadır. Ara yüz ise verici ve alıcının kontrol edilmesini ve izlenmesini sağlamaktadır. 2.4.4. RF Genel Yapısı ve Birimleri Radyo frekansı ile çalışmanın genel yapısı aşağıdaki blok diyagramda gösterilmiştir. Bilgi kaynağından elde edilen data RF vericiden anten yardımıyla gönderilir. Bilgi iletim kanalından geçtikten sonra alıcı tarafında anten ile alınır ve hedefe iletilir. Aşağıdaki Şekil 1’de RF genel yapısı verilmiştir. Şekil 1. RF genel yapısı 5 RF verici, girişine gelen sayısal bilgiyi gönderebilmek için işareti elektromanyetik dalgaya dönüştürür. Burada “LO” ile gösterilen lokal osilatördür ve frekans üretir. “MIX” ile gösterilen mixerdir ve modülatördür. “PA” ise kuvvetlendiricidir. RF alıcı ise modüle edilerek gönderilen elektromanyetik dalgayı alan kısımdır. Elektromanyetik dalgayı demodüle ederek datayı ilk formatına dönüştürür. Aşağıdaki şekilde gösterilen “LNA (Low Noise Amplifier)” düşük gürültülü kuvvetlendiricidir. Elektromanyetik dalga demodüle edildikten sonra integral alıcı devreye gönderilir ve sinyal eski haline çevrilerek hedefe ulaştırılır. 2.5. nRF24L01 RF Modül Bu kısımda oluşturulan sistemde kablosuz haberleşmeyi sağlamak amacıyla kullanılan RF modüllerden ve teknik özelliklerinden bahsedilecektir. Sistemde kablosuz veri aktarımını sağlayan nRF24L01 RF modülü kullanılmaktadır. Bu modül ses gibi yüksek veri aktarım hızı gerektiren sistemlerde kullanılabilen bir RF modülüdür. nRF24L01, dünya genelinde lisans gerektirmeyen 2.4 GHz ISM bandında çalışan tek çipli RF alıcı-verici modülüdür. Son derece düşük güç harcamaktadır ve RX / TX tepe akımları 14 mA’den daha düşüktür. Besleme aralığı 1.9V ile 3.6V arasındadır. nRF24L01 RF modülü, RF sentezleyici ile tam entegredir ve Enhanced ShockBurst ™ donanım protokolü hızlandırıcısını içerir. nRF24L01, SPI (Serial Peripheral Interface) ile yapılandırılır ve işletilir. nRF24L01’de, kompakt 20-pin 4 x 4mm QFN paketi mevcuttur. Bu modül, GFSK modülasyonunu kullanmaktadır. Besleme gerilimleri genellikle 3 volttur. Havadaki veri hızı 1 Mbps ve 2 Mbps’dir. 126 adet RF kanalı mevcuttur. nRF24L01modülünün bazı özellikleri aşağıda verilmektedir [3]. Radyo · 2.4 - 2.4835 GHz ISM bandı kullanımı · GFSK Modülasyonu · 126 RF kanalı · 1-2 Mbps veri hızı · Ortak RX ve TX pinleri 6 Verici · Programlanabilir çıkış gücü: 0, -6, -12 veya-18dBm · 0 dBm çıkış gücünde 11.3mA Alıcı · Entegre kanal filtreleri · 2Mbps de 12.3mA · 2Mbps at-82dbm duyarlılık · 1Mbps at-85dBm duyarlılık · Programlanabilir LNA kazancı RF sentezleyici · Tam entegre sentezleyici · ± 60ppm 16MHz kristal ShockBurstTM · 1 ila 32 bayt arası dinamik yük uzunluk · Otomatik paket işleme Güç yönetimi · Entegre voltaj regülatörü · 1.9 V-3.6V besleme aralığı nRF24L01 ayarlanabilir iletim gücü seviyesi ile kısa ve orta mesafedeki uygulamalarda kullanılabilmektedir. Uygulama alanları aşağıda belirtilmiştir: Oyun denetleyicileri Fare, klavye, kulaklık ve uzaktan kumanda Kablosuz veri iletişimi Alarm ve güvenlik sistemleri Ev ve ticari otomasyon Etkin RFID 7 Aşağıdaki Tablo 3’de nRF24L01’e ait uçların isimleri ve fonksiyonları verilmektedir. Tablo 3. nRF24L01’e ait uçların isimleri ve fonksiyonları Adı Pin 1 CE Açıklama Pin fonksiyonu Dijital giriş “Chip Enable” Alıcı veya verici modu aktif eder 2 CSN Dijital giriş SPI Çipini Seçme 3 SCK Dijital giriş SPI Saat Sinyal Girişi 4 MOSI Dijital giriş SPI Slave Data girişi 5 MISO Dijital Çıkış SPI Slave Data çıkışı 6 IRQ Dijital Çıkış Maskelenebilir kesme pini 7 VDD Güç Güç Kaynağı (+1.9 V - +3.6 V DC) 8 VSS Güç Toprak (0V) 9 XC2 Analog Çıkış Kristal Pin 2 10 XC1 Analog Giriş Kristal Pin 1 11 VDD_PA Güç Çıkışı Güç Kaynağı Çıkışı (+1.8 V ) Dahili nRF24L01 Güç Amplifikatörü için. ANT1 ve ANT2 bağlanmalıdır. 12 ANT1 RF Anten Arayüzü 1 13 ANT2 RF Anten Arayüzü 2 14 VSS Güç Toprak (0V) 15 VDD Güç Güç Kaynağı (+1.9 V - +3.6 V DC) 16 IREF Analog Giriş Referans Akımı. Toprağa 22kΩ direnç ile bağlanır 17 VSS Güç Toprak (0V) 18 VDD Güç Güç Kaynağı (+1.9 V - +3.6 V DC) 19 DVDD Güç Çıkışı Dekuplaj amaçlı dahili dijital besleme çıkışı 20 VSS Güç Toprak (0V) 8 nRF24L01 RF modülünün çalışma modlarının yapılandırılması aşağıdaki Tablo 4’de açıklanmaktadır. Tablo 4. nRF24L01 çalışma modları Mod PWR_UP PRIM_RX CE FIFO Durumu Kaydedici Kaydedici Alıcı Modu 1 1 1 - Verici Modu 1 0 1 Veri TX FIFO’dadır. TX FIFOa her düzeyde boşaltılır Verici Modu 1 0 Minimum 10μs Veri TX FIFO’dadır. Yüksek darbe TX FIFOb bir düzeyde boşaltılır Bekleme-II 1 0 1 TX FIFO boş Bekleme-I 1 - 0 Devam eden paket iletimi yok Güç Kesme 0 - - - a. Bu çalışma modunda CE ucu lojik ‘1’ yapılırsa TX FIFO boşaltılır ve onay paketi ile yeniden iletilenler atılır. İletim olduğu sürece TX FIFO doludur. CE ucu lojik ‘1’ olduğunda TX FIFO boş ise nRF24L01 bekleme-II moduna girer. Bu modda bir iletim paketi için CSN ucu lojik ‘1’ yapıldıktan sonra TX FIFO için bir paket yükleme en kısa sürede başlatılır. b. Bu çalışma modunda darbe CE’yi en az 10μs için lojik ‘1’ seviyesinde tutar. Bu bir veri paketi aktarılmasına olanak sağlar. Bu normal çalışma modudur. Paketin iletilmesinden sonra nRF24L01 bekleme -I moduna girer. nRF24L01 çalışma sırasında önemli anahtarlama sürelerine sahiptir ve bu süreler yazılımda dikkate alınmalıdır. Zamanlama bilgisi modlar arasındaki geçişler ve CE ucunun zamanlaması ile ilgilidir. 9 Aşağıdaki Tablo 5’de nRF24L01 anahtarlama ve bekleme süreleri verilmektedir. Tablo 5. nRF24L01 anahtarlama ve bekleme süreleri İsim nRF24L01 Max. Min. Yorum Tpd2stby Güç Kesme Bekleme 1.5 ms Dahili kristal osilatör Tpd2stby Güç Kesme Bekleme 150 μs Harici saat sinyali Tstby2a Bekleme Verici/Alıcı 130 μs Thce CE yüksek olması minimum 10 μs Tpece2csn CE CSN gecikme 4 μs 2.5.1. Enhanced ShockBurst™ Enhanced ShockBurst ™, paket tabanlı veri bağlantı katmanıdır. Otomatik paket işleme ve zamanlama, paketlerin otomatik onayı ve yeniden iletilmesi özelliklerine sahiptir. Aynı zamanda çok düşük güç tüketimi sağlamaktadır. İletim sırasında, ShockBurst ™ paketi toplar ve iletim için bitleri veri paketlerinin içerisine ekler. Alım sırasında ise demodüle edilmiş sinyalden sürekli geçerli bir adres arar. Geçerli bir adres bulduğunda paketin geri kalanını işler ve CRC tarafından doğrular. Eğer paket geçerliyse yük RX FIFO içine taşınır. Enhanced ShockBurst ™ paket işlemi, alıcı ve verici birimler arasında bir paket alışverişidir. Bu işlem her zaman paket iletimi için vericiden başlatılır ve alıcının vericiden bir onay paketi almasıyla tamamlanır. Otomatik paket işlemi aşağıdaki gibi çalışır: Kullanıcı tarafından vericiden alıcıya iletilecek bir paket olduğunda bu işlem başlatılır. Enhanced ShockBurst ™ onay paketini beklemesi için vericiyi otomatik olarak alıcı moduna ayarlar. Eğer paket alıcı tarafından alınırsa, Enhanced ShockBurst ™ otomatik olarak paketi toplar ve alıcı moduna dönmeden onay paketini vericiye gönderir. Eğer verici onay paketini belirli bir süre içinde almazsa Enhanced ShockBurst ™ otomatik olarak orijinal veri paketini yeniden gönderir ve onay paketini beklemesi için vericiyi alıcı moduna ayarlar. 10 2.5.1.1. Enhanced ShockBurst ™ veri paketi Enhanced ShockBurst ™ veri paketi 4 bölümden oluşmaktadır. Bunlar Tablo 6’da verilmiştir. Tablo 6. Geliştirilmiş Bir ShockBurst ™ veri paketi Preamble Address 1 bayt 3-5 bayt Packet Control Field 9 bit Payload CRC 0-32 bayt 1-2 bayt Preamble alıcıda 0 ve 1 seviyelerini tespit etmek için kullanılan 1 bayt uzunluğundaki bit dizisidir. Bu veri alıcının uyarılmasını sağlayarak alıcı ve verici kısımlar arasında senkronizasyonu sağlamaktadır. Eğer adresin ilk biti 1 ise preamble otomatik olarak 10101010 ve eğer ilk bit 0 ise 01010101 olarak ayarlanır. Bu preamble’ın alıcıyı stabilize etmesi için yapılır. Adres kısmı verinin istenilen hedefe gönderilmesi sağlamaktadır. Alıcı modülün yapılandırıldığı adres bilgisine göre istenen veri paketi alınmaktadır. Paket kontrol alanı 6 bit yük uzunluğu alanı, 2 bit PID alanı ve 1 bit NO_ACK bayrağını içerir. Bu 6 bitlik alan yük uzunluğunu belirtir. Yük uzunluğu 0-32 bayt arasında değişebilir. Bu alan yalnızca dinamik yük uzunluğu fonksiyonu etkinse kullanılır. PID alanı alınan paketin yeni veya yeniden iletilen olduğunu tespit etmek için kullanılır. Alıcının MCU’ ya aynı yükü göndermesini önler. Otomatik onay özelliğini NO_ACK bayrağı kontrol eder. Bayrak yüksek seviyeye ayarlanarak paketin otomatik olarak kabul edilmesi engellenir. Yük, kullanıcı tanımlı paket içeriğidir. 0 ile 32 bayt arası genişlikte olabilir. CRC paket hata algılama mekanizmasıdır. 1 veya 2 bayt olabilir. CRC hatalı olursa hiçbir paket Enhanced ShockBurst™ tarafından kabul edilmez. 11 2.5.1.2. Enhanced ShockBurst akış şemaları Bu bölümde PTX ve PRX işlemi için akış diyagramları gösterilmiştir. ShockBurst™ işlemi akış diyagramları bir kesik çizgili kareyle gösterilmektedir. 2.5.1.2.1. PTX modu Şekil 2'de nRF24L01’in bekleme-1 moduna girdikten sonra PTX olarak yapılandırılmasının akış şeması gösterilmektedir. PTX modunu etkinleştirmek için CE ucu lojik ‘1’ yapılır. Eğer TX FIFO’da bir paket mevcut ise nRF24L01 TX moduna girer ve paketi iletir. Otomatik yeniden aktarım etkinse, NO_ACK bayrağı setlenirse durum makinesi kontrol eder. Bu setlenmemiş ise, nRF24L01 bir ACK paketi almak için RX moduna girer. Alınan ACK paketi boşsa, sadece TX_DS IRQ setlenir. ACK paketi bir yük içeriyorsa TX_DS IRQ ve RX_DR IRQ, nRF24L01 bekleme-I moduna dönmeden önce aynı anda setlenir. Zaman aşımı oluşmadan önce ACK paketi alınmazsa, nRF24L01 bekleme-I moduna döner ve ARD geçene kadar bekleme-I modunda kalır. Yeniden iletim sayısı ARC’ye ulaşmazsa, nRF24L01 TX moduna girer ve bir kez daha son paketi iletir. Otomatik yeniden aktarım özelliği yürütülürken, yeniden iletim sayısı ARC olarak tanımlanan maksimum sayıya ulaşabilir. 12 Şekil 2. Enhanced ShockBurst™ için PRX işlemleri 2.5.1.2.2. PRX modu Şekil 3'de nRF24L01’in bekleme-1 moduna girdikten sonra PTX olarak yapılandırılmasının akış diyagramı gösterilmektedir. CE ucu lojik ‘1’ yapılarak PRX modu etkinleştirilir. nRF24L01 RX moduna girer ve paketleri aramaya başlar. Bir paket alınırsa ve otomatik onay etkinse nRF24L01 paketin yeni ya da daha önce alınan paketin bir kopyası olduğuna karar verir. Eğer paket yeniyse, 13 yük RX FIFO için hazırlanır ve RX_DR IRQ setlenir. Vericiden son alınan paket kabul edilirse TX_DS IRQ setlenir ve PTX’ in yük ile ACK paketini aldığını gösterir. Eğer NO_ACK bayrağı alınan paketin içinde setlenmezse, PRX TX moduna girer. TX FIFO içinde bekleyen yük varsa bu ACK paketine eklenir. Sonra ACK paketi iletilir ve nRF24L01 RX moduna döner. ACK paketinin kaybolması durumunda, daha önce alınan paketin bir kopyası alınmış olabilir. Bu durumda, PRX alınan paketi atar ve RX moduna dönmeden önce bir ACK paketi gönderir. Şekil 3. Enhanced ShockBurst™ için PRX işlemleri 14 2.6. Frekans Kaydırmalı Anahtarlama (FSK) Frekans kaydırmalı anahtarlama (FSK), aynı zamanda frekans kaydırmalı modülasyon ve frekans kaydırmalı sinyalleşme olarak da bilinmektedir. FSK yüksek frekanslı radyo spektrumunda yaygın olarak kullanılan bir sayısal modülasyon türüdür. Frekans kaydırmalı anahtarlamada taşıyıcının frekansı gönderilecek data bitlerine göre değiştirilir. Modüle edilecek sayısal işaret, çıkışta önceden belirlenmiş frekans bölgesi arasında kaydırılır. FSK ile sayısal işaretler, işaretin seviyesine göre iki frekanslı analog işarete dönüştürülür. İletimi için ayrık iki frekans kullanılır. Yüksek seviye giriş işareti için f1 frekansı, alçak seviye giriş işareti için ise f2 frekansı gönderilir. Burada 1 “mark frequecny”, 0 ise “space frequecny” olarak adlandırılır. Bu durumların minimum süresine element uzunluğu adı verilir. Aşağıdaki Şekil 4’de gönderilecek ve iletilecek sinyal arasındaki ilişki gösterilmektedir. Bu şekil ile sayısal ve FSK işaretler arasındaki ilişki gözlemlenebilmektedir. (a) (b) Şekil 4. FSK modülasyonu (a) Gönderilecek sinyal ( Sayısal sinyal ) (b) İletilen sinyal ( FSK sinyal ) GFSK da ise keskin frekans geçişlerini azaltmak için bilgi işareti Gauss filtresinden geçirildikten sonra FM modülatöre uygulanır. Bu yapıda da bilgi işareti taşıyıcının frekansını değiştirmektedir. 15 2.7. PCM Kodlama ve WAV Dosya Formatı Ses işaretleri sürekli zamanlı işaretlerdir ve işlenebilmesi için sayısal forma dönüştürülmelidir. Gerçek zamanlı ses iletimi için geliştirilmiş kodlama metotları bulunmaktadır. Darbe Kod Modülasyonu, zamanda ayrık duruma getirilmiş işaretin her bir örnekleme seviyesi için ikili kod kullanılmasıyla elde edilen bir kodlama tekniğidir. Bu teknikte kodlama sırasında oluşan kuantalama kayıpları çok küçük olduğu için bu kayıplardan çok fazla etkilenen ses işaretlerinin sayısal formda iletilmesinde kullanılır. Analog ses verisinin sayısal forma dönüştürülmesi sırasında meydana gelen kuantalama ve kodlama hataları alıcıya gelen bilgide bozulmaya sebep olmaktadır. Darbe Kod Modülasyonu günümüzde bu probleme çözüm olarak kullanılan bir kodlama tekniğidir. Darbe Kod Modülasyonu üç aşamada gerçekleştirilir. Örnekleme Kuantalama Kodlama Darbe Kod Modülasyonunda veri önce uygun bir örnekleme frekansı ile örneklenir ve ayrık zamanlı sayısal işarete dönüştürülür. Daha sonra her örnek en yakın kuanta seviyesine kuantalanır. Her kuanta seviyesi ikili kod ile gösterilir ve bu ikili kod dizilerinden oluşan işarete PCM dalgası denir. Bu sistemlerde örnekleme frekansı belirlenirken giriş işaretinin maksimum frekansının 2 katından büyük olması gerekir. İnsan sesi bant genişliği 300-3400 Hz arasında değişmektedir. Projede iletilecek olan ses kaydı PCM kodlama ile kodlanmıştır. Bu kayıt için örnekleme hızı 8kHz, bit sayısı ise 8 bit olarak seçilmiştir. Bu kayıt “wav” dosya formatındadır. WAV dosya formatı sıkıştırma içermeyen sayısallaştırılmış bir ses dosyası biçimidir. Üç kısımdan oluşmaktadır. Birinci kısım dosyayı WAV olarak adlandıran kısımdır. İkinci kısım değişkenlerin nitelendirildiği kısımdır. Üçüncü kısım ise ses verisinin bulunduğu kısımdır. 16 Wav dosya formatı, RIFF yapısını kullanmaktadır. RIFF formatı yığın başlıklarından (chunk header) ve yığınlara ait verilerden (chunk data) oluşmaktadır. Bir wav dosyasını okumak ve yazmak için wav dosya formatının alt parçalarını bilmek yeterlidir. Wav dosya formatına ait parçaların pozisyonları ve açıklamaları Tablo 7’ de gösterilmektedir. Tablo 7. Standart Wav dosya formatı Pozisyon Bayt Alan ismi Açıklama Sıralaması 1-4 Big Endian ChunkID RIFF (ASCII kodları) 5-8 Little Endian ChunkSize Dosya Boyutu =8 bayt 9-12 Big Endian Format Dosya Formatı WAVE (ASCII kodları) 13-16 Subchunk1 ID Yığın işaretleyici formatı. Big Endian 17-20 Little Endian 21-22 Little Endian 23-24 Little Endian Num Channels Kanal Sayısı 25-28 Little Endian Sample Rate Örnekleme Frekansı 29-32 Little Endian Byte Rate Örnekleme hızı 33-34 Little Endian BlockAlign Blok Boyutu 35-36 Big Endian BitsPerSample Örnek Başına Bit Sayısı 37-40 Subchunk2 ID Yığın başlığı (chunk header) Little Endian 41-44 Little Endian fmt[] (ASCII kodları) Subchunk1 Size Format veri uzunluğu PCM dosyaları için bu değer 16’dır. Audio Format Ses Format tipi PCM dosyaları için bu değer 1’dir. data (ASCII kodları) Subchunk2 Size Ses Verisi Boyutu Standart WAVE dosya formatı RIFF başlığı ile başlar ve bu başlık 4 baytlık ASCII kodlardan oluşmaktadır. Yazılım kısmında EEPROM’ da “RIFF” başlığı aranarak veri bulunmaktadır. Sonraki 4 bayt verilerin boyutunu belirten kısımdır. Format kısmı ise “WAVE” kelimesini oluşturan ASCII kodlardan oluşmaktadır. Bu dosyanın “wav” formatında olduğunu gösterir. 17 "WAVE" formatı iki alt yığından oluşmaktadır: "fmt" ve "data". “fmt” yığınında ses dosyasına ait bilgiler bulunmaktadır. “data” yığınında ise ses verisi bulunmaktadır. Burada ilk 4 bayt “data” kelimesini oluşturan ASCII kodlardan oluşmaktadır. Sonraki 4 bayt ise ses verisinin uzunluğunu vermektedir. Bu yığından sonra ise ses kaydına ait bilgiler bulunmaktadır. Little endian sıralamada, en önemsiz baytlar sonlara yazılırken, Big endian sıralamada ise en önemli bitler sona yazılmaktadır. 2.8. ATmega328P Mikrodenetleyicisi RF modül ile ses iletimi projesinde sistemlerin veri girişini gerçekleştirmek, kontrolü sağlamak ve alınan bilgileri istenen hedefe ulaştırmak amacıyla mikrodenetleyici kullanılmıştır. ATmega328P mikrodenetleyicisinin program belleği Flash ROM dur. Flash ROM bellekte yüklenen program elektrikle silinip tekrar yazılabilmektedir ve bu sayede birçok kez program yazılabilmektedir. Aynı anda veri belleğine veri yollarıyla, program belleğine ise adres yollarıyla erişilmektedir. ATmega328P mikrodenetleyicisi 8 bitlik ve 28 bacaklı bir elemandır. Mikrodenetleyicide B,C,D portları bulunmaktadır ve bu portlar giriş veya çıkış olarak kullanılabilmektedir. Portlarda bulunan bitlere istenildiği giriş veya çıkış komutları verilebilmektedir.Aşağıdaki Tablo 8’de Atmega328P mikrodenetleyicinin pin açıklamaları verilmektedir. 18 Tablo 8. Atmega328P mikrodenetleyicinin pin açıklamaları [4]. Pin Adı Açıklama VCC Sayısal besleme gerilimi GND Toprak Port B (PB7:0) 8-bitlik giriş/çıkış portu PB6 (XTAL1) Eviren osilatör yükseltecine ve dahili saat işletim devresine giriş PB7 (XTAL2) Eviren osilatör yükseltecinden çıkışı Port C (PC5:0) 7-bitlik giriş/çıkış portu PC6/RESET Reset girişi olarak kullanılır. Port D (PD7:0) 8-bitlik giriş/çıkış portu AVCC A/D dönüştürücü için besleme gerilimi pini AREF A/D dönüştürücü için analog referans pini 2.9. AT24C1024 Serial EEPROM AT24C1024 serial EEPROM elektrikle silinebilen programlanabilen bir bellektir. Silme ve yazma için ek bir donanıma ihtiyaç yoktur. Mikroişlemci bellek devre kartı üzerinde iken EEPROM’a bilgi yazabilmektedir. Değişiklikler bayt bayt yapılabilmektedir. AT24C1024 serial EEPROM 8 pine sahiptir. Adres veri bitleri tek tek gönderilir. Çift yönlü veri aktarımı sağlamaktadır ve 2 girişli seri arayüzü vardır. Aşağıda Tablo 9’da AT24C1024 Serial EEPROM un pin açıklamaları verilmiştir. Tablo 9. AT24C1024 Serial EEPROM pin açıklamaları [5]. Pin İsmi Fonksiyon Açılama A1 Address Input Adres girişi olarak kullanılır. SDA Serial Data İki yönlü seri veri aktarımı için kullanılır. SCL Serial Clock Input Saat girişi WP Write Protect WP pini GND ye bağlı ise yazma işlemi gerçekleştirilir, VCC ye bağlı ise bellek yazma işlemleri engellenir. NC No Connect Bağlantı yok 19 3. TASARIM Hedeflenen sistemlerin blok diyagramları aşağıdaki Şekil 5 ve Şekil 6’da görülmektedir. Şekil 5. Verici devreye ait blok diyagram Şekil 6. Alıcı devreye ait blok diyagram 20 4. DENEYSEL ÇALIŞMALAR Sistemin şematik ve baskı devre çizimleri Proteus programıyla yapılmıştır. Oluşturulan sistemde mikrodenetleyiciler ve ses kayıt entegresi +5V besleme geriliminde çalışırken, RF modül ise +3.3V besleme geriliminde çalışmaktadır. Sistemin +5V ihtiyacı LM7805 gerilim regülatörü, +3V ihtiyacı ise LD33V entegresi ile sağlanır. Kondansatörler devredeki parazitleri yok etmek için kullanılmıştır. Aşağıdaki Şekil 7’de besleme katı devre şeması verilmektedir. Şekil 7. Besleme katı devre şeması Şekil 8’de vericiye ait devre şeması verilmektedir. ATmega328P’nin C portıunun C4-C5 uçları EEPROM’un SDA ve SCL bacaklarına bağlanmıştır. Ses verisinin okunması SDA ucundan sağlanmaktadır. nRF24L01 RF modülünün CE ucu Atmega328P’nin B0 ucuna, CSN ucu D7 ucuna, SCK, MOSI, MISO uçları ise aynı isimle karşılık gelen uçlara bağlanmıştır. Verici devresinin baskı devresi Şekil 9’da görülmektedir. 21 Şekil 8. Verici devre şeması Şekil 9. Verici devresinin baskı devresi 22 Şekil 10’da alıcıya ait devre şeması verilmektedir. nRF24L01 RF modülünün CE ucu Atmega328P’nin B0 ucuna, CSN ucu D7 ucuna, SCK, MOSI, MISO uçları ise aynı isimle karşılık gelen uçlara bağlanmıştır. RF modülden gelen sayısal ses verisi Atmega328P mikrodenetleyicinin D portunun D0-D6 uçlarından APR9600 ses kayıt entegresinin M1-M7 uçlarına gönderilir. Burada elde edilen analog işaret pasif filtreden geçirilerek gürültülerden ve istenmeyen frekanslı işaretlerden süzülür ve yükselteç ile kuvvetlendirilir. Buradan da hoparlör ile ses kaydı dinlenebilmektedir. Alıcı devresinin baskı devresi Şekil 11’de görülmektedir. 23 Şekil 10. Alıcı devre şeması 24 Şekil 11. Alıcı devresinin baskı devresi Bu sistemde RF modül ile ses verisi aktarımının gerçekleştirilmesi hedeflenmektedir. Sistemde ses ileten verici devre ve ses alan alıcı devre olmak üzere iki devre bulunmaktadır. Verici devre ses iletimine başlamadan önce ortama belli aralıklarla uyarı mesajları göndermektedir. Alıcı devre, vericinin kapsama alanına girince vericiye onay göndermektedir. Vericinin bu talebe karşılık vermesiyle veri iletimi başlamaktadır. Verici kısımda, ses verisi mikroişlemciyle EEPROM 24C1024 belleğinden okunup nRF24L01 RF modüle iletilmektedir. RF modül aracılığı ile kablosuz veri aktarımı sağlanmaktadır. Alıcı kısımda RF modülden elde edilen sayısal bilgi mikrodenetleyici ile okunarak ses kayıt entegresine gönderilmektedir. Burada elde edilen ses kaydı filtreden geçirilir ve yükselteç ile kuvvetlendirildikten sonra hoparlör ile dinlenebilmektedir. 25 5. SONUÇLAR Bu çalışmada RF modül ile kablosuz ses verisi aktarımı gerçekleştirilmiştir. Verici ses iletimine başlamadan önce ortama uyarı mesajları göndermektedir. Alıcı devre, vericinin kapsama alanına girince vericiye onay mesajı göndermektedir ve veri iletimi başlamaktadır. Ortamda sistemin kullandığı frekans bandında çalışan cihazlar varsa bu sistem gürültüden etkilenmektedir. Ayrıca düşük kalitede ses kaydı kullanıldığı için alıcı tarafta kaliteli bir ses elde edilememektedir. 26 6. YORUMLAR ve DEĞERLENDİRME Bu çalışmada oluşturulan sistemin donanımı tasarlanmış, üretimi gerçekleştirilmiş ve test edilmiştir. Sistem tasarımında gereken şartları sağlayan düşük maliyetli ürünler seçilmiştir. Sistem sağlık açısından herhangi bir risk taşımamaktadır. Üretilen prototip farklı şekillerde tasarlanarak farklı amaçlar için de kullanılabilir. Uzaktan ses kontrollü robot uygulaması ve rehberlik sistemi olarak kullanılabilir. 27 KAYNAKLAR [1] T., Ergül, “RF Multi Kontrol”, Bitirme Projesi/Tezi, Y.T.Ü. Elektronik ve Haberleşme Mühendisliği Bölümü, İstanbul, 2009. [2] E., Özdemirci, “RF Data Logger Tasarımı”, Mezuniyet Tezi, Gazi Üniversitesi Elektronik Öğretmenliği, Ankara, 2008. [3] Nordic Semiconductor, nRF24L01 Single Chip 2.4 Ghz Transceiver, NORWAY, 2007. [4] Atmel Corporation, 8 bit AVR Microcontroller with 4/8/16/32K Bytes İnSysytem Programmable Flash Atmega328P, USA, 2009. [5] Atmel Corporation, Two-wire Serial EEPROM AT24C1024, USA, 2012. Karadeniz Teknik Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü STANDARTLAR VE KISITLAR FORMU Bitirme projesinin hazırlanmasında Standart ve Kısıtlarla ilgili olarak, aşağıdaki soruları cevaplayınız. 1. Projenizin tasarım boyutu nedir? Açıklayınız. Bir sayısal haberleşme sisteminin tasarımı ve üretimi gerçekleştirilmiştir. 2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü? Hayır. 3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız? Elektronik devre çözümleme, devre tasarımı ve programlama. 4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir? Projede RF modülleriyle ses iletimi yapılacaktır. RF modüllerinin yayın frekansı ve yayın gücü lisans gerektirmeyen bantlardadır. 5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir? a) Ekonomi Malzeme seçiminde gereken şartları sağlayan, en düşük maliyetli ürünler seçilmiştir. b) Çevre sorunları: Projede çevreye zarar verebilecek olumsuz bir etkisi bulunmamaktadır. c) Sürdürülebilirlik: Sistemin gelişime açık olması hedeflenmektedir. Oluşturulan sistem farklı şekillerde tasarlanabilir ve farklı amaçlar için kullanılabilir. d) Üretilebilirlik: Sistem ülkemizde üretilebilir niteliktedir. e) Etik: Sistemin tasarımında etik kurallar göz önünde bulundurulmuştur. f) Sağlık: Sistem 9 voltta çalıştırılacağı için sağlık açısından herhangi bir risk taşımamaktadır. g) Güvenlik: Sistem herhangi bir güvenlik riski içermemektedir. h) Sosyal ve politik sorunlar: Gerçekleştirilen ürün bir sosyal veya politik sorunlara yol açmayacak niteliktedir. Not: Gerek görülmesi halinde bu sayfa istenilen maddeler için genişletilebilir. Projenin Adı Projedeki Öğrencilerin adları Tarih ve İmzalar RF MODÜL İLE SES İLETİMİ Ömer Faruk Zengin 21.05.2013