English
Language : 

DS80C400 Datasheet, PDF (69/97 Pages) Dallas Semiconductor – DS80C400 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
and the TINI C libraries. 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.
To use the ROM firmware, the system is required to have the following hardware components:
· 64kB SRAM external 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) (Note 2)
· External crystal or oscillator (Note 3)
Note 1: Merged program/data memory configuration is required.
Note 2: Java applications and NetBoot require a DS2502(-E48). Applications written in C can program the MAC address.
Note 3: NetBoot functionality requires the external clock frequency to be at least 7MHz. The clock doubleris not turned on until after NetBoot,
thus 100Mbps NetBoot is not possible unless the external clock source is at least 25MHz.
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 DS80C400 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 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 ROM firmware should be executed or bypassed. If BROM = 0, the ROM code is
executed. Otherwise (BROM = 1), the ROM 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.
DS80C400 ROM Code Execution Flow
Once the internal DS80C400 ROM code has been selected (EA = 1, BROM = 0), it must first execute some basic
configuration code 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 97