LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Communicate with a device that uses RS-485 serial protocol using FPGA on sbRIO-9638

Solved!
Go to solution

Hi Reader,

Hope you are doing well!

 

(noob alert!)

I have a device that appears to use RS-485 communication and I am required to establish communication with the device using FPGA on sbRIO-9638. I found out that it is a bit challenging since DIOs on sbRIO-9638 are single ended and RS-485 requires differential. 

This article points out difficulty managing different voltage levels and I am not sure how to possibly achieve that and if it can be done using some external IC. The article also mentions usage of some signal translator (I do not have much knowledge about electronics). Changing hardware is not really an option for me.

I know this post is a bit off the topic from LabView, but I would really appreciate if anyone has any suggestions or recommendations.

Thank you for your time.
--

0 Kudos
Message 1 of 6
(2,355 Views)

The sbRIO-9638 already has an RS-485 port on it according to https://www.ni.com/pdf/manuals/377899a_03.pdf

 

 

Why wouldn't you use that?

0 Kudos
Message 2 of 6
(2,331 Views)

@RavensFan wrote:

The sbRIO-9638 already has an RS-485 port on it according to https://www.ni.com/pdf/manuals/377899a_03.pdf

 

 

Why wouldn't you use that?


Thank you for the response RavensFan

Yes, it does have an RS-485 Port but there are some reasons due to which it was not my first priority.

 

First, we have built a device that houses sbRIO-9638 with other custom PCBs. Best suited to work with DIO and AIO coming from FPGA as there are other operations that takes place.

Second reason is that I am not familiar with using RS-485 port, VIs used, so I am currently educating myself about it as it might be the only way for me.

Third, I will basically be reverse engineering to establish the communication, meaning I have patterns of signals /Address /Command etc etc, I know how it looks like but I will never have access to any of it's technical details. So simply replicating those signal seemed like the best way to go about it given the time crunch. Almost like playing a stored array at certain frequency.

I have done this using FPGA with other protocols / devices and have had success with it. But I do not know how I can achieve the same with VISA VIs and RS-485 port, all the terms are alien to me right now. 😬

0 Kudos
Message 3 of 6
(2,323 Views)
Solution
Accepted by XM43

You'd do the RS-485 VISA communication in the Real Time domain of the sbRIO and not the FPGA.  It will work just like any other VISA communication on a PC.  If this was my project that is what I'd do as it would be far easier for me than trying to work out the timing in pure FPGA and coercing the digital input to handle the bipolar signal.

Message 4 of 6
(2,320 Views)

@RavensFan wrote:

You'd do the RS-485 VISA communication in the Real Time domain of the sbRIO and not the FPGA.  It will work just like any other VISA communication on a PC.  If this was my project that is what I'd do as it would be far easier for me than trying to work out the timing in pure FPGA and coercing the digital input to handle the bipolar signal.


Okay, I guess I should start investing more time into learning about RS-485 and VISA communication.

Thank you for your time and suggestion.

0 Kudos
Message 5 of 6
(2,315 Views)

@RavensFan wrote:

You'd do the RS-485 VISA communication in the Real Time domain of the sbRIO and not the FPGA.  It will work just like any other VISA communication on a PC.  If this was my project that is what I'd do as it would be far easier for me than trying to work out the timing in pure FPGA and coercing the digital input to handle the bipolar signal.


Hi RavensFan,

 

I went ahead with your suggestion and once I developed some understanding about VISA communication things appeared a lot easier as you mentioned.

 

Once again, Thank you!

Message 6 of 6
(2,276 Views)