How does SIM Reader work?

Talk about the videos and projects (SIM reader, payphones...)

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
Fruitloops
 
Posts: 1
Joined: Tue May 15, 2012 11:36 am

How does SIM Reader work?

Post by Fruitloops »

My SIM Reader reads SMS messages (but not phone numbers) on a card that I have and I'm satisfied with this Kit. I looked at the schematic and see very few connections to the SIM card (3.5 meg clock signal, In, Out and RST). I sure would appreciate it if someone could give a brief (or any kind) of explanation of how the software and Reader acts upon the SIM card. Even a simple, general description would be appreciated...
Dave

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: How does SIM Reader work?

Post by adafruit_support_mike »

It uses a protocol called the 'Serial Peripheral Interface' or 'SPI':

http://en.wikipedia.org/wiki/Serial_Per ... erface_Bus

The link above will probably give you more information than you want. The upshot is that the devices at either end know how to speak a language made of high/low signals on the IN and OUT lines. The device in control (called the 'master') provides the clock signal, and the SIM card (called the 'slave') does what the controller tells it.

The official names for the IN and OUT lines are MISO (Master In, Slave Out) and MOSI (Master Out, Slave In), and the names pretty much tell you what they do. The master puts signals on MOSI and the slave reads them. The slave puts signals an MISO and the master reads them.

SPI is a 'full duplex' protocol, meaning both the master and slave send and receive signals at the same time. There are several different ways to handle the exchange, but they all follow the same general pattern: The master and slave put signals on their output lines when the clock goes from LOW to HIGH, then read their input lines when the clock goes from HIGH to LOW.

The benefit of sending signals both ways is that the master can send the address of the next byte it wants while it reads bits from the last byte it wanted.

Locked
Please be positive and constructive with your questions and comments.

Return to “Citizen Engineer (closed)”