Hippos Technical Systems BV - Larry Myerscough
These pages contain information about my family, my company, my hobbies and myself.
High speed SPI communication with Texas Instruments MSP430 microcontroller
This project represents a coming together of two activities:
- I had been introduced to the
Texas Instruments MSP430 Ultra-Low Power Microcontroller family by an old client.
I was impressed by the potential of this
and even more impressed by the cost of the
EZ430 development kit. (hardware + software) - so much so that I immediately
ordered this kit together with a few spare
target boards. Just two days and 45 US dollars later I had the kit up and running.
Of course, in order to properly evaluate any hardware,
it helps to have some specific implementation goal...
- In a recent project I had been responsible for some test and
diagnostic software for a sensor device which was interfaced via SPI.
Normal SPI traffic was handled asynchronously; the internal
performance of the sensor was not affected by the speed of the SPI transfers.
For test and diagnostics, however, synchronous transfers were required.
Anything more than a handful of word transfers per mainloop of the
sensor's internal microcode was likely to compromise its real-time operation.
[This is a deliberately vague summary - to cite the full details might
compromise client confidentiality.]
The client had adopted the Cypress EZ-USB chip to interface between this sensor
and PC-based driver/test software. This does not possess a hardware SPI interface.
The best one can do is to use the UART in raw 8-bit mode. Unfortunately this
entails sofware-wise reversing the order of the 8 bits within each byte.
Even if this is done by a lookup table and is overlapped as much as possible with
the actual hardware transfer, this still limits the SPI transfer speed
to about 1MHZ, whereas the sensor itself can handle 2MHz acc. to spec. -
in practice probably much more...
Hence the formal goal of this project is to find out just how fast the EZ430 can communicate over SPI with the sensor.
(Alongside this, is the informal goal of keeping busy in my chosen field of expertise during while taking a few months
between paid assignments.)
To someone who has wrestled with some rather clumsy microcontroller hardware architectures in the past,
the MSP430 is like a breath of fresh air.
The implementation reflects the fact that SPI, RS232 I2C etc. are just the same sort
of signal bits dancing to different tunes -
without sacrificing any run-time efficiency or programming simplicity.
... to be completed! ...
|This Panel on the Right is used for local navigation
- not yet fully implemented as you can see!