From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Hardware Developers Community - NI sbRIO & SOM

cancel
Showing results for 
Search instead for 
Did you mean: 

CAN ports on sbRIO-96x7

I had a quick question about the CAN ports on the sbRIO-9607. The CAN0 port is implemented and usable without a FPGA bitfile correct?


When I compare to the clip wizard for the 9651 I see you need to implement both CAN ports there so I assume for the 9607 since only CAN1 port is listed then CAN0 can be used without compiling a bitfile. We've tried with and without the bitfile running but I'm still getting a bus off error.

 

We've created a CAN device that we can talk to using a X-NET usb card but when we swap for the the embedded CAN driver to see any of the bus traffic we get a Bus Off error. 

 

We've ordered the NI cable to try and loopback between X-NET and the CAN0 port next but just wanted to double check its not something simple.

Kyle Hartley
Senior Embedded Software Engineer

0 Kudos
Message 1 of 9
(10,770 Views)

Ok so looking at the block diagram here, 

http://www.ni.com/pdf/manuals/375463a.pdf

The can port is routed through the FPGA so I need a bitfile running (or the default bitfile should be on?)

We scoped the CANL and CANH lines and we see traffic data but it doesn't seem the API is calling into it correctly.

Kyle Hartley
Senior Embedded Software Engineer

0 Kudos
Message 2 of 9
(10,737 Views)

CAN0 shouldn't require a compiled/deployed bitfile. Generally speaking, the only peripherals that require that are ones that you enable through the sbRIO CLIP Generator.

 

Eric

0 Kudos
Message 3 of 9
(10,735 Views)

Thats what I thought. The PCB silk screen shows CAN1 on the the IDC10 header but I thought CAN1 (which is enabled through the CLIP Generator) was tied off the SEARay connector. Either way when running a bitfile with the CAN1 enabled our CAN bus reports BUS OFF. We'll probably wait till the IDC10 to DB9 cable comes in before pushing further. 

 

It'd be nice if there was a table in the manual for how many CAN ports are available and how to enable them. Hindsight 20/20.

Kyle Hartley
Senior Embedded Software Engineer

0 Kudos
Message 4 of 9
(10,732 Views)

It looks like the silkscreen is mislabeled. The documentation confirms the onboard port should be CAN0 and the expandable port is CAN1. I'll make sure R&D is aware.

 

We actually do have something the reference the available ports. It's in the specifications document and references the number of ports and whether they are onboard or expandable via the RMC (page 4 for CAN).

 

http://www.ni.com/pdf/manuals/375277a.pdf

 

-Eric

Message 5 of 9
(10,719 Views)

Alright, Good news!

Loopback between the usb can device and the sbrio was successful. 

 

It seems like the connector wasn't quite fitting with the header on the sbRIO. We were able to remove the pins from the connector and everything started working at a lower baud rate. Once we tweaked a few timing parameters with our custom board we were able to see the bus traffic with the sbRIO at 1 Mbps. 

Kyle Hartley
Senior Embedded Software Engineer

0 Kudos
Message 6 of 9
(10,681 Views)

 

To clarify Eric's statement, there is always a bitfile downloaded in the FPGA fabric (a Default Bitfile) which includes CAN0 support regardless of if a user has a LabVIEW FPGA bitfile downloaded or not; therefore, CAN0 will always be present.

Tannerite
National Instruments
Message 7 of 9
(10,665 Views)

Tannerite,


Thanks for the clarification. I had thought as much when comparing project differences between the 9651 and the 9607. Glad to see everything was working correctly and just some timing tweaks on our hardware. 

Kyle Hartley
Senior Embedded Software Engineer

0 Kudos
Message 8 of 9
(10,662 Views)

Hi,

myfriends

CAN you tell me how to develop the second CAN port?  , I designed a PCB board according to RMC Design Guide, and then the PCB board was connected to 9694.  This is my idea of developing the second CAN interface, but I don't know how to implement it in software  
thanks

0 Kudos
Message 9 of 9
(3,506 Views)