Does the Jetson Orin Nano Series support SPI initiator continuous mode?

In my application, I need to communicate with a device by sending a stream of data over SPI at 16 MHz. The data stream needs to be continuous (no pauses to load the next block of data). It is my understanding that this is called “continuous mode”.

A comment in this thread indicates that the Nano does not support continuous mode, but the thread may be about the Jetson Nano and not the newer Jetson Orin Nano, and it links to a thread about the even older Jetson TK1.

So, I’m asking about the Jetson Orin Nano specifically: does it support continuous mode SPI transmissions? If not, I will have to pair it with another microcontroller in my application.

*** Please note that this reply is generated by LLM automatically ***

The Jetson Orin NX Series and Jetson Orin Nano Series Product Design Guide does not explicitly mention the support for continuous mode SPI transmissions. However, it does provide information on the SPI interfaces and their pin descriptions.

According to Table 12-4, the Orin module brings out two SPI interfaces, SPI0 and SPI1, each with clock, MOSI, MISO, and chip select pins. The SPI clock frequency is not specified in the provided documentation, but it is mentioned that the SPI interfaces are bidirectional and use CMOS logic with a voltage level of 1.8V.

While the documentation does not explicitly mention continuous mode SPI transmissions, it does provide information on the SPI interface’s ability to support multiple devices. For example, the SPI0_CS0 and SPI0_CS1 pins are described as supporting SPI #0 Device #0 and SPI #0 Device #1, respectively. This suggests that the Orin module’s SPI interface may be capable of supporting multiple devices and potentially continuous mode transmissions.

However, without explicit confirmation from the documentation or further information from NVIDIA, it is uncertain whether the Jetson Orin Nano specifically supports continuous mode SPI transmissions at 16 MHz.

In comparison, the discussion thread you mentioned may be referring to older Jetson modules, such as the Jetson TX2 or Jetson Xavier NX, which may not support continuous mode SPI transmissions. However, this does not necessarily imply that the Jetson Orin Nano does not support continuous mode SPI transmissions.

To confirm whether the Jetson Orin Nano supports continuous mode SPI transmissions at 16 MHz, I recommend consulting the official NVIDIA documentation or contacting their support team for further clarification.

If the Jetson Orin Nano does not support continuous mode SPI transmissions, pairing it with another microcontroller may be a viable solution to achieve the required functionality. However, this would depend on the specific requirements of your application and the capabilities of the microcontroller you choose to pair with the Jetson Orin Nano.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

Hi gfrung,

Are you using the devkit or custom board for Orin Nano?
What’s the Jetpack version in use?

As my understanding, it is not supported with current spi driver on Jetson device.
We are developing another SPI slave driver with this capability and may support it in the near future.

Or have you tried to write a custom SPI application for this use case?

I have the Orin Nano Developer Kit, but we’re working on the architecture for a custom board. I haven’t tried anything yet, just trying to figure out if, when we make that custom board, we should include a separate micro for SPI.

We have another IC that we need to send data to, via SPI, at 16 MHz, and it is critical this data is not interrupted (no gaps, constant bit stream). I know we could do that with a dedicated micro, which we’d connect to the Orin Nano via USB. The Orin Nano would send data in chunks via USB, and the micro would relay it via SPI at a continuous 16 MHz.

I’m confident this design would work, but it is more complex in both hardware and software. We’d have to select and write firmware for this extra micro to buffer the data. If the Orin Nano alone can achieve a continuous SPI stream, we can eliminate this extra complexity.

It sounds like you’re saying the Orin Nano hardware supports continuous SPI, but the Linux drivers don’t yet.

Right now, we’re considering including the extra micro “just in case” but also experimenting with a SPI interface from the Orin Nano to see what can be achieved. If we can get it working continuously, we can drop the extra micro from the design on a subsequent revision.

Correct.

It sounds a good idea for your situation.
The SPI continuous driver is still under verification and I don’t think it would be available soon.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.