LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to access the UARTs on my Linux RT target?

Hi all.

 

 

Hardware: sbRIO-9607.

 

1 UART is available on the board: Separate pinout on RIO, using a 10-pin header.

6 additional UARTs are available according to the 9607 manual (p.41) and the specifications (p. 3).

  • Onboard RS-232 1 (Serial1)
  • RMC RS-232 via FPGA 3.3 V DIO 4 (Serial2, Serial3, Serial4, Serial5)
  • RMC RS-485 via FPGA 3.3 V DIO 2 (Serial6, Serial7)

 

When looking in MAX, I can see all 7 serial interfaces, and I can open VISA Test Panel. But how is this possible, when I haven’t assigned any pins for the ports? As I read the manual, only port1 has predefined pins and is exposed to the RT target. The other 6 serial ports are only accessible through the FPGA using a CLIP. But then – how come it is possible to use the VISA Test Panel…?

 

The limitation is, for a given FPGA target, you must use either the digital I/O method or the socketed CLIP method for all 96 DIO lines (manual p. 40). I’m very unfamiliar with the CLIP method, so I was hoping not to use that method. It could seem like, all 7 UARTs are already exposed to the RT, thus not making it nessesary to design a CLIP…?

When using a VISA Open in a RT VI, I can see all 7 serial ports. But how do I know which pins to use to connect anything to the serial ports (besides Serial1)?

 

I hope you can help me getting started with using the UARTs on my board 🙂

 

 

NI sbRIO-9607 User Manual

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

 

NI sbRIO-9607 Specifications

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

 

Best Regards

Alex E. Munkhaus
Certified LabVIEW Developer (CLD)
System Engineer
0 Kudos
Message 1 of 2
(2,878 Views)

As a sidenote, I tried to use the folloing commands in a terminal on the Linux target:

 

Command: dmesg
[    0.330572] 80000000.serial: ttyS0 at MMIO 0x80000000 (irq = 62, base_baud = 3676500) is a NI 16550 (with 128-byte FIFOs)
[    0.330900] of_serial 80000010.serial: FAILED to find out alias id
[    0.331431] 80000010.serial: ttyS1 at MMIO 0x80000010 (irq = 63, base_baud = 3676500) is a NI 16550 (with 128-byte FIFOs)
[    0.331748] of_serial 80000020.serial: FAILED to find out alias id
[    0.332246] 80000020.serial: ttyS2 at MMIO 0x80000020 (irq = 64, base_baud = 3676500) is a NI 16550 (with 128-byte FIFOs)
[    0.332551] of_serial 80000030.serial: FAILED to find out alias id
[    0.333090] 80000030.serial: ttyS3 at MMIO 0x80000030 (irq = 65, base_baud = 3676500) is a NI 16550 (with 128-byte FIFOs)
[    0.333404] of_serial 80000040.serial: FAILED to find out alias id
[    0.333437] 80000040.serial: ttyS4 at MMIO 0x80000040 (irq = 66, base_baud = 3676500) is a NI 16550 (with 128-byte FIFOs)
[    0.333747] of_serial 80000050.serial: FAILED to find out alias id
[    0.333781] 80000050.serial: ttyS5 at MMIO 0x80000050 (irq = 67, base_baud = 3676500) is a NI 16550 (with 128-byte FIFOs)
[    0.334087] of_serial 80000060.serial: FAILED to find out alias id
[    0.334120] 80000060.serial: ttyS6 at MMIO 0x80000060 (irq = 68, base_baud = 3676500) is a NI 16550 (with 128-byte FIFOs)


Command: ls -l /dev/ttyS*
crw-rw----    1 admin    tty         4,  64 Feb 23 08:41 /dev/ttyS0
crw-rw----    1 admin    tty         4,  65 Feb 23 08:41 /dev/ttyS1
crw-rw----    1 admin    tty         4,  66 Feb 23 08:41 /dev/ttyS2
crw-rw----    1 admin    tty         4,  67 Feb 23 08:41 /dev/ttyS3
crw-rw----    1 admin    tty         4,  68 Feb 23 08:41 /dev/ttyS4
crw-rw----    1 admin    tty         4,  69 Feb 23 08:41 /dev/ttyS5
crw-rw----    1 admin    tty         4,  70 Feb 23 08:41 /dev/ttyS6

 

 

So, to me, it seems like the RT target can see all 7 UARTs? But nit showing the pin assignment?

Best Regards

Alex E. Munkhaus
Certified LabVIEW Developer (CLD)
System Engineer
0 Kudos
Message 2 of 2
(2,874 Views)