ybun
08.10.2009, 09:54
Есть необходимость проверять FCS LAPD пакета( контрольнаясумма пакета DSS, ОКС7)ю
Реализовал подсчет вроде бы в соответствии с рекомендациями, а FCS не соответствует
Проверяю на заранее известном правильном пакете ОКСа
E7 C9 09 85 3C 1B D9 46 24 03 10 00 53 7D , где FCS=537D? а получаю 490В
Вот исходник. Если кто сталкивался помогите пожалуйста.

mpaco[0]:=14; {Длинна пакета}
mpaco[1]:=$e7; mpaco[7]:=$d9;
mpaco[2]:=$c9; mpaco[8]:=$46;
mpaco[3]:=$09; mpaco[9]:=$24;
mpaco[4]:=$85; mpaco[10]:=$03;
mpaco[5]:=$3c; mpaco[11]:=$10;
mpaco[6]:=$1b; mpaco[12]:=$00;

mpaco[13]:=$0; {$53}
mpaco[14]:=$0; {$7d}

asm
mov si,offset[mpaco]
mov bh,byte ptr[si]
add bh,1
mov ah,1
inc si
Mov dx,0ffffh
m5:mov cx,8
mov al,[si]
m4:shl al,1
rcl dx,1
jnc m3
xor dx,1h
m3:test dx,1
jz m6
xor dx,$1020
m6:loop m4
inc ah
inc si
cmp ah,bh
jnz m5
xor dx,$ffff
end;

phobos
11.05.2010, 11:36
Эх, дружище, у меня похожая проблема (http://bbs.radiolink.ru/forum/showthread.php?t=51110). Тут похоже почти никто в этом не шарит :(

Vostok87
11.05.2010, 18:11
Может я что-нибудь не понимаю, но причем тут ОКС и LAP-D, последнее насколько помню - формат канального уровня EDSS1.
Про расшифровку сообщений EDSS1 можете прочитать тут:
- http://www.aek-54.ru/ip_tlf/lektion/q931_dss1_2.htm
- http://www.aek-54.ru/ip_tlf/lektion/q931_dss1_3.htm

phobos
12.05.2010, 15:45
Да, LAPD - протокол канального уровня абонентской сигнализации DSS1. Несколько отличается от ОКСа ). У меня вопрос в соседней ветке, насчет формирования FCS и проверки кадра, но вот пока информации маловато. Теория есть, но её почему-то не хватает.
Спасибо за ссылки! Посмотрю, может найду что-нить новое...

valeryk
12.05.2010, 17:19
Я смотрю, теперь преподавать совсем разучились. То, что делает простая схема на регистре сдвига с обратными связями, заставляют студентов просчитывать.
Вот схема регистра. Для понимания.

http://book.itep.ru/4/43/isdn_433.htm#1

Dimone73
26.03.2011, 21:25
Ок, действительно в реальных рекомендациях LAPD, да и LAPM и куче подобных остаток от деления 0x1d0f (7439). с точки зрения науки это многие преподаватели считают мелочью на которую не обращают внимание. Печально что автор не понимает необходимость использования сдвигового регистра, а там своих алгоритмов масса (с начальным заполнением нулями, единицами, со сдвигом вправо-влево, и т.п.). Все в итоге остается: ни кому это не интересно и не нужно, все и так работает, модифицировать алгоритм потребности нет, полиномы давно все уже придуманы...Это пожалуй задача прикладных математиков-программистов-железячников. Я поискал несколько готовых программ, они считают crc и прочее-тоже остаток не получается как в рекомендациях