Sorry guys, that LTspice stuff was not for this group - my mailer must have screwed up!

73 de Nigel ve3id


On 26/01/2020 18:12, Bob Smith via cctalk wrote:
I ma rusty on this, been almost 50 years since I worked on the DP8EP
aka the KG83. then the KG11, and the Autodin 2 CRC32 designs in
hardware.
I don't recall whether bisync, aka bsc used LRC8, 12, 16, or crc16 as
the error detection algorithm.
I don't think it used VRC. I did find a refresher that might help, but
I don't think the polynomial you have for crc 16 has enough terms.
BUT I could be misremembering.

https://www.automatas.org/modbus/crc7.html
bob

On Sun, Jan 26, 2020 at 2:59 PM Mattis Lind via cctalk
<cctalk@classiccmp.org> wrote:
Hello IBM BSC Experts!

I am trying to figure out the CRC algorithm used by IBM BSC. I have tried a
lot of different settings in crcreveng but not getting a match.

I am pretty convinced that the CRC-16 used by IBM was
   16          15       2
x      +   x     +   x     +  1
This would give the polynomial 8005.
Anyone against this statement?

But what was the initial value?

I have two actual messages from equipment employing IBM BSC:
32016CD90240404070032688
and
32016CD90240C84050030D28

 From this document (
http://bitsavers.trailing-edge.com/pdf/ibm/datacomm/GA27-3004-2_General_Information_Binary_Synchronous_Communications_Oct70.pdf
)
I get that the CRC calculation is reset on SOH (01h) or STX (02h) and
accumulates until and including the ETX (03h). (excluding any SYN (32h)
characters).

I have tried crcreveng back and forth and I am not getting the CRC bytes
right.
I think I have tried most things, different bit order, different initial
values. But nothing.

I also tried the mode in crcreveng where it searches for matches but it
always says "no models found". Maybe I am doing something wrong when using
crcreveng?

Any clues? Surely there are someone out there that has been around for some
time and knows this, right?

On the topic of crc reveng I tried to verify how it works by using some
kind of known value: This article
https://stackoverflow.com/questions/23638939/crc-16-ibm-reverse-lookup-in-c

has a specific example where a certain data in (75h) with initial value
90f1h gives output 6390h. I tried to get crc reveng to do the same, but
failed. There has to be some option I simply do not understand. I tried
most combinations.

/Mattis

--
Nigel Johnson
MSc., MIEEE
VE3ID/G4AJQ/VA3MCU

Amateur Radio, the origin of the open-source concept!


You can reach me by voice on Skype:  TILBURY2591

If time travel ever will be possible, it already is. Ask me again yesterday

This e-mail is not and cannot, by its nature, be confidential. En route from me 
to you, it will pass across the public Internet, easily readable by any number 
of system administrators along the way.
   Nigel Johnson <nw.john...@ieee.org>

Please consider the environment when deciding if you really need to print this message



Reply via email to