OSD335x-SM Design Tutorial

Published On: January, 24, 2018 By: Eshtaartha Basu | Updated: April 9, 2019 by Cathleen Wicks

The OSD335x-SM is the easiest way to create small AM335x based systems. Like the rest of the products in the OSD335x Family, the OSD335x-SM integrates a Texas Instrument (TI)’s AM335x ARM® Cortex® A8 CPU, TPS65217C Power Management IC (PMIC), TL5209 LDO, up to 1GB of DDR3 and all associated passives into a single package. The OSD335x-SM adds to this by integration a 4KB EEPROM as well. It also features a ball map that allows designers to easily escape all signals in a single layer.

Figure 1 OSD335x-SM in comparison with US Nickel

The Tutorial Series currently consists of OSD335x Reference Design Lessons 1 and 2. The OSD335x Lesson series is designed to help you quickly get started with OSD335x family of devices and it mainly revolves around OSD335x-BAS. Since OSD335x-BAS and OSD335x-SM share several common features, most of the information given in Lessons 1 and 2 for the BAS device also apply for the SM device. This document will give you important updates wherever necessary to highlight the differences between OSD335x-BAS and OSD335x-SM that need to be considered during design process.

Lesson 1 covers:

Lesson 2 covers:

A PDF version of this document can be found here.

Before You Begin

Fundamentals of the OSD335x-SM

There are many parts within the OSD335x family. We will be focusing on the OSD3358-512M-BSM in this document while making references to OSD335x-512M-BAS wherever necessary. Therefore, all references to the OSD335x-SM hereafter imply OSD3358-512M-BSM.

Figure 2 OSD335x-SM BGA package

The OSD335x-SM comes in a 21mm x 21mm Ball Grid Array (BGA) package with 256 balls and 1.27mm ball pitch as shown in Figure 2. The diameter of the balls is 0.5mm and edge to edge spacing is 0.77mm.

Figure 3 OSD335x-SM Functional Diagram

OSD335x-SM consists of five main components as shown in Figure 3. They are:

  • Sitara® AM335x ARM® Cortex® A8 processor from TI – is the heart of the OSD335x.
  • TPS65217 Power Management IC (PMIC) from TI – manages power distribution to various parts of the OSD335x and provides power to external devices.
  • TL5209 Low Drop Out (LDO) regulator from TI – provides dedicated 3.3V rail to power external components of the OSD335x.
  • Up to 1GB of DDR3 – is the main memory of the OSD335x.
  • 4KB EEPROM

All of the peripheral interfaces of the AM335x (except the DDR interface) are brought out to pins on the OSD335x. See the OSD335x-SM datasheet for more information on the pinout.

Reference Design Lesson Organization

This document heavily relies on OSD335x Tutorial Series Reference Design Lessons 1 and 2. Each section will review the highlight of each tutorial article as well as any special consideration needed for the OSD335x-SM implementation. It is helpful to understand how Lesson 1 and Lesson 2 are organized before proceeding with this document.

Lesson 1 and Lesson 2 begin with an Introduction section, which describes the objective of the lesson, followed by a series of articles, each of which will walk you through the design methodology. The lessons each conclude with an Expected outcome section, which describes how the outcome of that lesson will look.

Furthermore, the Lessons will have several Perks and Caveats. The Perks will give additional information about the topic in discussion and the Caveats will warn you about conditions or situations which require more attention. The Perks and Caveats look like this:

Perk
Perks will give you additional information about the topic in discussion.
Caveat
Caveats will warn you about conditions or situations which require more attention.

Before proceeding with this document, we strongly encourage you to go through the OSD335x-SM datasheet.

Pre-requisites

Both Lesson 1 and Lesson 2 use Autodesk Eagle for schematics and layout. Hence, we assume that you are familiar with Eagle schematics and layout. If not, please learn about them first. The following website is one of the many websites that can help you:

To learn more about schematics: https://learn.sparkfun.com/tutorials/using-eagle-schematic

To learn more about layout: https://learn.sparkfun.com/tutorials/using-eagle-board-layout

 Introduction to Bare Minimum Circuitry to Boot OSD335x-SM

The objective of this section is to help you become familiar with the bare minimum setup required to boot the OSD335x-SM and getting it ready to execute software. This document will walk you through every step of OSD335x Reference Design Lesson 1.

Please read Introduction to Bare Minimum Circuitry to Boot OSD335x article to understand the CAD setup required to put together bare minimum circuitry. While setting up the CAD environment, please keep in mind that the OSD335x-SM comes in a smaller 21mm x 21mm package with an updated ball map as shown in Figure 4.

Figure 4 OSD335x-SM Ball Map

OSD335x-SM Power Inputs and Outputs

OSD335x-SM Power Circuitry is very similar to that of OSD335x-BAS. Hence, to find detailed information on how to configure Power I/O for OSD335x family of devices, please refer OSD335x Power Inputs and Outputs article of OSD335x Reference Design Lesson 1.

VDDSHVx IO domain power pins

Unlike OSD335x-BAS, the VDDSHVx pins are externally accessible on the OSD335x-SM. Hence, the I/O domain voltages are not fixed on the SM device. It is user adjustable to either 1.8V or 3.3V. The VDDSHVx pins of the OSD335x-SM (i.e., VDDSHV1 thru VDDSHV6) must be connected to either a 1.8V or 3.3V power source to provide required voltage to the power domains.

Figure 5 VDDSHV5 connected to SYS_VDD_1P8V and the rest connected to SYS_VDD3_3P3V

Figure 5 shows an example layout pour where VDDSHV5 ball is connected to SYS_VDD_1P8V balls and the rest of VDDSHVx balls are connected to SYS_VDD3_3P3V balls.

To find out what IOs each of these IO domains correspond to, please go through AM335x datasheet.

SYS_VDD3_3P3V output power rail

Furthermore, the OSD335x-SM provides an additional 3.3V output power rail, SYS_VDD3_3P3V, which can be used to power the I/O domains (VDDSHVx pins).

VREFN

The OSD335x-SM brings out VREFN pin too. The 12bit ADC on the OSD335x-SM has a voltage range of 0 to 1.8V. If you want to use the full voltage range, connect VREFP to 1.8V and VREFN to AGND. But, if your application needs a narrower voltage range for higher precision, you can achieve it by connecting VREFP and VREFN appropriately.

OSD335x-SM Ground Connections

The OSD335x Ground Connections article of Reference Design Lesson 1 has good recommendations for setting up proper ground planes and the theory behind grounding.

For specifics on grounding the OSD335x-SM please refer to the OSD335x-SM Layout Guide.

OSD335x-SM Power Management

The Power Management article of Reference Design Lesson 1 will help you configure the Power Management Circuitry of OSD335x-SM.

PMIC_NRESET pin

In addition to the features mentioned in Power Management article, the OSD335x-SM features a PMIC_NRESET pin which can be used to reset the TPS65217C Power Management IC (PMIC). Generally, it is a good idea to add a jumper or test pad to your design to provide the ability to pull this pin low. An example where PMIC_NRESET is connected to a jumper is shown in Figure 6.

Figure 6 PMIC_NRESET connection example (highlighted)

PMIC_MUX_IN and MIC_MUX_OUT pins

The OSD335x-SM also brings out PMIC_MUX_IN and PMIC_MUX_OUT pins from the TPS65217C PMIC. Using PMIC_MUX_OUT, critical system voltages of PMIC such as VBAT, VSYS, VTS and VICH can be accessed. One additional external input, i.e., PMIC_MUX_IN is available to monitor an additional system voltage. Feature Description diagram of PMIC Analog Multiplexer is shown in Figure 7. For more information on Analog Multiplexer, refer Analog Multiplexer section of TPS65217 datasheet.

Figure 7 Analog Multiplexer of TPS65217C PMIC

OSD335x-SM Clamping Circuit

The AM335x datasheet requires that the voltage difference between the power rails VDDS (i.e., SYS_RTC_1P8V power input of OSD335x-SM) and VDDSHVx [1-6] (when connected to 3.3V source) of the AM335x processor be less than 2V during the entire power-down sequence. More information about this can be found under Use of a Clamping Circuit for Simultaneous Ramp Down section of this user guide.

Your design may or may not need a clamping circuit based on the above requirement.

If you think your design needs a clamping circuit, please refer the Clamping Circuit article of OSD335x Reference Design Lesson 1 to find out more information.

OSD335x-SM ESD Protection

ESD Protection is essential for every electronic design. OSD335x ESD Protection article of Reference Design Lesson 1 will give you good recommendations on ESD.

OSD335x-SM Reset Circuitry

Please go through OSD335x Reset circuitry article to understand how to configure reset circuitry for OSD335x-SM.

OSD335x-SM Clock Circuitry

Please use the OSD335x Clock Circuitry article to understand how to build the clock circuitry for OSD335x-SM.

OSD335x-SM Peripheral Circuitry

To know how to connect basic peripherals and also understand how to setup boot configuration, please read Peripheral Circuitry article of OSD335x Lesson 1.

OSD335x-SM Bare Minimum Boot process

To understand the process of loading and running a bare metal application on OSD335x-SM, please go through the OSD335x Bare Minimum Board Boot Process article of Reference Design Lesson 1.

Introduction to Bare Minimum Circuitry for Linux Boot

The objective of this section is to help you become familiar with the bare minimum setup required to boot Linux on the OSD335x-SM by building upon concepts and PCB design that were presented as part of OSD335x Reference Design Lesson 1.

Lesson 2 enables you to build a new PCB by appending additional features recommended for booting Linux to the Lesson 1 PCB design.

Please read Introduction to Bare Minimum Circuitry to Linux Boot article to understand the CAD setup required to put together bare minimum circuitry. While setting up the CAD environment, please keep in mind that the OSD335x-SM comes in a smaller 21mm x 21mm package.

USB Circuitry

The USB Circuitry article will give you necessary information about the different USB pins, how to put the USB peripherals of the OSD335x-SM into the different USB modes, schematic/layout methodology and USB Testing for OSD335x-SM.

Adding Non-Volatile Storage

The Adding Non-Volatile Storage article will help you connect an eMMC and SD card to the OSD335x-SM by giving you necessary information about their corresponding circuits, schematic and layout. As the EEPROM is already incorporated into the OSD335x-SM device, you can disregard the instructions for adding EEPROM in the Adding Non-Volatile Storage article.

Since the OSD335x-SM supports both 1.8V and 3.3V IO, the following caveat should be used instead of the one in the OSD335x section:

Caveat

Caveat:

If you would like to use 1.8V signaling for your SD card instead of 3.3V signaling, there are a few things to be aware of. First, you need to set the IO voltage of MMC interface using the appropriate VDDSHV pin(s). Second, check to make sure the SD card being used supports 1.8V signaling since not all SD cards can operate at 1.8V. SD cards have been using 3.3V signaling since their inception in 2000. However, the SD card Specification 6.0 introduced the Low Voltage Signaling (LVS) memory card that may support either 3.3V or 1.8V signaling with an auto detection mechanism. See https://www.sdcard.org/developers/overview/low_voltage_signaling/index.html for more information.

Additionally, the U-Boot and Linux device trees need to be modified to support 1.8V operation on a given MMC interface (the vmmcsd_fixed node is used to set the voltage level of the MMC interface). You can learn more about Device Trees in Linux Device Tree article.

Bringing Up a Custom Bare-Bones Linux PCB

The Bringing Up a Custom Bare-Bones Linux PCB article will help you will finalize the Lesson 2 board design and bring up the manufactured printed circuit board (PCB). After bringing up the board, you can explore new applications with your completed design and use the design as a starting point for future application specific designs.

Linux Boot Process with the OSD335x

The Linux Boot Process with the OSD335x article focuses on understanding the boot process of a OSD3358-SM-RED Debian Linux image running on OSD335x-SM. The article will walk you through the functions of different software layers that are responsible for Linux boot on OSD335x-SM such as the ROM bootloader, SPL and U-Boot.

Linux Device Tree

The Linux Device Tree article will help you get started with Linux device trees by introducing the structure of device trees, describing some properties of device trees and showing you how to modify an existing device tree for your custom hardware configuration

Linux Device Tree Overlay

The Linux Device Tree Overlay article will help you become familiar with device tree overlays by explaining the structure through an example, building a device tree overlay for the peripheral header of the Lesson 2 board, and then adapting the generic overlay for an example MikroElektronika mikroBUS™ click board™

 

 

*****