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 |
|
unused inputs
Started by ●October 11, 2002
Reply by ●October 11, 20022002-10-11
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/ |