My hardware is NI sbRIO9607. I want to use the RS232 serial interface provided by Labview Clip Generator and I have also done all the necessary assignments written. But I could not find any way to pull-down the created port pins, which they are always pulled-up, except Serial Console Port ASRL1::INSTR, which is pulled down as default. All serial port bits are converted to its bitwise inverse, excluding bits of ASRL1::INSTR. I can invert all the signal bits, but could not pull-down the line while it is idle.
I put screenshots below. The yellow signal might be considered as the actual working TxD signal, which is obtained by using ASRL1::INSTR. And the green signal is the ASRL2::INSTR port TxD signal. If the line is not pulled-down, DCE could not see the signal.
I have tried to select pull-down option of the DIO pins from the Clip Generator, but it did not help, since I think VISA function internally assigns HIGH value to the pin while it is idle. The only way I can see is to write my own Serial functions since I have to solve this problem by just using software.
How could I pull-down this Clip Generator ports while they are idle in labview, is there any way to do this?
Thank you very much,
Might I be able to edit the CLIP's VHDL file in order to set inverted the TxD output always?
I am attaching my CLIP configuration to the post. I tried to pull-up & pull-down, Fast Slew and Increase & Decrease the Drive Strength of Pins DIO_00 and DIO_01 on the Pin Configuration panel, but it did not change anything while VISA was working (does not need to say I choose the correct clip from the Socket properties). I can say there is no harware problem, since I am observing the GSM and RMC pins with an oscilloscope. I can also send the oscilloscope shots if it would help.
I was not able to see from your screenshots how ASRL1::INSTR is configured that may make it behave differently? Which of the serial ports is ASRL1::INSTR?
That looks like normal serial data to me. They used to call that "inverse logic", a high logic level = 0 and a low logic level = 1.
But beside the point, I really doubt you will be able to just toggle individual pins other than handshaking pins like RTS/CTS of an RS-232 port using VISA. I am not saying LabVIEW can't do that, but you are doin' it wrong. You are going to have to do some fancy low level hardware tricks.
As VISA is designed for data communications, not bit banging a pin on port.
ASRL1::INSTR is the Serial1 port, namely RS232 Console port and you cannot assign any DIO using CLIP. So you do not see it anywhere on CLIP. But you can use it with VISA or test it in NI MAX since it is still a serial port.
I agree with RTSLVU. It is probably not a capability with VISA. Idle is HI to detect whether the connection is still good.