< DSP Hotline Techbits : Migration to C548 from C542

This document describes the hardware and software compatibility issues when designing a test environment for a 3-volt 'C548, but are temporarily using a 3-volt 'C542 device. There are a few simple things to consider before starting, such as:

1.) Pin compatibility -connection to peripheral devices.

2.) Clock Modes -PLL functionality.

3.) Memory Maps -differences in location of internal memory blocks.

4.) Instruction Set -Instructions supporting extended addressing.

Pin Compatibility

The 'C542 and 'C548 devices are packaged in a 144-pin TQFP and are footprint compatible. This means the peripheral and interface pinout of the 'C542 is upward compatible with the 'C548. However, the 'C548 offers a peripheral mix which can be thought of as a super-set of the 'C542 and therefore requires 13 additional pins. The physical location of these 13 extra pins on the 'C548 correspond to either No Connects (NC) or supply pins (Vdd/Vss) on the 'C542 device. The 'C548 uses these 'non-mutual' pins for either extended addressing pins or Buffered Serial Port (BSP) pins. Figure 1 shows the physical location of non-mutual pins on the 'C542.




Fig. 1 Differences in 'C542/C548 pinout (3-volt devices only)

As Fig 1 illustrates, eight of the 13 pins are NC and the remaining 5 are supply pins (either Vdd or Vss). The eight NC pins are don't care conditions (on the 'C542) due to no physical connection to the silicon die. The remaining 5 pins defined as either Vdd or Vss are used as extra supply pins, but are not required on the 3v devices. The decrease in supply pins is due to the high noise immunity of the 'C54x 3-volt process technology. When designing with 3-volt devices, these 5 pins can be left unconnected. The figure below lists the 13 pins and how they should be connected to support 'C542/'C548 compatibility.



PIN

 

'C542 Description

Connection to External Device

'C548 Description

Connection

2

 

NC

X

PA22

Extended addr bit 22

35

 

NC

X

BDR1

BSP receive data line

36

*

DGND

open

BFSR1

BSP rcv frame sync

38

 

NC

X

BCLKR1

BSP receive clock

71

 

NC

X

BCLKX1

BSP transmit clock

73

*

CGND

open

BFSX1

BSP xmit frame sync

74

 

NC

X

BDX1

BSP transmit data line

80

 

CNT

NC

TEST1

No Connection

105

*

DVDD

open

PA16

Extended addr bit 16

107

 

NC

X

PA17

Extended addr bit 17

108

*

DGND

open

PA18

Extended addr bit 18

109

*

CGND

open

PA19

Extended addr bit 19

110

 

NC

X

PA20

Extended addr bit 20

143

 

NC

X

PA21

Extended addr bit 21

* Indicates connection to supply not required on the 3V TMS320C542.

x Don't care.

Your test environment may include sockets for all of the necessary external logic, peripherals, devices, etc to support the 'C548 environment, but must remain unpopulated if they connect to a 'C542 supply pin. Only after the DSP socket is replaced with the 'C548 can the external peripheral sockets be populated. In other words, don't accidentally connect a device which strobes a VDD or GND signal of the 'C542!

The CNT pin is the 3v/5v configuration pin found on 3-volt 'C542 devices. This pin should always be left unconnected on the 'C548. This pin is reserved (TEST1) on the 'C548.

Clock Modes

The 'C542 and 'C548 devices both have 3 external CLKMD pins which configure the DSP internal clock frequency. The CLKMD[1,2,3] pins on the 'C548 offer different internal clock configurations than that of the 'C542. Both devices offer clock options via hardware configurations, but the 'C548 provides software programmability of it's PLL. As a result, the 'C548 has a much more flexible PLL with 31 different possible configurations. Only the four cases where CLMD3=1 provides compatibility between the 'C548 and 'C542 PLLs. Therefore, the only 'C542 hardware configuration compatible with the 'C548 is either Divide-by-two, stop mode or PLLx1 options. Please remember this document is only to clarify differences between the 'C548 and 'C542.....you can always change the hardware configuration after migrating to the 'C548.

Memory Maps

The internal memory configuration of the 'C548 has slight differences to the 'C542 memory map. The 'C542 has 10KWords of on-chip Dual-Access RAM (DARAM), whereas the 'C548 only has 8KWords of DARAM and 24KWords of Single-Access RAM (SARAM). Therefore when developing application code on the 'C542 DARAM, be aware of the differences in DARAM of the 'C548. The last 2KWord DARAM block is only SARAM on the 'C548. Performance degradation may occur in this particular 'C548 memory block if instructions with dual operands require DARAM.







Instruction Set

Due to the fact the 'C548 supports extended addressing, there were a few instructions added to the instruction set. For example, the normal 'C542 BRANCH (B) instruction performs a PC relative jump within a 64K address range. The 'C548 has included FAR BRANCHes (FB) which use the PC extension register (XPC). The XPC is a read-only memory-mapped register at location 0x1E. The following 6 instructions have been added to the 'C548 instruction set to support extended addressing:

FB[D] -Far Branch

FCALL[D] -Far Call

FRET[D] -Far Return

FBACC[D] -Far branch to location specified by accumulator A or B.

FCALA[D] -Far call to location specified by accumulator A or B.

FRETE[D] -Far return with interrupt enable.

A hardware RESET will initialize the XPC to 0x0000. The 'RESET'instruction does not affect the XPC contents.

In the 'C542 there are two instruction which perform program and data movement called READA and WRITA. The 'C542 versions of these instructions use the lower 16-bits [A15:A0] as a program memory address to move data/program to/from another memory space. However, with the 'C548 the instructions use the lower 23-bits [A22:A0] to perform the same data/program moves. So, after performing a data move with READA or WRITA, a simple clear of the lower 16-bits of the accumulator will not suffice. Be sure to clear the additional 7-bits [A22:A16].

Other instructions which use program addressing, such as MVPD, MVDP, MACD, MACP and FIRS will work within the current XPC page only. Block repeat instructions RPTB[D] must have block_start and block_end addresses in the same XPC page.

On-Chip Bootloader

The on-chip bootloaders of the 'C548 and 'C542 have several differences. The DSP performs consecutive reads from an external device which can be a Host on the HPI, EPROM, parallel I/O or serial port. The data which is read by the DSP must be in a particular format called a boot table. As with any 'C54x device , the boot table contains information on the destination address, section size, data format and other information. The 'C548 bootloader requires a different boot table format to support the extra functionality of the serial ports, and the extended address range. In fact, there are several registers which can be initialized in order to maximize the bootloader efficiency. For example, the 'C548 boot table includes information to re-program the Software Wait State generator and Bank Switch register for EPROM bootloads. If the serial ports are being used for bootloading, the same boot table locations act as register values for initialization of the serial port configuration registers. As a result, the bootloader supports full-function TDM and BSP bootloading. Normally, as with the 'C542 bootloader, registers are not reprogrammable and forces the serial ports into the Standard Mode of operation. The 'C548 HPI and I/O (using XF and BIO) bootloading has the same functionality as the 'C542.


Device: TMS320C5xx
Category: Device Information
Detail: General
Title: Migration to C548 from C542
Source: Case from the TMS320 Hotline
Date: 4/25/98
GenId: a2

© Copyright 1998 Texas Instruments Incorporated. All rights reserved.
Trademarks, Important Notice!