Frequently Asked Questions (FAQ) of Network Microcontrollers

Abstract: This application note lists some frequently asked questions (FAQ) of Maxim network microcontrollers. Answered the hardware and software problems encountered when using DS80C400, DS80C410 or DS80C411 to build network equipment, and answered the general problems of network microcontrollers. This article gives reference application notes, technical guides and software resources.

1. General question 1A. What is a network microcontroller?
1B. What is the difference between DS80C400, DS80C410 and DS80C411?
1C. How do I use 64kB internal SRAM?
1D. What is TINI® OS?
1E. What is Slush?
1F. How does the network microcontroller interface with the Internet?
1G. What is a network stack?
1H. I have not used an internet protocol before. How should I start designing?
1I. What development tools are available?
1J. Are DS80C400, DS80C410 and DS80C411 in-circuit emulators (ICE) available?
1K. How do I get technical support for DS80C400 and TINI OS? 2. Software question 2A. What is the serial / CAN / 1-Wire Ethernet bridge?
2B. How do I program the DS80C400? Do I have to program in Java â„¢?
2C. Is there a fee to use Maxim's TCP / IP stack?
2D. Do I have to use Maxim's MAC ID chip (DS2502)?
2E. Is there a reference book for programming in C, Java, and TCP?
2F. How do I access the stack if I program in C or assembly language?
2G. How can I port the code of DS80C390 to run on DS80C400?
2H. How can I program flash memory and NV RAM during production?
2I. Can an external file system work with TINI?
2J. Can TINI read the audio data stream from the network and output it to a digital speaker? 3. Hardware problem 3A. When using TINI OS to access the serial port, what is the maximum throughput rate of the serial port?
3B. What is the maximum transmission rate of the Ethernet port using a socket?
3C. Is there a reference design to help me speed up the design process?
3D. What interface devices are required to connect to Ethernet?
3E. How does the device obtain its Ethernet MAC address?
3F. What is the working voltage of DS80C400?
3G. What are the minimum memory requirements?
3H. How does the design based on DS80C400 load the program memory?
3I. How do I get more IO on the DS80C400 / DS80C410 / DS80C411 evaluation board?
3J. Why can't my TINI evaluation board use x4 clock multiplier?
3K. My application needs more serial ports. Can I add an external serial port to my TINI evaluation board?
3L. What is Power over Ethernet (PoE)? 1. General question 1A. What is a network microcontroller? Network microcontrollers enable designers to quickly and simply add Ethernet / Internet connectivity to embedded systems. In addition to having a 10/100 Ethernet MAC, the microcontroller has three serial ports, a controller area network (CAN) 2.0B controller, and a 1-Wire® network host. In order to realize the access to the network, the TCP IPv4 / 6 network stack and operating system are provided in the ROM, which can be completely accessed by the application program. The network stack supports up to 20 concurrent TCP connections under TINI OS, and achieves a transmission rate of up to 5Mbps via Ethernet MAC.

For more information, please refer to the following documents:
DS80C400 Data Materials High-Speed ​​Microcontroller User Guide: Supplementary Information for Network Microcontrollers (English only)
High Speed ​​Microcontroller User Guide (English only)
DS80C410 and DS80C411 data sheet application note 707: "Using the DS80C400 to Maximize System Performance"

1B. What is the difference between DS80C400, DS80C410 and DS80C411? DS80C400 includes: a CAN controller, 64kB ROM memory, 8kB network SRAM, 1kB application RAM and an Ethernet MAC. DS80C410 and DS80C411 are derivative versions of DS80C400. DS80C410 has 64kB application SRAM; DS80C411 has 64kB internal SRAM, but no CAN controller.

1C. How do I use 64kB internal SRAM? 64kB SRAM and TINIm41x external memory are overlapping. You can use either of these two memories, but not both. (TINI OS will not recognize overlap.)

1D. What is TINI OS? More specifically, TINI OS refers to the TINI operating environment, which is a Java operating environment used to develop network applications for the microcontrollers (such as the DS80C400) of the Maxim series built-in IP protocol stack. With the popularity of IP networks, the networking capabilities of embedded systems have become very necessary. However, network protocol programming is very complicated and requires a long test cycle. The TINI operating environment provides a complete TCP IPv4 / 6 protocol stack, which complies with Internet standards. The network stack is driven by a multitasking operating system TINI OS. Using the TINI operating environment and its own API, developers can quickly write embedded network applications. Table 1 lists the currently supported network protocols.

Table 1. Network protocols supported by TINI operating environment
PPP DAD
IPv4 / 6 SMTP
TCP DHCP
UDP FTP
IGMP HTTP
ICMP TELNET

For more information about the TINI operating environment, please refer to the link below.

For the TINI interface, application note 708: "Exploring Tiny InterNet Interfaces (TINI)"
For PPP, application note 702: "Using TINI Point-to-Point Protocol (PPP)"
For IPv4 / 6, application note 703: "Embedded Networking with IPv6"
For TCP, application note 196: "Designing a Virtual Modem Using TINI"
For HTTP, TINIWebserver (located under the examples directory of tini_1.1x SDK)

1E. What is Slush? Slush is a small system shell. Similar to Unix®, it provides interfaces to serial ports (TTY), Telnet and FTP servers.

Slush is not a complete operating system, but it has more features than a simple shell. It provides a method to view and operate the file system, and can control system functions including watchdog timers and network configuration.

Slush documentation can be obtained from the following link: TINI SDK's tini1.1x \ doc directory application note 3108: "Modifying and Rebuilding Slush"

1F. How does the network microcontroller interface with the Internet? A built-in 10/100 Base-T Ethernet media access control (MAC) module constitutes the data interface between the microcontroller and Ethernet. It converts files or data into data packets that comply with Ethernet transmission specifications.

The physical connection to the Internet is achieved through a physical layer interface (PHY). It converts the microcontroller's 0V to 3V signal into a 0V high level and -2.05V low level signal. PHY consists of integrated circuits, transformers and related supporting circuits. Use a standard Cat 5E cable and connect the system to the Ethernet port on the wall through a jack.

1G. What is a network stack? The network stack is a set of TCP / IP protocols that work together, which defines the communication process of the Internet. To facilitate software access, the internal ROM stores software that handles these protocols. When users use TINI programming, they can automatically access these stack spaces; or C and assembler programs written by users to access them. Use the TINI stack to access LAN and WAN. Full support for Ethernet allows the design to connect to the LAN. Point-to-point (PPP) protocol can realize serial port IP (IP over serial), and support wireless network or telephone line network using modem.

1H. I have not used an internet protocol before. How should I start designing? Fortunately, designing through the TINI platform does not require you to have a good understanding of Ethernet hardware or software. The combination of the DSTINIm400 evaluation module and the DSTINIs400 socket board forms the basis of the entire hardware development platform. Using the Java programming language, you can easily use the extensive TINI platform software function library. The TINI development environment also provides a standard socket interface using BSD sockets, which simplifies programming for advanced users.

For more information, please refer to the Reference Guide: Getting Started with TINI (PDF) and TINI Specification and Development Guide

1I. What development tools are available? Development tools include:
DS80C400-KIT: This evaluation kit includes all the hardware and software required to evaluate the DS80C400 microcontroller. It includes DSTINIm400 + DSTINIs400 evaluation board, DB9 straight-through cable, Ethernet crossover cable, Keil C compiler trial version, Keil C function library and TINI SDK.

Modules and socket boards can be purchased separately in production or design.
DSTINIm400: Evaluation module to evaluate the daughter board of DS80C400.
DSTINIm400: socket board, DSTINIm400 motherboard.
DSTINIm410: Evaluation module for evaluating DS80C410 and DS80C411.
The TStik evaluation board manufactured by Systronix allows developers to use the DS80C390 or DS80C400 in the form of a single-board computer or evaluation board.

TINI Software Development Kit (SDK) is a set of free development tools, it contains programming API and TINI JAVA running environment, and provides application examples and documentation.
TINI SoM-400EM module is provided by EMAC, Inc. The module is based on the DS80C400 network microcontroller and can be ordered in a pin-compatible version with DSTINIm400.

1J. Are DS80C400, DS80C410 and DS80C411 in-circuit emulators (ICE) available? Metalink Corporation and Phyton provide the ICE for DS80C400. For more information, please contact these manufacturers.

1K. How do I get technical support for DS80C400 and TINI OS? The TINI forum is the quickest way from which you can get answers to most questions. Maxim experts and fellows in the embedded development community often communicate online in the community. Due to the large amount of information exchanged by these discussion groups, technical issues submitted to the community may be answered more quickly than by sending mail to the technical support email address below. Log in to the Maxim Discussion Board of the TINI forum. After logging in, you can search the archive of answers to general questions.

For technical support, please visit the Maxim Support Center.

2. Software question 2A. What is the serial / CAN / 1-Wire Ethernet bridge? A system often needs to convert one communication protocol to another. For example, a factory equipment may have an RS-232 serial port, but it needs to communicate with the monitoring computer through an Ethernet interface. Network microcontrollers are ideal devices to bridge between these systems. The design based on DS80C400 has four serial ports, a CAN interface and a 1-Wire interface, which can be used as a high-speed intelligent bridge between different types of networks. An example of an Ethernet to serial bridge can be found in TINI-Tiny InterNet Interfaces.

Application Note 2935: "Design Considerations for CAN Bus and Asynchronous Serial"
Application Note 704: "Asynchronous Serial-to-Ethernet Device Servers"

2B. How do I program the DS80C400? Do I have to use Java? The network microcontroller can be programmed in Java, C or 8051 assembly language. The TINI operating environment also supports DS80C400.

JavaSun Microsystems and Borland's Java compiler are compatible. To use all Ethernet functions, it is not necessary to use Java, but it is the simplest preferred method when programming in the TINI environment. In addition, the support tools and function libraries of the Java environment are the most. The compiler is available from Java Technology and requires the "Java 2 Platform, Standard Edition" (J2SE) package; versions 1.2.2, 1.3.1, or 1.4.1, and the Java Communications API.

Getting Started with TINI (PDF)
Application Note 614: "Diagnostic Port for the TINIs400"

CSDCC and Keil Software provide C compilers. A traditional 8051 compiler can be used, but only Keil Software's PK51 C compiler supports the extended address space of the DS80C400 and ROM network stack. The ROM of DS80C400 contains a complete TCP / IPv4 / 6 network stack and a small operating system, which can be accessed by user-written application software. The homepage of the C function library can be found in Maxim DS80C400 / 410/411, which includes the function library and the sample application developed with Keil tools.

Documentation / Sample Keil, C library for IAR and SDCC

Application Note 613: "Keil C Programming for DS80C400"
Application Note 3362: "Using the Keil µVision Debugger with the DS89C4x0"
Application Note 606: "Configuring Keil PK51 Tools to Support 24-Bit Contiguous Addressing Mode"
Application Note 2777: "Programming TINIm400 with Keil MON390"
Application note 3346: "Using the SDCC compiler in DS80C400 applications"

2C. Is there a fee to use Maxim's TCP / IP stack? Unlike other network solutions, Maxim allows users to use the microcontroller's internal ROM-based TCP / IP stack for free at no charge.

2D. Do I have to use Maxim's MAC ID chip (DS2502)? It is not necessary to use DS2502 to obtain the MAC ID. The MAC ID can be programmed into the device through software using TINI OS. However, according to the license agreement, all programs used for software products are only allowed to be used with Ethernet address chips (DS2502) or other approved alternatives to indicate that they have been approved by Maxim.

2E. Is there a reference book for programming in C, Java, and TCP? There are many books in this area. Our engineers recommend the following bibliography:

The TINI Specification and Developer's Guide, author Don Loomis (Addison-Wesley, 2001). This book has been discontinued, but the old version can be found in the online bookstore. The free PDF file of this book can be downloaded from here: TCP / IP Illustrated, Volume 1: The Protocols, W. Richard Stevens, (Addison-Wesley, 1994).
Thinking in Java, Bruce Eckel, (Prentice Hall PTR, 2002).
For more technical questions, see Embedded Ethernet and Internet Complete by Jan Axelson.

2F. How do I access the stack if I program in C or assembly language? The network stack and scheduler are stored in internal 64kB ROM, and they are accessed in the form of BSD sockets or APIs. Maxim provides a BSD socket interface for those who program in C language.

You can also call the network stack in assembly language. We provide an assembler in the TINI SDK. The program name is a390.exe. Examples of assembly language and network stack interface can be found in Application Note 609: "Internet Speaker with the DS80C400 Silicon Software".

2G. How can I port the code of DS80C390 to run on DS80C400? DS80C400 is based on DS80C390 architecture. The TINI operating environment supports two microcontrollers. The most important difference between the two devices is that the DS80C400 contains an Ethernet MAC and a Maxim 1-Wire interface, and there is only one CAN module. If you don't use the two CAN controllers of the DS80C390, the microcontroller will share the first flash sector between the loader and the application. DS80C390's TINI OS (0-6) and applications (7 -...) also use fixed sectors. DS80C400 provides a TINI string search mechanism (generally, sectors use 0x40-0x46 and 0x47 -...). Chip selection is also different. DS80C400 provides more DPTR options, which is very useful for assembly language coding.

For more information see: Getting Started with TINI Guide (PDF)

2H. How can I program flash memory and NV RAM during production? The NetBoot feature is embedded in the ROM of the Maxim network microcontrollers (DS80C400, DS80C410, and DS80C411). In a production environment, the NetBoot feature enables fast and simple flash and non-volatile SRAM memory programming.

Application Note 3398: "DS80C400 / DS80C410 / DS80C411 Network Boot"

2I. Can an external file system work with TINI? can. TINI provides a way to access other file systems, users will no longer be limited by the type of information and the amount of information they can handle. Since TINI also uses its RAM as an operating heap, when using a remote file system, more RAM is allowed to run applications.

Application Note 709: "Adding An External File System to TINI"

2J. Can TINI read the audio data stream from the network and output it to a digital speaker? The network support function of the DS80C400 microprocessor makes it a natural choice for simple Ethernet speaker design. Using the TCP / IP stack built into the processor ROM, an application written in 8051 assembly language can easily read audio stream data from the network and use the data to drive a digital-to-analog converter (DAC) to A set of speakers provides line output.

Application Note 609: "Internet Speaker with the DS80C400 Silicon Software"
Application Note 3266: "Using the DS80C400 / TINIm400 for Remote Audio"

3. Network microcontroller hardware problem 3A. When using TINI OS to access the serial port, what is the maximum throughput rate of the serial port? When the serial port is configured to 115,200bps baud rate, and the system clock frequency of 36MHz, the maximum transmission and reception rate is about 10kB per second. The sustained transfer rate is highly dependent on the CPU load, and each application will be different. The maximum baud rate depends on the operating frequency of the specific design. For more information, see application note 2935.

3B. What is the maximum transmission rate of the Ethernet port using a socket? When using 36MHz system clock frequency, the maximum sending and receiving rate is 266kB per second.

3C. Is there a reference design to help me speed up the design process? We have put the reference design circuit diagram online, see TINI Board.

Application Note 615: "Design Considerations for DS80C400-Based TINI Systems"
Application Note 3478: "DS80C400 / 410/411 Flash Memory Selection"
Application Note 2935: "Design Considerations for CAN Bus and Asynchronous Serial"

3D. What interface devices are required to connect to Ethernet? In order to connect the microcontroller (and related memory) to the Internet, you need a physical layer interface (PHY) device connected to the network port (such as 10/100 BASE-T or optical fiber). Our reference design uses Intel LXT972ALC, but any PHY compatible with the Media Independent Interface (MII) protocol can be used. In addition, our reference design uses Belfuse's S558-5999-T7 transformer.

3E. How does the device obtain its Ethernet MAC address? At startup, the DS80C400 will automatically search the external 1-Wire bus to find external DS2502-E48 devices (sold separately). If found, the DS2502-E48 will provide the DS80C400 with a unique IEEE® Ethernet MAC address. Ethernet MAC physical address can also be programmed through user application software.

3F. What is the working voltage of DS80C400? DS80C400 requires a 1.8V and a 3.3V supply voltage. The device's I / O pins are powered by a 3.3V power supply, allowing the device to interface with 3.3V logic levels. The I / O of the microprocessor can withstand 5V voltage, so it can be connected to 5V peripherals. The power-up sequence of VCC1 and VCC3 is not important. DSTINIm400 uses MAX1792 low dropout linear regulator, which generates 1.8V power from 3.3V power.

3G. What are the minimum memory requirements? A minimum network device requires 64kB SRAM. The application code can be downloaded into SRAM through the network. Network initialization (Netboot) can be performed in a networked bare metal. If non-volatile program memory is required, external flash / EPROM can be used, but this is not required.

Memory access speed depends on the operating clock frequency and circuit board design. For example, we often say that a system running at a clock frequency of 36MHz requires a 70ns RAM and flash memory. To achieve full-speed operation, you need to use RAM with 15ns or faster access time.

Application Note 3478: "DS80C400 / 410/411 Flash Memory Selection"
Application Note 1087: "Micro Tutorial 1: Understanding DC Electrical Characteristics of Microcontrollers"

3H. How does the design based on DS80C400 load the program memory? The microcontroller has a ROM (bootloader) loader that can be used to configure certain features of the microcontroller. ROM can also be used to load software into NV SRAM, and then use SRAM as program memory. ROM supports loading any flash memory device provided by Advanced Micro Devices to meet the speed and space / format requirements required by a specific design. For details on enabling the ROM loader in the specific design, see page 173 of the High-Speed ​​Microcontroller User Guide: Network Microcontroller Supplement (English only).

The ROM loader uses an internal counter clocked by an external clock source (crystal or oscillator) and automatically adjusts the baud rate to match the incoming serial data stream. Since the auto-baud rate feature is related to the external clock source, we recommend that you use 18.432MHz crystal and x4 frequency multiplier mode so that it operates at approximately 73MHz. This frequency allows the automatic baud rate program to be synchronized with most standard baud rates.

3I. How do I get more IO on the DS80C400 / DS80C410 / DS80C411 evaluation board? Combining the TINIm400 reference circuit board and the TINIs400 socket board, the DS80C400 evaluation board provides you with an excellent evaluation platform that can be used to evaluate the TINI operating environment and develop TINI-based applications. The TINIm400 / TINIs400 supporting circuit board has a shortcoming, that is, its general-purpose IO (GPIO) pin count is limited. The TINIs400 socket board only provides a few pins that can be used as GPIOs; most of the IO pins on the socket board are dedicated to other functions (for example, J27 provides I²C pins and J4 provides external interrupt pins).

An application note provides step-by-step instructions on how to use a complex programmable logic device (CPLD) to configure hardware and develop corresponding software to provide 32 additional GPIO pins for the TINIs400 socket board. Please refer to Application Note 3664: "Extending TINI's IO Performance".

3J. Why can't my TINI evaluation board use x4 clock multiplier? Before the introduction of the DS80C400, due to the maximum rate limit of the DS80C390 processor, the maximum operating frequency of the TINI system was limited to below 40MHz. The DS80C400 supports a 75 MHz rate, allowing TINI firmware to support the system using the fastest crystal frequency multiplication factor. However, to achieve a low-cost system, the TINI reference designs (TINIm400 and TINIs400) do not support such high rates. Many developers tried to make their TINI run under the x4 crystal frequency multiplication factor, but finally found that TINI stopped working. This failure phenomenon is not because the DS80C400 processor does not support such a high rate, but because the flash memory does not support this rate. Therefore, a high-speed TINI system requires a customized circuit board equipped with fast RAM (firmware storage and execution).

Application Note 3413: "Initialize High Speed ​​TINI System"

3K. My application needs more serial ports. Can I add an external serial port to my TINI evaluation board? can. An external serial port can be added to the DSTINIs400 socket board running TINI OS version 1.1x. Please refer to the following application notes:

Application Note 3412: "TINIS400 External Serial Reference Design"
Application Note 2380: "Using TINI's Serial Ports"

3L. What is Power over Ethernet (PoE)? Power over Ethernet (PoE) is a power distribution technology recently approved by the IEEE 802.3af standard. PoE allows simultaneous transmission of DC power and data packets through a ubiquitous universal network (Ethernet). In other words, it is no longer necessary to provide local AC power to any network equipment that needs to be always powered. Similar network equipment includes IP phones, wireless access points and network surveillance cameras. It also means that these devices no longer need to be placed near wall outlets, and the power cables are eliminated.

Application Note 3363: "New Ethernet System, Provides DC Power Supply with Data Transmission"

Creative Flexible Led Display

JoyLED Creative Flexible Led Display Panels are designed specifically for delicate installations and applications, where the use of traditional LED cabinets would not be possible.


The unique Creative Flexible LED Display system features special soft but durable PCBs, which are highly flexible and allow you to create convex and concave curved displays, which can be fitted to metal frames via integral magnets in each module.


The panels are extremely lightweight and super easy to assemble with no tools required. The advanced magnetic system enables easy front accessibility and maintenance.


Get creative with our JoyLED Creative Flexible Led Display! A perfect solution for constructing seamless original LED displays with the unique ability to adapt to different structures and environments.


PRODUCT FEATURES


  • Highly flexible, ultra thin and super light

  • Designed to create convex and concave curved displays

  • Advanced magnetic connection system

  • High Brightness and Refresh rate

  • Super easy to assemble, no tools required

  • Front MaintenanceFlexible LED display

Flexible LED Display

Flexible Led Display,Flexible Led Video Wall,Programmable Led Display,Flexible Screen

Shenzhen Joy LED Display Co., Ltd. , https://www.joe-led.com