10-21-2015 10:30 AM
Hi I have a USB 8451.
Is it possible to run the SPI output in Open drain mode rather than Push Pull?
Thanks
Ceri
10-22-2015 06:04 AM
Hi Ceri.
My name is Mette Bertelsen and I'm an application engineer at NI.
Yes, it is possible.
The driver type can be changed through a Property Node. This information can also be seen in the following KnowledgeBase article:
http://digital.ni.com/public.nsf/allkb/789F3D731F481752862572C700635B52?OpenDocument
With this in place, we just need to add an external pull-up resistor as shown in Figure 3-3 on page 3-7 in the manual for the USB-8451. Seen on http://www.ni.com/pdf/manuals/371746d.pdf
Best Regards,
Mette Bertelsen
Application Engineer
11-11-2021 07:56 AM
I think that it's not possible to make SPI in Open Drain model, it is stated in the manual that the SPI driver type is push pull only, also I've tried to test this manually by applying pull up resistors to the VDD and change the driver type to open drain but as expected the MOSI output isn't following the VDD voltage but it is the push pull high voltage (please confirm and suggest a solution to fix this
11-11-2021 09:32 AM
Hi Omar,
SPI port cannot operate in open-drain mode as the PHY of the protocol required it to be Push-Pull, unlike I2C where it is required to be open-drain.
The knowledgebase article in this thread is to configure the DIO to be push-pull or open-drain.
If you require it to be open-drain to support different logic levels, better add external circuit to perform level shifting or go for 8452 which has couple of configurable IO levels.