Echelon ShortStack® 2.1 Developer's Kit Answers to Frequently Asked Questions
April 2008
What is the ShortStack Micro Server?
The ShortStack Micro Server is a network interface component with firmware that enables any product that contains a microcontroller to quickly and inexpensively become a networked, Internet-accessible device.
How do I add a LonWorks® interface to my application?
You'll first decide what data you want your application to share with other devices on the network. You will describe these interfaces in a Neuron® C model file. You can create this file manually, or you can use the NodeBuilder® Code Wizard that is included with the NodeBuilder Development Tool to write the file for you. You then use the LonTalk® Interface Developer to translate your Neuron C model file into initialization data tables that you link with your application. Finally, you will integrate the LonTalk Compact API with your application and make a few simple function calls to send and receive data. For example, two function calls are used to send a data value on the network.
How can I access a ShortStack device from the Internet?
Any device incorporating a ShortStack interface is Internet accessible. All you need to do is add an Echelon i.LON® SmartServer or LonBridge™ Server to your network. The SmartServer includes a Web server that enables you to easily create Web pages that can display any data from your ShortStack devices, or update any data inputs to your ShortStack devices. The LonBridge Server provides a simple IP socket interface to ISI networks for use by user interface applications.
Which microcontrollers are supported?
The ShortStack Micro Server can be used with any 8, 16, or 32-bit microcontroller. An example port for the Atmel ARM7 microprocessor is available at www.echelon.com/shortstack.
How much memory is required on the host processor?
This depends on the host processor, but the LonTalk Compact API and driver typically require 4 – 6 Kbytes of program memory and less than 1Kbyte of RAM.
Do I have to supply any non-volatile memory on the host processor?
Non-volatile memory is typically required for configuration properties. The 4Kbyte program memory required for the ShortStack API can be ROM, PROM, or flash. The RAM is required for buffers, temporary data, and stack. With the exception of the non-volatile memory requirements to store configuration properties, there is no additional requirement for non-volatile memory, unless required by the application.
How long will it take me to port the ShortStack software to a new microcontroller?
The complexity of the port depends on the host processor, but a typical porting time including custom driver development is one to three weeks.
What languages can I use for development?
The example software ports are all in ANSI C. The LonTalk Compact API and driver source is simple enough that it can be ported to other languages or assembly language, but this will require more work than using C as your host application development language, and will also increase the work required to keep up with any future changes to the API source code.
What hardware do I need to implement a ShortStack Micro Server?
A ShortStack Micro Server consists of ShortStack firmware running in an Echelon Smart Transceiver.
How does the ShortStack Micro Server communicate with my host processor?
It communicates with your host processor using either a Serial Communications Interface (SCI) or a Serial Peripheral Interface (SPI). The ShortStack SCI interface is a half duplex asynchronous serial interface with 1 start bit, 8 data bits, and 1 stop bit. The ShortStack SPI interface is a half-duplex synchronous serial interface between the ShortStack Micro Server and the host processor, with the Micro Server acting as the SPI master and the host acting as the SPI slave.
What is the data rate between the ShortStack Micro Server and my host processor?
The data rate is selectable, and the range depends on the clock speed of your ShortStack Micro Server, and whether you are using and SCI or SPI interface. A ShortStack Micro Server implemented with an SCI interface and a 40MHz clock can have a data rate from 307,200bps to 38,400bps. The available clock rates scale with the ShortStack Micro Server input clock, so a ShortStack Micro Server implemented with an SCI interface and a 2.5MHz clock can have a data rate from 19,200bps to 2400bps.
My host processor supports both SCI and SPI interfaces, which do you recommend?
The SCI interface because is easier to implement on the host, requires fewer I/O lines, and provides comparable performance.
Which LonWorks transceivers are supported?
Echelon's FT 3120, FT 3150, PL 3120, PL 3150, and PL 3170 Smart Transceivers are all supported with no additional royalty fee.
What development tools do I need to add a ShortStack interface to my product?
You need a microcontroller development system for your host processor. In addition, you need a ShortStack Developer's Kit that includes the ShortStack software for your host, and ShortStack firmware for creating a PL-20 power line or TP/FT-10 free topology twisted pair ShortStack Micro Server. The ShortStack Developer's Kit is downloadable from www.echelon.com/shortstack free of charge. An Echelon NodeBuilder Development Tool is not required, but can be used to reduce development and test time. A ShortStack device can either be self-installed, or installed in a managed network using a network installation tool. When installing a ShortStack device in a managed network during development or in the field, you can use the LonMaker Integration Tool or you can use another tool based on the LNS® network operating system.
I'm a microcontroller manufacturer, how can I get more information on providing a ShortStack solution for my microcontrollers?
You can join the ShortStack Partner's Program to get everything you need to create a custom port of the ShortStack API. Echelon will co-market your solution with you. Contact Rich Blomseth, rich@echelon.com, for more information.
How can I get a ShortStack Micro Server?
You will use the ShortStack firmware provided with the ShortStack Developer's Kit to make your own ShortStack Micro Servers. You do this by programming the ShortStack firmware into an FT 3120, PL 3120, or PL 3170 Smart Transceiver, or flash memory or PROM for an FT 3150 or PL 3150 Smart Transceiver.
What are the key differences between Echelon's ShortStack and FTXL products?
Both products are used to add a LonWorks interface to a host processor. The FTXL solution supports a series of FPGA-based host processors from Altera, where the ShortStack solution supports any host processor with sufficient resources. The ShortStack product requires fewer resources on your host processor in terms of program memory and RAM. The two products use very similar versions of the LonTalk API, providing familiar interfaces for developers who require both solutions in their product lines. The ShortStack Micro Server supports up to 254 network variables on the host, while the FTXL solution supports up to 4096 network variables. The FTXL solution also has a higher performance LonTalk protocol stack since much of the protocol is implemented on the 32-bit host.
What are the key differences between Echelon's ShortStack and MIP/PCLTA-20/PCLTA-21/PCC-10/SLTA-20/LTS-20/U10/U20 products?
All of these products can be used to add a LonWorks interface to any host processor. With the exception of PC hosts, the ShortStack product is significantly easier to use in many ways, including a simpler host application programming interface (API) and easier to port host software. The ShortStack product requires much less resources on your host processor in terms of program memory and RAM. The other products require more host resources, both for the API as well as the hardware interface. If you are using a PC host, the U10, U20, PCLTA-20/21, SLTA-10, and LTS-20 can be used as LNS network interfaces, whereas the ShortStack Micro Server cannot. The SLTA-10 and LTS-20 can be used with modems to support dial-in and dial-out to remote hosts; the ShortStack Micro Server does not. The ShortStack Micro Server supports up to 254 network variables on the host, whereas the other network interfaces support up to 4096 network variables.
I am using a PC host running Microsoft Windows. Should I use a ShortStack Micro Server?
No, the LNS network operating system combined with an LNS network interface such as the U10 or U20 USB Network Interface, the PCLTA-20 PCI Network Interface, or the PCC-10 PC Card Network Interface provide a much more complete, robust, and higher performance solution for Windows applications. LNS applications can be used to manage, monitor, and control ShortStack devices.
How can I get the ShortStack Developer's Kit?
You can download the developer's kit from www.echelon.com/shortstack.
How much does ShortStack cost?
There is no development or runtime fee if your product uses an Echelon FT 3120, FT 3150, PL 3120, PL 3150, or PL 3170 Smart Transceiver. You can freely download the ShortStack Developer's Kit from www.echelon.com/shortstack, and you can ship your product using one of the Echelon Smart Transceivers without paying an additional royalty for the ShortStack firmware.
What are the licensing requirements?
The ShortStack Developer's Kit comes with a simple click-through license that you accept when you install the software.
How is LonTalk protocol processing split between the ShortStack Micro Server and my host processor?
The ShortStack Micro Server handles layers 1 through 6 of the LonTalk protocol. That is, it handles the physical, link (including MAC), network, transport, session, and presentation layers of the LonTalk protocol. Your host processor just handles the application layer (layer 7), which typically consists of simply sending and receiving network variable updates.
How many network variables can be implemented on a ShortStack host?
Up to 254 network variables.
Can a ShortStack host send and receive application messages?
Yes.
Does the ShortStack Micro Server support network variables with changeable types and sizes?
Yes.
Is it possible for my host application to add or delete network variables?
Network variables on the ShortStack Micro Server are defined by your host application, and can be changed at any time by the host application. The ShortStack User's Guide includes documentation of the initialization data structure used to define the network variables on a ShortStack Micro Server.
Does the ShortStack Micro Server support dynamic network variables?
Dynamic network variables as defined by the LonMark® Application Layer Interoperability Guidelines are not supported. However, it is possible for your host application to add and delete network variables as described in the previous answer.
Are configuration properties supported?
Yes. Configuration properties implemented as configuration network variables and configuration properties implemented within files that are accessed with direct memory read/write are fully supported.