| Автор |
Съобщение |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
 CRC16
Позанимах се с учебна цел с тия CRC-та но не ми стана много ясно до какъв размер на буфера е достатъчно надежно да се ползва CRC16
|
| Пет Авг 12, 2005 11:49 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
TCP/IP пакетите използват CRC32, дължината им е около 1500 байта, доколкото си спомням. CRC16 би трябвало да ти свърши работа до към 100-200 байта пакети.
|
| Съб Авг 13, 2005 8:23 am |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
Mного Византийски въпрос. Всичко зависи от това каква вероятност за грешки си приел. При 1Е-3 и за 100 байта пакети не е добре. Добре е това да се симулира на Матлаб или нещо подобно, ама аз никога не съм правил такива неща. Само съм гледал и съм цъкал с език 
|
| Съб Авг 13, 2005 11:41 am |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Е чак до симулация в MatLaba мяма да допра. Явно че до 64 байта буфер трябва да е доста ниска вероятноста за грешка.
Всъщност сега в ранно утро ми дойде на акъла че има значение каква е вероятноста за грешка в канала по които се предава.
Ако говорим за RS232 по 1-2 метров кабел би трябвало да е достатъчно надежно и за 256 байта. А ако говорим за зашумен радиоканал и 32 байта може и да са много.
Нииде не открих да прочета нещо за практическото използване. Явно на усет трябва да се кара 
|
| Съб Авг 13, 2005 12:30 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
CRC досега не ми се е налагало да използвам, последния път като опънах 80 метра UTP кабел в доста шумна среда (20-ина машини с трифазни мотори и доста заваръчни апарати) и RS485 протокол ползвах 78 байтови пакети, скорост 625Kbps. Нямаше CRC, само една проста чексума на края на пакета. Правих доста опити, пускам 1000 пакета ping към устройството си, а то връща обратно целия пакет ако чексумата е вярна...та на 1000 пакета в двете посоки по 78 байта нито един загубен. Интересно ми е няма ли да се забави значително скоростта заради времето, необходимо на процесора да сметне CRC?
|
| Съб Авг 13, 2005 12:46 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
CRC е много наложително при радиоканалите например. Също при всевъзможните отдалечени управления.
А за процесорното време дето гълта не е чак кои знае колко. Сравнително бързо става. Аз взех направо готов код за смятането му там става с малко сметки и таблица. За АТмега на 16 Мhz,CRC16 и 1Мb/s времето за смятане не е проблем. Ако производителноста на процесора е по малка или правиш CRC32 може протокола за предаване и прииемане да го реализираш в прекъсванията а междувремменно да си смяташ CRC-to.
|
| Съб Авг 13, 2005 2:13 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
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.
|
| Нед Авг 14, 2005 2:58 pm |
|
 |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
Важно е и какъв е потока от данни, т.е. каква грешка се очаква - дали пропадане на данните за известно време или липса на един бит (понякога) или нещо друго.
За перфолентата се гледаше напречен контрол (очакваше се, че ще липсва 1 дупка или ще има 1 в повече), за магнитната лента се гледаше и надлъжен, но принципно си беше същото. CRC-то е измислено поради факта, че точно такъв вид грешка, даваща грешното CRC е най-малко вероятна. CRC64 май ползваха от Държавната Администрация в Щатите.
Ако се управлява Совалка - може и да върши работа, но CRC16 е достатъчно за други цели.
|
| Нед Авг 14, 2005 3:30 pm |
|
|