Trợ giúp yêu cầu cho CRC 16 trong SS7 tín hiệu

V

vijayanand_ME

Guest
Chào,
Chúng ta có một bộ xử lý này có thể hỗ trợ SS7 tín hiệu và
Tôi đã chiếm được một số gói dữ liệu từ bộ xử lý và sau đây là những chi tiết
Đầu tiên gói FF FF 01 03 TCN D4
thứ hai gói FF FF 01 00 27 E6

TCN D4 là CRC -16 trường trong gói đầu tiên và
27 E6 là CRC-16 lĩnh vực trong các gói tin thứ hai.

Từ Processor i tờ tìm thấy dữ liệu "16-bit CRC-CCITT" được sử dụng để tạo ra CRC.

Nếu tôi tính toán CRC từ i công cụ trực tuyến không nhận được Công ước quyền (so sánh với các gói dữ liệu của tôi)

Bất kỳ một trong những có thể giúp tôi làm thế nào để có được ước này và tôi thực hiện điều này trong FPGA (Verilog hoặc VHDL)
Bước Calulation được chào đón cho dễ hiểu ..

Với Regards,
Vijay

 
http://www.gelato.unsw.edu.au/lxr/source/lib/crc16.c
http://www.easics.com/webtools/crc...res.org/pdownloads.cgi/list/pci_express_crc
 
Dear All,
Tôi đã thấy điều này trong một tập tin C ..Tôi cần phải thực hiện điều này trong FPGA ...Trên thực tế nó là một CRC-16 máy phát điện và crc_arr unsigned char [6] = (0xFF, 0xFF, 0x01, 0x03); là kiểm tra dữ liệu đầu vào cho các máy phát điện.Trên thực tế có một số giá trị được định nghĩa trong fcstab [256].Tôi không thể lưu tất cả các giá trị trong FPGA làm tăng logic của tôi.Vì vậy, bất kỳ ai có thể giúp đỡ tôi trong điều kiện của phương trình để tạo ra các bit được định nghĩa.

Mã số:

# include <stdio.h>

# define PPP_FCS (FCS, c) (((FCS)>> 8) ^ fcstab [((FCS) ^ (c)) & 0xFF])

static unsigned short fcstab [256] =

(

0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf, / * 0x00 * /

0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7, / * 0x08 * /

0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e, / * 0x10 * /

0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876, / * 0x18 * /

0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd, / * 0x20 * /

0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5, / * 0x28 * /

0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c, / * 0x30 * /

0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974, / * 0x38 * /

0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb, / * 0x40 * /

0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3, / * 0x48 * /

0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a, / * 0x50 * /

0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72, / * 0x58 * /

0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9, / * 0x60 * /

0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1, / * 0x68 * /

0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738, / * 0x70 * /

0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70, / * 0x78 * /

0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7, / * 0x80 * /

0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff, / * 0x88 * /

0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036, / * 0x90 * /

0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e, / * 0x98 * /

0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5, / * 0xA0 * /

0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd, / * 0xA8 * /

0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134, / * 0XB0 * /

0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c, / * 0xb8 * /

0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3, / * 0xC0 * /

0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb, / * 0xc8 * /

0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232, / * 0xD0 * /

0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a, / * 0xd8 * /

0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1, / * 0xe0 * /

0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9, / * 0xE8 * /

0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330, / * 0xF0 * /

0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78 / * 0xf8 * /

);unsigned char crc_arr [6] = (0xFF, 0xFF, 0x01, 0x03);int main (void)

(

unsigned short crc = 0xffff;

unsigned short tx_crc;

int i = 0;for (i = 0; i <4; i ) (

crc = PPP_FCS (crc, crc_arr );

if (i == 3)

tx_crc = crc;

)printf ( "TX CRC:% 4x \ n", (tx_crc ^ 0xffff));

return 0;

)
 
Hãy xem
http://bknpk.no-ip.biz/SDIO/CRC7.html
Nó có thể đưa ra một ý tưởng

 

Welcome to EDABoard.com

Sponsor

Back
Top