LiIon balancer LTC3300-1 Telecommunication Union CRC-4 standard
pavel PP
pa-vep na atlas.cz
Středa Červenec 20 15:39:59 CEST 2022
Zdravím konferu.
Dle dokumentace jsem zbastlil active balancer s obvodem LTC3300-1, zatím v nějaké testovací verzi.
Řeším nyní CRC 4, který je nutný pro SPI komunikaci.
Dovoluji si požádat konferu, nemáte prosím někdo s tímto zkušenosti (nikdy jsem CRC neřešil),
zkouším to s online kalkulátory, např.
https://leventozturk.com/engineering/crc/ <https://leventozturk.com/engineering/crc/>> (tady vyšlo 1101 jak má)
https://www.lddgo.net/en/encrypt/crc <https://www.lddgo.net/en/encrypt/crc>>
ale pořád mi to vychází v nich jinak,
Příklad postupu z dokumentace vkládám do přílohy, napsal jsem i kód, který jsem sesmolil pro uvedenou hodnotu,
převedenou z 12bbit na 16bit 1100 0001 0000 0000
x4 + x + 1 polynomial = 13hexa
vůbec mi není jasné odkud se vzala hodnota 110101101011 v příklad (a) přílohy nahoře
CRC mi vyšlo jak má 1101 bez negace ale když dám jinou hodnotu zase výjde 1101
S pozdravem Pavel
static uint crcM;
static uint shift = 0x800;
static byte MyCRC4_ITU(uint crcDiv)
{
uint divisor13or0 = 0xD6B;
uint cmd12bit = crcDiv >> 4;
byte crcShift;
crcM = crcDiv; crcM >>= 11;
uint meziDel = 0x13 ^ cmd12bit;
crcM = (divisor13or0 & 0x800) == 0x800 ? (byte)(((byte)0x13) ^ crcM) : (byte)(((byte)0x00) ^ crcM); // 1 0 0 1 1
// 800 400 200 100 80 40 20 10 8 4 2 1
// 0 0 1 0 0 0 0 0 0 0 0
//Res XOR 10110 01010 10101 01100 11000 10110 01010 10100 01110 11100 11110
// 16 A 15 C 18 16 A 14 E 1C 1E
//XOR 13 13 0 13 0 13 13 0 13 0 13 13 = 0xD6B
for (int i = 0; i < 11; i++)
{
crcM <<= 1;
shift >>= 1;
divisor13or0 <<= 1;
crcShift = (byte)(crcM = (byte)((crcDiv & shift) == 0 ? crcM : crcM | 1));
crcM = (divisor13or0 & 0x800) == 0x800 ? (byte)(((byte)0x13) ^ crcM) : (byte)(((byte)0x00) ^ crcM);
//crcM = (byte)(crcM & 0x0FF);
Console.WriteLine("shift" + Convert.ToString(shift, 16) + "\tAdterShift:" + Convert.ToString(crcShift, 16) + "\tRes:" + Convert.ToString(crcM, 16));
}
return (byte)crcM;
}
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20220720/45b5e0b3/attachment-0001.htm>
------------- další část ---------------
A non-text attachment was scrubbed...
Name: CRC4-APP.gif
Type: image/gif
Size: 97816 bytes
Desc: CRC4-APP.gif
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20220720/45b5e0b3/attachment-0001.gif>
Další informace o konferenci Hw-list