Page 1
DatasheetDirect.com Your dedicated source for free downloadable datasheets. Over one million datasheets Optimized search function Rapid quote option Free unlimited downloads Visit www.datasheetdirect.com to get your free datasheets. This datasheet has been downloaded by http://www.datasheetdirect.com/...
DSP56309 OVERVIEW SIGNAL/CONNECTION DESCRIPTIONS MEMORY CONFIGURATION CORE CONFIGURATION GENERAL PURPOSE I/O HOST INTERFACE (HI08) ENHANCED SYNCHRONOUS SERIAL INTERFACE SERIAL COMMUNICATION INTERFACE (SCI) TIMER MODULE ON-CHIP EMULATION MODULE JTAG PORT BOOTSTRAP PROGRAM EQUATES BSDL LISTING PROGRAMMING REFERENCE INDEX...
Page 3
DSP56309 OVERVIEW SIGNAL/CONNECTION DESCRIPTIONS MEMORY CONFIGURATION CORE CONFIGURATION GENERAL PURPOSE I/O HOST INTERFACE (HI08) ENHANCED SYNCHRONOUS SERIAL INTERFACE SERIAL COMMUNICATION INTERFACE (SCI) TIMER MODULE ON-CHIP EMULATION MODULE JTAG PORT BOOTSTRAP PROGRAM EQUATES BSDL LISTING PROGRAMMING REFERENCE INDEX...
Page 4
Rev. 0 DSP56309 24-Bit Digital Signal Processor UserÕs Manual Motorola, Incorporated Semiconductor Products Sector DSP Division 6501 William Cannon Drive West Austin, TX 78735-8598...
Page 5
Motorola products are not authorized for use as components in life support devices or systems intended for surgical implant into the body or intended to support or sustain life. Buyer agrees to notify Motorola of any such intended end use whereupon Motorola shall determine availability and suitability of its product or products for the use intended.
Page 11
CRB Serial Output Flag 1 (OF1) Bit 1 ..7-16 7.4.2.2 CRB Serial Control Direction 0 (SCD0) Bit 2 ..7-16 7.4.2.3 CRB Serial Control Direction 1 (SCD1) Bit 3 ..7-16 viii DSP56309UM/D MOTOROLA...
You can obtain these documents, as well as MotorolaÕs DSP development tools, through a local Motorola Semiconductor Sales Office or authorized distributor. To receive the latest information about this DSP, access the Motorola DSP home page at the address on the back cover of this document.
Page 33
Ð The On-Chip Emulation (OnCEª) module, which is accessed through the JTAG port Section 11ÑJTAG Port Ð Specifics of the Joint Test Action Group (JTAG) port on the DSP56309 Appendix AÑBootstrap Programs Ð Bootstrap code used for the DSP56309 Appendix BÑEquates Ð...
DSP56309 Overview Manual Conventions MANUAL CONVENTIONS This manual uses the following conventions: ¥ Bits within registers are always listed from most significant bit (MSB) to least significant bit (LSB). ¥ Bits within a register are indicated AA[n:m], n>m, when more than one bit is involved in a description.
Ð the reset function, written as reset. DSP56309 FEATURES The DSP56309 is a member of the DSP56300 family of programmable CMOS DSPs. The DSP56309 uses the DSP56300 core, a high-performance engine with a single clock cycle per instruction. The DSP56300 core provides up to twice the performance of Motorola's popular DSP56000 core family, while retaining code compatibility.
A standard interface between the DSP56300 core and the on-chip memory and peripherals supports a wide variety of memory and peripheral configurations. The DSP56309 targets telecommunications applications, such as multi-line voice/data/fax processing, video conferencing, audio applications, control, and general digital signal processing.
¥ PCU ¥ PLL and Clock Oscillator ¥ JTAG TAP and OnCE module ¥ Memory In addition, the DSP56309 provides a set of on-chip peripherals, described in Section 1.10. 1.6.1 Data ALU The Data ALU performs all the arithmetic and logical operations on data operands in the DSP56300 core.
DSP56309 Overview DSP56300 Core Functional Blocks All the Data ALU operations are performed in two clock cycles in pipeline fashion so that a new instruction can be initiated in every clock, yielding an effective execution rate of one instruction per clock cycle. The destination of every arithmetic operation can be used as a source operand for the immediately following operation without penalty.
DSP56309 Overview DSP56300 Core Functional Blocks specifies the type of arithmetic to be used in the address register update calculation. The modifier value is decoded in the Address ALU. 1.6.3 Program Control Unit (PCU) The PCU performs instruction prefetch, instruction decoding, hardware DO loop control, and exception processing.
DSP56309 Overview DSP56300 Core Functional Blocks ¥ SPÑstack pointer ¥ OMRÑoperating mode register ¥ SCÑstack counter register The PCU also includes a hardware system stack (SS). 1.6.4 PLL and Clock Oscillator The clock generator in the DSP56300 core is composed of two main blocks: the PLL, which performs clock input division, frequency multiplication, and skew elimination;...
DSP56309 Overview DSP56300 Core Functional Blocks The OnCE module provides a means of interacting with the DSP56300 core and its peripherals non-intrusively so that a user can examine registers, memory, or on-chip peripherals. This facilitates hardware and software development on the DSP56300 core processor.
¥ Y memory address bus (YAB) for carrying Y memory addresses throughout the core All internal buses on the DSP56300 family members are 16-bit buses except the PDB, which is a 24-bit bus. Figure 1-1 shows a block diagram of the DSP56309. MOTOROLA DSP56309UM/D...
¥ Triggering from interrupt lines, all peripherals, and DMA channels 1.10 DSP56309 ARCHITECTURE OVERVIEW The DSP56309 performs a wide variety of fixed-point digital signal processing functions. In addition to the core features previously discussed, the DSP56309 provides the following peripherals: ¥...
1.10.3 Enhanced Synchronous Serial Interface (ESSI) On the DSP56309 are two independent and identical ESSIs. Each ESSI has a full-duplex serial port for communication with a variety of serial devices, including one or more industry-standard codecs, other DSPs, microprocessors, and peripherals that implement the Motorola SPI.
66 MHz clock). The asynchronous protocols supported by the SCI include a multidrop mode for master/slave operation with wakeup on idle line and wakeup on address bit capability. This mode allows the DSP56309 to share a single serial line efficiently with other peripherals.
Signal/Connection Descriptions Signal Groupings SIGNAL GROUPINGS The DSP56309 input and output signals are organized into functional groups, as shown in Table 2-1 and as illustrated in Figure 2-1. The DSP56309 is operated from a 3 V supply. Table 2-1 DSP56309 Functional Signal Groupings...
Signal/Connection Descriptions Signal Groupings After Reset During Reset DSP56309 MODA IRQA MODB IRQB MODC IRQC MODD IRQD Core Logic CCQL RESET RESET CCQH Host Interface (H108) Address Bus Non-Multiplexed Multiplexed Port B Data Bus GPIO Bus Control H0ÐH7 HAD0ÐHAD7 PB0ÐPB7...
Signal/Connection Descriptions Power POWER Power input descriptions for the DSP56309 are listed in Table 2-2. Table 2-2 Power Inputs Power Name Description PLL PowerÑV is power dedicated for phase-locked loop (PLL) use. The voltage should be well regulated, and the input should be provided with an extremely low impedance path to the V power rail.
V connections are package-dependent. GROUND Ground descriptions for the DSP56309 are listed in Table 2-3. Table 2-3 Grounds Ground Name Description is a ground dedicated for PLL use. The connection PLL GroundÑGND...
, to each other internally. On those packages, all ground connections, except GND , are labeled GND. The number of connections indicated in this table are minimum values; the total GND connections are package-dependent. CLOCK Clock Signal descriptions for the DSP56309 are listed in Table 2-4. Table 2-4 Clock Signals State Signal...
If the PLL is enabled and both the multiplication and division factors equal one, then CLKOUT is also synchronized to EXTAL. If the PLL is disabled, the CLKOUT frequency is half the frequency of EXTAL. DSP56309UM/D MOTOROLA...
(NMI) request internally synchronized to CLKOUT. EXTERNAL MEMORY EXPANSION PORT (PORT A) When the DSP56309 enters a low-power standby mode (stop or wait), it releases bus mastership and tri-states the relevant Port A signals: A0ÐA17, D0ÐD23, AA0/RAS0ÐAA3/RAS3, RD, WR, BB, CAS, BCLK, BCLK.
Otherwise, D0ÐD23 are weakly driven by the bus keeper. 2.6.3 External Bus Control External bus control signal descriptions for the DSP56309 are listed in Table 2-8. Table 2-8 External Bus Control Signals State Signal Type...
Page 58
Transfer AcknowledgeÑIf the DSP56309 is the bus Input master and there is no external bus activity, or the DSP56309 is not the bus master, the TA input is ignored. The TA input is a data transfer acknowledge (DTACK) function that can extend an external bus cycle indefinitely.
Page 59
DSP56309 is a bus master or a bus slave. Bus ÒparkingÓ allows BR to be deasserted even though the DSP56309 is the bus master; see the description of bus ÒparkingÓ in the BB signal description. The bus request hole...
Page 60
A0ÐA23 address lines. BCLK Output Tri-stated Bus Clock NotÑWhen the DSP is the bus master, BCLK is an active-low output and is the inverse of the BCLK signal. Otherwise, the signal is tri-stated. MOTOROLA DSP56309UM/D 2-13...
CLKOUT, multiple processors can be resynchronized using the WAIT instruction and asserting IRQA to exit the wait state. If the processor is in the stop standby state and IRQA is asserted, the processor exits the stop state. 2-14 DSP56309UM/D MOTOROLA...
Page 62
If IRQC is asserted synchronous to CLKOUT, multiple processors can be resynchronized using the WAIT instruction and asserting IRQC to exit the wait state. MOTOROLA DSP56309UM/D 2-15...
When reading multiple-bit registers that are written by another asynchronous system, you must synchronize carefully. This problem commonly occurs when two asynchronous systems are connected (as they are in the host port). The considerations for proper operation are discussed in Table 2-10. 2-16 DSP56309UM/D MOTOROLA...
HI08 Port Control Register (HPCR). Refer to Section 6ÑHost Interface (HI08) for detailed descriptions of this and the other configuration registers used with the HI08. Host interface signal descriptions for the DSP56309 are listed in Table 2-11. MOTOROLA DSP56309UM/D...
(HAS) following reset. Input or Port B 8ÑWhen the HI08 is configured as Output GPIO through the HPCR, this signal is individually programmed as an input or output through the HDDR. 2-18 DSP56309UM/D MOTOROLA...
Page 66
HI function is selected, this signal is line 9 of the host address (HA9) input bus. PB10 Input or Port B 10ÑWhen the HI08 is configured as Output GPIO through the HPCR, this signal is individually programmed as an input or output through the HDDR. MOTOROLA DSP56309UM/D 2-19...
Page 67
Input or active-low (HWR) following reset. PB12 Output Port B 12ÑWhen the HI08 is configured as GPIO through the HPCR, this signal is individually programmed as an input or output through the HDDR. 2-20 DSP56309UM/D MOTOROLA...
Page 68
10 of the host address (HA10) input bus. PB13 Input or Output Port B 13ÑWhen the HI08 is configured as GPIO through the HPCR, this signal is individually programmed as an input or output through the HDDR. MOTOROLA DSP56309UM/D 2-21...
Page 69
Port B 14ÑWhen the HI08 is programmed to Output interface a multiplexed host bus and the signal is configured as GPIO through the HPCR, this signal is individually programmed as an input or output through the HDDR. 2-22 DSP56309UM/D MOTOROLA...
Page 70
Input or PB15 Output Port B 15ÑWhen the HI08 is configured as GPIO through the HPCR, this signal is individually programmed as an input or output through the HDDR. MOTOROLA DSP56309UM/D 2-23...
DSPs, microprocessors, and peripherals which implement the Motorola SPI. 2.9.1 ESSI0 The ESSI0 signal descriptions for the DSP56309 are listed in Table 2-12. Table 2-12 Enhanced Synchronous Serial Interface 0 (ESSI0) State Signal Type...
Page 72
Port C 2ÑThe default configuration Output following reset is GPIO input PC2. When this port is configured as PC2, signal direction is controlled through PRR0. The signal can be configured as an ESSI signal SC02 through PCR0. MOTOROLA DSP56309UM/D 2-25...
Page 73
Port C 4ÑThe default configuration Output following reset is GPIO input PC4. When this port is configured as PC4, signal direction is controlled through PRR0. The signal can be configured as an ESSI signal SRD0 through PCR0. 2-26 DSP56309UM/D MOTOROLA...
PC5, signal direction is controlled through PRR0. The signal can be configured as an ESSI signal STD0 through PCR0. 2.9.2 ESSI1 The ESSI1 signal descriptions for the DSP56309 are listed in Table 2-13. MOTOROLA DSP56309UM/D 2-27...
Port D 1ÑThe default configuration Output following reset is GPIO input PD1. When this port is configured as PD1, signal direction is controlled through PRR1. The signal can be configured as an ESSI signal SC11 through PCR1. 2-28 DSP56309UM/D MOTOROLA...
Page 76
Output Port D 2ÑThe default configuration following reset is GPIO input PD2. When this port is configured as PD2, signal direction is controlled through PRR1. The signal can be configured as an ESSI signal SC12 through PCR1. MOTOROLA DSP56309UM/D 2-29...
Page 77
Port D 4ÑThe default configuration Output following reset is GPIO input PD4. When this port is configured as PD4, signal direction is controlled through PRR1. The signal can be configured as an ESSI signal SRD1 through PCR1. 2-30 DSP56309UM/D MOTOROLA...
Page 78
Port D 5ÑThe default configuration Output following reset is GPIO input PD5. When this port is configured as PD5, signal direction is controlled through PRR1. The signal can be configured as an ESSI signal STD1 through PCR1. MOTOROLA DSP56309UM/D 2-31...
Port E 1ÑThe default configuration Output following reset is GPIO input PE1. When this port is configured as PE1, signal direction is controlled through the SCI PRR. The signal can be configured as an SCI signal TXD through the SCI PCR. 2-32 DSP56309UM/D MOTOROLA...
Three identical and independent timers are implemented in the DSP56309. Each timer can use internal or external clocking; each timer can interrupt the DSP56309 after a specified number of events (clocks) or can signal an external device after counting a specific number of internal events.
This signal is driven by a weak keeper after reset. The default mode after reset is GPIO input. This can be changed to output or configured as a timer input/output through the timer 1 control/status register (TCSR1). 2-34 DSP56309UM/D MOTOROLA...
Input Input Test Data InputÑTDI is a test data serial input signal used for test instructions and data. TDI is sampled on the rising edge of TCK and has an internal pull-up resistor. MOTOROLA DSP56309UM/D 2-35...
Page 83
TCK and has an internal pull-up resistor. TRST Input Input Test ResetÑTRST is an active-low Schmitt-trigger input signal used to asynchronously initialize the test controller. TRST has an internal pull-up resistor. TRST must be asserted after power up. 2-36 DSP56309UM/D MOTOROLA...
Page 84
The signal connects directly to the OnCE module to initiate debug mode directly or to provide a direct external indication that the chip has entered debug mode. All other interfacing with the OnCE module must occur through the JTAG port. MOTOROLA DSP56309UM/D 2-37...
(24-bit) program and data word; it ignores the zeroed byte, thus effectively using 16-bit program and data words. The sixteen-bit compatibility mode allows the DSP56309 to use 56000 object code without change, thus minimizing system cost for applications that use the smaller address space.
Memory Configuration Memory Spaces DSP56309 to feed two operands to the Data ALU simultaneously, enabling it to perform a multiply-accumulate operation in one clock cycle. X and Y data memory are identical in structure and functionality except for the upper 128 words of each space.
RAM Configuration 3.1.3 Memory Space Configuration Memory space addressing is 24-bit by default. The DSP56309 switches to sixteen-bit address compatibility mode by setting the sixteen-bit compatibility (SC) bit in the Status Register (SR). Table 3-1 Memory Space Configuration Bit Settings for the DSP56309...
RAM default organization is 28 banks of 256 (7K) 24-bit words. Eight banks of RAM can be switched from the X data RAM to the Program RAM by setting the MS bit (leaving 5K of X data RAM). DSP56309UM/D MOTOROLA...
Program RAM, data RAM, and the instruction cache. 3.3.1 Memory Space Configurations The memory space configurations are listed in Table 3-3. Table 3-3 Memory Space Configurations for the DSP56309 SC Bit Addressable Number of Address Range...
Memory Configuration Memory Configurations 3.3.2 RAM Configurations The RAM configurations for the DSP56309 appear in Table 3-4. Table 3-4 RAM Configurations for the DSP56309 Bit Settings Memory Sizes (in K) Program X data Y data Cache The actual memory locations for Program RAM and the instruction cache in the Program memory space are determined by the MS and CE bits.
Figure 3-1 through Figure 3-8 illustrate each of the memory space and RAM configurations defined by the settings of the SC, MS, and CE bits. The figures show the configuration, and the accompanying tables show the bit settings, memory sizes, and memory locations. MOTOROLA DSP56309UM/D...
Internal X data RAM Y data RAM $000000 $000000 $000000 Bit Settings Memory Configuration Program Addressable X Data RAM Y Data RAM Cache Memory Size None $0000Ð$4FFF $0000Ð$1BFF $0000Ð$1BFF AA0557 Figure 3-1 Default Settings (0, 0, 0) 3-10 DSP56309UM/D MOTOROLA...
Y data RAM $000000 $000000 $000000 Bit Settings Memory Configuration Program X Data Y Data Addressable Cache Memory Size 16 M $0000Ð $0000Ð $0000Ð $4C00Ð $4BFF $1BFF $1BFF $4FFF AA0561 Figure 3-2 Instruction Cache Enabled (0, 0, 1) MOTOROLA DSP56309UM/D 3-11...
Y data RAM Program RAM $000000 $000000 $000000 Bit Settings Memory Configuration Program X Data Y Data Addressable Cache Memory Size None 16 M $0000Ð $0000Ð $0000Ð $5FFF $13FF $13FF AA0559 Figure 3-3 Switched Program RAM (0, 1, 0) 3-12 DSP56309UM/D MOTOROLA...
Page 98
$000000 Bit Settings Memory Configuration Program X Data Y Data Addressable Cache Memory Size 16 M $0000Ð $0000Ð $0000Ð $5C00Ð $5BFF $13FF $13FF $5FFF AA0563 Figure 3-4 Switched Program RAM and Instruction Cache Enabled (0, 1, 1) MOTOROLA DSP56309UM/D 3-13...
Y data RAM $0000 $0000 $0000 Bit Settings Memory Configuration Program X Data Y Data Addressable Cache Memory Size None $0000Ð $0000Ð $0000Ð $4FFF $1BFF $1BFF AA0558 Figure 3-5 16-bit Space with Default RAM (1, 0, 0) 3-14 DSP56309UM/D MOTOROLA...
Y data RAM $0000 $0000 $0000 Bit Settings Memory Configuration Program X Data Y Data Addressable Cache Memory Size $0000Ð $0000Ð $0000Ð $4C00Ð $4BFF $1BFF $1BFF $4FFF AA0562 Figure 3-6 16-bit Space with Instruction Cache Enabled (1, 0, 1) MOTOROLA DSP56309UM/D 3-15...
Program RAM $0000 $0000 $0000 Bit Settings Memory Configuration Program X Data Y Data Addressable Cache Memory Size None $0000Ð $0000Ð $0000Ð $5FFF $13FF $13FF AA0560 Figure 3-7 16-bit Space with Switched Program RAM (1, 1, 0) 3-16 DSP56309UM/D MOTOROLA...
$0000 $0000 Bit Settings Memory Configuration Program X Data Y Data Addressable Cache Memory Size $0000Ð $0000Ð $0000Ð $5C00Ð $5FFF $13FF $13FF $5FFF AA0564 Figure 3-8 16-bit Space, Switched Program RAM, Instruction Cache Enabled (1, 1, 1) MOTOROLA DSP56309UM/D 3-17...
Page 103
Memory Configuration Internal I/O Memory Map INTERNAL I/O MEMORY MAP The DSP56309 internal X-I/O space (the top 128 locations of the X data memory space) is listed in Table D-2 on page D-11 of Appendix DÑInterrupt Sources. 3-18 DSP56309UM/D MOTOROLA...
The DSP56309 begins operation by leaving Reset state and going into one of eight operating modes. As the DSP56309 exits the Reset state, it loads the values of MODA, MODB, MODC, and MODD into bits MA, MB, MC, and MD of the Operating Mode Register (OMR).
Core Configuration Bootstrap Program BOOTSTRAP PROGRAM Bootstrap operating mode descriptions for the DSP56309 are listed in Table 4-1. Table 4-1 DSP56309 Operating Modes Mode MODD MODC MODB MODA Reset Vector Description $C00000 Expanded mode: address $C00000 is reflected as $00000...
$FF0000. If the bootstrap program is loading via the host interface (HI08), setting the HF0 bit in the host status register (HSR) causes the DSP56309 to stop loading and begin executing the loaded program at the specified start address.
Page 109
Vector $C00000 Expanded mode The bootstrap ROM is bypassed and the DSP56309 starts fetching instructions beginning at address $C00000. Memory accesses are performed using SRAM memory access type with 31 wait states and no address attributes selected (by default). 4.3.2 Modes 1 to 7: Reserved These modes are reserved for future use.
Page 110
16 times the transmission data rate. Each byte received by the SCI is echoed back through the SCI transmitter to the external transmitter. 4.3.6 Mode B: Reserved Reset Mode MODD MODC MODB MODA Description Vector $FF0000 Reserved This mode is reserved for future use. MOTOROLA DSP56309UM/D...
Page 111
In mode D: boot from HI08 in HC11 non-multiplexed mode, the bootstrap program sets the host interface to interface with the Motorola HC11 microcontroller. If the host processor sets host flag 0 (HF0) in the HCR while writing the initialization program, the bootstrap program stops loading instructions, jumps to the starting address specified, and executes the loaded program.
INTERRUPT SOURCES AND PRIORITIES DSP56309 interrupt handling, like that of all DSP56300 family members, has been optimized for DSP applications. Refer to Section 7 of the DSP56300 Family Manual.
The DSP56309 initialization program loads the table entry for each interrupt serviced with two interrupt servicing instructions. In the DSP56309, only 46 of the 128 vector addresses are used for specific interrupt sources. The remaining 82 are reserved. If you know that certain interrupts will not be used, those interrupt vector locations can be used for program or data storage.
4.4.2 Interrupt Priority Levels The DSP56309 has a four-level interrupt priority structure. Each interrupt has two interrupt priority level bits (IPL[1:0]) that determine its interrupt priority level. Level 0 is the lowest priority; Level 3 is the highest-level priority and is non-maskable. Table 4-3 defines the IPL bits.
Core Configuration Interrupt Sources and Priorities There are two interrupt priority registers in the DSP56309. The IPRÐC is dedicated to DSP56300 core interrupt sources, and IPRÐP is dedicated to DSP56309 peripheral interrupt sources. IPRÐC is shown in Figure 4-1 and IPRÐP is shown in Figure 4-2.
Transfer done from DMA channel 3 01000 Transfer done from DMA channel 4 01001 Transfer done from DMA channel 5 01010 ESSI0 Receive Data (RDF0 = 1) 01011 ESSI0 Transmit Data (TDE0 = 1) 01100 ESSI1 Receive Data (RDF1 = 1) 4-16 DSP56309UM/D MOTOROLA...
XYSÑStack Extension Space Select BEÑBurst Mode Enable MBÑOperating Mode B CDP1ÑCore-DMA Priority 1 MAÑOperating Mode A CDP0ÑCore-DMA Priority 0 - Reserved bit. Read as zero, should be written with zero for future compatibility. Figure 4-3 DSP56309 Operating Mode Register (OMR) MOTOROLA DSP56309UM/D 4-17...
PCTL PLL Multiplication Factor Bits 0Ð11 The multiplication factor bits (MF[11:0]) define the Multiplication Factor (MF) that is applied to the PLL input frequency. The MF bits are cleared during a DSP56309 hardware reset, which corresponds to an MF of one.
DSP56309 (AAR0ÐAAR3), one for each AA signal. For a full description of the address attribute registers see the DSP56300 Family Manual Address multiplexing is not supported by the DSP56309. Bit 6 (BAM) of the AARs is reserved and should have only 0 written to it. MOTOROLA...
4.10 JTAG BOUNDARY SCAN REGISTER (BSR) The BSR in the DSP56309 JTAG implementation contains bits for all device signal and clock pins and associated control signals. All DSP56309 bidirectional pins have a corresponding register bit in the BSR for pin data and are controlled by an associated control bit in the BSR.
Introduction INTRODUCTION The DSP56309 provides thirty-four bidirectional signals that can be configured as GPIO signals or as dedicated peripheral signals. No dedicated GPIO signals are provided. All of these signals are GPIO by default after reset. The control register settings of the DSP56309Õs peripherals determine whether these signals function as GPIO or as...
Each of the three triple timer interface signals (TIO0ÐTIO2) not used as a timer signal can be configured as a GPIO signal. Each signal is controlled by the appropriate timer control status register (TCSR0ÐTCSR2). These registers are documented in Section 9ÑTriple Timer Module of this manual. DSP56309UM/D MOTOROLA...
Host to DSP Core Interface ¥ Mapping: Ð Registers are directly mapped into eight internal X data memory locations ¥ Data word: Ð DSP56309 24-bit (native) data words are supported, as are 8-bit and 16-bit words ¥ Transfer modes: Ð DSP-to-host Ð...
Page 131
Ð Core DMA accesses ¥ Instructions: Ð Memory-mapped registers allow the standard MOVE instruction to be used to transfer data between the DSP56309 and external hosts. Ð Special MOVEP instruction provides for I/O service capability using fast interrupts. Ð Bit addressing instructions (e.g., BCHG, BCLR, BSET, BTST, JCLR, JSCLR, JSET, JSSET) simplify I/O service routines.
Page 132
Ð Glueless interface (no external logic required) to these devices: ¥ Motorola HC11 ¥ Hitachi H8 ¥ 8051 family ¥ Thomson P6 family Ð Minimal glue-logic (pullups, pulldowns) required to interface these devices: ¥ ISA bus ¥ Motorola 68K family Ò ¥ Intel X86 family MOTOROLA DSP56309UM/D...
¥ Host data transmit register (HTX) The DSP side control registers are 16-bit registers that control DSP functions. The eight MSBs in the DSP side control registers are read by the DSP56309 as 0. Those registers are as follows: ¥ Host control register (HCR) ¥...
The transfer operation sets both the TXDE and HRDF bits. When the HRDF bit is set, the HRX register contains valid data. The DSP56309 sets the HRIE bit (HCR, bit 0) to cause a host receive data interrupt when HRDF is set. When the DSP56309 reads the HRX register, the HRDF bit is cleared.
These two flags can be used individually or as encoded pairs in a simple DSP-to-host communication protocol, implemented in both the DSP and the host processor software. 6.5.3.5 HCR Reserved Bits 5-15 These bits are reserved. They are read as 0 and should be written with 0. 6-10 DSP56309UM/D MOTOROLA...
ICR on the host side. They can be used individually or as encoded pairs in a simple host-to-DSP communication protocol implemented in both the DSP and the host processor software. 6.5.4.5 HSR Reserved Bits 5-15 These bits are reserved. They are read as 0 and should be written with 0. MOTOROLA DSP56309UM/D 6-11...
Reserved bits are read as 0 and should be written with 0 for future compatibility. The initialization values for the HPCR bits are described in Section 6.5.9ÑDSP Side Registers After Reset. The HPCR bits are illustrated in Figure 6-6. 6-12 DSP56309UM/D MOTOROLA...
AA0660 Figure 6-6 Host Port Control Register (HPCR) (X:$FFFFC4) Note: To assure proper operation of the DSP56309, the HPCR bits HAP, HRP, HCSP, HDDS, HMUX, HASP, HDSP, HROD, HAEN, and HREN should be changed only if HEN is cleared. To assure proper operation of the DSP56309, the HPCR bits HAP, HRP, HCSP,...
Page 141
If HDSP is set, the data strobe signals are configured as active high inputs, and data is transferred when the data strobe is high. The data strobe signals are either HDS by itself or both HRD and HWR together. 6-14 DSP56309UM/D MOTOROLA...
See Figure 6-7 and Figure 6-8 for more information on the two types of buses. In a single-strobe bus, a DS (data strobe) signal qualifies the access, while a R/W (Read-Write) signal specifies the direction of the access. AA0661 Figure 6-7 Single Strobe Bus MOTOROLA DSP56309UM/D 6-15...
The HI08 drives the contents of the IVR onto the host bus when the HACK signal is low. If the HAP bit is set, the HACK signal is configured as an active high input. The HI08 outputs the contents of the IVR when the HACK signal is high. 6-16 DSP56309UM/D MOTOROLA...
GPIO signals. It is illustrated in Figure 6-10. The functionality of the Dxx bit depends on the corresponding HDDR bit (DRxx), as in Table 6-5. The HDR cannot be accessed by the host processor. AA0664 Figure 6-10 Host Data Register (HDR) (X:$FFFFC9) MOTOROLA DSP56309UM/D 6-17...
DSP Side Registers After Reset Table 6-6 shows the results of the four reset types on the bits in each of the HI08 registers accessible by the DSP56309. Reset types are as follows: ¥ Hardware reset (HW) caused by the RESET signal Ñ...
The HI08 can request interrupt service from either the DSP56309 or the host processor. The DSP56309 interrupts are internal and do not require the use of an external interrupt signal. When the appropriate interrupt enable bit in the HCR is set, an interrupt condition caused by the host processor sets the appropriate bit in the HSR, generating an interrupt request to the DSP56309.
HI08-External Host ProgrammerÕs Model routine must read or write the appropriate HI08 register (e.g., clearing HRDF or HTDE) to clear the interrupt. For host command interrupts, the interrupt acknowledge from the DSP56309 program controller clears the pending interrupt condition. Enable X:HCR...
Page 148
I/O instruction rate without testing the handshake flags for each transfer. If full handshake is not needed, the host processor can treat the DSP56309 as a fast device, and data can be transferred between the host processor and the DSP56309 at the fastest host processor data rate.
The control bits are described in the following paragraphs. INIT HLEND HDRQ TREQ RREQ ÑReserved bit. Read as 0. Should be written with 0, for future compatibility. AA0668 Figure 6-12 Interface Control Register 6-22 DSP56309UM/D MOTOROLA...
RXDF Request (Interrupt) 6.6.1.3 ICR Double Host Request (HDRQ) Bit 2 If cleared, the HDRQ bit configures HREQ/HTRQ and HACK/HRRQ as HREQ and HACK, respectively. If HDRQ is set, HREQ/HTRQ and HACK/HRRQ are configured as HTRQ and HRRQ, respectively. MOTOROLA DSP56309UM/D 6-23...
Page 151
ICR Host Flag 0 (HF0) Bit 3 The HF0 bit is a general-purpose flag for host-to-DSP communication. The host processor can set or clear HF0, and the DSP56309 cannot change this bit. HF0 is reflected in the HSR on the DSP side of the HI08.
6.6.2 Command Vector Register (CVR) The host processor uses the CVR to cause the DSP56309 to execute an interrupt. The host command feature is independent of any of the data transfer mechanisms in the HI08. It can cause any of the 128 possible interrupt routines in the DSP core to be executed. This register is illustrated in Figure 6-13.
The RXDF bit indicates that the receive byte registers (RXH:RXM:RXL) contain data from the DSP56309 and can be read by the host processor. RXDF is set when the HTX is transferred to the receive byte registers. RXDF is cleared when the receive data (RXL or RXH according to HLEND bit) register is read by the host processor.
Page 154
DSP side of the HI08. This feature has many applications. For example, if the host processor issues a host command which causes the DSP56309 to read the HRX, the host processor can be guaranteed that the data it just transferred to the HI08 is that being received by the DSP56309.
The receive byte registers are viewed by the host processor as three 8-bit, read-only registers. These registers are the receive high register (RXH), the receive middle register (RXM), and the receive low register (RXL). They receive data from the high, middle, and 6-28 DSP56309UM/D MOTOROLA...
Page 156
If you read any of those status bits within the next two cycles, the bit does not reflect its current status. See the DSP56300 Family Manual, Appendix B, Polling a Peripheral Device for Write for further details. MOTOROLA DSP56309UM/D 6-29...
6.6.8 General-Purpose I/O When configured as GPIO, the HI08 is viewed by the DSP56309 as memory-mapped registers, as documented in Section 6.5ÑHI08 DSP Side ProgrammerÕs Model on page 6-8. Those memory-mapped registers control up to 16 I/O signals. Software RESET instructions and hardware RESET signals clear all DSP side control registers and configure the HI08 as GPIO with all 16 signals disconnected.
HACK must be deasserted to insure IVR data is not being driven on H[7:0] when other registers are being polled. (If the HACK function is not needed, the HACK signal can be configured as a GPIO signal, as documented in Section 6.5.6ÑHost Port Control Register (HPCR) on page 6-12.) MOTOROLA DSP56309UM/D 6-31...
Page 159
If the host processor has issued a command to the DSP56309 by writing to the CVR and setting the HC bit, it can read the HC bit in the CVR to determine whether the command has been accepted by the interrupt controller in the DSP core.
HACK. The contents of the IVR are placed on the host data bus while HREQ/TRQ (or HRRQ) and HACK are simultaneously asserted. The IVR data tells the MC680XX host processor which interrupt routine to execute to service the DSP56309. Table 6-13 shows the HI08 programming model.
Page 168
Motorola Serial Peripheral Interface (SPI). The ESSI consists of independent transmitter and receiver sections and a common ESSI clock generator. There are two independent and identical ESSIs in the DSP56309: ESSI0 and ESSI1. For the sake of simplicity, a single generic ESSI is described.
Page 169
The SRD signal receives serial data and transfers the data to the ESSI receive shift register. SRD can be programmed as a GPIO signal (P4) when the ESSI SRD function is not being used. The ESSI block diagram is shown in Figure 7-1. DSP56309UM/D MOTOROLA...
The SCK signal is a bidirectional signal providing the serial bit rate clock for the ESSI interface. The SCK signal is a clock input or output used by all the enabled transmitters and receiver in synchronous modes or by all the enabled transmitters in asynchronous MOTOROLA DSP56309UM/D...
Page 171
SCD0. SC0 can be programmed as a GPIO signal (P0) when the ESSI SC0 function is not being used. Note: The ESSI can operate with more than one active transmitter only in synchronous mode. DSP56309UM/D MOTOROLA...
Page 172
SCD1. SC1 can be programmed as a GPIO signal (P1) when the ESSI SC1 function is not being used. Table 7-1 summarizes ESSI clock sources, whether synchronous or asynchronous, and shows the bit settings for the signals involved. MOTOROLA DSP56309UM/D...
GPIO signal (P2) when the ESSI SC2 function is not being used. ESSI PROGRAMMING MODEL The ESSI includes the following registers: ¥ Two control registers (CRA, CRB) illustrated in Figure 7-2 and Figure 7-3 ¥ One status register (SSISR) illustrated in Figure 7-4 DSP56309UM/D MOTOROLA...
RS19 RS18 RS17 RS16 RS31 RS30 RS29 RS28 Ð Reserved bit - read as zero should be written with zero for future compatibility AA0863 Figure 7-8 ESSI Receive Slot Mask Register B (RSMB) (ESSI0 X:$FFFFB1, ESSI1 X:$FFFFA1) 7-10 DSP56309UM/D MOTOROLA...
Page 176
The maximum allowed internally generated bit clock frequency is the internal DSP56309 clock frequency divided by 4; the minimum possible internally generated bit clock frequency is the DSP56309 internal clock frequency divided by 4096. Both the hardware RESET signal and the software RESET instruction clear PSR.
FSL[1:0] bits in the CRA to (01). Both the hardware RESET signal and the software RESET instruction clear DC[4:0]. The ESSI frame sync generator functional diagram is shown in Figure 7-10. 7-12 DSP56309UM/D MOTOROLA...
23 in the transmit shift register. The ALC bit is cleared by either a hardware RESET signal or a software RESET instruction. Note: If the ALC bit is set, only 8-, 12-, or 16-bit words should be used. The use of 24- or 32-bit words leads to unpredictable results. MOTOROLA DSP56309UM/D 7-13...
0. This enables an external buffer for the transmitter 0 output. If SSC1 is cleared, SC1 acts as the serial I/O flag. 7.4.1.9 CRA Reserved Bit 23 This bit is reserved. It is read as 0 and should be written with 0. 7-14 DSP56309UM/D MOTOROLA...
Page 180
ESSI flag 0. If the serial control direction bit (SCD0) is set, the SC0 signal is an output. Data present in bit OF0 is written to SC0 at the beginning of the frame in normal mode or at the beginning of the next time slot in network mode. MOTOROLA DSP56309UM/D 7-15...
Page 181
When SCKD is cleared, the external clock source is selected. The internal clock generator is disconnected from the SCK signal, and an external clock source can drive this signal. Either a hardware RESET signal or a software RESET instruction clears SCKD. 7-16 DSP56309UM/D MOTOROLA...
CRB Frame Sync Polarity (FSP) Bit 10 The FSP bit determines the polarity of the receive and transmit frame sync signals. When FSP is cleared, the frame sync signal polarity is positive (i.e., the frame start is indicated MOTOROLA DSP56309UM/D 7-17...
Page 183
ESSI is in synchronous mode and the transmit and receive sections use common clock and frame sync signals. Only in synchronous mode can more than one transmitter be enabled. Either a hardware RESET signal or a software RESET instruction clears SYN. 7-18 DSP56309UM/D MOTOROLA...
Mixed Frame Length: FSL1 = 1, FSL0 = 1 Serial Clock RX Frame SYNC RX Serial Data Data Data TX Frame SYNC TX Serial Data Data Data AA0681 Figure 7-11 CRB FSL0 and FSL1 Bit Operation (FSR = 0) MOTOROLA DSP56309UM/D 7-19...
SYNC Clock External Clock External Frame SYNC Internal Clock Internal Frame SYNC ESSI Bit Clock Clock Frame SYNC Receiver NOTE: Transmitter and receiver can have the same clock frame syncs. AA0682 Figure 7-12 CRB SYN Bit Operation 7-20 DSP56309UM/D MOTOROLA...
Page 186
Enhanced Synchronous Serial Interface (ESSI) ESSI Programming Model MOTOROLA DSP56309UM/D 7-21...
ESSI transmit shift register. Any data present in TX2 is not transmitted. If TE2 is cleared, data can be written to TX2; the TDE bit is cleared, but data is not transferred to transmit shift register 2. 7-22 DSP56309UM/D MOTOROLA...
I/O flag from the start of the frame, in both normal and network mode. The transmit enable sequence for on-demand mode can be the same as for normal mode, or the TE1 bit can be left enabled. MOTOROLA DSP56309UM/D 7-23...
(SYN = 0). TE0 does not affect the generation of frame sync or output flags. Table 7-4 summarizes the preceding sections; it shows possible settings of control bits and their associated signals. Table 7-4 Mode and Signal Definition Table Control Bits ESSI Signals 7-24 DSP56309UM/D MOTOROLA...
Page 190
Transmit Data signal 2 Note: Transmitter 0 drive enable if SSC1 = 1 & SCD1 = 1 Note: Receive Data Note: Flag 0 Note: Flag 1 if SSC1 = 0 Note: Unused (can be used as GPIO signal) Note: Indeterminate MOTOROLA DSP56309UM/D 7-25...
Page 191
Setting the TLIE bit enables an interrupt at the beginning of the last slot of a frame when the ESSI is in network mode. When TLIE is set, the DSP is interrupted at the start of the last slot in a frame regardless of the transmit mask register setting. When TLIE is cleared, 7-26 DSP56309UM/D MOTOROLA...
Page 192
The SSISR (in Figure 7-4 on page 7-9) is a 24-bit, read-only status register used by the DSP to read the status and serial input flags of the ESSI. The SSISR bits are documented in the following paragraphs. MOTOROLA DSP56309UM/D 7-27...
Page 193
SSISR Receive Frame Sync Flag (RFS) Bit 3 When set, the RFS bit indicates that a receive frame sync occurred during the reception of a word in the serial receive data register. This means that the data word is from the 7-28 DSP56309UM/D MOTOROLA...
Page 194
TSR. The TDE bit is cleared when the DSP56309 writes to all the transmit data registers of the enabled transmitters or when the DSP writes to the TSR to disable transmission of the next time slot. If the TIE bit is set, a DSP transmit data interrupt request is issued when TDE is set.
Page 195
If RIE is set, a DSP receive data interrupt request is issued when RDF is set. A hardware RESET signal, software RESET instruction, ESSI individual reset, or STOP instruction clears the RDF bit. The ESSI data path programming models are shown in Figure 7-16 on page 7-31 and Figure 7-17 on page 7-32. 7-30 DSP56309UM/D MOTOROLA...
24-bit Data NOTES: (b) Transmit Registers Data is transmitted MSB first if SHFD = 0. 4-bit fractional format (ALC = 0). 32-bit mode is not shown. AA0686 Figure 7-16 ESSI Data Path Programming Model (SHFD = 0) MOTOROLA DSP56309UM/D 7-31...
24-bit Data NOTES: (b) Transmit Registers Data is received MSB first if SHFD = 0. 4-bit fractional format (ALC = 0). 32-bit mode is not shown. AA0687 Figure 7-17 ESSI Data Path Programming Model (SHFD = 1) 7-32 DSP56309UM/D MOTOROLA...
Page 198
MSB is bit 15 and the most significant byte is unused. Unused bits are read as 0s. Data is shifted out of these registers MSB first if the SHFD bit is cleared and LSB first if the SHFD bit is set. MOTOROLA DSP56309UM/D 7-33...
Page 199
Depending on the setting of the bits, the transmitter(s) either tri-state the transmitter(s) data signal(s) or transmit a data word and generate a transmitter empty condition. 7-34 DSP56309UM/D MOTOROLA...
Page 200
N, and the RDF flag is set. Setting the bits in the RSM affects the next frame transmission. The frame currently being transmitted is not affected by the new RSM setting. If the RSM is read, it shows the current setting. MOTOROLA DSP56309UM/D 7-35...
Page 201
All status bits of the interface are set to their reset state. The contents of CRA and CRB are not affected. The ESSI individual reset allows a program to reset each interface separately from the other 7-36 DSP56309UM/D MOTOROLA...
Page 202
Occurs when the receive exception interrupt is enabled, the receive data register is full, and a receiver overrun error has occurred. This exception sets the ROE bit. The ROE bit is cleared by first reading the SSISR and then reading RX. MOTOROLA DSP56309UM/D 7-37...
Page 203
TX registers or to the TSR clears this interrupt. This error-free interrupt can use a fast interrupt service routine for minimum overhead (if no more than two transmitters are used). To configure an ESSI exception, perform the following steps: 7-38 DSP56309UM/D MOTOROLA...
Page 204
(the event is not queued in this case). 6. If interrupts derived from the core or other peripherals need to be enabled at the same time as ESSI interrupts, step f should be done last. MOTOROLA DSP56309UM/D 7-39...
Page 205
SYN bit is set, the ESSI TX and RX clocks and frame sync are driven by the same source (either external or internal). Since the ESSI is designed to operate either synchronously or asynchronously, separate receive and transmit interrupts are provided. 7-40 DSP56309UM/D MOTOROLA...
Page 206
¥ If the FSL1 bit is cleared, the RX frame sync is asserted during the entire data transfer period. This frame sync length is compatible with Motorola codecs, serial peripherals that conform to the Motorola SPI, serial A/D and D/A converters, shift registers, and telecommunication pulse code modulation (PCM) serial I/O.
Page 207
Two ESSI signals (SC[1:0]) are available for use as serial I/O flags. Their operation is controlled by the SYN, SCD[1:0], SSC1, and TE[2:1] bits in the CRB/CRA.The control bits OF[1:0] and status bits IF[1:0] are double-buffered to/from SC[1:0]. Double-buffering the flags keeps the flags in sync with TX and RX. 7-42 DSP56309UM/D MOTOROLA...
Page 208
The OF[1:0] values can be set directly by software. This allows the DSP56309 to control data transmission by indirectly controlling the value of the SC[1:0] flags.
PDC3 PDC2 PDC1 PDC0 STDn SRDn SCKn SCKn2 SCKn1 SCKn0 PRRC: ESSI0, PRRD: ESSI1 Reserved Bit, Read As Zero, Should Be Written With Zero For Future Compatibility AA0689 Figure 7-19 Port Direction Register (PRR)(PRRC X:$FFFFBE) (PRRD X:$FFFFAE) 7-44 DSP56309UM/D MOTOROLA...
PD[i] bit is reflected on the this signal. Figure 7-20 shows the PDR bits. STDn SRDn SCKn SCKn2 SCKn1 SCKn0 PDRD: ESSI0, PDRD: ESSI1 Reserved Bit, Read As Zero, Should Be Written With Zero For Future Compatibility AA0690 Figure 7-20 Port Data Register (PDR) (PDRC X:$FFFFBD) (PDRD X:$FFFFAD) MOTOROLA DSP56309UM/D 7-45...
Page 211
Enhanced Synchronous Serial Interface (ESSI) GPIO Signals and Registers Note: Either a hardware RESET signal or a software RESET instruction clears all PDR bits. 7-46 DSP56309UM/D MOTOROLA...
Page 212
SECTION 8 SERIAL COMMUNICATION INTERFACE (SCI) MOTOROLA DSP56309UM/D...
Page 214
Serial Communication Interface (SCI) Introduction INTRODUCTION The DSP56309 serial communication interface (SCI) provides a full-duplex port for serial communication to other DSPs, microprocessors, or peripherals such as modems. The SCI interfaces without additional logic to peripherals that use TTL-level signals. With a small amount of additional logic, the SCI can connect to peripheral interfaces that have non-TTL level signals, such as the RS232C, RS422, etc.
Page 215
The SCI programming model can be viewed as three types of registers: ¥ Control Ð SCI control register (SCR) in Figure 8-1 Ð SCI clock control register (SCCR) in Figure 8-3 ¥ Status Ð SCI status register (SSR) in Figure 8-2 ¥ Data transfer DSP56309UM/D MOTOROLA...
Figure 8-1 SCI Control Register (SCR) IDLE RDRF TDRE TRNE AA0855 Figure 8-2 SCI Status Register (SSR) CD11 CD10 Reserved bit - read as 0 should be written with 0 for future compatibility AA0856 Figure 8-3 SCI Clock Control Register (SCCR) MOTOROLA DSP56309UM/D...
Note: 1. Modes 1, 3, and 7 are reserved. 0 = Data Byte 2. D0 = LSB; D7 = MSB 3. Data is transmitted and received LSB first if SSFTD = 0, or MSB first if SSFTD = 1 AA0691 Figure 8-4 SCI Data Word Formats DSP56309UM/D MOTOROLA...
Page 218
0 = Data Byte 2. D0 = LSB; D7 = MSB 3. Data is transmitted and received LSB first if SSFTD = 0, or MSB first if SSFTD = 1 AA0691 (cont.) Figure 8-4 SCI Data Word Formats (Continued) MOTOROLA DSP56309UM/D...
1s, an error in transmission has occurred. When even parity is selected, an even number must result from the calculation performed at both ends of the line, or an error in transmission has occurred. DSP56309UM/D MOTOROLA...
Page 220
When RWU is set and the SCI is in an asynchronous mode, the wakeup function is enabledÑthat is, the SCI is asleep, and can be awakened by the event defined by the WAKE bit. In the sleep state, all interrupts and all receive flags except IDLE are disabled. MOTOROLA DSP56309UM/D...
Page 221
8.3.1.8 SCR Transmitter Enable (TE) Bit 9 When TE is set, the transmitter is enabled. When TE is cleared, the transmitter completes transmission of data in the SCI Transmit Data Shift Register, then the serial output is 8-10 DSP56309UM/D MOTOROLA...
Page 222
SCR SCI Receive Interrupt Enable (RIE) Bit 11 The RIE bit is set to enable the SCI Receive Data interrupt. If RIE is cleared, the Receive Data interrupt is disabled, and then the RDRF bit in the SCI Status Register must be MOTOROLA DSP56309UM/D 8-11...
Page 223
In asynchronous mode, positive polarity means that the rising edge of the clock occurs in the center of the period that data is valid. Negative polarity means that the falling edge of the clock occurs during the center of the period 8-12 DSP56309UM/D MOTOROLA...
Page 224
4 serial clock cycle delay between writing STX and loading the transmit shift register; in addition, TDRE is set in the middle of transmitting the second bit. When using an external serial transmit clock, if the clock stops, the SCI transmitter stops. TDRE is not set MOTOROLA DSP56309UM/D 8-13...
Page 225
10-bit asynchronous mode, 11-bit multidrop mode, and 8-bit synchronous mode, the PE bit is always cleared since there is no parity bit in these modes. If the byte received causes both parity and overrun errors, the SCI receiver recognizes only the overrun error. 8-14 DSP56309UM/D MOTOROLA...
SCKP is set, the data changes on the positive edge and is stable on the negative edge. ¥ The received data on the RXD signal is sampled on the positive edge (if SCKP = 0) ´ or on the negative edge (if SCKP = 1) of the 1 serial clock. MOTOROLA DSP56309UM/D 8-15...
¥ If COD is set and SCLK is an output, the SCI clock is fed directly out to the SCLK ´ signal. Thus, the SCLK output is a 16 baud clock. Either a hardware RESET signal or a software RESET instruction clears COD. 8-16 DSP56309UM/D MOTOROLA...
Either a hardware RESET signal or a software RESET instruction clears RCM. Table 8-2 TCM and RCM Bit Configuration SCLK TX Clock RX Clock Mode Signal Internal Internal Output Synchronous/Asynchronous Internal External Input Asynchronous Only External Internal Input Asynchronous Only External External Input Synchronous/Asynchronous MOTOROLA DSP56309UM/D 8-17...
Figure 8-7). There are two receive registersÑa receive data register (SRX) and a serial-to-parallel receive shift register. There are also two transmit registersÑa transmit data register (called either STX or STXA) and a parallel-to-serial transmit shift register. 8-18 DSP56309UM/D MOTOROLA...
0s. Mapping SRX as described allows three bytes to be efficiently packed into one 24-bit word by ORing three data bytes read from the three addresses. MOTOROLA DSP56309UM/D 8-19...
Page 231
STX or STXA to prevent overruns unless transmit interrupts have been enabled. Either STX or STXA is usually written as part of the interrupt service routine. An interrupt is generated only if TDRE is set. The transmit shift register is indirectly visible via the TRNE bit in the SSR. 8-20 DSP56309UM/D MOTOROLA...
Page 232
¥ 11-bit multidrop asynchronous (1 start, 8 data, 1 data type, 1 stop) This mode is used for master/slave operation with wakeup on idle line and wakeup on address bit capability. It allows the DSP56309 to share a single serial line efficiently with other peripherals.
Page 233
Executing the STOP instruction halts operation of the SCI until the DSP is restarted, causing the SSR to be reset. No other SCI registers are affected by the STOP instruction. Table 8-3 on page 8-23 illustrates how each type of reset affects each register in the SCI. 8-22 DSP56309UM/D MOTOROLA...
Page 235
SCI Initialization The correct way to initialize the SCI is as follows: 1. Send a hardware RESET signal or software RESET instruction. 2. Program SCI control registers. 3. Configure at least one SCI signal as other than GPIO. 8-24 DSP56309UM/D MOTOROLA...
Page 236
SCI receive sequence on the RXD signal, as defined by the operating mode (i.e., idle line sequence). ¥ Data is transmitted only after the transmitter is enabled (TE = 1), and after transmitting the initialization sequence depending on the operating mode. MOTOROLA DSP56309UM/D 8-25...
Page 237
This interrupt is enabled by SCR bit 10 (ILIE). 5. SCI timer is caused by the baud rate counter reaching zero. This interrupt is automatically reset when the interrupt is accepted. This interrupt is enabled by SCR bit 13 (TMIE). 8-26 DSP56309UM/D MOTOROLA...
GPIO, PDC[i] controls the port signal direction. When PDC[i] is set, the GPIO port signal[i] is configured as output. When PDC[i] is cleared, the GPIO port signal[i] is configured as input. Bits in the Port E direction register appear in Figure 8-9. MOTOROLA DSP56309UM/D 8-27...
PD[i] bit reflects the value of this signal. If a port signal[i] is configured as a GPIO output, then the value of the corresponding PD[i] bit is reflected on this signal. Bits of the Port E data register appear in Figure 8-10. 8-28 DSP56309UM/D MOTOROLA...
GPIO Signals and Registers Reserved Bit, Read as 0, Should be Written with 0 for Future Compatibility AA0697 Figure 8-10 Port E Data Register (PDRE) Note: A hardware RESET signal or a software RESET instruction clears all PDRE bits. MOTOROLA DSP56309UM/D 8-29...
Page 241
Serial Communication Interface (SCI) GPIO Signals and Registers 8-30 DSP56309UM/D MOTOROLA...
Introduction INTRODUCTION This section describes the internal triple timer module in the DSP56309. Each timer has a single signal that can be used as a GPIO signal or as a timer signal. These three timers can be used to generate timed pulses or as pulse width modulators. They can also be used as an event counter, to capture an event, or to measure the width or period of a signal.
The timer mode is controlled by the TC[3:0] bits of the timer control/status register (TCSR). For a listing of the timer modes, see Section 9ÑTimer Operational Modes. For a description of their operation, see Section 9.4.1ÑTiming Modes. DSP56309UM/D MOTOROLA...
Triple Timer Module Triple Timer Module Programming Model The DSP56309 views each timer as a memory-mapped peripheral with four registers occupying four 24-bit words in the X data memory space. Either standard polled or interrupt programming techniques can be used to service the timers. The timer programming model is shown in Figure 9-3 on page 9-6.
The two PS bits control the source of the prescaler clock. Table 9-1 summarizes PS bit functionality. The prescalerÕs use of a TIO signal is not affected by the TCSR settings of the timer corresponding to the TIO signal being used. MOTOROLA DSP56309UM/D...
If the prescaler source clock is external, the prescaler counter is incremented by signal transitions on the TIO signal. The external clock is internally synchronized to the internal clock. The external clock frequency must be lower than the DSP56309 internal operating frequency divided by 4 (CLK/4).
The timer counter can hold a maximum value of $FFFFFF. When the counter value is at the maximum value and a new event causes the counter to be incremented to $000000, the timer generates an overflow interrupt. MOTOROLA DSP56309UM/D...
(i.e., when the TE bit in the TCSR has been cleared). Table 9-2 Timer Control Bits Bit Settings Mode Characteristics Mode Mode Function Clock Number Timer and GPIO Internal GPIO Timer Pulse Output Internal Timer Toggle Output Internal Event Counter Input External 9-10 DSP56309UM/D MOTOROLA...
Page 252
The Inverter (INV) bit affects the polarity definition of the incoming signal on the TIO signal when TIO is programmed as input. It also affects the polarity of the output pulse generated on the TIO signal when TIO is programmed as output. MOTOROLA DSP56309UM/D 9-11...
Event is captured Event is captured Ñ Ñ on the rising edge on the falling of the signal from edge of the signal the TIO signal from the TIO signal 9-12 DSP56309UM/D MOTOROLA...
Page 254
TLR value on each appropriate edge of the input signal. If the TRM bit is cleared, the counter operates as a free running counter and is incremented on each incoming event. The TRM bit is cleared by a hardware RESET signal or a software RESET instruction. MOTOROLA DSP56309UM/D 9-13...
Page 255
1 to the TOF bit. Writing a 0 to the TOF bit has no effect. The bit is also cleared when the timer overflow interrupt is serviced. The TOF bit is cleared by a hardware RESET signal, a software RESET instruction, the STOP instruction, or by clearing the TE bit to disable the timer. 9-14 DSP56309UM/D MOTOROLA...
Page 256
In this mode, the counter is also reloaded whenever the TLR is written with a new value while the TE bit in the TCSR is set. ¥ In all modes, if the TRM bit in the TCSR is cleared (TRM = 0), the counter operates as a free-running counter. MOTOROLA DSP56309UM/D 9-15...
Page 258
TCPR. The counter is loaded with the TLR value when the first timer clock signal is received. The timer clock can be taken from either the DSP56309 clock divided by two (CLK/2) or from the prescaler clock output. Each subsequent clock signal increments the counter.
Page 259
The TIO signal is loaded with the value of the INV bit. The timer clock signal can be taken from either the DSP56309 clock divided by two (CLK/2) or from the prescaler clock output. Each subsequent clock signal increments the counter.
Page 260
The TIO signal is loaded with the value of the INV bit. The timer clock signal can be taken from either the DSP56309 clock divided by two (CLK/2) or from the prescaler clock output. Each subsequent clock signal increments the counter.
Page 261
Each subsequent clock signal increments the counter. If an external clock is used, it must be internally synchronized to the internal clock, and its frequency must be less than the DSP56309 internal operating frequency divided by 4.
Page 262
TIO input signal, the counter is loaded with the TLR value on the first timer clock signal received either from the DSP56309 clock divided by two (CLK/2) or from the prescaler clock input. Each subsequent clock signal increments the counter.
Page 263
After the first appropriate transition occurs on the TIO input signal, the counter is loaded with the TLR value on the first timer clock signal received from either the DSP56309 clock divided by two (CLK/2) or the prescaler clock output. Each subsequent clock signal increments the counter.
Page 264
TLR. When the first timer clock signal is received, the counter is loaded with the TLR value. The timer clock signal can be taken from either the DSP56309 clock divided by two (CLK/2) or from the prescaler clock output. Each subsequent clock signal increments the counter.
Page 265
TPCR. When first timer clock is received from either the DSP56309 internal clock divided by two (CLK/2) or the prescaler clock output, the counter is loaded with the TLR value. Each subsequent timer clock increments the counter.
Page 266
TCPR. The counter is loaded with the TLR value on the first timer clock received from either the DSP56309 internal clock divided by two (CLK/2) or the prescaler clock output. Each subsequent timer clock increments the counter.
Page 267
TPCR. The counter is loaded with the TLR value on the first timer clock received from either the DSP56309 internal clock divided by two (CLK/2) or the prescaler clock output. Each subsequent timer clock increments the counter. The TIO signal is set to the value of the INV bit.
Page 268
TIO signals are disconnected. Any external changes that happen to the TIO signals are ignored when the DSP56309 is in the stop state. To insure correct operation, the timers should be disabled before the DSP56309 is placed into the stop state.
TCK, TDI, and TDO are used to shift in and out data and instructions. See Section 11.2ÑJTAG Signals on page 11-4 for the description of the JTAG signals. To facilitate emulation-specific functions, one additional signal, called DE, is provided on the DSP56309. MOTOROLA DSP56309UM/D...
The user can also stop all the devices synchronously by asserting the DE line. 10.4 OnCE CONTROLLER The OnCE controller contains the following blocks: OnCE Command Register (OCR), OnCE Decoder, and the status/control register. Figure 10-3 illustrates a block diagram of the OnCE controller. 10-4 DSP56309UM/D MOTOROLA...
Exit Command (EX) Bit 5 If the EX bit is set, leave debug mode and resume normal operation. The EXIT command is executed only if the GO command is issued, and the operation is write to OPDBR or MOTOROLA DSP56309UM/D 10-5...
Write the data associated with the command into the register specified by RS4ÐRS0. Read the data contained in the register specified by RS4ÐRS0. Table 10-4 OnCE Register Select Encoding RS[4:0] Register Selected 00000 OnCE Status and Control Register (OSCR) 10-6 DSP56309UM/D MOTOROLA...
Memory Breakpoint Occurrence (MBO) Bit 3 The MBO bit is a read-only status bit that is set when debug mode is entered because a memory breakpoint has been encountered. This bit is cleared when leaving debug mode. 10-8 DSP56309UM/D MOTOROLA...
RAM or ROM and while in any operating mode. Memory accesses are monitored according to the contents of the OBCR as specified in Section 10.5.6ÑOnCE Breakpoint Control Register (OBCR). 10-10 DSP56309UM/D MOTOROLA...
Page 280
JTAG port. Before enabling breakpoints, OMLR1 must be loaded by the external command controller. 10.5.5 OnCE Memory Address Comparator 1 (OMAC1) The OMAC1 compares the current memory address (stored in OMAL0) with the OMLR1 contents. MOTOROLA DSP56309UM/D 10-11...
Breakpoint 0 Read/Write Select (RW00ÐRW01) Bits 2Ð3 The RW00ÐRW01 bits define the memory breakpoint 0 to occur when a memory address access is performed for read, write, or both. See Table 10-7 for the definition of the RW00ÐRW01 bits. 10-12 DSP56309UM/D MOTOROLA...
See Table 10-9 for the definition of the RW10ÐRW11 bits. Table 10-9 Breakpoint 1 Read/Write Select Table RW11 RW10 Description Breakpoint disabled Breakpoint on write access Breakpoint on read access Breakpoint read or write access MOTOROLA DSP56309UM/D 10-13...
The OMBC can be read or written through the JTAG port. Every time that the limit register is changed or a different breakpoint event is selected in the OBCR, the breakpoint counter must be written afterwards. This insures that the OnCE 10-14 DSP56309UM/D MOTOROLA...
To enable trace mode, the counter is loaded with a value, the program counter is set to the start location of the instruction(s) to be executed real time, the TME bit is set in the MOTOROLA DSP56309UM/D 10-15...
Holding the DE line asserted during normal chip activity causes the chip to finish the execution of the current instruction and then enter Debug mode. After receiving the acknowledge, the external command controller must negate the DE line before sending 10-16 DSP56309UM/D MOTOROLA...
Page 286
After receiving the acknowledge, the external command controller must negate DE before sending the first command. Note: In this case, the chip completes the execution of the WAIT instruction and halts after the next instruction enters the instruction latch. MOTOROLA DSP56309UM/D 10-17...
Figure 10-9 shows the block diagram of the pipeline information registers, with the exception of the PAB registers, which appear in Figure 10-10 on page 10-22. 10-18 DSP56309UM/D MOTOROLA...
Since there is no direct write access to the instruction latch, the task of restoring is accomplished by writing to OPDBR with no-GO and no-EX. In this case the data written on PDB is transferred into the instruction latch. MOTOROLA DSP56309UM/D 10-19...
10.9.3 OnCE PAB Register for Execute (OPABEX) The OPABEX is a 16-bit register that stores the address of the instruction currently in the instruction latch. This is the instruction that would have been decoded and executed if 10-20 DSP56309UM/D MOTOROLA...
Page 290
Therefore, it is imperative to read 17 bits of data when reading the 12 trace buffer registers. Since data is read LSB first, the invalid bit is the first bit to be read. MOTOROLA DSP56309UM/D 10-21...
To permit an efficient means of communication between the external command controller and the DSP56300 core chip, the following protocol is adopted. Before starting any debugging activity, the external command controller has to wait for an acknowledge 10-22 DSP56309UM/D MOTOROLA...
DSP is the only device in the JTAG chain. If there is more than one device in the chain (additional DSPs or other devices), the other devices can be forced to execute the JTAG BYPASS instruction such as their effect in the serial stream will be one bit per additional MOTOROLA DSP56309UM/D 10-23...
Page 293
2. Shift in ENABLE_ONCE. While shifting-in the new instruction, the captured status information is shifted-out. Pass through update-IR. 3. Return to Run-Test/Idle. The external command controller can analyze the information shifted out and detect whether the chip has entered debug mode. 10-24 DSP56309UM/D MOTOROLA...
Page 294
6. Select shift-DR. Shift out the 16 bit OPABEX register. Pass through update-DR. 7. Select shift-DR. Shift in the ÒRead FIFOÓ. Pass through update-DR. 8. Select shift-DR. Shift out the 17 bit FIFO register. Pass through update-DR. 9. Repeat steps 7 and 8 for the entire FIFO (12 times). MOTOROLA DSP56309UM/D 10-25...
Page 295
10.12.6 Displaying X Memory Area Starting at Address $xxxx The DSP56309 must be in debug mode and all actions described in Section 10.12.3ÑSaving Pipeline Information must have been executed. Since R0 is used as pointer for the memory, R0 is saved first. The sequence of actions is as follows: 1.
Page 296
16. Select shift-DR. Shift in the ÒNO SELECT with GO no-EXÓ. Pass through update-DR. This reexecutes the same ÒMOVE X:(R0)+, X:OGDBÓ instruction. 17. Repeat from step 14 to complete the reading of the entire block. When finished, restore the original value of R0. MOTOROLA DSP56309UM/D 10-27...
Page 297
If the device enters debug mode during a DO LOOP, REP instruction, or other Note: special cases such as interrupt processing, STOP, WAIT, or conditional branching, you must first reset the DSP56300 and then proceed with the execution of the new program. 10-28 DSP56309UM/D MOTOROLA...
DEBUG_REQUEST (0111) are ..............shifted in while status is shifted out. Shift-IR Idle Exit1-IR Idle Ñ Update-IR Idle The debug request is generated. Select-DR-Scan Idle Ñ Select-IR-Scan Idle Capture-IR Idle The status is sampled in the shifter. MOTOROLA DSP56309UM/D 10-29...
The four bits of the JTAG ENABLE_ONCE instruction Shift-IR Idle (0110) are shifted into the JTAG instruction register while status is Shift-IR Idle shifted out. Shift-IR Idle Exit1-IR Idle Ñ Update-IR Idle The OnCE module is enabled. 10-30 DSP56309UM/D MOTOROLA...
The PIL value is loaded in the shifter. Select-DR-Scan Idle Ñ Capture-DR Idle Ñ Shift-DR Idle The 24 bits of the PIL are shifted out (24 steps)..............Shift-DR Idle Exit1-DR Idle Ñ Update-DR Idle Ñ Select-DR-Scan Idle Ñ Capture-DR Idle Ñ MOTOROLA DSP56309UM/D 10-31...
Page 301
This step can be repeated, enabling an external ..........command controller to analyze the information. Run-Test/Idle Idle During Òstep vÓ the external command controller stores the pipeline information. Afterwards, it can proceed with the debug activities as requested by the user. 10-32 DSP56309UM/D MOTOROLA...
Page 302
SECTION 11 JTAG PORT MOTOROLA DSP56309UM/D 11-1...
DSP56300 core implementation. For internal details and applications of the standard, refer to the IEEE 1149.1 document. Figure 11-1 shows a block diagram of the TAP port. MOTOROLA DSP56309UM/D 11-3...
Figure 11-1 TAP Block Diagram 11.2 JTAG SIGNALS As described in the IEEE 1149.1 document, the JTAG port requires a minimum of four signals to support TDI, TDO, TCK, and TMS signals. The DSP56300 family also provides 11-4 DSP56309UM/D MOTOROLA...
Page 306
JTAG Port JTAG Signals the optional TRST signal. On the DSP56309, the debug event (DE) signal is provided for use by the OnCE module; it is documented in Section 10ÑOn-Chip Emulation Module. The signal functions are described in the following paragraphs.
TMS signal sampled on the rising edge of TCK signal. For a description of the TAP controller states, refer to the IEEE 1149.1 document. Test-Logic-Reset Select-IR-Scan Run-Test/Idle Select-DR-Scan Capture-DR Capture-IR Shift-DR Shift-IR Exit1-DR Exit1-IR Pause-IR Pause-DR Exit2-DR Exit2-IR Update-DR Update-IR AA0114 Figure 11-2 TAP Controller State Machine 11-6 DSP56309UM/D MOTOROLA...
11.3.1 Boundary Scan Register (BSR) The BSR in the DSP56309 JTAG implementation contains bits for all device signal and clock signals and associated control signals. All DSP56309 bidirectional signals have a single register bit in the BSR for signal data; each such signal is controlled by an associated control bit in the BSR.
DSP56300 core system logic to force a predictable internal state while performing external boundary scan operations. By using the TAP, the BSR is capable of the following: ¥ Scanning user-defined values into the output buffers ¥ Capturing values presented to input signals 11-8 DSP56309UM/D MOTOROLA...
As more components emerge which conform to the IEEE 1149.1 standard, it is desirable to allow for a system diagnostic controller unit to blindly interrogate a board design in order to determine the type of each component in MOTOROLA DSP56309UM/D 11-9...
Page 311
MotorolaÕs manufacturer identity is 00000001110. The customer part number consists of two parts: Motorola design center number (bits 27:22) and a sequence number (bits 21:12). The sequence number is divided into two parts: core number (bits 21:17) and chip derivative number (bits 16:12).
0 on the rising edge of TCK in the Capture-DR controller state. Therefore, the first bit shifted out after selecting the bypass register is always a logical 0. Shift DR To TDO From TDI AA0115 CLOCKDR Figure 11-5 Bypass Register MOTOROLA DSP56309UM/D 11-11...
V achieve minimal power consumption. Since during stop mode all DSP56309 core clocks are disabled, the JTAG interface provides the means of polling the device status (sampled in the Capture-IR state).
JTAG Port DSP56309 Boundary Scan Register 11.5 DSP56309 BOUNDARY SCAN REGISTER Table 11-2 provides a listing of the contents of the BSR for the DSP56309. Table 11-2 DSP56309 BSR Bit Definitions Bit # Cell Type Signal Name Signal Type BSR Cell Type...
Page 315
JTAG Port DSP56309 Boundary Scan Register Table 11-2 DSP56309 BSR Bit Definitions (Continued) Bit # Cell Type Signal Name Signal Type BSR Cell Type BC_6 Input/Output Data BC_6 Input/Output Data BC_6 Input/Output Data BC_6 Input/Output Data BC_1 D[11:0] Ñ Control...
Page 316
JTAG Port DSP56309 Boundary Scan Register Table 11-2 DSP56309 BSR Bit Definitions (Continued) Bit # Cell Type Signal Name Signal Type BSR Cell Type BC_2 Output Data BC_2 Output Data BC_2 Output Data BC_2 Output Data BC_2 CLKOUT Output Data...
Page 317
JTAG Port DSP56309 Boundary Scan Register Table 11-2 DSP56309 BSR Bit Definitions (Continued) Bit # Cell Type Signal Name Signal Type BSR Cell Type BC_6 HAS/A0 Input/Output Data BC_1 HA8/A1 Ñ Control BC_6 HA8/A1 Input/Output Data BC_1 HA9/A2 Ñ Control...
Page 318
JTAG Port DSP56309 Boundary Scan Register Table 11-2 DSP56309 BSR Bit Definitions (Continued) Bit # Cell Type Signal Name Signal Type BSR Cell Type BC_6 SCK1 Input/Output Data BC_1 GPIO2 Ñ Control BC_6 GPIO2 Input/Output Data BC_1 GPIO1 Ñ Control...
Page 319
JTAG Port DSP56309 Boundary Scan Register Table 11-2 DSP56309 BSR Bit Definitions (Continued) Bit # Cell Type Signal Name Signal Type BSR Cell Type BC_6 STD1 Input/Output Data BC_1 SRD1 Ñ Control BC_6 SRD1 Input/Output Data BC_1 SC11 Ñ Control...
Page 320
; EPROM, from the Host Interface or from the SCI serial interface. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; If MD:MC:MB:MA=1000, then the Boot ROM is bypassed and the DSP56309 will ; If MD:MC:MB:MA=1000, then the Boot ROM is bypassed and the DSP56302 will ; start fetching instructions beginning with the address $8000 assuming ;...
Page 321
; Revised March, 18 1997. ; Bootstrap through the Host Interface, External EPROM or SCI. ; This is the Bootstrap program contained in the DSP56309 192-word Boot ; ROM. This program can load any program RAM segment from an external ;...
Page 322
; After reading the program words, program execution starts from the same ; address where loading started. ; The Host Interface bootstrap load program may be stopped by setting the ; Host Flag 0 (HF0). This will start execution of the loaded program from MOTOROLA DSP56309UM/D...
Page 323
$1c00 endif start_pram ;; 20k PRAM length_pram $5000 ;;;;;;;;;;;;;;;;;;;; GENERAL EQUATES ;;;;;;;;;;;;;;;;;;;;;;;; BOOT $D00000 ; this is the location in P memory ; on the external memory bus ; where the external byte-wide ; EPROM would be located DSP56309UM/D MOTOROLA...
Page 324
; When the downloading is terminated, the program will start execution of the ; loaded program from the specified starting address. ; The HI08 boot ROM program enables the following busses to download programs ; through the HI08 port: MOTOROLA DSP56309UM/D...
Page 325
; HASP = 0 (address strobe polarity has no meaning in non-multiplexed bus) ; HDSP = 0 Negative data stobes polarity ; HROD = 0 Host request is active when enabled ; spare = 0 This bit should be set to 0 for future compatability DSP56309UM/D MOTOROLA...
Page 326
; spare = 0 This bit should be set to 0 for future compatability ; HEN = 0 When the HPCR register is modified HEN should be cleared ; HAEN = 0 Host acknowledge is disabled ; HREN = 1 Host requests are enabled MOTOROLA DSP56309UM/D...
Page 327
; Wait for RDRF to go high movep X:M_SRXL,A2 ; Put 8 bits in A2 jclr #1,X:M_SSR,* ; Wait for TDRE to go high movep A2,X:M_STXL ; echo the received byte asr #8,a,a _LOOP6 move a1,r0 ; starting address for load DSP56309UM/D MOTOROLA...
Page 328
; expanded mode and jumps to the RESET vector. andi #$0,ccr ; Clear CCR as if RESET to 0. jmp (r1) ; Then go to starting Prog addr. ;======================================================================== ; The following modes are reserved, some of which are used for internal testing MOTOROLA DSP56309UM/D...
Page 329
;; write pattern to all memory locations (EQUALDATA) ;; x/y ram symmetrical ;; write x and y memory clr a #start_dram,r0 ;; start of x/y ram move #>length_dram,n0 ;; length of x/y ram mac x0,x1,a x,l:(r0)+ ;; exercise mac, write x/y ram A-10 DSP56309UM/D MOTOROLA...
Page 330
;; restore pointer, clear a n0,_loopx move x:(r0)+,a1 ;; a0=a2=0 x1,a ;; accumulate error in b _loopx ;; check yram clr a #start_yram,r1 ;; restore pointer, clear a n1,_loopy move y:(r1)+,a1 ;; a0=a2=0 x0,a ;; accumulate error in b MOTOROLA DSP56309UM/D A-11...
Page 331
;; toggle pin and keep on looping burn1 wait ;; enter wait after test completion ORG PL:,PL: PATTERNS ;; align for correct modulo addressing PL:PATTERNS,PL:PATTERNS ;; Each value is written to all memories $555555 $AAAAAA $333333 $F0F0F0 NUM_PATTERNS *-PATTERNS A-12 DSP56309UM/D MOTOROLA...
Page 332
APPENDIX B EQUATES ;***************************************************************************** ;***************************************************************************** EQUATES for DSP56309 I/O registers and ports EQUATES for 56302 I/O registers and ports Last update: March 1998 Last update: June 11 1995 ;***************************************************************************** ;***************************************************************************** page 132,55,0,0,0 page 132,55,0,0,0 ioequ ident ioequ ident ;------------------------------------------------------------------------ ;------------------------------------------------------------------------...
Page 333
BUS INTERFACE UNIT (BIU) EQUATES ....B-13 B.10 INTERRUPT EQUATES ......B-15 DSP56309UM/D MOTOROLA...
Page 334
; Host Transmit Interrupt Enable M_HCIE ; Host Command Interrupt Enable M_HF2 ; Host Flag 2 M_HF3 ; Host Flag 3 HSR bits definition M_HRDF ; Host Receive Data Full M_HTDE ; Host Receive Data Empty M_HCP ; Host Command Pending MOTOROLA DSP56309UM/D...
Page 335
SCI Control Register Bit Flags M_WDS ; Word Select Mask (WDS0-WDS3) M_WDS0 ; Word Select 0 M_WDS1 ; Word Select 1 M_WDS2 ; Word Select 2 M_SSFTD EQU ; SCI Shift Direction M_SBK ; Send Break M_WAKE ; Wakeup Mode Select DSP56309UM/D MOTOROLA...
Page 336
; SSI0 Status Register M_CRB0 $FFFFB6 ; SSI0 Control Register B M_CRA0 $FFFFB5 ; SSI0 Control Register A M_TSMA0 EQU $FFFFB4 ; SSI0 Transmit Slot Mask Register A M_TSMB0 EQU $FFFFB3 ; SSI0 Transmit Slot Mask Register B MOTOROLA DSP56309UM/D...
Page 342
$380000 ; DMA Transfer Mode Mask ;(DTM2-DTM0) M_DTM0 ; DMA Transfer Mode 0 M_DTM1 ; DMA Transfer Mode 1 M_DTM2 ; DMA Transfer Mode 2 M_DIE ; DMA Interrupt Enable bit M_DE ; DMA Channel Enable bit MOTOROLA DSP56309UM/D B-11...
Page 343
M_XTLR ; XTAL Range select bit M_XTLD ; XTAL Disable Bit M_PSTP ; STOP Processing State Bit M_PEN ; PLL Enable Bit M_PCOD ; PLL Clock Output Disable Bit M_PD $F00000 ; PreDivider Factor Bit Mask (PD0-PD3) B-12 DSP56309UM/D MOTOROLA...
Page 344
; External Access Type and Pin Definition Bits Mask BAT(1:0) M_BAAP ; Address Attribute Pin Polarity M_BPEN ; Program Space Enable M_BXEN ; X Data Space Enable M_BYEN ; Y Data Space Enable M_BAM ; Address Muxing M_BPAC ; Packing Enable MOTOROLA DSP56309UM/D B-13...
Page 345
; Stack Extension space select bit in OMR. M_EUN ; Extended stack UNderflow flag in OMR. M_EOV ; Extended stack OVerflow flag in OMR. M_WRP ; Extended WRaP flag in OMR. M_SEN ; Stack Extension Enable bit in OMR. B-14 DSP56309UM/D MOTOROLA...
Page 347
;--------------------------------------------------------------- I_HRDF I_VEC+$60 ; Host Receive Data Full I_HTDE I_VEC+$62 ; Host Transmit Data Empty I_HC I_VEC+$64 ; Default Host Command ;--------------------------------------------------------------- ; INTERRUPT ENDING ADDRESS ;--------------------------------------------------------------- I_INTEND EQU I_VEC+$FF ; last address of interrupt vector space B-16 DSP56309UM/D MOTOROLA...
Page 348
APPENDIX C DSP56309 BSDL LISTING -- M O T O R O L A S S D T J T A G S O F T W A R E -- M O T O R O L A S S D T...
Page 349
DSP56309 BSDL Listing -- M O T O R O L A S S D T J T A G S O F T W A R E -- BSDL File Generated: Tue Mar 3 15:14:41 1998 -- Revision History: entity DSP56309 is generic (PHYSICAL_PIN_MAP : string := ÒTQFP144Ó);...
Page 350
HA9:inout bit; HA8:inout bit; HAS:inout bit); use STD_1149_1_1994.all; attribute COMPONENT_CONFORMANCE of DSP56309 : entity is ÒSTD_1149_1_1993Ó; attribute PIN_MAP of DSP56309 : entity is PHYSICAL_PIN_MAP; constant TQFP144 : PIN_MAP_STRING := ÒSRD1: 1, Ò & ÒSTD1: 2, Ò & ÒSC02: 3, Ò &...
Page 351
DSP56309 BSDL Listing ÒQGND: (19, 54, 90, 127), Ò & ÒRESERVED: (49, 20), Ò & ÒHDS: 21, Ò & ÒHRW: 22, Ò & ÒHACK: 23, Ò & ÒHREQ: 24, Ò & ÒTIO2: 27, Ò & ÒTIO1: 28, Ò & ÒTIO0: 29, Ò...
Page 352
TMS : signal is true; attribute TAP_SCAN_RESET of TRST_N : signal is true; attribute TAP_SCAN_CLOCK of TCK : signal is (20.0e6, BOTH); attribute INSTRUCTION_LENGTH of DSP56309 : entity is 4; attribute INSTRUCTION_OPCODE of DSP56309 : entity is ÒEXTEST (0000),Ó &...
Page 355
-- Revision History: -- 1) Date : Tue Mar 3 15:14:41 1998 Changes : Created for dsp56309 rev0, PBGA -- 2) Date : Wed May 20 10:37:28 1998 Changes : Fix in definition of DE_N, it is Pull1 when disabled...
Page 357
HA8: inout bit; HAS: inout bit); use STD_1149_1_1994.all; attribute COMPONENT_CONFORMANCE of DSP56309 : entity is ÒSTD_1149_1_1993Ó; attribute PIN_MAP of DSP56309 : entity is PHYSICAL_PIN_MAP; constant TQFP144 : PIN_MAP_STRING := ÒSRD1: 1, Ò & ÒSTD1: 2, Ò & ÒSC02: 3, Ò &...
Page 358
TMS : signal is true; attribute TAP_SCAN_RESET of TRST_N : signal is true; attribute TAP_SCAN_CLOCK of TCK : signal is (20.0e6, BOTH); attribute INSTRUCTION_LENGTH of DSP56309 : entity is 4; attribute INSTRUCTION_OPCODE of DSP56309 : entity is MOTOROLA DSP56309UM/D C-11...
Page 359
ÒHIGHZ (0100),Ó & ÒENABLE_ONCE (0110),Ó & ÒDEBUG_REQUEST (0111),Ó & ÒBYPASS (1111)Ó; attribute INSTRUCTION_CAPTURE of DSP56309 : entity is Ò0001Ó; attribute IDCODE_REGISTER of DSP56309 : entity is Ò0010Ó & -- version Ò000110Ó & -- manufacturerÕs use Ò0000000010Ó & -- sequence number Ò00000001110Ó...
Page 363
PGND: linkage bit; PGND1: linkage bit); use STD_1149_1_1994.all; attribute COMPONENT_CONFORMANCE of DSP56309 : entity is ÒSTD_1149_1_1993Ó; attribute PIN_MAP of DSP56309 : entity is PHYSICAL_PIN_MAP; constant PBGA196 : PIN_MAP_STRING := ÒRESERVED: (A1, A14, B14, P1, P14), Ò & ÒSC11: A2, Ò &...
Page 364
DSP56309 BSDL Listing ÒTMS: A3, Ò & ÒTDO: A4, Ò & ÒMODB: A5, Ò & ÒD: (E14, D12, D13, C13, C14, B13, C12, A13, B12, A12, B11, A11, C10, B10, A10, B9, Ò & ÒA9, B8, C8, A8, B7, B6, C6, A6), Ò &...
Page 365
TMS : signal is true; attribute TAP_SCAN_RESET of TRST_N : signal is true; attribute TAP_SCAN_CLOCK of TCK : signal is (20.0e6, BOTH); attribute INSTRUCTION_LENGTH of DSP56309 : entity is 4; attribute INSTRUCTION_OPCODE of DSP56309 : entity is ÒEXTEST (0000),Ó &...
Page 370
APPENDIX D PROGRAMMING REFERENCE MOTOROLA DSP56309UM/D...
Page 371
TIMERS ........D-33 GENERAL PURPOSE I/O (GPIO)....D-36 DSP56309UM/D MOTOROLA...
Page 372
Table D-2 on page -11 lists the interrupt starting addresses and sources. D.1.3 Interrupt Priorities Table D-3 on page -13 lists the priorities of specific interrupts within interrupt priority levels. D.1.4 Programming Sheets The remaining figures show the major programmable registers on the DSP56309. MOTOROLA DSP56309UM/D...
Page 376
$FFB1 $FFFFB1 ESSI 0 Receive Slot Mask Register B (RSMB0) Ñ $FFB0 $FFFFB0 Reserved PORT D $FFAF $FFFFAF Port D Control Register (PCRD) $FFAE $FFFFAE Port D Direction Register (PRRD) $FFAD $FFFFAD Port C GPIO Data Register (PDRD) MOTOROLA DSP56309UM/D...
Page 377
$FFA1 $FFFFA1 ESSI 1 Receive Slot Mask Register B (RSMB1) Ñ $FFA0 $FFFFA0 Reserved PORT E $FF9F $FFFF9F Port E Control Register (PCRE) $FF9E $FFFF9E Port E Direction Register (PRRE) $FF9D $FFFF9D Port E GPIO Data Register (PDRE) DSP56309UM/D MOTOROLA...
HCSP HDDS HMUX HASP HDSP HROD HAEN HREN HCSEN HA9EN HA8EN HGEN Host Port Control Register (HPCR) X:$FFFFC4 Read/Write Reset = $0 = Reserved, Program as 0 Figure D-8 Host Base Address and Host Port Control Registers D-22 DSP56309UM/D MOTOROLA...
Address X:$FFFF98 Ð X:$FFFF9A X:$FFFF99 Read Reset = xxxxxx X:$FFFF98 Packing ÒAÓ ÒBÓ ÒCÓ Note: STX is the same register decoded at three different addresses SCI Receive Data Registers Figure D-18 SCI Receive and Transmit Data Registers (SRX, TRX) D-32 DSP56309UM/D MOTOROLA...
GPIO input, then PDn reflects the value on port pin n if port pin n is GPIO output, then value written to PDn is reflected on port pin n = Reserved, Program as 0 Figure D-23 Port C Registers (PCRC, PRRC, PDRC) MOTOROLA DSP56309UM/D D-37...
GPIO input, then PDn reflects the value on port pin n if port pin n is GPIO output, then value written to PDn is reflected on port pin n = Reserved, Program as 0 Figure D-24 Port D Registers (PCRD, PRRD, PDRD) D-38 DSP56309UM/D MOTOROLA...
Page 408
GPIO input, then PDn reflects the value on port pin n if port pin n is GPIO output, then value written to PDn is reflected on port pin n = Reserved, Program as 0 Figure D-25 Port E Registers (PCRE, PRRE, PDRE) MOTOROLA DSP56309UM/D D-39...
Page 411
20ÑESSI Transmit Last Slot Interrupt (ESSI) 1-16 2-25 2-28 Enable bit (TLIE) 7-26 Enhanced Synchronous Serial Interface 0 2-24 bit 21ÑESSI Receive Last Slot Interrupt Enable Enhanced Synchronous Serial Interface 1 2-28 bit (RLIE) 7-27 equates BIU B-13 DSP56309UM/D MOTOROLA...
Page 412
ESSI Status Register (SSISR) 7-27 ESSI Time Slot Register (TSR) 7-34 ESSI Transmit 0 Enable bit (TE0) 7-24 general purpose input/output (GPIO) 2-34 ESSI Transmit 1 Enable bit (TE1) 7-23 Global Data Bus 1-13 ESSI Transmit 2 Enable bit (TE2) 7-22 MOTOROLA DSP56309UM/D...
Page 413
Host Receive Data Register (HRX) 6-8 HCR register 6-9 6-10 host side bit 0ÑHost Receive Interrupt Enable bit Interface Control Register (ICR) 6-22 (HRIE) 6-10 Interface Status Register (ISR) 6-26 bit 1ÑHost Transmit Interrupt Enable bit Interface Vector Register (IVR) 6-28 (HTIE) 6-10 DSP56309UM/D MOTOROLA...
Page 414
12ÑHost Dual Data Strobe bit (HDDS) 6-15 Host Flag 0 bit (HF0) 6-24 bit 13ÑHost Chip Select Polarity bit Host Flag 1 bit (HF1) 6-24 (HCSP) 6-16 Host Flag 2 and 3 bits (HF2, HF3) 6-10 bit 14ÑHost Request Polarity bit (HRP) 6-16 MOTOROLA DSP56309UM/D...
Page 415
Idle Line Interrupt Enable bit (ILIE) 8-11 Joint Test Action Group (JTAG) 11-3 IF0 bit 7-28 JTAG 1-11 2-35 IF1 bit 7-28 JTAG instructions ILIE bit 8-11 BYPASS instruction 11-11 IME bit 10-8 CLAMP instruction 11-10 instruction cache 3-3 DEBUG_REQUEST instruction 11-11 DSP56309UM/D MOTOROLA...
Page 416
OMLR1 register 10-11 MODA/IRQA 2-14 OMR register 1-11 MODB/IRQB 2-15 OnCE 1-4 MODC/IRQC 2-15 commands 10-23 MODD/IRQD 2-16 controller 10-4 mode control 2-14 2-15 trace logic 10-15 Mode Select bit (MOD) 7-20 OnCE Breakpoint Control Register (OBCR) 10-12 MOTOROLA DSP56309UM/D...
Page 417
X data RAM 3-6 PC0-PC20 bits 9-9 Y data RAM 3-7 PC1 signal 2-25 OPABDR register 10-20 PC2 signal 2-25 OPABEX register 10-20 PC3 signal 2-26 OPABFR register 10-20 PC4 signal 2-26 OPDBR register 10-19 PC5 signal 2-27 Operating 4-3 DSP56309UM/D MOTOROLA...
Page 418
B 9 signal (PB9) 2-19 Program Address Bus (PAB) 1-13 port B signal (PB0ÐPB7) 2-18 Program Address Generator (PAG) 1-10 Port C 2-3 2-24 2-25 2-28 Program Control Unit (PCU) 1-10 port C 0 signal (PC0) 2-24 Program Counter register (PC) 1-10 MOTOROLA DSP56309UM/D...
Page 419
REIE bit 7-27 8-13 SBK bit 8-9 reserved bits SC register 1-11 in CRA register 7-11 7-13 7-14 SC0 signal 7-6 in HBAR register SC00 signal 2-24 bits 5Ð15 6-12 SC01 signal 2-25 in HCR register SC02 signal 2-25 I-10 DSP56309UM/D MOTOROLA...
Page 420
2 signal (SC12) 2-29 SCI Status Register (SSR) 8-13 Serial Input Flag 0 bit (IF0) 7-28 SCI Transmit Register (STX) Serial Input Flag 1 bit (IF1) 7-28 STX register 8-20 Serial Output Flag bits (OF0ÐOF1) 7-15 MOTOROLA DSP56309UM/D I-11...
Page 421
7ÑReceive Data Register Full bit TDE bit 7-29 (RDF) 7-30 TDI pin 11-5 SSR register 8-13 TDI signal 2-35 bit 1ÑTransmitter Empty bit (TRNE) 8-13 TDO signal 2-36 bit 2ÑReceive Data Register Full bit TDRE bit 8-13 (RDRF) 8-14 I-12 DSP56309UM/D MOTOROLA...
Page 422
TLIE bit 7-26 TRNE bit 8-13 TME bit 10-8 TRST pin 11-5 TMIE bit 8-12 TSMA, TSMB registers 7-34 TMS pin 11-5 TSR register 7-34 TMS signal 2-36 TUE bit 7-29 TO bit 10-9 TX2, TX1, TX0 registers 7-34 MOTOROLA DSP56309UM/D I-13...
Page 423
XDB 1-13 XTAL 2-8 XTAL Disable bit (XTLD) 4-18 XTLD bit 4-18 Y data RAM 3-7 Y Memory Address Bus (YAB) 1-13 Y Memory Data Bus (YDB) 1-13 Y Memory Expansion Bus 1-13 YAB 1-13 YDB 1-13 I-14 DSP56309UM/D MOTOROLA...