System-in-Package Technology: Making it Easier to Build Your Own Linux Computer
Jason Kridner Erik Welsh 03/12/2018
Own Linux Computer Jason Kridner Erik Welsh 03/12/2018 The SBC - - PowerPoint PPT Presentation
System-in-Package Technology: Making it Easier to Build Your Own Linux Computer Jason Kridner Erik Welsh 03/12/2018 The SBC Prototyping Revolution Proliferation of prototyping boards Huge array of Processors Every kind of connector
Jason Kridner Erik Welsh 03/12/2018
▪ Proliferation of prototyping boards
▪ Huge array of Processors ▪ Every kind of connector ▪ Add-on boards for additional functionality
▪ Developing communities
▪ Support for new users ▪ Collaboration for experienced developers
▪ Exposure to Linux
▪ Development of drivers ▪ Open source projects
▪ Software developers must be involved in Hardware development
▪ If there is no SW for a piece of HW, then don’t use it ▪ Many platforms provide great starting point for SW development
▪ Focus on value added feature differentiation ▪ Re-writing drivers does not add value
▪ Don’t allow changes in HW for the sake of changing HW
▪ SW impact needs to be understood
▪ With great power, comes great responsibility …
▪ Choosing a platform with Open Hardware ▪ Using components that can be obtained from Distribution / in small quantities ▪ Hardware should also focus on value added features
▪ Routing DDR does not add value
▪ Developing custom PCB
▪ Smaller is better … but smaller is harder ▪ Open hardware help development; known good solutions
▪ Migrating Software
▪ Porting from development board to final components ▪ Bring up & Provisioning
▪ Doing more with less
▪ Smaller teams ▪ Need tools that reduce time and effort
Photo credits: Dilbert by Scott Adams
▪ Minimum Hardware Required to Run Linux
▪ Connect power inputs ▪ Connect clock inputs ▪ Select boot mode ▪ Provide Linux boot image
▪ Proven Linux solution ▪ Like working with a microcontroller but now with the power of Linux
Power Clock Boot Mode Boot Media
µController Power Management WiFi / BLE JTAG Provisioning
Motor / Accuator
Sensors User I/O
Microcontroller System Block Diagram Becomes ….
CLK
Power Management WiFi / BLE Flash Provisioning
Motor / Accuator
Sensors User I/O
USB / Ethernet NV Storage (eMMC / Flash) CLK
AC USB AC USB INT_LDO BYPASS VIN_DCDC1 VIN_DCDC2 VIN_DCDC3 VIN_LDO AGND PGND LS1_IN LS2_IN VIO SYS Bat L1 VDCDC1
(1.5v)
L2 VDCDC2
(1.1v)
L3 VDCDC3
(1.1v)
VDDS_DDR VDD_MPU VDD_CORE VLDO1 VDDS VDDS_RTC VLDO2 LS1_OUT VDDA_ADC VDDS_OSC VDDS_PLL_DDR VDDS_PLL_MPU VDDS_PLL_CORE_LCD VDDS_SRAM_MPU_BB VDDS_SRAM_CORE_BG VDDA1P8V_USB0
(1.8v) (3.3v) (1.8v)
LS2_OUT VDDSHVx (3.3V) VDDA3P3V_USB0
(3.3v)
SCL SDA PWR_EN PGOOD LDO_PGOOD nINT nWAKEUP I2C0_SCL I2C0_SDA PMIC_PWR_EN PWRONRSTN RTC_PWRONRSTN EXTINTn EXT_WAKEUP DDR_D8 – DDR_D15 DQU0 – DQU7
8DDR_DQM1 DDR_DQS1 DDR_DQSn1 DMU DQSU DQSU# DDR_D0 – DDR_D7 DQL0 – DQL7
8DDR_DQM0 DDR_DQS0 DDR_DQSn DDR_CLK DDR_CLKn DDR_ODT DDR_CSn0 DDR_BA0 DDR_BA1 DDR_BA2 DML DQSL DQSL# CK CK# ODT CS# BA0 BA1 BA2 DDR_A0 – DDR_A15 A0 – A15
15DDR_CASn DDR_RASn DDR_Wen DDR_CKE DDR_RESE Tn CAS# RAS# WE# CKE RESET# ZQ DDR_VRE F DDR_VREF DQ VREFCA DDR_VTP IN EN GN D OUT ADJ/BY P
(SYS) (3.3V)
TPS65217C AM335x DDR3 TL5209
Microprocessor Subsystem
How can we simplify this complexity?
Processor
Standard BGA
Memory
Attached Die Discrete Components
Substrate
Pins
System-In-Package (SiP) – Integrates Best of All Processes
High Low Low High Transistor Density RF Processor Memory Power Sensor Analog
SoC – Compromise in all Areas
RF Power Analog Sensors Memory Processors Clock Frequency Power Dissipation Voltage
1130 mm2 BeagleBone Black Board
OSD3358
TI Sitara AM335x Cortex-A8 1GHz DDR3 SDRAM 800MHz TI TL5209 LDO 3.3V Out TI TPS65217C PMIC Vin: Battery, 5VDC, USB Vout: 1.8V, 3.3V, Sys_Vout All Needed Resistors, Capacitors, and Inductors
OSD3358 SiP
6 Layer Substrate Manufactured SiP Cross-Section SEM Picture of SiP
▪ http://bbb.io/pocket
▪ Forums: http://bbb.io/discuss ▪ News: http://bbb.io/news
▪ Based on Octavo Systems OSD3358-SM SiP
▪ ARM Cortex-A8 @ 1-GHz ▪ 512 MB DDRs RAM integrated ▪ ARM Cortex-M3 ▪ 2×200-MHz RISC Programmable Real-time Units (PRU) ▪ Integrated power management
▪ Connectivity
▪ Bootable microSD card slot ▪ High speed USB 2.0 OTG (host/client) control signals ▪ Dual 36-pin expansion headers
▪ 8 analog inputs (6 @ 1.8V and 2 @ 3.3V ) ▪ 44 digital GPIOs ▪ 3 UARTS ▪ 2 I2C ▪ 2 SPI ▪ 4 PWM ▪ 2 QEP ▪ 2 CAN
▪ $25
56mm x 35mm x 5mm
OSD335x-SM SiP
Contains:
AM3358 TPS65217C TL5209 EEPROM
JTAG GPIO MMC0 USB0 PocketCape P2 Signals PocketCape P1 Signals
5 Volts
µUSB Host Connector µSD Card Connector
User I/O: 4 LEDs
PocketCape Header (P1) JTAG Pads PocketCape Header (P2)
User I/O: PWR PB
All Signals Escaped in a Single Layer 6 mil Trace Width 6 mil Space All Power Domains and Internal Signals located in the center for easy connection https://octavosystems.com/app_notes/osd335x-sm-layout-guide/
▪ Open Source Schematics & Layout ▪ 4 layers PCB
▪ 6 mil trace / 6 mil space ▪ 15 mil drill / 25 mil via
▪ Hardware Bring Up
▪ Verify Power Isolation (ie your power rails are not shorted to ground – Don’t release the magic smoke)
▪ Software Bring Up
▪ Download Latest Image from BeagleBoard.org ▪ Modify the device tree to meet your needs ▪ Power up the board and check that everything boots properly
▪ You don’t worry about
▪ Bad voltages to the processor or DDR ▪ DDR not working
▪ Development boards provide good device tree infrastructure
▪ Majority of your device tree is already done for you ▪ Only update the items that are different for your board ▪ Many examples to mine for information / help
▪ https://github.com/RobertCNelson/dtb-rebuilder
▪ Prototyping can be done with device tree overlay
▪ Allows testing on your SBC prototyping board
▪ Bring you 100+ components in one package
▪ Makes board design faster, simpler and easier to add your own new features ▪ Ensures easy board bring-up
▪ Give you the heart of the Computer Hardware in a single BGA package
▪ Lower cost PCB, fewer board layers, single sided ▪ Easy to manufacture with - Some have even hand soldered it!
▪ Bridge the gap between Prototype and Production
▪ Open Hardware + Open Source Software ▪ Easy migration from SBC prototyping board to your custom PCB
For more information come to our table at ELC Technical Showcase