IP Tabanlı Haberleşme'de Senkronizasyon - PTP (Hassas Zaman Protokolü)


Buradan girip daha sonra tekniğinden sinyallerinden vs. bahsedilebilir. Acelesi olmayan bir yazı. Mevcut iş gereği uğraştıkça anlam kazanabilir. FPGA uygulamalarına vs. bağlanıp oradan çalışma mantığı anlaşılabilir.

Günümüzde haberleşme altyapılarında kullanılan IP tabanlı sistemlerin senkronizasonları büyük önem arz etmektedir. PTP (Precision Time Protocol), SyncE (Synchronous Ethernet) ve NTP (Network Time Protocol) çözümleri; IP, IP/MPLS, Ethernet, IP/xPON ve IP/xDSL gibi IP tabanlı ağlar üzerinden senkronizasyonun sağlanması için kullanılmaktadır. Bu çözümleri sağlayan ürünlerle ana taşıyıcı (backhaul) ağlar için tüm senkronizasyon ihtiyaçları karşılanabilmektedir. Bu çözümler sayesinde ağ ölçüm ve kontrolü sağlanmaktadır. Haberleşme teknolojileri geliştikçe hız ve hassasiyet büyün önem kazanmakta doğruluk ve güvenilirlik de göz ardı edilmeyen önemli bir gereksinim haline gelmiştir.

Hassas zaman prokolünü sağlamak için master clock lazım. Bu genelde uydular hatta GPS GNSS gibi navigatorler. Bunlar zaten uyduları temsil ediyor. Bu uydularda yer alan atomik saatler sayesinde navigatörlerin hassasiyeti güçleniyor. Atomik saatlerden önce quartz kristaller var. Bunlar elektrik verildiği zaman pendulum gbi salınım yapan bildiğmiz kristal osilatör mantığında elemanlar. Bunların çok stabil ooldugu söylenemez. Bu unstabil olma olasılıkları tehlike arz ediyor. Yaklaşık bir hesap veriliyor NASA'nın sitesinde. Söylenen 1 saatte sapılan değer saniyenin milyarda biri yani yaklasık 1 ns civarı. Bu 1 ns 6haftada 1ms hata demek oluyor. Mesafe ölçümünde ise 185 mil yaklasık 300km bir sapma anlamına geliyor. Yani uzayda yüksek hızlarda hareket eden uzay araçları için çok ciddi bir referans kaybı. Dünya veya uydulardaki quartz saatler aracılığıyla sinyal gönderip alan ve mesafeleri konumları saptanmaya calısılan bu uzay araçları için 300km sapma değeri bile korkunç bir rakam. DOlasıyıla daha stabil bir saat bir zaman referansı sağlayan Atomik Saatler kullanılıyor. Bunların hata oranı sapma oranları çok çok az. NASA'nın Deep Space Atomic CLock 'u 10yılda bile 1us'den daha az bir sapma değeri var .

Atomic clock çalışma prensibi. Kullanılan elementin atomik yapısında dış yörüngedeki bir elektronun bir başka seviyeye geçişi için gerekli frekansa göre zaman hesaplanır. Normalde halihazırda saniye ölçümü için Sezyum atomu kullanılır. Sezyum atamonun iki enerji seviyesi arasında sıçrayacak olan elektronun bu geçişi yapabilbmesi için gerekli frekans ile "saniye" kavramının ölçümü gerçekleşir.

Deepspace atomic clock ise mercury (cıva) elementinden faydalanılır ölçüm yapılırken. Cıva elementi kullanılan bu atomik saatlerin sesium clocklardan 5 kat daha stabil oldugu görülmüş.

Atomik saatler özellikle GPS uydularında kullanılır. Uydudaki atomik saat de yeryüzündeki bir referans atomik saatten kendini günde iki kere günceller. Bu referans atomik saat NASA'nın yeryüzündeki Deep SPace atomik saatidir ve GPS uydularındaki cıva temelli atomik saatlerden bile 50kat daha stabildir. Yaklasık bir buzdolabı büyüklüğünde olan bu saat, uzaya koşullarında hayatta kalmak için tasarlanmamış.

Normalde atomik saatler bir izoleli vakum odasında chamber'da tutuluyorlar. Nötr olmayan  atomik saatlerde zaman zaman atomların chamber duvarlarıyla etkileşime geçmelerine sebep oalbliyor. Birçok atomik saat bu yüzden nötr atomlar kulllanırar ve bu etkileşimler gerçekleşmez. Ancak en hassas saat olan cıva bazlı saatlerde cıvanın iyonik yapısından ötürü atomlar duvarlarla etkileşime geçebiliyor ve ısı kaynaklı çevresel faktörler artışa geçip frekans hatalarına sebep olabiliyor. Bu yüzden bu atomlara elekromanyetik kafesler yapılmış  böylece istenen hassasiiyette atomik saatler elde edilmiş.

Uzun mesafeli uzay yolculuklarında otonom navigasyon, haberleşme vs gibi işler için bu hassas saat birimleri büyük önem arz ediyor.

Senkronizasyon'da PTP

İnternete bağlanan birçok bilgisayar network Time Protocol - NTP dediğimiz bir zaman güncelleme protokolü kullanır. Bu protokol sayesinde saatlerini güncellerler. Böylece uzak bir sunucudan "Time of Day" denen tarih zaman bilgisini elde ederler. Bu da demek olurki bir makina lokal bir ağda veya global bir ağda artık gerçek zamanla senkronize olmuştur. Bu şekilde senkronize olan diğer cihazlarla aynı zaman bilgisine sahiptir. Ağ yapısında özellikle global ağda zaman bilgisi kritiktir. Peki NTP sunucu dediğimiz bu herkese referans olan sunucular gerçek zamanı nereden almaktadır? Yukarıda bahsettiğimiz Atomik Saatlere bağlı olan yetkili sunuclar sayesinde gerçek zamanın en hassas bilgisine ulaşırlar. 




Time of Day zaman bilgisini sağlayan sistemlere baktığımız zaman network sistemleri için en yaygın kaynaklardan biri GPS alıcılardır. Birçok GPS alıcı donanımının Time of Day sinyali sağlayan çıkışları bulunmaktadır. Bu referans bilgisi yüksek doğrulukta olmaktadır genelde çünkü GPS uydularındaki atomik saatlerden almaktadırlar zaman referansını. Time of day bilgisini sağlarken GPS alıcılarda da diğer NTP sunucular gibi milisaniyelik gecikmeler olabilmektedir. Bunu önlemek ve daha yüksek doğrulukta, hassasiyette senkronizasyon sağlayabilmek için GPS donanımlarının bazıları 1PPS (one pulse per second) denen bir sinyal de sağlarlar. Bu sinyal saniyede bir darbe üretmektedir. Bu yaklaşım sayesinde senkronizasyon hataları nanosaniyeler (saniyenin milyarda biri) mertebesinde olabilmektedir. Bu da referans olarak bu yapıyı kullanan sistemlerde senkronizasyon konusunda büyük hassasiyet sağlayabilmektedir.

Burada kritik olan bir başka mesele de bu 1PPS sinyalini alan sistemin senkronizasyon için bu sinyali işleyebilmesi anlayabilmesi gerekmektedir. Eğer donanımda, yazılımda bu nitelik yoksa 1PPS özelliği kullanılamayacaktır haliyle.



Sistemin tamamında 1PPS sinyali gezdirmek, tüm sistemi bu sinyal sayesinde senkronize etmek demektir. Geneld ebu bilgi tek başına kullanılmaz. Yukarıda bahsettiğimiz gibi Time of DAy ile önce zaman bilgisi alınır sisteme ve bunun yanında 1PPS sinyali ile d ebir nevi kontrol sinyali gezdirilir senkronizasyonu güçlendirmek için. 

Hassas zamanlama için bir standart olan IEEE 1588 Precision Time Protocol (PTP) , bir ağdaki sistemlerin senkronizasyonunu sağlayan NTP, GPS yapılarının sınırlamalarını standardizasyonunu belirler ve mikrosaniyenin altında senkronizasyon sağlamış olur. Ağdaki tüm cihazlar PTP destekli ise birkaç nanosaniye  toleransla senkronizasyon mümkün olmaktadır. 

Yerel ağlarda kullanılan PTP senkronizasyonu yöntemi, daha geniş ağlarda kullanılan NTP senkronizasyon yönteminden daha hassas ve daha kestirilebilirdir böylece gecikmeler de daha az olmaktadır. Bir problem ve çözümünü inceleyecek olursak, normalde yüksek performanlı Ethernet Anahtar'larda bile bazı veriyi kuyruklama veya işleme yüzünden gecikmeler oluşmaktadır. Bu durumu çözmek için PTPv2 versiyonuyla "transparent clock" denen yeni bir konsept oluşturulmuşş ve bu sayede Ethernet Anahtarı PTP mesaj alıcına anahtarın getirdiği gecikmeyi bildirebilmektedir. Yani aradaki kaybın bilinmesi ile zaman yeniden düzgün bir şekilde düzenlenmekte ve böylece gecikmeler senkronizasyonda problem yaratmamaktadır. PTP yapısının gömülü sistemlerde yazılımsal olarak uygulanması iş görse de yeterli kalamadığı görülmüş. Dolasıyıla yüksek seviyede senkronizasyon sağlayabilmek için yazılımdan fazlasına ihtiyaç duyulmuş. Donanım tabanlı PTP paket işleme bu yüzden kritik önem taşımaktadır özellikle yeni nesil haberleşme sistemlerinde.

PTP Çalışma Prensibi

Senktronizasyon standardı olan 1588v2'nin tanımladığı clock modelleri şu şekildedir.

Boundary Clock
Transparency Clock
Ordinary Clock

https://slideplayer.com/slide/1454738/

Asıl senkronizasyon, ptp kullanan cihazlar arasında event mesajları değişimi yapılırken üretilen timestamp dikkate alınarak, bu etkileşimdeki master ve slave cihazlar arasında oluşan zaman farkları ve bağlantı gecikmeleri hesaplanıp Master Slave hiyerarşisi kurulduktan sonra başlar. Burada dikkat edilmesi gereken nokta PTP'nin cihazların etkileşimleri yani mesaj alış verişleri esnasında oluşturulan timestamp değerlerini baz alarak master ve slave arasındaki gecikme ve zaman farklarını hesaplıyor olması. Böylece PTP, iletişimde olan iki cihaz arasındaki frekans ve zaman değerlerini senkronize eder. Timestamp değerleri,paketleri ya tek-adım ya da iki-adım modunda PTP mesajları içersiinde taşınabilir.

Senkronizasyon işlemi iki farklı fazda kategorize edilir:

1-Master ve Slave clock arasındaki ofset-zaman farkı düzeltilir
2-Master ve Slave clock arasındaki "propagation delay" değeri hesaplanır.

Bu işlemlerin gerçekleşmesi esnasında amaçlardan biri de aralarında senkronizasyon işlemi gerçekleşmesi istenen Master ve Slave cihazların her ikisinin de birbirlerinin zaman durumlarından ve iletişimde aralarında gerçekleşebilecek gecikmelerin farkında olmalarını sağlamak.

Şimdi yukarıdaki iki fazı da detaylı şekilde inceleyerek PTP senkronizasyon işleminin aslında nasıl gerçekleştiğini daha iyi anlamaya çalışalım. Bunun için aşağıdaki görsel de anlatım ve anlama süreçlerinde bize faydalı olacaktır.


Birinci fazda Grandmaster Clock, Slave Clock'a bir senkronizasyon mesajı gönderir. Slave clock bu mesajın varış zaman bilgisini kaydeder (t2). Daha sonra bunun ardından Master Clock, Slave Clock'a ilk mesaj paketini yolladığı anın zaman değeri olan t1 zaman bilgisini gönderir. Böylelikle t2 anında ilk paketi almış olan Slave Clock'un t2 bilgisini, o mesaj paketinin Master'dan çıktığı anın bilgisi olan t1 ile kıyaslayarak aradaki farkı yani Master-Slave yönündeki gecikmeyi hesaplamasını sağlar.

İkinci fazda ise Slave Clock, Master Clock'a bir t3 anında  gecikme talebi mesajını gönderir.  Master Clock da bu mesajı Slave Clock'un istediği gecikme bilgisi ile yanıtlar. Böylece Slave clock, bu sefer de Slave-Master yönündeki gecikmeyi hesaplar. Böylece her iki taraf da ofset ve gecikmelerin farkında olur, iletişimdeki propagasyon gecikmesini hesaplayabilirler.

Bir PTP Uygulaması - Hücresel Backhaul Network



Backhaul yapısı, bildiğimiz veya bilmediğimiz üzere Telekomunikasyon sistemleri hiyerarşisinde merkezi  operatör/yönetim tarafındaki ağ (Core Network) ile son kullanıcı cihazlara sinyal basan Radyolink tarafını içeren baz istasyonları (Edge Network) arasında kalan yapıdır. Burada PTP uygulamasının nasıl gerçekleştiğine göz gezdirelim. Bu kısımda bolca switch/router network cihazı ile karşılaşılır. Burada senkronizasyonun sağlanması özellikle 3G/4G/LTE/5G iletişimlerinde kritik öneme sahiptir.

Backhaul sistemlerinde onboard bir GPS alıcı modülü, clock üreteci ve PTP fonksiyonlarını destekleyen yapıya sahip işlemci bulunur. Backhaul sistemler, Baz istasyonları nın Slave Clock gibi davrandığı yerde Master Clock görevini görürler. Backhaul yapısında GPS alıcı ile birinci timestamp bilgisi GPS sistemlerinden alını ve Lokal osilatör (çok hassas osilatörlerdir. genelde OCXO türde olurlar) ile ikinci timestamp bilgisi oluşturulur. PLL sistemi ile de master ve slave cihazlar arasındaki timestamp bilgisindeki fark hesaplanır ve bu zaman farkı bilgisi yine Backhaul üzerindeki lokal işlemciye gönderilir. Bir sonraki adımda PTP timestamp mesajı slave olarak hareket eden sonraki network elemanına gönderilir ve senkronizasyon sağlanır.

PTP 1588v2 standardı sayesinde bu senkronizasyon sağlanırken nanosaniyeler mertebesinde hassasiyet sağlanmış olur. Bu senkronizasyonu sağlamak iletişim ağlarının verimliliğini artırır ve böylece burada örnek olarak ele aldığımız hücresell haberleşme uygulamalarında çağrı düşmeleri, ses kopmaları vs gibi bağlantı problemlerinin büyük ölçüde üstesinden gelmiş olunur.




Kaynaklar

http://mil-embedded.com/articles/ethernet-synchronization-its-time/

https://www.hughes.com/sites/hughes.com/files/2018-04/RAN-Synch_H60484_HR.pdf

https://www.nasa.gov/feature/jpl/what-is-an-atomic-clock

Yorumlar

Bu blogdaki popüler yayınlar

KV260 Kria Starter Kit Series: 3 - Petalinux Install and Boot

KV260 Kria Starter Kit Series: 1 - Power and Boot Up

KV260 Kria Starter Kit Series: 2 - Smartcam Application (Ubuntu)