LabVIEW Embedded

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with Canbus RX on LM3S8962

 

Hi,

 

I am having problems in getting the LM3S8962 Evaluation board to receive CAN messages. I have been using the basic read and write examples vi's which are for the MCB board, but should also work with the LM3s right? The write Vi works no problem and is received on CanKing. However the read Vi just wont work, no data or IDs coming in to it, it seems just to ignore incoming data.

When the CAN Set Receive ID Vi is used it will see data as long as the Message ID is low. However I am trying to eventually use this board with NMEA2000 which has a message ID of 435294464 and this vi doesn't work with this ID, I'm not sure why, In any case I do not wish to filter messages so was hoping just to use CAN read.

 

Does anyone know what's going on?

 

Thanks in advance

 

Ollie

0 Kudos
Message 1 of 11
(5,282 Views)

Has any one got any suggestion, In a nut shell Canbus transmit example works fine, receive not at all on the LM3S8962. Please if any one has a working example for this board it would be appreciated.

 

Thanks

0 Kudos
Message 2 of 11
(5,241 Views)

Hello Ollie,

 

It seems nobody picked this thread up so let me see if I can help.

Are you still seeing this problem?

 

A quick search on our website identified a few different resources, and I don't think the MCB VIs will work with the LM3s unless specifically stated in the documentation. Here's the sets of VIs I found that relate directly to your board:

 

EK-LM3S8962 VIs

 

CAN VIs (StellarisWare)

 

CAN VIs (Embedded Module)

 

Developing ARM Applications to communicate via CAN

 

Have a look at the above articles and let me know if we can still help.

 

I hope this finds you well,

Kind Regards,

Michael S.
Applications Engineer
NI UK & Ireland

 

0 Kudos
Message 3 of 11
(5,223 Views)

Hi Michael,

 

Yes I am still having big problems receiving CanBus on the EK-LM3S8962. I have given up on the CAN communication Vi's as they just don't seem to work on the LM3S8962 board, I have had them working on the MCB2300 with no problems.

 

I'm now trying to use the StellarisWare Vi but still having problems. The thing is I'm not convinced that I'm using them right, do you have an example of these Vi's? As I can't find anything on the net.

 

Many thanks for you help

 

Ollie

0 Kudos
Message 4 of 11
(5,212 Views)

Hello Ollie,

 

Have you tried a search in the NI Example Finder? There are a lot of CAN examples and there might be one or two specific to this board that were installed along with the relevant software components.

Have a look and let us know what you find.

 

Kind Regards,

Michael S.
Applications Engineer
NI UK & Ireland

0 Kudos
Message 5 of 11
(5,207 Views)

I am having the same exact problem.  Since I am new to CAN I spent days trying to figure out why the LabView CAN VI's dont' work.  I have tried all the online examples and nothing.  I finally found this post and realize that its probably not that I am doing it wrong but something with LabView.  Its been one issue after another with the LabView Embedded ARM Module.  You would think that with all the money you spend on the Software it would just work. 

Any help on how to get this CAN interface working would be appreciated.  FYI, I am trying to communicate between two LM3S8962 Evaluation boards.  -Aaron-

0 Kudos
Message 6 of 11
(5,189 Views)

Hi Aaron,

 

Are you using the Stellaris Vi's or the labview Can Vi's? I have given up the the LV Vi's and trying to progress with the Stellaris versions but still not had any luck yet. I have been doing other things lately so I have had to leave the CAN (LM3S8962) project to one side for now but will be back on it in a week or two, Im not going to give up yet.

 

-Ollie-

0 Kudos
Message 7 of 11
(5,175 Views)

Hello Aaron,

 

Since the purchase of the software is only a development environment and not a turnkey solution, there is always a chance that the code will not work out of the box. Could you please post your code so that we can have a look?

 

Ollie, if you can post your code as well that might help us identify why the CAN VIs are not working for you.

 

Thank you both for posting, I hope that we can help you with what you are seeing.

 

Kind Regards,

Michael S.
Applications Engineer
NI UK & Ireland

0 Kudos
Message 8 of 11
(5,170 Views)

Michael,

 

The code I have been using is displayed here:

 

http://zone.ni.com/devzone/cda/tut/p/id/8065

 

I have tried various alterations to this basic code example with no success.  

 

Both the LM3S8962 and MCB2300 development boards are listed in this article so I would expect the LabView CAN VIs to also be compatible with the LM3S8962.  In addition, I started to compare the LabView auto generated C-code for this example to that of the  Stellarisware CAN example.  The auto generated code however is very difficult to follow as there is a lot of overhead.  Regardless it appears that the LabView auto generated code calls into the same Stellaris Device Libraries, I believe the base class is CAN.c.  There is simply a wrapper class and a bunch of other confusing overhead.  What I was attempting to identify is if there was some step in the process that was missing from the LabView code.  I know that the CAN hardware works because the LM3S8962 is able to communicate with the LM3S2110 when using the game that comes loaded on the Evaluation Boards.  

 

Let me know if either of you have any thoughts or suggestions.  Today, I also tried to work with the Stellaris CAN VIs with no success.  

 

Thanks,

Aaron

 

0 Kudos
Message 9 of 11
(5,152 Views)

Hello guys,

 

Let's take the issues separately, as I believe they might be unrelated.

 

Ollie, I believe with your application there might be an issue with powering the CAN bus itself. I would suggest speaking to the CAN device vendor or checking the manual and making sure that it is able to send messages without specific power to the bus itself. There is a chance that we need to supply power on both sides of the communication.

 

Aaron, are you able to get hold of a CAN device of known specifications to test the communications with one of the boards? Yours might be an issue of communications and conflicts within them. The LabVIEW VIs we are using define the devices as Master devices, and there is a possibility that with both being setup as Master, there are conflicts in the lines of messages coming back and forth. So, let's say Board#1 sends a message, Board#2 receives it and sends an acknowledgement, then this "handshaking" type of communication might create conflicts with the rest of the messaging. Can you check that they are not using the same ID for example? And check on the timing of the messages as well to make sure there are no messages clashing on the lines?

 

I hope these suggestions help you guys, and please do let me know how you get on.

 

Kind Regards,

Michael S.
Applications Engineer
NI UK & Ireland

0 Kudos
Message 10 of 11
(5,137 Views)