Perancangan dan Implementasi Cyclic Redundancy Check – 16 sebagai Metode Error Checking pada Transmisi Pesan Protokol Modbus Remote Terminal Unit Berbasis Microcontroller Unit

Main Article Content

Arief Wisnu Wardana
Eka Firmansyah
Addin Suwastono

Keywords

Abstract

This paper presents about the Cyclic Redundancy Check – 16, a generator polynomial for error detection, which is normally used in MODBUS Remote Terminal Unit. It starts with explaining the noise phenomena that are often  generated into a useful signal when it is transmitted through a  noisy channel. Some types of error which usually affects bits of a transmitted data bytes are introduced. The complete method for designing a good generator polynomial for detecting the error is then presented. Next, Cyclic Redundancy Check -16 as an example of generator polynimial is discussed. The explanation includes method for software implementation of the CRC. Two methods are introduced which are loop – driven method and table - driven method.  Finally, result of designed generator polynomial is shown, which consists of the algorithm and the routine example. The CRC -16 routine is then tested using some MODBUS messages.

Keywords - Noise, generator polynomial, Cyclic Redundancy Check, MODBUS Remote Terminal Unit, lood – driven, table – driven, algorithm.


Abstrak-Paper ini membahas tentang Cyclic Redundancy Check – 16, sebuah generator polynomial untuk mendeteksi error, yang biasanya digunakan pada MODBUS Remote Terminal Unit. Diawali dengan penjelasan tentang fenomena derau yang biasanya menyertai sebuah sinyal utama ketika sinyal tersebut ditransmisikan melalui sebuah kanal berderau. Beberapa tipe error yang biasanya mempengaruhi bit bit dari byte data yang ditransmisikan kemudian dijelaskan. Metode lengkap untuk mendesain sebuah generator polynomial untuk mendeteksi error kemudian dipaparkan. Selanjutnya, Cyclic Redundancy Check – 16 sebagai sebuah contoh generator polynomial dibahas. Pembahasan meliputi metode untuk implemenrasi software dari CRC tersebut. Dua metode diperkenalkan yaitu metode loop – driven dan metode table – driven. Pada bagian akhir, ditunjukkan hasil dari generator polynomial yang dirancang, yang terdiri dari algoritma nya dan salah satu contoh rutin programnya. Rutin CRC – 16 tersebut kemudian dites dengan menggunakan beberapa pesan MODBUS. 

Kata Kunci - Noise, generator polynomial, Cyclic Redundancy Check, MODBUS Remote Terminal Unit, lood – driven, table – driven, algorithm


References

[1] AN730, “CRC Generating and Checking”, Microchip Technology Inc., 2000
[2] Behrouz A. Forouzan, “Data Communications and Networking”, Mc Graw Hill, 2007, pp 267 - 306
[3] Fred Halsall, “Data Comunications, Computer Networks, and Open Systems”, Addison Wesley, 1995
[4] Hazarathaiah Malepati, “Digital Media Processing – DSP Algorithm Using C”, NEWNES, 2010, pp 87 – 154
[5] H. Michael Ji, and Earl Killian, “Fast Parallel CRC Algorithm and Implementation on a Configurable Processor”, Tensilica, Inc. 3255-6 Scott Blvd Santa Clara, CA 95054
[6] Jonathan Stone et. al, “Performance of Checksums and CRC’s over Real Data”, IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 6, NO. 5, OCTOBER 1998.
[7] Rofan Aziz, Karsid, “Uji Performansi Kontrol Suhu dan Kelembaban Menggunakan Variasi Kontrol Digital dan Kontrol Scheduling untuk Pengawetan Buah dan Sayuran”, Jurusan Teknik Pendingin dan Tata Udara, Politeknik Negeri Indramayu dalam Jurnal JNTE Vol: 4, No. 2, September 2015
[8] Sunil Shukla, Neil W. Bergmann, “Single bit error correction implementation in CRC-16 on FPGA”, School of ITEE, The University of Queensland, Australia
[9] Wael M El-Medany, “FPGA Implementation of CRC with Error Correction”, Computer Engineering Department, College of Information Technology, University Of Bahrain, 32038 Bahrain, at ICWMC 2012 : The Eighth International Conference on Wireless and Mobile Communications
[10] Yoshihisa Desaki et.al, “Double and Triple Error Detecting Capability of Internet Checksum and Estimation of Probability of Undetectable Error”, Graduate School of Engineering, Tokyo Metropolitan University Hachioji, Tokyo 192-03, Japan
[11] Yuanhong Huo et. al, “High Performance Table-Based Architecture for Parallel CRC Calculation”, School of Computer Science and Technology, Beijing Institute of Technology, Beijing, China