Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Problem with interfacing SIM900 and MSP430

Status
Not open for further replies.

KiL89

Newbie level 1
Joined
Apr 11, 2012
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,296
Hi,
I am currently working on a project involving interfacing SIM900 with MSP430. I connect SIM900's TX and RX pins to MSP430 USCI1 module's RX and TX pins (respectively). Also, MSP430 communicates with my PC through USCI0 module (also using UART) for debug purposes. Both USCI0 and USCI1 module of MSP430 are working fine. In my program, every data received from SIM900 will be reflected and sent to PC.

When power up SIM900:
- the STATUS led is on.
- the NETLIGHT led is on for 1 sec, then 64ms On/ 800ms Off for about 5 sec (not find network yet), then 64ms On/ 3000ms Off (has found network).
- when power up, in terminal, I receive "FF FF FF" or sometimes "FF FF FF FF" which I assume that it is the "00 49 49 49 49 FF FF FF FF" string as in SIM900's document mention when power up the module (although I have never received the whole string).

The problem is when I try to send AT commands for example "AT\r" to check communication, I receive no response from the module.

MSP430 is powered at 3.3V while SIM900 module is powered at 4.1V but the logic high level of its serial port range from 2.4 to 3.0V. Do I need a level shifter between them?

Any suggest would be very helpful to me.
 
Last edited:

A level translator will be useful in getting the signal right. We cannot say how noise margin changes in a system. First of all are they both grounded perfectly.
 

Hi,

I am facing similar issue.

Can you post the fix for above issue?
 

As far as I recall the default settings for the SIM900 is full Modem control (RTS/CTS) signals besides the usual RX/TX. The MSP430 doesnt support full Modem controls, so you need to emulate them with GPIO.

The RX & TX pins operate from 0V to 2.8V, whereas you've indicated that you're powering the MSP430 at 3.3V, so a level shifter might be needed or series resistors so as not to damage the module.

The communications uses 8-Bit Data, no parity, and 1 stop bit, so make sure the USCI is set up this way.

The Module powers up you need to send either an "A" or "AT" character to get a return of "OK" at this baud rate. The module explicitly supports 1200, 2400, 4800, 9600, 19200, 38400 and 57600, since these are the only Auto Bauding rates (Module powers up in Auto Baud). If you're using the MSP430 'DCO' to create the clock for the UART you may well find that it's out of tolerance for the communications. RS232 comms requires a clock that is better than +/-3%, and the DCO in the MSP430 is only +/-16% in many cases. You might need a proper Crystal connected to XT2 (or XT1 on the F/G2xxx) and use this reference to generate the Baud rate clock for the UART.

You can use the AT command "AT+IPR=x" to set the Buad rate to another setting, but this new value is not stored in the module, so if the module powers down, you have to start over again.

You need to connect to the Serial Port, no the Debug port, since the module has two serial ports.
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top