English
Language : 

DS80C410 Datasheet, PDF (78/102 Pages) Dallas Semiconductor – Network Microcontrollers with Ethernet and CAN
DS80C410/DS80C411 Network Microcontrollers with Ethernet and CAN
Figure 16. 1-Wire IP and TFTP Server IP Address Format
1Dh 54h,49h,4Eh,49h Address(4) Gateway(4) PrefixLength(1) TFTP Server Address(16) Checksum(2)
‘TINI’
29 (LENGTH)
IPv4
IPv4
IPV4
(BYTE
CONVERTED TO
SUBNET MASK)
IPv4 or IPv6
1’S COMPLEMENT
OF CRC-16 (LSB
FIRST)
If the IP and TFTP server addresses cannot be acquired from a 1-Wire device, the NetBoot process uses DHCP to
get this information. The DS80C410 broadcasts its MAC address in a DHCP discover packet. A DHCP server, if
available, should then respond with an IP address offering. The DS80C410 subsequently requests the IP address,
to which the DHCP server must acknowledge. In the DHCP acknowledge packet, the TFTP server IP address is
then read from the “next server IP” field. Because some DHCP servers do not allow configuration of the “next
server IP” field, the DS80C410 recognizes the site-specific option 150 (also used on Cisco IP phones to get TFTP
server IP addresses). When option 150 is present in the acknowledge packet, it will take precedence over the “next
server IP” field.
Now armed with an IP address and TFTP server IP address, the DS80C410 tries to find code to be loaded into
external program memory. The DS80C410 ROM first requests to read the file from the TFTP server coinciding with
a “!” prepended to its unique physical MAC address (e.g., !006035AB9811). If the request is successful, NetBoot is
immediately terminated. If the request is denied, it issues a second request for its unique MAC address (e.g.
006035AB9811). If this request is unsuccessful, it issues a third, less specific, request to read the filename
associated with the ROM revision (e.g. TINI400-1.2.0). If this request is denied, then lastly it attempts to read from
the TFTP server the file ‘TINI400.’ Using this strategy, the TFTP server operator can distinguish between different
devices and/or different releases of the Dallas Semiconductor Networked Microcontroller ROM firmware
(DS80C400, DS80C410 and DS80C411).
After successfully locating the desired file on the TFTP server, the DS80C410 must transfer and program the file
into memory. Currently, the DS80C410 only offers programming support for internal/external SRAM and AMD
compatible flash memory devices. The NetBoot code expects the transferred file to be in the Dallas tbin2 format.
The tbin2 format consists of one or more records, allowing binary concatenation of multiple images into one file.
Figure 17 illustrates the tbin2 file format.
For each 64kB bank to be programmed, the DS80C410 ROM first performs a CRC-16 of the current memory bank
contents. If the CRC-16 of the current memory matches the data to be programmed, the bank is left alone. If the
CRC-16 differs, it performs a couple of write/read-back operations to assess whether the bank is flash or SRAM
and then executes the erasure (if flash) and programming.
After completion of the TFTP server file transfer and programming of external memory, the NetBoot process
concludes by updating a ‘previous TFTP success’ flag and executing the ROM find-user-code routine.
If either DHCP or the TFTP transfer fail, the NetBoot code checks whether the TFTP transfer has been successful
in a previous attempt (note that this feature requires cooperation by the user application). If so, the DS80C410
ROM exits NetBoot and transfers execution to the find-user-code routine. If the TFTP transfer has not been
successful in the past, the DS80C410 ROM allows the watchdog timer to reset the DS80C410.
78 of 102