01-19-2021 09:37 AM
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.
--
Solved! Go to Solution.
01-19-2021 12:17 PM
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?
01-19-2021 12:43 PM
@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. 😬
01-19-2021 12:50 PM
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.
01-19-2021 12:59 PM
@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.
01-25-2021 10:05 AM
@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!