> > 1. I am getting linker problem if I access C1TX0DLC, C1RX0DLC
> > registers.
>
> That's for your compiler/toolchain vendor to solve. Ask them.
>
> > 2. If I send a message from CAN test tool, dsPIC30F6003 sends ACK even
> > if the standard identifier is different. I checked for Mask bits and
> > the configuration settings are all bits will be checked.
>
> You're misunderstanding how CAN works. Sending ACK has nothing to do
> with identifier selection or masking --- ACK is a generic feature of
> CAN protocol, whereas identifier masks are internal to your particular
> device. They have essentially nothing to do with CAN communication
> itself.
>
> In particular, your dsPIC sending the ACK bit by no means implies that
> it thought this CAN frame was addressed to itself --- it just
> indicates that as far as CAN frames go, this one seemed to be correct.
> In a correctly configured CAN bus, *all* nodes on the network except
> the one sending a given message will ACKnowledge it, regardless of its
> content.
Even when the mask bits are all 0, data or SID does not come in to
Receive buffer registers. I checked giving the same SID also.
I got some inputs saying there were some changes to CAN module of
dsPIC30F6003 which was a prototype device, before it was upgraded and
released as dsPIC30F6010.
Can any of you provide me the device erata sheet for dsPIC30F6003 when
it was released? There is no information regarding this on
dsPIC30F6003 on Microchip / dsPIC site.
Reply by Hans-Bernhard Broeker●October 13, 20042004-10-13
Nagaraj L <NagarajL@tataelxsi.co.in> wrote:
> 1. I am getting linker problem if I access C1TX0DLC, C1RX0DLC
> registers.
That's for your compiler/toolchain vendor to solve. Ask them.
> 2. If I send a message from CAN test tool, dsPIC30F6003 sends ACK even
> if the standard identifier is different. I checked for Mask bits and
> the configuration settings are all bits will be checked.
You're misunderstanding how CAN works. Sending ACK has nothing to do
with identifier selection or masking --- ACK is a generic feature of
CAN protocol, whereas identifier masks are internal to your particular
device. They have essentially nothing to do with CAN communication
itself.
In particular, your dsPIC sending the ACK bit by no means implies that
it thought this CAN frame was addressed to itself --- it just
indicates that as far as CAN frames go, this one seemed to be correct.
In a correctly configured CAN bus, *all* nodes on the network except
the one sending a given message will ACKnowledge it, regardless of its
content.
--
Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.
Reply by Nagaraj L●October 13, 20042004-10-13
I am working on device marked dsPIC30F6003. I am facing some problem
during CAN interface.
1. I am getting linker problem if I access C1TX0DLC, C1RX0DLC
registers.
2. If I send a message from CAN test tool, dsPIC30F6003 sends ACK even
if the standard identifier is different. I checked for Mask bits and
the configuration settings are all bits will be checked.
3. After ACK is sent, no standard identifier or data is received in
the registers.
4. I have checked for the signals at Controller pins and signals are
correct for the data transmitted.