Microcontroller of SoC?

Thread Starter

tommy_gunn

Joined Oct 9, 2013
7
Hello everyone,

I am currently working on a project that requires use of a microcontroller. In short, I will have a sensor connected to the MCU and the MCU will send data from the sensor using Bluetooth module.

The goal is to make the whole system as small, power efficient (battery run) and cheap as possible. While doing a research into the hardware I need for this, I found that the use of SoC instead of MCU would very well satisfy my need for small system size and power consumption. More so, when some of the SoCs I found have built-in Bluetooth modules in them, so I wouldn't have to use an external BT module.

I have moderate experience in programming MCUs using assambler or C - mainly STM32s with ARM Cortex-M processors. However, I have no experience with SoCs.

Here is what I know about SoCs:
They are more complex than regular MCUs, they consist of one or more MCUs, they have larger memory chips and are designed to run embedded versions of OS. They are also much smaller than typical MCUs and are very power efficient.

Here is what I'd like to know:
1. The program I need for my application should be fairly simple. When developing software for MCUs, I wrote the program in IDE (Keil or IAR), than downloaded it into the MCU. Does the same procedure apply for SoC software development? Can I just write a program and download it into the SoC to run? I mean outside of any OS that may be on the SoC, exactly as it would be on a MCU.
2. When Systems on Chip are designed to run embedded Linux or Windows, they need to have a bootloader stored somewhere in Flash (I guess) and boot the system from some memory (SD card perhaps). If that is the case, is there a way for me to write the program I need (harvest data from sensor and send it using Bluetooth) and download it to the SoC so that the system (Linux perhaps) would run it?

Thank you very much for your help!
 

Thread Starter

tommy_gunn

Joined Oct 9, 2013
7
With every moment now Im learning more and more about SoC, so Im sorry that I posted this thread maybe a little too soon.
I consider a SoC to be CPU, memory modules and peripherals all in a single chip. I know now that no OS has to run on the SoC. A simple program can be downloaded to the SoC memory and run. It all comes down to downloading the program to the chip, which requires a very expensive dev kit or very precise PCB design :)
 

ErnieM

Joined Apr 24, 2011
8,377
It sounds to me that what you call a SoC I call a microcontroller.

As far as cost goes you can find solutions for damn cheap if you wish that work on hand soldered boards you can get most anywhere.

It's really not rocket science.
 

colinb

Joined Jun 15, 2011
351
Well there is something like the TI CC2540 and other CCxxxx chips e.g., CC2530 for ZigBee.

they have a 8051 MCU plus a radio integrated on chip.

its good for space savings and possibly cost, but I hate 8051 having had to use it for years, ARM is light years ahead.... also you'll have less flexibility to move among MCUs in the family... CC2540 doesn't have any options if you need more RAM or io pins etc., like you can do in STM32 or most other current MCU architectures.
 

Thread Starter

tommy_gunn

Joined Oct 9, 2013
7
I was actualy already considering CC2560 from TI. It has a built-in bluetooth module and it's performance would probably be quite sufficient for me. However, to download a program to it, I would need a development kit from TI that bursts out of my financial limitations (100$).
Right now, I'm considering this:
http://www.ti.com/tool/msp-exp430g2
The development board comes with 2 processors that can be programmed simply using IAR or Keil, than removed from the board and set into the PCB. As for the space requirements, it probably can't get any better. The power consumption would rise slightly as I would have to use an external BT module but it wouldn't be that drastic. What do you think?
 

MrChips

Joined Oct 2, 2009
30,821
You do not have to remove the target mcu from its circuit. You can program the mcu in-circuit using the MSP-EXP430G2.
 

Thread Starter

tommy_gunn

Joined Oct 9, 2013
7
I know, thats exactly what I want to do. Program it while it sits in the LaunchPad and than remove it so that I can use it in my custom board. The LaunchPad is unnecessarily big and Im going for small space. After that, I would only connect the sensor and BT module to the MCUs (by the way, at the beginning of this thread, I tought that the whole board was an MCU :)) pins according to the configuration I gave it and that would be it! Am i right?
 

MrChips

Joined Oct 2, 2009
30,821
Are you paying attention?

Your MCU sits on YOUR custom board, not on the LaunchPad. There is no need to move the chip around.

The MCU is a chip.
 

Thread Starter

tommy_gunn

Joined Oct 9, 2013
7
Actualy, I am paying attention.
I need the LaunchPad to download my software to the chip (while it sits in the LaunchPad). After my software is in the chip, I need to remove the chip FROM the LaunchPad and put it IN my custom board. That makes sense, doesent it
 

colinb

Joined Jun 15, 2011
351
tommy , MrChips is saying that you can use the launchpad to program the MCU in circuit. that means you don't need to remove the microcontroller from your circuit board to program it -- you just need to provide two signals from you PCB to connect to the launchpad for programming.

if you have to remove the microcontroller from your circuit to program it, that is not in circuit programming on the other hand.
 

MrChips

Joined Oct 2, 2009
30,821
Geez, you are not paying attention.

When you are developing software, no one gets it right on the first try. You will be reprogramming the mcu chip a hundred times. You do not want to be unplugging the chip every time you need to reprogram the chip.

You leave the chip in-circuit, i.e. it remains on your target board.

The Launchpad is used to program your mcu chip using the header connector provided on the Launchpad. The mcu chip does not sit on the Launchpad.

See this:
http://forum.allaboutcircuits.com/blog.php?b=554

Don't make me have to say this again.
 
Last edited:

Thread Starter

tommy_gunn

Joined Oct 9, 2013
7
Sorry guys and thanks for your patiance with me :) I really hope I won't make you repeat yourself again, MrChips :)

I just don't understand, why you removed the MCU from the LaunchPad and programed it while in your board. Can't I just keep it in the LaunchPad (The red board, just to be sure I'm not mistaking something again) and program it in it? And than I would take it out and put it in use in my PCB?
 

djsfantasi

Joined Apr 11, 2010
9,163
Ok, let's turn your question around. I don't understand why you'd want to remove the MCU from your board to program it in the Launchpad?

Why wouldn't you just program it on the board and eliminate moving the MCU around at all? In this latter case, there is more risk of damaging your board or the MCU...
 

Thread Starter

tommy_gunn

Joined Oct 9, 2013
7
Well, I suppose I wouldn't. I can see how programing the MCU via the LaunchPad while the MCU is already inside my board is more convenient and prevents the chip from being damaged. I was just confused since all MCUs I worked with were embeded and could not be removed (Discovery kits from ST).

MrChips blog is very straight forward and helps me a lot. Thanks for that :)
 
Top