Ross Myers

MSCAN Filters, why two? - HC08GZ

Discussion created by Ross Myers on Dec 6, 2007
Latest reply on Dec 11, 2007 by Andrew Glossop
Hi All,
Just playing around with the MSCAN module in the HC08GZ, I finally got the thing talking on the CAN bus, but I am a little confused on the overall point of having two message filters, CIDMR0 - CIDMR3  and CIDAR0 - CIDAR3. Maybe I am reading it wrong, but they seem to serve the same purpose?
The way I understand it is the registers CIDMR0 - CIDMR3 are like a primary message filter because they should only be configured when initializing the MSCAN.
So that leaves the I.D acceptance registers which can provide further message filtering to those passed through from CIDMR0 - CIDMR3.
So as an example, I could set CIDMR0 - CIDMR3 to only accept messages within the ID range of $100 - $400
Then the ID acceptance registers can be defined to filter a specific message from the range within $100 - $400 as that was all that was passed through from CIDMR0 - CIDMR3.
If this is how it works then it seems a little bit limiting to have just two ID acceptance filters.
What happens if I wanted to get messages from ID's $101, $183, $202, $234, $340, $389 ?, do I just allow the ID acceptance filters to pass all through from $100 - $400 then do an individual comapre once the message has arrived? which is not ideal because it would mean a 16bit compare for each ID.
Thanks in advance,

Message Edited by Bloodhound on 2007-12-06 08:43 PM


Added p/n to subject

Message Edited by NLFSJ on 2007-12-06 09:10 AM