Host/Memory/User Interface

17
Host/Memory/User Interface Interfacing with the host computer, external memory, and user

description

Host/Memory/User Interface. Interfacing with the host computer, external memory, and user. ESU: Extended Parallel Port, Smart Media Card, and User Interfaces. ESU Memory Mapped Registers. Timing - PowerPoint PPT Presentation

Transcript of Host/Memory/User Interface

Page 1: Host/Memory/User Interface

Host/Memory/User Interface

Interfacing with the host computer, external memory, and user

Page 2: Host/Memory/User Interface

ESU: Extended Parallel Port, Smart Media Card, and User Interfaces

Page 3: Host/Memory/User Interface

ESU Memory Mapped Registers

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ADDR NAME

Tds Twh Tdh Trc No wait X 0x2000 Timing

EPP Data Unused 0x2001 EPP Data

SMC Data Unused 0x2002 SMC Data

SMC Command(0 – F Hex)

SMC

ready/not-busy

SMC

Data(fromcard)

EPP

Datainreg

EPP

Spare

Front Panel soft touch buttons 0x2003 Commandand status

Page 4: Host/Memory/User Interface

ESU: Memory Mapped Register Descriptions

• TimingProgrammed by software (probably the boot routine) this register sets parameters for all of the critical timing between the DSP and the Smart Media Card. Each of the timing blocks is a 3 bit number which will be used as a index to a counter. Therefore the smallest number we can count for is our cycle time (10ns). This 3 bit limitation means that the longest we can hold a signal for is 70ns. The longest requirement for our SMC is 50ns.

• DataThe data register is a bi-directional register which can be written and read by the SMC, the EPP, and the Data Bus. The first byte of the data register is designated for the SMC (which has an 8 bit I/O bus), and the second for the EPP.

• Command/StatusThe command/status register takes care of all other functions. It is polled and written regularly by both software and the host. Additionally the last byte of this register can be written by eight external buttons (user controls). The first four bits specify the SMC operation that software wants to perform and are read by the SMC_SIG_GEN unit to carry out that operation. Bit four is the SMC R/nB, which indicates if a SMC operation is running. Bit 5 is the SMC data read bit, which goes hi when there is valid data from the SMC in the data register. Bit six is the EPP status bit, it indicates if there is data in the data register. This bit can be written by both the host and the software, and therefore must be polled before the data register is written by either.

Page 5: Host/Memory/User Interface

SMC CommandsNOP 0000 Do Nothing

CMD 0001 Send Command to SMC*

Addr1 0010 Load First Address of a two or three byte address word*

WRITE 0011 Load a byte of data*

READ1 0100 Store the first byte from SMC into Data register

READ 0101 Store a successive byte from SMC to Data register

Wait 0110 Wait (only used in erase between address write and erase command)

Reset 0111 Stops any current operation (e.g. READ) and SMC returns control of the data bus.

WAKE 1000 Wake the SMC up after reset. SMC takes over the data bus.NOTE: NO OTHER OFF CHIP OPERATIONS ARE ALLOWED UNTIL NEXT RESET.

OPEN 1001 Unused

OPEN 1010 Unused

OPEN 1011 Unused

OPEN 1100 Unused

OPEN 1101 Unused

OPEN 1110 Unused

OPEN 1111 Unused

* Data must be valid in the Data register before the command is programmed in the cmd/status register

Page 6: Host/Memory/User Interface

Example operations

• READ:Commands: CMD Addr1 Addr2 Addr3 Read1 Read … Reset

Data: <00h> <a1> <a2> <a3> <Din> <Din> …<XX>

• Write:Commands: CMD Addr1 Addr2 Addr3 Write Write … Write CMD CMD Read1

Data: <80h> <a1> <a2> <a3> <Dout> <Dout> … <Dout> <10h> <70h> <stat>

• Erase:Commands: CMD Addr1 Addr2 Wait CMD CMD Read1

Data: <00h> <a1> <a2> <XX> <D0h> <70h> <stat>

Page 7: Host/Memory/User Interface

Boot Memory Interface(BMI)

Page 8: Host/Memory/User Interface

BMI Pin DescriptionSignal Function Attr.

DATA[0:3] &ADDR[0:12]

Address to Boot Memory Out

BMS_B Chip Enable signal to Boot Memory OutBM 1= Boot Mode, 0= Normal Out To I-UNITDATA_RDY 1= Data from Boot Memory is valid Out To I-UNITDATA[8:15] Data from Boot Memory InPMDAK 1= enable BMI to drive PMD bus In From I-UNITBMA0_SEL 1= Data from DMD bus to BMADDR0 register In From I-UNITBMA1_SEL 1= Data from DMD bus to BMADDR1 register In From I-UNITBMS_SEL 1= Data from DMD bus to BMSTS register In From I-UNITBMS_EN 1= enable Data in BMSTS register dump to DMD

busIn From I-UNIT

BMD_EN 1= enable Data in BMDATA register dump to DMDbus

In From I-UNIT

CLK System Clock InRESET Reset signal InDMD[0;15] Data Memory Data bus In/OutPMD[0;23] Program Memory Data bus In/Out

Page 9: Host/Memory/User Interface

Boot Mode Process Flow

Page 10: Host/Memory/User Interface

Boot Memory Contents

Page 11: Host/Memory/User Interface

Memory Mapped Register(1)

Page 12: Host/Memory/User Interface

Memory Mapped Register(2)

Page 13: Host/Memory/User Interface

Off-chip SRAM Interface(OSI)

Page 14: Host/Memory/User Interface

OSI Pin DescriptionSignal Function Attr.

ADDR[0:12] Address to Off-Chip SRAMs OutDMS_B Chip Enable signal to Off-chip DM OutPMS_B Chip Enable signal to Off-chip PM OutEWE_B Write Enable signal to Off-chip SRAMs OutERE_B Read Enable signal to Off-chip SRAMs OutEDMD_RDY 1= Data in EDMD Register is valid Out To I-UNITEPMD_RDY 1= Data in EPMD Register is valid Out To I-UNITDMA[0:13] Data Memory Address bus InPMA[0:13] Program Memory Address bus InWE_B 0= write Data to Memory

1= read Data from MemoryIn From I-UNIT

DCE_B 0= Chip Enable to Data Memory In From I-UNITPCE_B 0= Chip Enable to Program Memory In From I-UNITCLK System Clock InRESET Reset signal InDATA[0:23] Data from/to Off-chip SRAMs In/OutDMD[0:15] Data Memory Data bus In/OutPMD[0:23] Program Memory Data bus In/Out

Page 15: Host/Memory/User Interface

Off-chip SRAM Access Flow

Page 16: Host/Memory/User Interface

Off-chip SRAM Write Timing

Page 17: Host/Memory/User Interface

Off-chip SRAM Read Timing