English
Language : 

DS80C400_03 Datasheet, PDF (69/96 Pages) Maxim Integrated Products – Network Microcontroller
DS80C400 Network Microcontroller
Figure 11. Wake-Up Frame-Filter Structure
31
0
FILTER 0 BYTE MASK
FILTER 1 BYTE MASK
FILTER 2 BYTE MASK
FILTER 3 BYTE MASK
RESERVED
FILTER 3
COMMAND
RESERVED
FILTER 2
COMMAND
RESERVED
FILTER 1
COMMAND
RESERVED
FILTER 0
COMMAND
FILTER 3 OFFSET
FILTER 2 OFFSET
FILTER 1 OFFSET
FILTER 0 OFFSET
FILTER 1 CRC-16
FILTER 0 CRC-16
FILTER 3 CRC-16
FILTER 2 CRC-16
Embedded TINI ROM Firmware
The DS80C400 incorporates an embedded ROM specifically designed for hosting the TINIÆ runtime environment.
The ROM firmware implements three major components: a full TCP/IPv4/6 stack with industry-standard Berkeley
socket interface, a preemptive task scheduler, and NetBoot functionality. The NetBoot component uses the TCP/IP
stack, socket layer, and task scheduler to provide automatic network boot capability. NetBoot allows an application
to be downloaded from the network and executed by the microcontroller.
In order to use the ROM firmware, the system is required to have the following hardware components:
· 64kB SRAM memory mapped (Note 1) at address locations 000000hñ00FFFFh
· Memory (SRAM or flash) to store user application code
· DS2502-E48 1-Wire chip (to hold physical MAC address)
· External crystal or oscillator (Note 2)
Note 1: Merged program/data memory configuration is required.
Note 2: NetBoot functionality requires external clock frequency to be at least 7MHz.
Selecting TINI ROM Code Execution
The DS80C400, following each reset, begins execution of program code at address location 000000h. Since the
DS80C400 contains internal ROM and supports external program code, the user must select which of these two
program memory spaces should be accessed for initial program fetching. There are two mechanisms that control
selection of the internal TINI400 ROM code. These two controls are the EA pin and the bypass ROM (BROM) SFR
bit. No matter the state of the BROM bit, if the EA pin is held at a logic low level, the TINI400 ROM code is not
entered and is not accessible to the user code. If the EA pin is at a logic high level, the BROM bit is then examined
to determine whether the internal TINI400 firmware should be executed or bypassed. If BROM = 0, the TINI400
code is executed. Otherwise (BROM = 1), the TINI400 code is bypassed and execution is transferred to external
user code at address 000000h. The BROM bit defaults to 0 on a power-on reset, but is unaffected by other reset
sources. This code selection process can be seen in Figure 12.
TINI400 ROM Code Execution Flow
Once the internal TINI400 ROM code has been selected (EA = 1, BROM = 0), it must first execute some basic
configuration code (ROM Init) to provide functionality to subsequent ROM operations. Next, the ROM code reads
the state of port pin P1.7. The ROM associates the logic state of P1.7 with the user desire to invoke the serial
loader function. If the serial loader pin (P1.7) is a logic 1, the ROM monitors for activity on serial port 0 and tries to
respond to the external host with its own serial banner. Once serial communication has been established at a
supported baud rate, signified by correct reception of the DS80C400 loader banner and prompt, the user can issue
commands. The serial loader commands are described later in the data sheet. If the serial loader pin is pulled to a
logic 0, the ROM reads the state of port pin P5.3. Much like the association made between P1.7 and invocation of
the serial loader, the ROM links the logic state of P5.3 with the user desire to begin the NetBoot process. If the
NetBoot pin (P5.3) is asserted (logic 0), the ROM initiates the NetBoot process. If the NetBoot pin is not asserted
(logic 1), the ROM executes the find-user-code routine to identify executable user code. Figure 12 illustrates the
ROM decisions described above.
TINI is a registered trademark of Dallas Semiconductor.
69 of 96