1
\$\begingroup\$

Can a PIC32MZ have multiple SPI ports running at the same time? If so, how?

The problem is I have two ADS1675s that are 24 bits each with an serial clock maximum of 40MHz. I need to make 1M readings per second from each so using the same port would go over the time required.

\$\endgroup\$
2
\$\begingroup\$

Yes. According to the "PIC32MZ Embedded Connectivity (EC) Family" datasheet, page 1, it has "Six 4-wire SPI modules". Those peripheral interfaces will be independent.

It also has DMA, so those ports can be read with minimal CPU overhead.

How many SPI interfaces are actually available depends on the package, and which pins are available.

\$\endgroup\$
2
  • \$\begingroup\$ Okay, I understand that now. Now I need to understand the program flow. I think linearly so it's hard to think of how to get things like this to run concurrently. I am using a PIC32MZ2048ECH 144 pin part so I have plenty of ports. I will be using only three of them (two at 40MHz and one at 20MHz) to control eleven devices. I only need the two ADCs to run concurrently. Should I be asking about the program flow in a different question? \$\endgroup\$ – Kentj Jan 12 '16 at 21:12
  • \$\begingroup\$ Yes, if you want help with program flow, ask a new question. This question has a single topic, and so is pretty easy to find and understand. If you have the hardware, and some test equipment (e.g. oscilloscope, or storage scope) I would try to get the ADCs working with code, and measure how fast that is before trying DMA. \$\endgroup\$ – gbulmer Jan 13 '16 at 0:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.