DSPRelated.com
Forums

unused inputs

Started by Roger Flor October 11, 2002
Hello! a newbie question:-) Application note AN1920D (DSP56800 Hardware Interface Techniques) states on
page 3 that "All inputs must be terminated (i.e, not allowed to float) using
CMOS levels". Do I tie the unused inputs to VCC or ground? Do I use pull up
or pull down resistors? I tried researching this on the net but I got
conflicting recommendations. I hope that you could help me on this

Thanks Roger




We asked this question, and Motorola's response is shown below. Basically, all
I/O (with the exception of the 12 PWM outputs (PWMA0-5 (and PWMB0-5 for the 805
and 807)) have pullups internal to the DSP chip. For the GPIO inputs, you need
to enable the pullups by setting the Pull-Up Enable Register (PUR) to all ones
(0x00FF, please see Section 7.5.1 "Pull-Up Enable Register (PUR)" in the
DSP56F80x User's Manual). Technically this is not truly required, as the
"Reset" state is all ones, but we do this anyway as part of our policy of
"defensive programming". You may choose to save a few words of program space by
not doing it.

There is also the following note in Section 6.5.5 "Pins in Different Processing
States":
==================================================
Note: The pull-ups for the address, data, and control pins are normally enabled
by the
state of the DRV bit. The data, control, and address [5:0] pull-ups may be
disabled by setting the appropriate bits in the SYS_CNTL register in the reset
wait module. The pull-ups for address bits [15:8] are controlled by the GPIOA
PUR register. The pull-ups for address bits [7:6] are controlled by the GPIOE
PUR register bits[3:2].
The reset mode always tri-states the external address bus and internally pulls
control pins
high. The STOP and WAIT modes, however, either tri-state the address bus and
control
pins or let them remain driven with their previous values. This selection is
made based on
the value of the DRV bit in the BCR. Table 6-2 and 6-3 describe the operation of
the
external memory port in these different modes. The debug mode is a special state
used to
debug and test programming code. This state is detailed in Section 9 of the
DSP56800
Family Manual, DSP56800FM/AD. The state is not described in the following
tables.
================================================== To cut to the chase, we set the DRV bit to "1" to enable the pull-ups for the
data, control, and address [5:0] pins, by putting the following lines in our
"appconfig.h" file:

/****************************************************************************
*
* CORE Initialization
*
* (definitions from the SDK file "coredrv.h")
*
****************************************************************************/
/* Bus configuration */

#define BUS_CONTROL_DRV_BIT_0 0x0000
#define BUS_CONTROL_DRV_BIT_1 0x0200

#ifdef EXTRAM_VERSION
#define BUS_CONTROL_EXT_X_MEM_WAIT_STATES 0
#else
#define BUS_CONTROL_EXT_X_MEM_WAIT_STATES 8
#endif
#define BUS_CONTROL_EXT_X_MEM_SLOW_WAIT_STATES 12

#define BUS_CONTROL_EXT_P_MEM_WAIT_STATES 0

#define BUS_CONTROL_REG ( BUS_CONTROL_DRV_BIT_1 \
| (BUS_CONTROL_EXT_X_MEM_WAIT_STATES << 4) \
| BUS_CONTROL_EXT_P_MEM_WAIT_STATES )

#define BUS_CONTROL_REG_SLOW ( BUS_CONTROL_DRV_BIT_1
\
| (BUS_CONTROL_EXT_X_MEM_SLOW_WAIT_STATES << 4)
\
| BUS_CONTROL_EXT_P_MEM_WAIT_STATES
)

Note that we have "slow" external devices that require either 8 or 12 wait
states, you should set these values as required by your hardware. There are also bits in the System Control Register (SYS_CNTL) that enable or
disable the pull-ups for the Timer I/O, Control Signals, Address Bus [5:0] pins,
and Data Bus I/O pins, please see Section 16.7.1 "System Control Register
(SYS_CNTL)" in the DSP56F80x User's Manual, subsections 16.7.1.2, 16.7.1.3,
16.7.1.4, and 16.7.1.5. These bits are set to "0" to enable the pull-ups.
Again, this is the "Reset" state, so technically you don't have to explicitly
clear them. Here is what we do in our "appconfig.h" file:

/****************************************************************************
*
* System Integration Module (SIM) Initialization
*
* (definitions from the SDK file "simdrv.h")
*
****************************************************************************/
#define SIM_BOOT_MODE SIM_BOOT_MODE_A

// System Control Register (SYS_CNTL) settings:
//
// bits 15:12 = 0 = (not used)
// bit 11 = 0 = Timer I/O Pull-ups enabled
// bit 10 = 0 = Control Signal Pull-ups enabled
// bit 9 = 0 = Address Bus Pull-ups enabled
// bit 8 = 0 = Data Bus Pull-ups enabled
// bits 7:5 = 0 = (not used)
// bit 4 = 0 = Boot Mode 0A
// bit 3 = 0 = 2.7V low voltage interrupt disabled
// bit 2 = 0 = 2.2V low voltage interrupt disabled
// bit 1 = 0 = Permanent STOP/WAIT disabled
// bit 0 = 0 = Re-programmable STOP/WAIT disabled
//
#define SIM_CONTROL_REG SIM_BOOT_MODE
Response from Motorola:
==================================================
Hi JB,

Here is another response from Motorola - It's amazing what happens when you
ring in and complain!

Hello Kevin,

All pins on the 56F80x part have pull ups or pull downs as needed and any
pin can be left unconnected if it is not needed in the application.
================================================== I hope this information is helpful for you. Regards,

Art Johnson
Senior Systems Analyst
PMC Prime Mover Controls Inc.
3600 Gilmore Way
Burnaby, B.C., Canada
V5G 4R8
Phone: 604 433-4644
FAX: 604 433-5570
Email:
http://www.pmc-controls.com
-----Original Message-----
From: Roger Flor [mailto:]
Sent: Thursday, October 10, 2002 5:53 PM
To:
Subject: [motoroladsp] unused inputs Hello! a newbie question:-) Application note AN1920D (DSP56800 Hardware Interface Techniques) states on
page 3 that "All inputs must be terminated (i.e, not allowed to float) using
CMOS levels". Do I tie the unused inputs to VCC or ground? Do I use pull up
or pull down resistors? I tried researching this on the net but I got
conflicting recommendations. I hope that you could help me on this

Thanks Roger _____________________________________
Note: If you do a simple "reply" with your email client, only the author of this
message will receive your answer. You need to do a "reply all" if you want your
answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:

To Post:

To Leave:

Archives: http://www.yahoogroups.com/group/motoroladsp

More Groups: http://www.dsprelated.com/groups.php3 ">http://docs.yahoo.com/info/terms/