Hjelp kreves for CRC 16 i SS7 signalering

V

vijayanand_ME

Guest
Hei,
Vi har en prosessor som kan støtte SS7 signalering og
Jeg har tatt noen pakker fra prosessoren og følgende er detaljene
Første pakke FF FF 01 03 f.Kr. D4
andre packet FF FF 01 00 27 E6

BC D4 er det CRC -16 feltet i den første pakken og
27 E6 er CRC-16-feltet i den andre pakken.

Fra Prosessor dataarket jeg fant "16-bit CRC-CCITT" brukes for å generere CRC.

Hvis jeg beregne CRC fra nettbaserte verktøy jeg ikke får riktig CRC (sammenlignet med de pakker)

Kan noen hjelpe meg å få denne CRC og jeg implementere dette i FPGA (Verilog eller VHDL)
Calulation trinn er velkommen for enkel forståelse ..

Med hilsen
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
 
Kjære alle,
Jeg har sett dette i en C-fil ..Jeg trenger å implementere dette i FPGA ...Egentlig er det en CRC-16 generator og unsigned char crc_arr [6] = (0xFF, 0xFF, 0x01, 0x03); er testdata input for generatoren.Egentlig er det noen definerte verdier i fcstab [256].Jeg kan ikke lagre alle verdiene i FPGA som øker min Logics.Så kan noen hjelpe meg i form av ligningen til å generere disse definert biter.

Code:

# 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;

)
 
Ta en titt på
http://bknpk.no-ip.biz/SDIO/CRC7.html
Det kan gi en idé

 

Welcome to EDABoard.com

Sponsor

Back
Top