This is the first of a three-part series. Be sure to check back next week for the latest installment!
Have you ever had an idea that seemed to be years ahead of existing technology? Any designs scratched on forgotten napkins because you couldn’t find an MCU that did the trick? Dust off your designs. The MSP430FR5739 device is here to help you rethink the impossible.
The MSP430FR5739 device - MSP430’s first FRAM embedded MCU -- was released in 2011 and has since then been designed into many unique applications solving system level problems, optimizing designs and meeting budgeted energy needs.
Today we will discuss an application, the mobile credit card reader, where the unique differentiating value of the MSP430FR5739 helps solve multiple challenges. The MSP430FR5739 device is equipped with 16K embedded FRAM, five independent timers, hardware multiplier, DMA, ADC and serial communication ports. When it comes to mobile credit card readers, not all readers are made equal. Some different flavors are:
(1) Simple magnetic strip reader: in which the reader only supports an analog front end. Card data is read from the magnetic strip and then transmitted to the phone.
(2) Magnetic strip reader + encryption: in which the reader supports the analog front end with an MCU to encrypt data read from the card before it is transmitted to the phone. The implementation is shown in the block diagram.
(3) Magnetic strip reader + encryption + dynamic authentication: This adds a layer of protection by reading information from the composition of the magnetic stripe which is said to be as unique as a fingerprint. The magnetic strip information is then paired with the card information to create unique read data that cannot be copied or replicated. However, this method is yet to gain wide scale popularity due to the complexity in implementation and the need to make large-scale changes to existing readers.
The figure shows a card reader capable of encryption. The MSP430FR5739 does all of the post-swipe processing and transfers only encrypted information to the phone. The ultra-low power MSP430 is the ideal fit since the card reader is typically powered from a battery operated host device making it very energy-constrained. Implementing an encryption algorithm in software such as the one presented in this application report can cost a fair amount of CPU cycles. The FR5739 device consumes <100uA/MHz and can be placed in standby mode when the reader is not used, allowing the reader to meet even the tightest power requirements. The3-channel DMA and 32-bit hardware multiplier can effectively offload the CPU bringing down the power consumption all the more.
The usage of FRAM is identical to RAM in that the writes are fast (8MBps), low power, do not require a pre-erase and can be performed in byte-wise chunks. In timing critical applications, writes to nonvolatile memory can sometimes place the application in a blocking mode where interrupt processing is suspended until a memory write or erase is completed. With FRAM this is not the case, since the writes are completed in nanoseconds and do not require a pre-erase.
Many card readers also implement some form of tamper detection used to detect if an enclosure has been opened or tampered with in any way. On the MSP430FR5739 device, this can be done using one of the twenty six interruptible general purpose I/O pins.
Getting started with the MSP430FR5739 device is easy. Coding is simplified using MSP430Ware available with the latest Code Composer Studio download. Evaluating the device is easily accomplished using the MSP-EXP430FR5739 Experimenter’s board that can be ordered from the TI eStore here. Also, check out our training videos for more cool features and information on the MSP430FR5739 device and to learn more about getting started.
Whether you are at the state fair buying cotton candy or at a park being sketched by an artist, you no longer need to look around for an ATM. A mobile card reader with an MSP430FR5739 device will be happy to take your payment information for you!
Stay tuned next week for Part 2 of the FR57xx blog series