Organize and Share your Electronics the way you want. Sign-Up for a free account now. It takes only 30 seconds!

Homemade ARM Board Running Linux with LCD ,Part2:Schematic and PCB Design

Homemade ARM Board Running Linux with LCD ,Part2:Schematic and PCB Design
this is second part in the series of making a ARMlinux Board at home, in last part we have decided what we need and why. now we are going to build schematic for our board. as we are using Allwinner A13 CPU , we need it’s datasheet and other reference manuals.although there is only a limited amount of data available direct from manufacturer,but there is pleanty of data there from other source ,sunxi website is good place to start.
I have found this datasheet for our CPU.As A13 is quite common processor in cheap chinise tablets, and olimex also has few boards with same CPU. there is tons of reference material available online.
when you are making your own board the place to start is processor’s datasheet          , there you need to look at few key points, pinout, package, power rails ,clock , configuration gpio(if there),external memory interfaces RAM and ROM. It is descent size CPU , it has 16 bit DDR2/DDR3 interface ,there are going to many connections. to get minimum system schematic the good point to start is the reference schematic provided by the manufacturer it self ,as we know allwinner does not have much direct support. but i have found few offical looking schematic from the allwinneritself , you can download them here,as all olimex board are open source schematic and PCB design file are available to download from theregithub repo

the CPU
there is lots of data available through varioussource,available data is more then what we need. click here to goto my github repo to view all the document available with me.
the processor is though Chinese but has some decent hardware , specification are given blow
Allwinner A13
ARM Cortex-A8 @ 1Ghz
DDR2, DDR3 (max 512MB @ DDR800)
Mali 400 MP1 GPU
LCD,Mic, Headphone
Storage    NAND (max 2 * 32GB), SD Card 3.0
USB    2 (1 HOST, 1 OTG)
eLQFP176 package

CPU peripherals
One USB 2.0 OTG controller for general application and one USB EHCI/OHCI controller for host application
Three high-speed memory controllers supporting SD version 3.0 and eMMC version 4.3
One UART with only TX/RX and one UART with RTS/CTS
Three SPI controllers
Three Two-Wire Interfaces
IR controller supporting CIR remoter
6-bit LRADC for line control
Internal 4-wire touch panel controller with pressure sensor and 2-point touch
Internal 24-bit Audio Codec for 2-Ch headphone and 1-Ch microphone
PWM controller

what we need get minimum system

1. Power
2. CPU
3. clock
4. RAM
5. ROM, (SD card or flash)

1. Power , all highspeed CPU need many power rails , our  CPU need
~1.2V for CPU ,
1.2V for internal logic,
3.3V for I/O logic,
3.0V analog Supply ,
1.5V for DDR ram.

there are many ways to manage the power , one way it to have simple switching regulator for every different voltage rail you need.
another way is to use dedicated power management IC, which will have many switching and linear regulator built in to just one singal IC. it is possible to  configure this chip by the host processor for various parameters , like regulator output voltage.
most CPU in spend a large amount of time in sleep or slow speed mode , as running always on maximum clock not always necessary so CPU keep on switching between different frequency  to save power, this is call scaling . so when CPU changes its clock frequency it is required to change the CPU power Voltage and other power parameters.
so getting Power management IC will save lot of power  ,if used properly.
we are going to use AXP209 PMU is by the X-Powers, a company of Allwinner.
AXP209 has two switching regulators, 1.6A and 1.2A capable and total 5 LDO, all outputs are configurable over I2C from the host.has ADC , soft start ,li-Ion battery charger  and many other things. AXP209 comes in QFN package . almost all the reference schematic have same IC.

2. CPU ,
Allwinner A13 is the CPU, it comes in eTQFP176package , does not have many configuration gpio , only ubootpin ,reset line and few other stuff is there. we just connect them as per reference schematic.3. Clock ,
A13 need 24 Mhz crystal as clocksource , the CPU has on chipPLL , everything else is taken care by the internal clock block. just hook up the crystal to correct pins , that is  all.4. RAM
RAM is most critical component in our system after CPU , we are using 512MB SAMSUNG DDR3 ram in BGA 96 Package. BGA 96 can be easily soldered by hot air or hot plate method. we are operating at 400 Mhz,CPUsupport maximum 16 bit RAM our RAM is also 16 bit word.

RAM need 1.5V supply , the most critical thing about such a high speed RAM  the PCB and PCB trace  length.PCB need to impedance control and traces need to be match , there are many rules need to be followed ,we will discuss this again after a little while . instead going do all the high speed PCB black magic my self ,i just copied RAM layout from reference PCB design.

5. ROM , 
you need some some storage to boot from , may be SD card or NAND flash IC,the CPU has two SDIO interface available , you can connect either two SD card or two Flash IC or one Flash+one SD card.

Read more Here


More Articles to Read

Debugging ARM Cortex-M0+ HardFaults
Debugging ARM Cortex-M0+ HardFaults
EMP Jammer build
EMP Jammer build
A 3D-printed e-drum pad
A 3D-printed e-drum pad
Interactive geodesic LED dome = extreme geometric fun!
Interactive geodesic LED dome = extreme geometric fun!
Guide to build your 3.3v power supply
Guide to build your 3.3v power supply
SDR radio breathes life into a 75 year old Marconi CR100
SDR radio breathes life into a 75 year old Marconi CR100
A Time for Ranting!
A Time for Ranting!
Emulate a Commodore 64 keyboard with a modern PC and an Arduino
Emulate a Commodore 64 keyboard with a modern PC and an Arduino
USB2005 and USB97C202 Sharing ATA/ATAPI Drive w/ Another Controller
USB2005 and USB97C202 Sharing ATA/ATAPI Drive w/ Another Controller
Robotic Cat Laser
Robotic Cat Laser