Driver Development Kit (DDK)

cancel
Showing results for 
Search instead for 
Did you mean: 

About PFI output logic

Hello everyone,
 
 Although I don't know if this is a suitable message board to post this topic, but I'm glad if anyone
could answer about this.
 
While I do dio function using PCI 6221 (37pin), with configuring the P1(PFI) as followings:
 
 board->IO_Bidirection_Pin.writePFI0_Pin_Dir(tMSeries::tIO_Bidirection_Pin::kPFI0_Pin_DirInput);
 board->IO_Bidirection_Pin.writePFI1_Pin_Dir(tMSeries::tIO_Bidirection_Pin::kPFI1_Pin_DirInput);
 board->IO_Bidirection_Pin.writePFI2_Pin_Dir(tMSeries::tIO_Bidirection_Pin::kPFI2_Pin_DirInput);
 board->IO_Bidirection_Pin.writePFI3_Pin_Dir(tMSeries::tIO_Bidirection_Pin::kPFI3_Pin_DirInput);
 board->IO_Bidirection_Pin.writePFI4_Pin_Dir(tMSeries::tIO_Bidirection_Pin::kPFI4_Pin_DirOutput);
 board->IO_Bidirection_Pin.writePFI5_Pin_Dir(tMSeries::tIO_Bidirection_Pin::kPFI5_Pin_DirOutput);
 board->IO_Bidirection_Pin.writePFI6_Pin_Dir(tMSeries::tIO_Bidirection_Pin::kPFI6_Pin_DirOutput);
 board->IO_Bidirection_Pin.writePFI7_Pin_Dir(tMSeries::tIO_Bidirection_Pin::kPFI7_Pin_DirOutput);
 
When the output part of the lines above are executed, I could see the signal was out and a connected
LED to this line turned ON, even though I don't set any value to the register.
 
And when the line below executes, the LED turned OFF.
 board->PFI_DO.writeLowerPort(0xF0); 
 
Is this something concerned to this board feature?
If so, is this configurable or not?
Thank you in advance.
 
0 Kudos
Message 1 of 4
(7,096 Views)

Hi Ash-

My guess is that the DIO programmable power-up states for your device are set to power up those lines as logic high.  There is no way to configure this in the MHDDK, but you could make the change on a Windows machine running NI-DAQmx (via Measurement and Automation Explorer, right-click on the device and set the power-up states under the Properties window).

Alternatively, you could make the call to writeLowerPort() to set the lines low and then set the PFI directions to output.  This should have the effect of isolating the output lines from the output driving hardware until the line states are set to what you expect.

Hopefully this helps-

Tom W
National Instruments
0 Kudos
Message 2 of 4
(7,095 Views)

Hello, Tom

Thank you for you reply.

>My guess is that the DIO programmable power-up states for your device are set to power up those lines as logic high.  There is no way to >configure this in the MHDDK,

I see. Actually the power-up line logic is not a big problem for I seem to be able to avoid taking your advice.

The thing I'm a bit confused is that the fact if I make a bit logically high(1), that makes the actual line low.

I can make my driver for this logic inverse logically just like when the request outp(0x01),the driver actually writes value 0xF7.

But if this logic is configurable, that would help me to make this logic normal. Besides, I would be pleased if you could give me some more sample about PFI configuration, neverthless of this issue can be solved.

 

Thank you

Ash

0 Kudos
Message 3 of 4
(7,089 Views)

Hello

 As Tom says, regarding the device circuit for PFI, I found this logic cannot be changed, because the TTL input signal should be driven as negative logic. I found a description about the board in a M series user's manual. Some devices have pullup circuit inside of the devices so that the low(0) signal can be acknowledge as high(1) by devices.

I'll make myself understood the inverted signal is one of NI device's features.

Thanks

Ash  

 

 

Message 4 of 4
(7,061 Views)