<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>S12 / MagniV MicrocontrollersのトピックRe: HCS12 MSCAN identifier question</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145033#M3838</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;1. Message ID 23f should mean 0x023F. Least significant bit&amp;nbsp;is ID0 bit. And location of ID0 bit depends on message format. If message is standard then ID0 is bit5 of register xxxIDR1. If message is extended, then ID0 is bit1 of register xxxIDR3. The id of received message, messageID is something like this:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;unsigned long tmp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;tmp = *(unsigned long*)&amp;amp;CANRIDR1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// is it extended message ?&lt;/DIV&gt;&lt;DIV&gt;// (IDE bit is bit3 of IDR1)&lt;/DIV&gt;&lt;DIV&gt;if(CANRIDR1 &amp;amp; (1&amp;lt;&amp;lt;3))&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; messageID = (tmp &amp;gt;&amp;gt; 2) &amp;amp; 0x3FF80000ul;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; messageID |= tmp &amp;amp; 0x0007FFFEul;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; messageID &amp;gt;&amp;gt;=1;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;else&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // no, it's standard ID&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; messageID = (tmp &amp;gt;&amp;gt; (5+16) ) &amp;amp; 0x7FF;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;2. So it depends where the first bit is. Search MSCAN docs for "Standard identifier mapping" and "Extended identifier mapping".&lt;/DIV&gt;&lt;DIV&gt;But when talking about id's, the numerical value of message id is just the numerical value of message id.&amp;nbsp;For example message id of 0x124 means&amp;nbsp;ID8=1, ID5=1, ID2=1 and all other IDx bits are 0.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;3. 1) Acceptance registers have the same ID mapping like receive and transmit buffers.&lt;/DIV&gt;&lt;DIV&gt;2) CANIDAC register&amp;nbsp;setup should tell how many acceptance filters you have and how many bits each filter is.&lt;/DIV&gt;&lt;DIV&gt;Since you are asking about 4 acceptance registers, I assume you are using 32bit acceptance filters and extended identifiers. If so then&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CANIDAR0=0x23F &amp;gt;&amp;gt; 21;&lt;/DIV&gt;&lt;DIV&gt;CANIDAR1=((0x23F &amp;gt;&amp;gt; (15-2)) &amp;amp; 0xE0) | 0x18 | ((0x23F &amp;gt;&amp;gt; 15)&amp;amp;7);&lt;/DIV&gt;&lt;DIV&gt;CANIDAR2=0x23F &amp;gt;&amp;gt; 7;&lt;/DIV&gt;&lt;DIV&gt;CANIDAR3 = 0x23F &amp;lt;&amp;lt; 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;for RTR message please set CANIDAR3 bit 0.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;And IDMR mask registers mapping is also the same.&lt;/DIV&gt;&lt;DIV&gt;CANIDMR0=CANIDMR1=CANIDMR2=CANIDMR3=0xFF; // this instructs to accept&amp;nbsp;all messages&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;CANIDMR0=CANIDMR1=CANIDMR2=CANIDMR3=0; // this instructs to accept&amp;nbsp;only message&amp;nbsp;with ID, IDE and RTR bits matching IDAR0-3 registers&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Hope it helps and doesn't confuse you further :smileyhappy:&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 13 Sep 2007 14:03:03 GMT</pubDate>
    <dc:creator>kef</dc:creator>
    <dc:date>2007-09-13T14:03:03Z</dc:date>
    <item>
      <title>HCS12 MSCAN identifier question</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145032#M3837</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello,&lt;/DIV&gt;&lt;DIV&gt;I have a quick question about CAN identifier in HCS12 MCU.&lt;/DIV&gt;&lt;DIV&gt;When it says in some documents that the ID of the message is "23f" (I assume this is a hex), then:&lt;/DIV&gt;&lt;DIV&gt;1. is this means 0x023f or 0x23f0 ?&lt;/DIV&gt;&lt;DIV&gt;2. where is the first bit? is it left justified or right justified?&lt;/DIV&gt;&lt;DIV&gt;3. As the bits in the acceptance ID registers will be sorted from IDs0 to ID 28, Can anybody please&lt;/DIV&gt;&lt;DIV&gt;,as an example, tell me how would the four Acceptance registers look like when filled with the stated acceptance ID (23f)?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;thank you,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2007 00:52:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145032#M3837</guid>
      <dc:creator>prog_ram</dc:creator>
      <dc:date>2007-09-13T00:52:03Z</dc:date>
    </item>
    <item>
      <title>Re: HCS12 MSCAN identifier question</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145033#M3838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;1. Message ID 23f should mean 0x023F. Least significant bit&amp;nbsp;is ID0 bit. And location of ID0 bit depends on message format. If message is standard then ID0 is bit5 of register xxxIDR1. If message is extended, then ID0 is bit1 of register xxxIDR3. The id of received message, messageID is something like this:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;unsigned long tmp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;tmp = *(unsigned long*)&amp;amp;CANRIDR1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// is it extended message ?&lt;/DIV&gt;&lt;DIV&gt;// (IDE bit is bit3 of IDR1)&lt;/DIV&gt;&lt;DIV&gt;if(CANRIDR1 &amp;amp; (1&amp;lt;&amp;lt;3))&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; messageID = (tmp &amp;gt;&amp;gt; 2) &amp;amp; 0x3FF80000ul;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; messageID |= tmp &amp;amp; 0x0007FFFEul;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; messageID &amp;gt;&amp;gt;=1;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;else&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // no, it's standard ID&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; messageID = (tmp &amp;gt;&amp;gt; (5+16) ) &amp;amp; 0x7FF;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;2. So it depends where the first bit is. Search MSCAN docs for "Standard identifier mapping" and "Extended identifier mapping".&lt;/DIV&gt;&lt;DIV&gt;But when talking about id's, the numerical value of message id is just the numerical value of message id.&amp;nbsp;For example message id of 0x124 means&amp;nbsp;ID8=1, ID5=1, ID2=1 and all other IDx bits are 0.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;3. 1) Acceptance registers have the same ID mapping like receive and transmit buffers.&lt;/DIV&gt;&lt;DIV&gt;2) CANIDAC register&amp;nbsp;setup should tell how many acceptance filters you have and how many bits each filter is.&lt;/DIV&gt;&lt;DIV&gt;Since you are asking about 4 acceptance registers, I assume you are using 32bit acceptance filters and extended identifiers. If so then&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CANIDAR0=0x23F &amp;gt;&amp;gt; 21;&lt;/DIV&gt;&lt;DIV&gt;CANIDAR1=((0x23F &amp;gt;&amp;gt; (15-2)) &amp;amp; 0xE0) | 0x18 | ((0x23F &amp;gt;&amp;gt; 15)&amp;amp;7);&lt;/DIV&gt;&lt;DIV&gt;CANIDAR2=0x23F &amp;gt;&amp;gt; 7;&lt;/DIV&gt;&lt;DIV&gt;CANIDAR3 = 0x23F &amp;lt;&amp;lt; 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;for RTR message please set CANIDAR3 bit 0.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;And IDMR mask registers mapping is also the same.&lt;/DIV&gt;&lt;DIV&gt;CANIDMR0=CANIDMR1=CANIDMR2=CANIDMR3=0xFF; // this instructs to accept&amp;nbsp;all messages&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;CANIDMR0=CANIDMR1=CANIDMR2=CANIDMR3=0; // this instructs to accept&amp;nbsp;only message&amp;nbsp;with ID, IDE and RTR bits matching IDAR0-3 registers&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Hope it helps and doesn't confuse you further :smileyhappy:&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2007 14:03:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145033#M3838</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2007-09-13T14:03:03Z</dc:date>
    </item>
    <item>
      <title>Re: HCS12 MSCAN identifier question</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145034#M3839</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Great help Kef,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;thank you.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;take care.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2007 19:55:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145034#M3839</guid>
      <dc:creator>prog_ram</dc:creator>
      <dc:date>2007-09-13T19:55:25Z</dc:date>
    </item>
    <item>
      <title>Re: HCS12 MSCAN identifier question</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145035#M3840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Kef,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for your valuable answer. It is helpful to me &lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt;. I got confused recently when i had to work on extended ID. It is cleared with your answer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But, I just want to make sure with you one thing..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think in the below sentance of your message, the register should be "CANRIDR0" instead of "CANRIDR1". May be it is a typing mistake.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;&amp;gt;&amp;gt;unsigned long tmp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;&amp;gt;&amp;gt;tmp = *(unsigned long*)&amp;amp;CANRIDR1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;can you please confirm this &lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by nandu on&lt;/SPAN&gt; &lt;SPAN class="local-date"&gt;2009-07-21&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;10:56 AM&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2009 12:14:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145035#M3840</guid>
      <dc:creator>nandu</dc:creator>
      <dc:date>2009-07-21T12:14:07Z</dc:date>
    </item>
    <item>
      <title>Re: HCS12 MSCAN identifier question</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145036#M3841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Nandu, you are right, it should be&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;&amp;nbsp;&amp;nbsp; &lt;FONT color="#000000"&gt;tmp = *(unsigned&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#000000"&gt;long*)&amp;amp;CANRIDR&lt;FONT color="#008000"&gt;0&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;and not&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;&amp;nbsp;&amp;nbsp; &lt;FONT color="#000000"&gt;tmp = *(unsigned&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#000000"&gt;long*)&amp;amp;CANRIDR&lt;FONT color="#ff0000"&gt;1&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2009 12:39:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145036#M3841</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2009-07-21T12:39:34Z</dc:date>
    </item>
    <item>
      <title>Re: HCS12 MSCAN identifier question</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145037#M3842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Thank you for the confirmation Kef&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2009 14:12:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HCS12-MSCAN-identifier-question/m-p/145037#M3842</guid>
      <dc:creator>nandu</dc:creator>
      <dc:date>2009-07-21T14:12:03Z</dc:date>
    </item>
  </channel>
</rss>

