Author Topic: SoC systems  (Read 4264 times)

0 Members and 1 Guest are viewing this topic.

Offline DajgoroTopic starter

  • Frequent Contributor
  • **
  • Posts: 322
  • Country: hr
    • hackaday.io
SoC systems
« on: November 30, 2014, 04:59:24 am »
I just got a VoCore module (and bricked it successfully), and when I looked the schematic the device didn't seem to be that complex. Power supply, SoC, flash and SDRAM chip.
The linuxstamp is a similar device, and that tiny openWRT router as well.
Looking at those it seems that there must be a known recipe how to design such systems, and yet I can't seem to find any info on how to design systems with modern SoC chips.
Also, how do I obtain ported OS for the various chips and how is it even loaded into the flash memory(JTAG?).
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11261
  • Country: us
    • Personal site
Re: SoC systems
« Reply #1 on: November 30, 2014, 05:55:53 am »
Looking at those it seems that there must be a known recipe how to design such systems, and yet I can't seem to find any info on how to design systems with modern SoC chips.
Usually manufacturer of the chip provides a reference design. The modules are shrunk down versions of that reference design.

Also, how do I obtain ported OS for the various chips and how is it even loaded into the flash memory(JTAG?).
Again, reference images are provided by the manufacturer. Loading procedure is manufacturer specific as well. In most cases you need JTAG to load and initial loader and then that loader will be able to pull in a secondary loader, which is capable of running high speed interfaces.

The small loader is usually provided by the manufacturer. It is also ofter embedded into the ROM, so you don't even need a JTAG cable.

There are a few options for the secondary bootloader. The most popular now is U-Boot.

The reason you need this multistage process is that it will take forever to download 500 MB image of the root file system over UART, so you really want to have USB or Ethernet running.
Alex
 

Offline DajgoroTopic starter

  • Frequent Contributor
  • **
  • Posts: 322
  • Country: hr
    • hackaday.io
Re: SoC systems
« Reply #2 on: November 30, 2014, 06:00:16 am »
Usually manufacturer of the chip provides a reference design. The modules are shrunk down versions of that reference design.
Can you point to some of those reference designs, and are they open to the public?
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11261
  • Country: us
    • Personal site
Re: SoC systems
« Reply #3 on: November 30, 2014, 06:06:05 am »
Here is one for Atmel SAM A5 MPU http://www.atmel.com/tools/ATSAMA5D3-XPLD.aspx?tab=documents. In the section "SAMA5D3 Xplained Design and Manufacturing Files" you will find complete schematics and board layouts.

The way you do a custom design is by taking the original one and cutting away all that is not required for the design. This way all the software will remain compatible.

There are also SAMA5Dxx-EK boards that have more stuff on them, they are a good start for more complicated designs.
Alex
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11261
  • Country: us
    • Personal site
Re: SoC systems
« Reply #4 on: November 30, 2014, 06:07:45 am »
A lot of companies do not have publicly available documentation since they like to control their customer base, so they require a direct contact and an NDA.
Alex
 

Offline DajgoroTopic starter

  • Frequent Contributor
  • **
  • Posts: 322
  • Country: hr
    • hackaday.io
Re: SoC systems
« Reply #5 on: November 30, 2014, 06:46:48 am »
A lot of companies do not have publicly available documentation since they like to control their customer base, so they require a direct contact and an NDA.
I guess that is the reason I had to start this topic in the first place.
 

Offline rob77

  • Super Contributor
  • ***
  • Posts: 2085
  • Country: sk
Re: SoC systems
« Reply #6 on: November 30, 2014, 07:55:20 am »
Also, how do I obtain ported OS for the various chips and how is it even loaded into the flash memory(JTAG?).

in most cases you have make your own OS image tailored for your application. if the architecture is supported by the GCC compiler and the CPU got a MMU then you can compile your own embedded linux kernel for it and craft your application specific user-land (all the other binaries). but your hardware must be supported by the kernel directly (drivers already committed to linux kernel by the soc vendor) or you will have to have the drivers from the vendor (in most cases NDA needed).
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26907
  • Country: nl
    • NCT Developments
Re: SoC systems
« Reply #7 on: November 30, 2014, 11:11:16 am »
For low volume products you are basically stuck with Texas Instruments or Freescale. They have lots of design resources (schematics and software). Nowadays a SoC system typically boots from an SD card (which can be soldered onto the board directly) or even an Sata SSD.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Precipice

  • Frequent Contributor
  • **
  • Posts: 403
  • Country: gb
Re: SoC systems
« Reply #8 on: November 30, 2014, 12:15:01 pm »
My last few SoC based designs have booted from SPI NOR chips - although that may just be the way TI are going at the moment. It does make for easier provisioning at manufacture, though, and prototyping is no harder.

(And Freescale reference designs - fine, until you get off the beaten track. I'm just doing a Coldfire MCF54415 design - reference designs are few and far between. There's an unavailable elevator card for it, but other than that, not much. Odd!)

Edit: But yes, ripping reference designs is a good start if at all possible. Software people tend to be happier the more a design looks like a reference board, too, if at all possible, especialy if they've been developing on the reference board before the real hardware turns up. Keep a changelog of IOs you've moved, added or deleted, to make life easier for all.
« Last Edit: November 30, 2014, 12:19:55 pm by Precipice »
 

Offline DajgoroTopic starter

  • Frequent Contributor
  • **
  • Posts: 322
  • Country: hr
    • hackaday.io
Re: SoC systems
« Reply #9 on: November 30, 2014, 11:18:33 pm »
I looked up what would it take to build such a board from scratch, and I concluded that I can't do anything without getting a job first and earning a bit of money. The chip itself might be inexpensive, but getting all the components, manufacturing a proper PCB, turns out not to be that cheap...
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11261
  • Country: us
    • Personal site
Re: SoC systems
« Reply #10 on: November 30, 2014, 11:21:40 pm »
but getting all the components, manufacturing a proper PCB, turns out not to be that cheap...
Absolutely. And the most unexpected part for most people here is the need for 8-12 layer PCB, that gets expensive

But there are modules in SO-DIMM form factor for most of those chips, so all you really need to do is design your carrier board. This is very cheap and the final size is not that bigger.
Alex
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26907
  • Country: nl
    • NCT Developments
Re: SoC systems
« Reply #11 on: December 01, 2014, 01:08:38 am »
I designed such a carrier board for a project. Routing ethernet, USB and especially Sata requires knowledge of routing differential pairs and HF.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf