Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

CRC16
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=934
Страница 1 от 1

Автор:  Nikola Kirov [ Пет Авг 12, 2005 11:49 pm ]
Заглавие:  CRC16

Позанимах се с учебна цел с тия CRC-та но не ми стана много ясно до какъв размер на буфера е достатъчно надежно да се ползва CRC16

Автор:  [ Съб Авг 13, 2005 8:23 am ]
Заглавие: 

TCP/IP пакетите използват CRC32, дължината им е около 1500 байта, доколкото си спомням. CRC16 би трябвало да ти свърши работа до към 100-200 байта пакети.

Автор:  bateAz [ Съб Авг 13, 2005 11:41 am ]
Заглавие: 

Mного Византийски въпрос. Всичко зависи от това каква вероятност за грешки си приел. При 1Е-3 и за 100 байта пакети не е добре. Добре е това да се симулира на Матлаб или нещо подобно, ама аз никога не съм правил такива неща. Само съм гледал и съм цъкал с език :roll:

Автор:  Nikola Kirov [ Съб Авг 13, 2005 12:30 pm ]
Заглавие: 

Е чак до симулация в MatLaba мяма да допра. Явно че до 64 байта буфер трябва да е доста ниска вероятноста за грешка.

Всъщност сега в ранно утро ми дойде на акъла че има значение каква е вероятноста за грешка в канала по които се предава.
Ако говорим за RS232 по 1-2 метров кабел би трябвало да е достатъчно надежно и за 256 байта. А ако говорим за зашумен радиоканал и 32 байта може и да са много.

Нииде не открих да прочета нещо за практическото използване. Явно на усет трябва да се кара :D

Автор:  Predator_MF [ Съб Авг 13, 2005 12:46 pm ]
Заглавие: 

CRC досега не ми се е налагало да използвам, последния път като опънах 80 метра UTP кабел в доста шумна среда (20-ина машини с трифазни мотори и доста заваръчни апарати) и RS485 протокол ползвах 78 байтови пакети, скорост 625Kbps. Нямаше CRC, само една проста чексума на края на пакета. Правих доста опити, пускам 1000 пакета ping към устройството си, а то връща обратно целия пакет ако чексумата е вярна...та на 1000 пакета в двете посоки по 78 байта нито един загубен. Интересно ми е няма ли да се забави значително скоростта заради времето, необходимо на процесора да сметне CRC?

Автор:  Nikola Kirov [ Съб Авг 13, 2005 2:13 pm ]
Заглавие: 

CRC е много наложително при радиоканалите например. Също при всевъзможните отдалечени управления.
А за процесорното време дето гълта не е чак кои знае колко. Сравнително бързо става. Аз взех направо готов код за смятането му там става с малко сметки и таблица. За АТмега на 16 Мhz,CRC16 и 1Мb/s времето за смятане не е проблем. Ако производителноста на процесора е по малка или правиш CRC32 може протокола за предаване и прииемане да го реализираш в прекъсванията а междувремменно да си смяташ CRC-to.

Автор:  ToHu [ Нед Авг 14, 2005 2:58 pm ]
Заглавие: 

Ami CRC ne e mnogo zashtiteno, izlishuka e twurde maluk, 16 ili 32 .. to se izcisliawa w zawisimost ot kolicestwoto danni kakuw tip greshki otkriwa. Triabwa da si pogledna neshtata, predi wreme biah prawil niakolko diplomni raboti za zashtita na danni ama wece sum zabrawil kak tocno se smiata, togawa polzwah kod na grei koito korigira edinicni i dwoini i otkriwa troini greshki, no izlishuka ne e maluk.

Автор:  Wise [ Нед Авг 14, 2005 3:30 pm ]
Заглавие: 

Важно е и какъв е потока от данни, т.е. каква грешка се очаква - дали пропадане на данните за известно време или липса на един бит (понякога) или нещо друго.
За перфолентата се гледаше напречен контрол (очакваше се, че ще липсва 1 дупка или ще има 1 в повече), за магнитната лента се гледаше и надлъжен, но принципно си беше същото. CRC-то е измислено поради факта, че точно такъв вид грешка, даваща грешното CRC е най-малко вероятна. CRC64 май ползваха от Държавната Администрация в Щатите.
Ако се управлява Совалка - може и да върши работа, но CRC16 е достатъчно за други цели.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/