OMAP-L13x / C674x / AM1x Schematic Review Checklist
From Texas Instruments Embedded Processors Wiki
Contents |
Introduction
This article applies to the following devices:
- OMAP-L138
- OMAP-L137
- TMS320C6748 / TMS320C6746 / TMS320C6742
- TMS320C6747 / TMS320C6745 / TMS320C6743
- AM1810 / AM1808 / AM1806 / AM1802
- AM1707 / AM1705
The following table is not an all encompassing feature list. It is intended to show differences between the devices in order to know which sections of this article apply to your specific device. Features common to all devices such as McASP, USB, Timers, eCAP, ePWM, etc are not shown. The chart is color coded to emphasize the groups of devices that are pin-for-pin compatible, e.g. migration from c6748 to OMAP-L138 is a drop-in replacement requiring no hardware changes.
| | ARM926 | 674x | SATA | SDRAM | mDDR/DDR2 | UPP | LCD | EMAC | HPI | VPIF | MMC/SD | McBSP | Package | |
| OMAP-L138 | YES | YES | YES | 16-bit | 16-bit | YES | YES | YES | YES | YES | 2 | 2 |
| |
| TMS320C6748 | NO | YES | YES | 16-bit | 16-bit | YES | YES | YES | YES | YES | 2 | 2 | ||
| TMS320C6746 | NO | YES | NO | 16-bit | 16-bit | YES | NO | YES | YES | YES | 2 | 2 | ||
| TMS320C6742 | NO | YES | NO | 16-bit | 16-bit | NO | NO | NO | YES | NO | 0 | 1 | ||
| AM1810 (ZWT only) | YES | NO | YES | 16-bit | 16-bit | YES | YES | YES | YES | YES | 2 | 2 | ||
| AM1808 | YES | NO | YES | 16-bit | 16-bit | YES | YES | YES | YES | YES | 2 | 2 | ||
| AM1806 | YES | NO | NO | 16-bit | 16-bit | YES | YES | NO | YES | YES | 2 | 2 | ||
| AM1802 (ZWT only) | YES | NO | NO | 16-bit | 16-bit | NO | NO | YES | NO | NO | 1 | 0 | ||
| OMAP-L137 | YES | YES | NO | 32-bit | NO | NO | YES | YES | YES | NO | 1 | 0 | 256-ball BGA (ZKB) | |
| TMS320C6747 | NO | YES | NO | 32-bit | NO | NO | YES | YES | YES | NO | 1 | 0 | ||
| AM1707 | YES | NO | NO | 32-bit | NO | NO | YES | YES | YES | NO | 1 | 0 | ||
| TMS320C6743ZKB | NO | YES | NO | 32-bit | NO | NO | NO | YES | NO | NO | 1 | 0 | ||
| TMS320C6743PTP | NO | YES | NO | 16-bit | NO | NO | NO | YES | NO | NO | 1 | 0 | 176-pin HLQFP (PTP) | |
| TMS320C6745 | NO | YES | NO | 16-bit | NO | NO | NO | YES | NO | NO | 1 | 0 | ||
| AM1705 | YES | NO | NO | 16-bit | NO | NO | NO | YES | NO | NO | 1 | 0 | ||
Recommendations Specific to OMAP-L1x / TMS320C674x / AM1x
EVM vs Datasheet
- In case of any discrepancy between the TI EVMs and the device datasheet, always follow the datasheet. Despite the designer's best efforts, the EVMs may contain errors which may still function but are not completely aligned with the datasheet specification. Therefore the EVM designs should not be considered as reference designs to be blindly reused.
Critical Connections
Power
- Check that the correct voltages are applied to the correct power pins on the chip and that the required current can be supplied.
- Zero ohm resistors inline with core and other power sections of the board are recommended for initial PCB builds if the user wants to measure power. The user can then remove the 0 ohm resistor and measure power if required.
- Check that power comes up in the correct sequence.
- The DVDD18 I/O supply must always be connected, even when the dual-voltage I/Os are supplied with 3.3V.
- RTC_CVDD may be connected to CVDD if no battery is used, even when using the 1.3V core OPP.
- Verify that the PLL0 and PLL1 supplies follow the filtering requirements shown in the datasheet. Each PLL must have its own filter in order to guarantee noise immunity.
Clocking
- If supplying an external clock to the OSCIN pin make sure it is of the correct amplitude -- 1.2V.
Reset
- Make sure TRST is pulled low on the board during power up. A POR (RESET and TRST low) is required to initialize the internal logic and correctly boot up the device for the first time.
Boot
- Use external pull resistors rather than tying boot pins to ground or VDD
Debug
- Include pullup resistors on EMU0 and EMU1 pins.
Peripherals
UART
- Put pullups on the UART_TXD pins. During reset, these pins are internally pulled low, and host software may interpret this as sending null characters unintentionally.
EMAC
- The RMII reference clock (RMII_MHZ_50_CLK) must have a jitter tolerance of 50 ppm or less
MMC/SD
- Typically weak (~51K) pull ups on all MMC/SD lines are helpful.
USB0 (USB 2.0 OTG)
| Pin | Question | Operating Mode | |||||||
|---|---|---|---|---|---|---|---|---|---|
| HS Host | FS Host | LS Host | HS Device | FS Device | LS Device | OTG A Device | OTG B Device | ||
| USB0_DM | Series or pull resistor needed? | No | No | No | No | No | No | No | No |
| USB0_DP | Series or pull resistor required? | No | No | No | No | No | No | No | No |
| USB0_VDDA33 | Connect to... | 3.3V | 3.3V | 3.3V | 3.3V | 3.3V | 3.3V | 3.3V | 3.3V |
| USB0_ID | Connect to... | Ground | Ground | Ground | Floating | Floating | Floating | Direct to cable | Direct to cable |
| USB0_VBUS | Connect to... | Power supply & connector | Power supply & connector | Power supply & connector | Connector | Connector | Connector | Power supply & connector | Connector |
| USB0_REFCLKIN | Recommended frequencies... | 12,24,48,19.2,38.4,13,26,20,40 MHz
| |||||||
| USB0_VDDA18 | Connect to... | 1.8V | 1.8V | 1.8V | 1.8V | 1.8V | 1.8V | 1.8V | 1.8V |
| USB0_VDDA12 | Bypass cap value | 0.22uF
| |||||||
| USB0_CVDD | Connect to... | 1.2V (1.32V max)
| |||||||
USB1 (USB 1.1 OHCI)
- No external pull resistors are required for the DM/DP pins.
- Connect USB_CVDD to 1.2V (1.32V max)
EMIF
- Check that chip selects go to the proper memory for a correct memory map.
- For booting from NAND devices, make sure EMA_CS[3] is used.
- For booting from NOR devices, make sure EMA_CS[2] is used.
- Weak pullups are recommended on chip selects.
- Verify address pins are connected correctly according to the following wiki: Connecting NOR Flash to OMAP-L138
DDR2/mDDR
- No parallel terminator is allowed on CLKP/CLKN pins
- If terminators are used, the DDR2/mDDR drive strength should be set to full strength. Otherwise, the drive strength should be set to half strength.
- No pullups or stubs are allowed on any DDR pins
SPI
- For booting with SPI EEPROM or Flash devices, make sure SPIx_CS[0] is used.
McASP
- Keep in mind that the transmit bit clock, ACLKX, can only be driven externally from the AHCLKX pin or AUXCLK. It cannot be sourced from the AHCLKR pin. Check McASP user guide for clock sourcing diagrams.
Audio (if present)
- Check for good filtering on audio power.
- Audio ground: Audio ground should be of the single point ground type. This is accomplished by separating (and using different symbols for) digital and analog grounds on the schematic and then connecting them together with a 0 ohm resistor or ferrite bead in the schematic. In the layout this will ensure that all audio grounds are connected to digital ground at only one point, thereby reducing the chance of ground loops.
If not used
All signals multiplexed with multiple functions may be used as an alternate function if a given peripheral is not used. Unused non-multiplexed signals and some other specific signals should be handled as specified in the tables below.
If NMI is unused, it should be pulled-high externally through a 10k-ohm resistor to supply DVDD3318_B.
SATA
| SIGNAL NAME | CONFIGURATION |
|---|---|
| SATA_RXP | No Connect |
| SATA_RXN | No Connect |
| SATA_TXP | No Connect |
| SATA_TXN | No Connect |
| SATA_REFCLKP | No Connect |
| SATA_REFCLKN | No Connect |
| SATA_MP_SWITCH | May be used as GPIO or other peripheral function |
| SATA_CP_DET | May be used as GPIO or other peripheral function |
| SATA_CP_POD | May be used as GPIO or other peripheral function |
| SATA_LED | May be used as GPIO or other peripheral function |
| SATA_REG | No Connect |
| SATA_VDDR | No Connect |
| SATA_VDD | 1.2V (see notes below) |
| SATA_VSS | VSS |
Note: Prior to silicon revision 2.0, this supply must be connected to a static 1.2V nominal supply. For silicon revision 2.0 and later, this supply may be left unconnected for additional power conservation.
Note: If this supply is not connected to a static 1.2V nominal supply on silicon prior to revision 2.0, it will cause the device to not boot up properly and exhibit boot failures irrespective of the choice of boot mode.
Note: If reading the SYSCFG0_DIEIDRn registers (SYSCFG0 module) returns a value of 0, it is very likely that SATA_VDD pins were not hooked to a 1.2V supply in your design for silicon prior to revision 2.0.
USB
For devices that support both USB0 and USB1, use the following table:
| SIGNAL NAME | CONFIGURATION (When USB0 and USB1 are not used) | CONFIGURATION (When USB0 is used and USB1 is not used) |
|---|---|---|
| USB0_DM | No Connect | Use as USB0 function |
| USB0_DP | No Connect | Use as USB0 function |
| USB0_ID | No Connect | Use as USB0 function |
| USB0_VBUS | No Connect | Use as USB0 function |
| USB0_DRVVBUS | No Connect | Use as USB0 function |
| USB0_VDDA33 | No Connect | 3.3V |
| USB0_VDDA18 | No Connect | 1.8V |
| USB0_VDDA12 | No Connect | Internal USB PHY output connected to an external filter capacitor |
| USB1_DM | No Connect | No Connect or VSS |
| USB1_DP | No Connect | No Connect or VSS |
| USB1_VDDA33 | No Connect | No Connect |
| USB1_VDDA18 | No Connect | No Connect |
| USB_REFCLKIN | No Connect or other peripheral function | Use for USB0 or other peripheral function |
| USB_CVDD | 1.2V | 1.2V |
For devices that only support USB0, use the following table:
| SIGNAL NAME | CONFIGURATION |
|---|---|
| USB0_DM | No Connect |
| USB0_DP | No Connect |
| USB0_ID | No Connect |
| USB0_VBUS | No Connect |
| USB0_DRVVBUS | No Connect |
| USB0_VDDA33 | No Connect |
| USB0_VDDA18 | No Connect |
| USB0_VDDA12 | No Connect |
| USB_REFCLKIN | No Connect or other peripheral function |
| USB_CVDD | 1.2V |
RTC
| SIGNAL NAME | CONFIGURATION |
|---|---|
| RTC_XI | May be held high or low |
| RTC_XO | No Connect |
| RTC_ALARM | May be used as GPIO or other peripheral function |
| RTC_CVDD | Connect to CVDD |
| RTC_VSS | VSS |
DDR2/mDDR
| SIGNAL NAME | CONFIGURATION(1) |
|---|---|
| DDR_D[15:0] | No Connect |
| DDR_A[13:0] | No Connect |
| DDR_CLKP | No Connect |
| DDR_CLKN | No Connect |
| DDR_CKE | No Connect |
| DDR_WE | No Connect |
| DDR_RAS | No Connect |
| DDR_CAS | No Connect |
| DDR_CS | No Connect |
| DDR_DQM[1:0] | No Connect |
| DDR_DQS[1:0] | No Connect |
| DDR_BA[2:0] | No Connect |
| DDR_DQGATE0 | No Connect |
| DDR_DQGATE1 | No Connect |
| DDR_ZP | No Connect |
| DDR_VREF | No Connect |
| DDR_DVDD18 | No Connect |
(1) To minimize power consumption, the DDR2/mDDR controller input receivers should be placed in power-down mode by setting VTPIO[14]=1.
DDR_DVDD18 Pins: N6,N9,N10,P7,P8,P9,P10,R7, R8, R9
General Recommendations
|
THIS SECTION IS TRANSCLUDED FROM HARDWARE DESIGN CHECKLIST. ONLY INFO GENERIC TO ALL DEVICES BELONGS HERE SINCE IT APPEARS IN ALL SCHEMATIC CHECKLISTS. |
|
Before you beginDocumentationMake sure you have the latest version of documentation, especially the data sheet and silicon errata. TIP: Try searching the documentation for words such as: "must", "require", "do not", "shall", "note:", etc. Important criteria for the device will typically contain one or more of these words. This is an easy way to make sure you have not missed anything important. TIP: - on each ti.com device product folder there is a button "Alert me about changes to this product". Registration here will enable proactive automatic notification of device errata. Pin out
Critical ConnectionsDecoupling CapacitorsVoltages from traces on a printed circuit board can couple to each other in places where it is not desired, (like power supply planes). To decouple the traces, we add capacitors to absorb some of the voltage and help reduce this effect. For more information on how to correctly place decoupling caps, see the data sheet section for power-supply decoupling. PLL and some analog supplies benefit from filters or ferrite beads to keep the noise from causing clock jitter. The minimum recommendation is a ferrite bead with a resonance at 100 MHz along with at least one capacitor on the device side of the bead. Additional recommendation is to add one capacitor just before the bead to form a Pi filter. The filter needs to be as close as possible to the device pin, with the device side capacitor being the most important thing to be close to the device pin. PLL pins close together can be combined on the same supply. PLL pins farther away from each other may need their own filtered supply. Refer to General Hardware Design/ BGA PCB Design/BGA Decoupling Wiki Power SequencingAre all requirements being met in terms of the order, delays, etc. of the power supplies? ClockingMake sure your input clock/crystal meets the data sheet requirements. For example:
ResetMake sure that reset is kept asserted for the processor as the power supplies are ramping. You must not release the processor from reset until all the proper voltage/clocking is in place as specified by the data sheet. Conversely make sure that something on the board is actually RELEASING the reset once power and clocks are stable! A useful tip is to place a 0.1uF cap near the reset pin to help avoid ESD-induced resets. Also, you might want to have a reset button on your board as it can be helpful for development. Boot modes
Pin MuxingAlthough pin muxing is frequently software configurable, often the initial configuration is dependent on several configuration pins (e.g. are they high or low when reset is released). Make sure that the initial pin muxing corresponds properly with your boot modes so that any interfaces necessary for boot will be available. On some devices this could potentially be handled by the boot ROM, but to be certain you should configure the initial pin muxing appropriately. PeripheralsUSB
DDR2 Routing ChecklistI2C
UARTThis simple peripheral is frequently hooked up incorrectly. Make sure it's connected as follows:
Debug ConsiderationsJTAG/EmulationThis is something often done incorrectly which can severely impact your ability to develop code!
Signal VisibilityFor debugging purposes you may need to look at a signal on an oscilloscope. Therefore you'll want to make sure you can get access to the signals, particularly with BGA devices where it might otherwise be impossible. This can be done by bringing a via all the way through the board or other times where a pullup/pulldown is needed you can probe at the resistor. Having a GPIO brought to a test point or an LED can be useful as well. OtherVoltage Level ChangesCan you change the supply voltage with some simple resistor changes? Sometimes a pin-for-pin compatible release is made at a higher speed, sometimes requiring higher voltage and so having this flexibility on your board can save you trouble later. Signal TerminationsCareful attention should be paid to any notes in the data sheet regarding the correct termination of pins. In particular make sure that termination instructions are exactly followed on reserved pins. Also, there are often pins that have special significance at the time the device reset is released. Often these are documented with something like "do not oppose this pin at reset" meaning that if there is an internal pullup or pulldown on that pin, you should not drive that pin in the opposite direction at reset. This would include not putting an opposing pullup/pulldown and also making sure that anything connected to that pin does not drive the pin opposite the intended direction. For any unused pin you should pay attention to how it is terminated. Frequently pins will default to an input state and if they are left floating they may pick up noise and toggle at a high frequency. This can cause significant unwanted current consumption. Unused pins should be checked to see if they can be configured through software as outputs so they are not floating. If there is an internal pull-up/down you should configure the level of the output (high/low) to match the pull-up/down for lowest current consumption. Ground SymbolsThe ground symbols must have applicable names assigned to them. Also, the display field must be turned on so that the name of each ground symbol is displayed on the schematic to help in reviews to verify that no ground connections are orphaned by mistake. Use a standard triangle ground symbol for the main digital ground. Then use a signal ground (symbol with decreasing horizontal lines) for all other grounds. Use different names for these local grounds to allow easy review of the schematic as well as easy referral to them in the PCB layout tools. Power SymbolsThe power symbols must have applicable names assigned to them. Also, the display field must be turned on to show the unique name for each power net. Placing a ‘V’ for the first character of a power supply can ease the schematic verification process since the power supply net names will appear next to each other in the view of the nets on the board. ReferencesThis article began from spraa34 which was a design checklist for the DM642. It has been generalized a bit to make it more applicable to all designs.
|
