Dallas Semiconductor DSTINIm400

an article added by: Daniel R. at 12062007


In: Root » » Ethernet » Dallas Semiconductor DSTINIm400

French Spanish Portuguese Italian German Japanese Chinese Korean Russian Arabic

Dallas Semiconductor DSTINIm400 (TINI)

At a Glance: A fast microcontroller with an enhanced 8051 architecture, plenty of I/O, an operating system, and a Java virtual machine (JVM). Ethernet support: 10BASE-T, 100BASE-TX Typical Uses: applications that need speed, lots of I/O, or a CAN interface. Source: Dallas Semiconductor (www.dalsemi.com). Dallas Semiconductor is a wholly owned subsidiary of Maxim Integrated Products. Hardware. TINI stands for Tiny InterNet Interface. Technically, the TINI isn’t a CPU or a circuit board, but a platform that consists of a CPU and related components, support for networking, and a Java runtime environment. The DSTINIm400 Networked Microcontroller Evaluation Kit (Network article 3-4) is a module that implements the TINI platform. The module’s circuit board contains a Dallas Semiconductor DS80C400 Network Microcontroller, which is a much enhanced, high-speed derivative of Intel Corporation’s long-popular 8051 microcontroller. The high speed comes from a fast clock and the ability to execute instructions in fewer clock cycles than an 8051. The maximum clock speed is 75 Mhz. To decrease EMI, the chip can use a slower clock with an on-chip clock multiplier. The ’80C400 contains over 9 kilobytes of RAM and can address 16 Megabytes of external memory. The chip has eight 8-bit I/O ports. Many of the port bits can function as data and address lines for an external memory bus with 8 data bits and 22 address bits. Most of the other port bits have alternate functions as well. There are three asynchronous serial ports and a programmable output clock for an Infrared Data Association (IrDA) interface. A 1-Wire-net Master can control communications on a 1-Wire net, or MicroLAN, which connects components using a single data line plus a ground line.

A Controller Area Network (CAN) 2.0B controller enables communicating over a CAN network, which is a serial interface and protocol that’s popular in automotive, industrial, and medical applications. If you don’t need a port bit’s alternate function, you can use the bit as a generic I/O bit. The ’80C400 chip includes a programmed 64-kilobyte ROM that contains three firmware components. A networking stack supports TCP/IP and related protocols, including IP version 6 (described in Chapter 4). A preemptive task scheduler enables sharing CPU time among multiple tasks. For remote storage of firmware and easy firmware upgrades, the NetBoot component enables the TINI to automatically locate, load, and run program code from the local network or the Internet. The chip also contains hardware support for Ethernet, including an Ethernet controller for 10-Mb/s and 100-Mb/s networks. An on-chip MII must connect to an external PHY that provides the physical interface to a 10- or 100-Mb/s network. The DS80C400 chip requires a +1.8V Core Supply Voltage and a +3.3V I/O Supply Voltage. The DSTINIm400 module requires a +3.3V source and contains a regulator to provide +1.8V to the ’80C400. For connecting to external circuits, the module has a 144-contact SODIMM (Small Outline Dual In-line Memory Module) connector with connections to the address and data lines, other signals, and power pins. On the DSTINIm400 module, additional memory includes two Megabytes of Flash memory for program code and one Megabyte of battery-backed RAM. Not surprisingly, all of the other integrated circuits on the module are from Maxim or Dallas Semiconductor. A DS1672 Low-Voltage Serial Timekeeping Chip contains a 32-bit counter that counts seconds for use as a base for a real-time clock. The DS2502-E48 is a 1-Wire Add-Only Memory chip that contains a factory-programmed, write-protected Ethernet hardware address.

The remaining bytes in the 1-kilobyte chip are available for storing information that will never or seldom change. (The contents of the Add-Only Memory’s PROM can be added to or patched, but not erased.) A MAX1792 low-dropout linear regulator provides 1.8V for the ’80C400’s Core Supply Voltage input. Two MAX6365 Supervisory Circuits and a 3V lithium battery provide battery backup for the RAM chips. For project development, the DSTINIs400 Sockets Board Evaluation Kit (Network article 3-5) is a circuit board with components and connectors that make it easy to communicate with the DSTINIm400 module. The module plugs into a SODIMM socket on the board. On the DSTINIs400, an Intel LXT972A Fast Ethernet Transceiver and filtering circuits provide an interface between the DS80C400’s MII and an RJ-45 jack that can connect to a 10BASE-T or 100BASE-TX network. A MAX560 +3.3V Transceiver provides a TIA/EIA-562-compatible interface for two of the ’80C400’s serial ports. TIA/EIA-562 is similar to TIA/EIA-232 (also known as RS-232), but with smaller minimum voltage swings. The minimum outputs for a TIA/EIA-232 interface are ±5V, while TIA/EIA-562 requires just ±3.7V. Over short distances, TIA/EIA-562 interfaces can connect directly to TIA/EIA-232 interfaces with no problems. The DSTINIs400 board includes DB-9 connectors for these ports.

For interfacing to the ’80C400’s CAN controller, the DSTINIs400 has a CAN transceiver with connections to a header. Another header connects to two ’80C400 port bits that can function as an I2C interface for synchronous serial communications. Solder pads for an iButton clip connect to the ’80C400’s 1-Wire Master interface. An iButton is a computer chip inside a round, coin-style, stainless- steel battery case. The base, which consists of the sides and bottom of the case, are ground, and the lid is the data connection. Communications with an iButton use the 1-Wire interface. Uses for iButtons include providing identification, generic data storage, temperature data, and real-time-clock information. A DS2480B Serial Port to 1-Wire Interface Bridge enables using serial port 1 on the ’80C400 to communicate with 1-Wire devices. The board includes solder pads for a Xilinx XC2C64 CoolRunner II complex programmable logic device (CPLD). The CPLD interfaces to the ’80C400’s data and address buses and adds 48 I/O bits that are brought out to headers on the board. The board requires a regulated +5V supply. A MAX1692 Step-down Regulator on the board provides a +3.3V supply for the DSTINIm400 and other components. The ’80C400’s predecessor is the ’80C390, a slower and less-full-featured but still very powerful chip. The DS-TINI-1 module contains an ’80C390, Flash memory, and battery-backed RAM. A 72-contact Single In-line Memory Module (SIMM) connector provides access to the address and data buses, Ethernet signals, port bits, and other signals.

For Ethernet communications, the module has Standard Microsystems Corporation (SMSC)’s LAN91C96 Ethernet controller. A Maxim DS2433 EEPROM with a 1-Wire interface stores the Ethernet hardware address. An advantage of the DS-TINI-1 is that the complete Ethernet interface, except for the RJ-45 connector, is on the module, while the DSTINIm400 module requires an external Ethernet transceiver. The ’80C390 doesn’t contain a programmed ROM, but uses external Flash memory to store a bootstrap loader and runtime environment as well as application programs. Dallas Semiconductor isn’t the only source for TINI hardware. Systronix (www.systronix.com) has a variety of offerings. The TStik (Network article 3-6) is a DS80C400 module that uses the same SIMM connector as the DS-TINI-1. Unlike the DSTINIm400, the TStik includes an Ethernet transceiver and filtering circuits, so there’s no need to provide these on a separate board. Two editions of the TStik are available, with and without an external memory bus.

Systronix also offers a variety of development boards for use with the DS-TINI-1 and TStik. The Software. The TINI Software Developers Kit (SDK), available for free downloading from Dallas Semiconductor’s Web site, includes the TINIOS operating system and a Java Virtual Machine (JVM). The operating system enables running multiple tasks by scheduling the tasks in time slices. The operating system supports a file system and includes memory and I/O managers. The JVM contains an interpreter that executes Java programs and communicates with the operating system. Every Java-capable computer must have a JVM. The DSTINIm400’s JVM uses about 40 kilobytes of memory. Two useful programs for use in developing TINI applications are the JavaKit utility available from Dallas Semiconductor and a Telnet application. The JavaKit utility runs on a PC and communicates over a serial-port link with a TINI (Network article 3-7). Typing e at the JavaKit prompt causes the TINI to start its JVM and run the slush command shell. After logging on with a user name and password, you can use slush commands to run programs, view directories, and execute commands such as ipconfig, which can set a static IP address or specify that the TINI should use DHCP to receive its IP address. When the TINI has been configured for network communications, you can log onto slush over the network using a Telnet application such as Windows’ HyperTerminal. To use Hyperterminal for a Telnet session, set up the connection to connect to the TINI using TCP/IP. A .startup file in the TINI’s /etc directory can name applications to run when slush starts.

Java programs for TINI can access the standard core Java packages java.lang, java.io, java.net, and java.util. The TINI implements most of the JDK version 1.1.8 distribution. This isn’t the latest distribution, but is still plenty capable for use in embedded-systems applications. The TINI also supports a series of TINI-specific classes. Several of the classes relate to networking. The TININet class sets and gets network parameters such as the Ethernet address, IP address, and subnet address. The HTTPServer class implements a basic Web server. The DHCPClient and DNSClient classes enables the TINI to use DHCP and the DNS protocol. The HTTPServer class only supports Web pages with static content. To function as a Web server that serves dynamic content, the TINI can use additional software such as the Tynamo Web server from Shawn Silverman or Smart Software Consulting’s TiniHttpServer. Both of these include support for Java servlets. To compile Java programs, you can use just about any Java compiler and Java development system, including the compiler in the free Java Development Kit (JDK) from Sun Microsystems (java.sun.com). Borland’s JBuilder environment (www.borland.com) includes a compiler and graphical interface for developing. JBuilder comes in several editions, including a free Personal Edition. After compiling a .java file to a .class file, an additional step creates the binary file required by the TINI.

The TINIConvertor utility converts .class files to .tini files, which contain the byte codes, or machine instructions, that the TINI’s JVM interprets. A .tini file is essentially the same as a .class files, but with redundant information removed for a smaller file size. To copy .tini files from a PC to a TINI, you can use any generic FTP client program configured to access the TINI’s IP address. The source code for the operating system and Java API aren’t available. Dallas Semiconductor and Maxim Integrated Products grant users a no-charge license to load the binary file containing the code into a TINI system. Dallas Semiconductor provides application notes and many short examples that you can use in writing custom applications. The book The TINI Specification and Developer’s Guide by Don Loomis, the lead architect and developer of TINI, has additional TINI information and examples. The book is available in printed form from Addison Wesley or as a free download from Dallas Semiconductor. Another book that focuses on the DSTINI-1 is Designing Embedded Internet Devices by Dan Eisenreich and Brian DeMuth (Newnes). Other support includes an e-mail discussion list sponsored by Dallas Semiconductor and a variety of Web pages maintained by TINI users. Although the TINI was created as a Java computer, it’s possible to program the DSTINIm400 in C or assembly code using Keil Software’s uVision2 C compiler.

Systronix JStik

At a glance: direct execution of Java bytecodes eliminates the need for an interpreter.

legal disclaimer

Our website is not responsible for the information contained by this article. Web-articles is a free articles resource.
Suggestion: If you need fresh, daily updated content for your website, feel free to use our service. Click here for more information.

related articles

1. The MCF5282 supports a subset of the Motorola 68000
Ethernet support: 10BASE-T The MCF5282 supports a subset of the Motorola 68000. Typical use: Applications that use Java and require speed. Source: Systronix (www.systronix.com). Hardware. The TINI isn’t the only option for Java programmers. Systronix’s JStik board (Network article 3-8) contains aJ-100 microcontroller from aJile Systems Inc. The aJ-100’s native execution of Java bytecodes results in very fast performance. The chip is base...

2. Ubicom IP2022 Wireless Network Processor
Special-Purpose Modules Ubicom IP2022 Wireless Network Processor. In addition to products that provide a complete generic system for networking, a variety of modules and chips are available to handle specific tasks. Some products can interface to just about any CPU. If you have an existing product or a CPU that you want to use, one of these modules may provide a way to add networking capability. This section describes a selection of products. Lantronix Device Server At a glance: enables any device with an ...

3. EDTP Electronics Packet Whacker
EDTP Electronics Packet Whacker At a glance: An Ethernet interface on a circuit board with headers for connecting to a CPU. Typical use: adding Ethernet to any microcontroller circuit. Ethernet support: 10BASE-T Source: EDTP Electronics (www.edtp.com) Hardware. The Packet Whacker (Network article 3-11) from EDTP Electronics is an Ethernet interface only. The circuit board contains a Realtek RTL8019AS Ethernet controller, an RJ-45 connector, two headers that bring out the si...

4. NE2000 Compatibility
NE2000 Compatibility A term you’re likely to hear in reference to program code for network controllers is NE2000-compatible. The NE2000 was an early and popular PC network interface card from Novell. The card contained National Semiconductor’s DP8390 controller. Software for systems that use the ’8390 or a compatible chip has come to be known as NE2000-compatible code. A major feature of the ’8390 is its set of internal registers. By reading and writing to the registers, a CPU can c...

5. Using the Internet Protocol in Local and Internet Communications
The protocols in the IEEE 802.3 Ethernet standard enable the computers in a local network to exchange messages with each other. In practice, most Ethernet networks also use Internet protocols such as TCP or UDP and IP. These provide defined and well-supported methods for accomplishing common tasks such as flow control and flexible addressing and routing of messages. Messages that travel on the Internet must use IP. And because TCP and UDP are designed to work along with IP, local communications that use TCP or UDP also use...

6. There are several options for obtaining an Internet connection
Technologies for Connecting There are several options for obtaining an Internet connection. A long-popular way for home users to connect to the Internet is via dial-up connections on phone lines. For higher speeds, alternatives are a Digital Subscriber Line (DSL), an Integrated Services Digital Network (ISDN) line, or a cable modem. Satellite connections are also possible. Table 4-1 compares the capabilities of the different methods. Not every connection type is available in all locations. Depending on ...

7. Every computer that communicates over the Internet must have an IP address
Static and Dynamic IP Addresses Every computer that communicates over the Internet must have an IP address, which the computer typically receives from its ISP. The IP address may be static or dynamic. A static IP address stays the same until someone explicitly changes it, while a dynamic IP address can change on every boot up or network connect (though the address typically changes only occasionally). An embedded system may store a static IP address in non-volatile memory, either within an application...