Cyclic Redundancy Check (CRC Control)

Haberleşmede toplu veri transferinin vazgeçilmezi olan CRC oldukça faydalı ve onay görmüş bir hata tespit etme yöntemidir. Modbus CanBus ve bir çok haberleşme paketlerinde kullanılan bu yapı veride bozulma varsa bunu tespit etmemize yarıyor. Genellikle 8, 16, 32 bit olarak hesaplanan türlerinden ziyade 15 bitlik halde hesaplanan durumlarda mevcut. Bende CRC ye tasarlayacağım haberleşme paketinde ihtiyaç duydum. Büyük verilerin transferinde CRC şiddetle öneriliyormuş.

Boyut olarak 16 CRC kullandım. CRC boyutu düştükçe çakışma durumu oluşabileceğinden 16 bit’i tercih ettim.Unutmadan söylemek gerekirse CRC her zaman hatayı fark edemeyebilir. Bunu detaylı incelemek isterseniz bir örnek şu kaynakta mevcut : CRC

Ben ModBus’ın polinom değerini ele alarak fonksiyon hazırladım. Siz tasarlayacağınız sisteme göre bunu değiştirebilirsiniz. Aşağıda bir dizi verinin 16 bitlik CRC’sini hesaplayan bir C programı mevcut.

Basit bir örnek ile yazıyı burada tamamlayalım. Esen kalın !

You may also like...

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir