I am using the MSP430F5438A device as an SPI master to drive and read conversion results from an external high-speed ADC. The desired SPI clock speed for the conversion is 16MHz, in order to achieve conversion throughput of 1MSPS. Do you think that this can be achieved with the microcontroller running at 16MHz or 20MHz clock? According to the datasheet of the device, on page 57, this cannot be achieved. Note1 puts a limit of the SPI output clock to around 8MHz max. Can you please advise me with this case?
Thank you very much for your support.
Well, I had no problems with an external loop and 16MHz SPI clock on my 5438. I haven't attached a real SD card yet. Of course if the slave is too slow, the maximum usable clock frequency might be limited. If the slave isn't slower than the MSP, even 25MHz should be within the possible range. Depending on your Vcc and core voltage, of course. YOu cannot have high speed and low power. Also, the output timing depends on the attached capacitance. If you can keep it low, Tvalid,mo might greatly decrease.
I'm currently (June 30th) lagging about 600 threads behind in the forum. I try to catch up, but don't expect an answer in less than about 4 weeks.Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.
With the right peripheral, you can go up to 25MHz SPI on the '5438A.
"Note 1" is a little bit misleading. In the world of high-speed SPI, peripherals often use only the latching edge of the clock. They hold outgoing data for a few ns and then autonomously change to the next bit without waiting for the opposite edge on the clock to tell them to change to the next bit. So the "Tvalid,so" parameter mentioned in the MSP430 documentation is usually negative -- the data from the slave is valid before the clock edge that tells the slave to change to the next bit. So the "sum" of this negative number and the MSP430 "Tsu,mi" value is smaller than "Tsu,mi". This reduction in turn brings "Tlo/hi" down too and allows you to get up to 25MHz SPI.
You'll need to read the ADC data sheet carefully enough to know which clock edge induces the output change. For high-speed ADCs, it is usually the latching edge (after some hold time). In that case, you can subtract 31ns (half a cycle at 16MHz) to get "Tvalid,so" for the MSP430 calculation. It will be a negative number. (If not, it can't keep up.)
Also be sure PMMCOREV = 2 or 3 because you're trying to go faster than 12MHz.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.