The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024


[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

RE: CRC16



------=_NextPart_000_00AC_01CC9D4B.DB71FB50
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hi Alan,



What RS485 protocol are you referring to?



I'm also doing some xAP stuff using AVR's. I'm creating a gateway that
converts between the Ethernet and the RS485 network.

It uses a AVR (Mega128) as the go between. From here it then talks to the
RS485 AVR slaves using my own protocol.

I found it easier to implememnt this way. Less xAP actually on the RS485
network.



Regards,

Neil Wrightson.

Australia.

From: xAP_developer@xxxxxxx [mailto:xAP_developer@xxxxxxx]
On Behalf Of hillbillies@xxxxxxx
Sent: Monday, 7 November 2011 11:20 AM
To: xAP_developer@xxxxxxx
Subject: [xAP_developer] CRC16





Hi Everybody,

New to the group, I only started looking xAP about a month ago.

I'm developing a RS485 style network with AVR devices. The wire protocol
should allow me to detect collisions but I would like to put CRC16 error
checking into the devices. Although the Protocol definition talks about
CRC16, it doesn't state which polynomial is the preferred one.

The AVR libraries have have already coded:

Optimized CRC-16 calculation.
Polynomial: x^16 + x^15 + x^2 + 1 (0xa001)
Initial value: 0xffff

Optimized CRC-CCITT calculation.
Polynomial: x^16 + x^12 + x^5 + 1 (0x8408)
Initial value: 0xffff

Optimized Dallas (now Maxim) iButton 8-bit CRC calculation.
Polynomial: x^8 + x^5 + x^4 + 1 (0x8C)
Initial value: 0x0

Optimized CRC-XMODEM calculation.
Polynomial: x^16 + x^12 + x^5 + 1 (0x1021)
Initial value: 0x0

Can anyone give me a pointer on which way to go?

Thanks

Alan




------=_NextPart_000_00AC_01CC9D4B.DB71FB50
Content-Type: text/html; charset=US-ASCII
Content-Transfer-Encoding: 7bit





<head>

<style type="text/css">
<!--

/* start of attachment style */
.ygrp-photo-title{
clear: both;
font-size: smaller;
height: 15px;
overflow: hidden;
text-align: center;
width: 75px;
}
div.ygrp-photo{
background-position: center;
background-repeat: no-repeat;
background-color: white;
border: 1px solid black;
height: 62px;
width: 62px;
}

div.photo-title
a,
div.photo-title a:active,
div.photo-title a:hover,
div.photo-title a:visited {
text-decoration: none;
}

div.attach-table div.attach-row {
clear: both;
}

div.attach-table div.attach-row div {
float: left;
/* margin: 2px;*/
}

p {
clear: both;
padding: 15px 0 3px 0;
overflow: hidden;
}

div.ygrp-file {
width: 30px;
valign: middle;
}
div.attach-table div.attach-row div div a {
text-decoration: none;
}

div.attach-table div.attach-row div div span {
font-weight: normal;
}

div.ygrp-file-title {
font-weight: bold;
}
/* end of attachment style */
-->
</style>
</head>
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml";
xmlns="http://www.w3.org/TR/REC-html40";><head><meta
http-equiv=Content-Type content="text/html;
charset=us-ascii"><meta name=Generator content="Microsoft
Word 14 (filtered medium)"><!--[if !mso]><style>v\:*
{behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#1E66AE;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#1E66AE;
text-decoration:underline;}
p
{mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
code
{mso-style-priority:99;
font-family:"Courier New";}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
tt
{mso-style-priority:99;
font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";}
span.cat
{mso-style-name:cat;}
span.ct
{mso-style-name:ct;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
p.attach, li.attach, div.attach
{mso-style-name:attach;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:9.0pt;
font-family:"Arial","sans-serif";}
p.bold, li.bold, div.bold
{mso-style-name:bold;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:10.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
p.green, li.green, div.green
{mso-style-name:green;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:#628C2A;}
p.replbq, li.replbq, div.replbq
{mso-style-name:replbq;
margin:3.0pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.ad, li.ad, div.ad
{mso-style-name:ad;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.underline, li.underline, div.underline
{mso-style-name:underline;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
span.yshortcuts
{mso-style-name:yshortcuts;}
p.ad1, li.ad1, div.ad1
{mso-style-name:ad1;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.ad2, li.ad2, div.ad2
{mso-style-name:ad2;
mso-margin-top-alt:auto;
margin-right:0cm;
margin-bottom:7.5pt;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.underline1, li.underline1, div.underline1
{mso-style-name:underline1;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman","serif";
text-decoration:underline;}
span.yshortcuts1
{mso-style-name:yshortcuts1;
font-family:"Verdana","sans-serif";
font-weight:bold;}
span.yshortcuts2
{mso-style-name:yshortcuts2;
font-family:"Verdana","sans-serif";
font-weight:normal;}
span.EmailStyle36
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Tahoma","sans-serif";}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:293753733;
mso-list-template-ids:-1140795364;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:144.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:180.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:216.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:252.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:288.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:324.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body
bgcolor=white lang=EN-AU link="#1E66AE"
vlink="#1E66AE">


<!-- **begin egp html banner** -->

<br><br>

<!-- **end egp html banner** -->


<div class=WordSection1><p class=MsoNormal><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi
Alan,<o:p></o:p></span></p><p
class=MsoNormal><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p
class=MsoNormal><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>What
RS485 protocol are you referring
to?<o:p></o:p></span></p><p
class=MsoNormal><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><p
class=MsoNormal><span lang=EN-US
style='color:#1F497D'>I&#8217;m also doing some xAP stuff using
AVR&#8217;s. I&#8217;m creating a gateway that converts between the
Ethernet and
the RS485 network.<o:p></o:p></span></p><p
class=MsoNormal><span lang=EN-US style='color:#1F497D'>It uses a
AVR (Mega128) as the go between. From here it then talks to the RS485 AVR
slaves using my own
protocol.<o:p></o:p></span></p><p
class=MsoNormal><span lang=EN-US style='color:#1F497D'>I found it
easier to implememnt this way. Less xAP actually on the RS485 network.
&nbsp;<o:p></o:p></span></p><p
class=MsoNormal><span lang=EN-US
style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p
class=MsoNormal><span lang=EN-US style='color:#1F497D'>Regards,
<o:p></o:p></span></p><p
class=MsoNormal><b><span lang=EN-US
style='font-size:13.5pt;color:#1F497D'>Neil
Wrightson.<o:p></o:p></span></b></p><p
class=MsoNormal><b><span lang=EN-US
style='font-size:13.5pt;color:#1F497D'>Australia.</span></b><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p></div><div><div
style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm
0cm'><p cla
ss=MsoNormal><b><span lang=EN-US
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
lang=EN-US
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
xAP_developer@xxxxxxx [mailto:xAP_de
veloper@xxxxxxx] <b>On Behalf Of
</b>hillbillies@xxxxxxx<br><b>Sent:</b> Monday, 7
November 2011 11:20 AM<br><b>To:</b>
xAP_developer@xxxxxxx<br><b>Subject:</b> [xAP_developer]
CRC16<o:p></o:p></span></p></div></div><p
class=MsoNormal><o:p>&nbsp;</o:p></p><p
class=MsoNormal>&nbsp; <o:p></o:p></p><div
id=ygrp-mlmsg><div id=ygrp-msg><div id=ygrp-text><p
style='margin-bottom:12.0pt'>Hi Everybody,<br><br>New to the
group, I only started looking xAP about a month ago.<br><br>I'm
developing a RS485 style network with AVR devices. The wire protocol should
allow me to detect collisions but I would like to put CRC16 error checking
into the devices. Although the Protocol definition talks about CRC16, it
doesn't state which polynomial is the preferred one.<br><br>The
AVR libraries have have already coded
:<br><br>Optimized CRC-16 calculation.<br>Polynomial:
x^16 + x^15 + x^2 + 1 (0xa001)<br>Initial value:
0xffff<br><br>Optimized CRC-CCITT
calculation.<br>Polynomial: x^
16 + x^12 + x^5 + 1 (0x8408)<br>Initial value:
0xffff<br><br>Optimized Dallas (now Maxim) iButton 8-bit CRC
calculation.<br>Polynomial: x^8 + x^5 + x^4 + 1
(0x8C)<br>Initial value: 0x0<br><br>Optimized CRC-XMODEM
calculation.<br>Polynomial: x^16 + x^12 + x^5 + 1
(0x1021)<br>Initial value: 0x0<br><br>Can anyone give me
a pointer on which way to
go?<br><br>Thanks<br><br>Alan<o:p></o:p></p></div><div><p
class=MsoNormal><span
style='color:white'><o:p></o:p></span></p></div></div>



<!-- **begin egp html banner** -->

<br>



<br>

<!-- **end egp html banner** -->


<div width="1" style="color: white; clear:
both;"/>__._,_.___</div>

<!-- Start Recommendations -->
<!-- End Recommendations -->



<!-- **begin egp html banner** -->

<img src="http://geo.yahoo.com/serv?s=97476590/grpId=9629476/grpspId=1705007709/msgId=2215/stime=1320630656";
width="1" height="1"> <br>

<!-- **end egp html banner** -->


<!-- **begin egp html banner** -->

<br>
<div style="font-family: verdana; font-size: 77%; border-top: 1px
solid #666; padding: 5px 0;" >
Your email settings: Individual EmailTraditional <br>
<a href="http://groups.yahoo.com/group/xAP_developer/join;_ylc=X3oDMTJmaDZkdm5qBF9TAzk3NDc2NTkwBGdycElkAzk2Mjk0NzYEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEzMjA2MzA2NTY-";>Change
settings via the Web</a> (Yahoo! ID required) <br>
Change settings via email: <a href="mailto:xAP_developer-digest@xxxxxxx?subject=Email
Delivery: Digest">Switch delivery to Daily Digest</a>  <a
href = "mailto:xAP_developer-fullfeatured@xxxxxxx?subject=Change
Delivery Format: Fully Featured">Switch to Fully Featured</a>
<br>
<a href="http://groups.yahoo.com/group/xAP_developer;_ylc=X3oDMTJkb2MzMzNiBF9TAzk3NDc2NTkwBGdycElkAzk2Mjk0NzYEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMzIwNjMwNjU2";>
Visit Your Group
</a>
<a href="http://docs.yahoo.com/info/terms/";>
Yahoo! Groups Terms of Use
</a>
<a href="mailto:xAP_developer-unsubscribe@xxxxxxx?subject=Unsubscribe";>
Unsubscribe
</a>
<br>
</div>
<br>

<!-- **end egp html banner** -->


<div style="color: white; clear:
both;"/>__,_._,___</div>
</body></html>
------=_NextPart_000_00AC_01CC9D4B.DB71FB50--

  • References:
    • CRC16
      • From: hillbillies@xxxxxxxxx
xAP_Development Main Index | xAP_Development Thread Index | xAP_Development Home | Archives Home

Comments to the Webmaster are always welcomed, please use this contact form . Note that as this site is a mailing list archive, the Webmaster has no control over the contents of the messages. Comments about message content should be directed to the relevant mailing list.