CRC çevrimsel hata denetimi (Cyclic Reduncany check) manasına gelmektedir. CRC’nin farklı kombinasyonları farklı haberleşme kontrolleri için kullanılabilir. Modbus haberleşmesi için kullanıldığında  mesajın sonuna eklenen iki byte’dan oluşur. Mesajdaki her byte CRC’yi hesaplamak için gönderilmektedir. Ayrıca alıcı cihaz da CRC’yi hesaplar ve onu gönderici cihazdan gelen CRC ile karşılaştırır. Eğer mesajdaki bir bit bile yanlış alınmışsa, CRC’ler farklı olacaktır ve bir hata oluşacaktır.

CRC yönteminde bir blok içindeki veriler tek tek toplanır, bu toplam belirli bir sayıya bölünür (bu sayıya P diyelim) ve bölüm sonucunda çıkan kalan sayısı verilere eklenir. Karşı tarafta veri alındığında yine veriler tek tek toplanır ve bu toplamdan bölüm kalanı çıkartılır. Çıkartma sonucundaki sayı da  P’ye bölünür. Eğer veriler hatasız iletilmişse kalan sıfır olmalıdır.

Bir örnek verelim:

VERİLER                                                                 CRC

90     69     66     82     65     79     78     69              3

 

Yukardaki verilerin rakamsal toplamı 598’dir. Örnekteki P sayımız da 17 olsun.

Toplam=598

P=17

598/17=35, kalan=3

Bu veri alındığında da şu işlem yapılır:

(598-3)/17=35, kalan=0 (hatasız iletim)

Eğer iletilen veriler hatalı ise bu verilerin toplamı 598 olmayacaktır, dolayısı ile kalan da 0 olmaz. Buradan verilerde bir bozulma olduğu anlaşılır ve veriler tekrar iletilir/saklanır. CRC’nin kelime anlamı da yapılan işlemi anlatır (dönemsel kalan kontrolü; dönemseldir, çünkü bütün veri bloklara bölünür ve CRC işlemi herbir blok için uygulanır)

CRC yöntemi yüzde yüz  güvenilir bir yöntem değildir. Yine örneğimizdeki verilere dönersek altıncı verinin 79 değil de 96 olacak şekilde bozulduğunu varsayalım (yani P kadar). Bu durumda karşı tarafın eline geçen verilerin toplamı 615 olacaktır. CRC işlemini uyguladığımızda:

(615-3)/17=36, kalan=0

Yani, bir hatalı iletim söz konusu olduğu halde bu hata farkedilememiştir. Ama verilerin P ve P’nin katları kadar bozulma olasılığı hayli düşüktür. Bu yüzden hataların büyük bölümü CRC yöntemi ile saptanabilir.

CRC calculator adresindeki elektronik tabloda 16 byte’a kadar olan mesajları bulabilirsiniz.

Kaynak : Sık Sorulan Sorular1

 

CEVAP VER

Lütfen yorumunuzu girin!
Lütfen isminizi giriniz

This site uses Akismet to reduce spam. Learn how your comment data is processed.