EM1000 BASIC-programmable Ethernet Module

Top  Previous  Next

 

em1000-red-new-small

Please be sure to read the following topic: EM1000-00 and -01.

Introduction

The EM1000 is a powerful BASIC-programmable embedded module that can serve as a central building block of security equipment, control & automation devices, data terminals, etc. Its firmware, called TiOS, executes your application written in Tibbo BASIC. The EM1000 has no pre-defined functionality whatsoever -- programmability in Tibbo BASIC means that you can create your own unique EM1000 applications! The EM1000 is powerful and versatile enough to be the central building block of your system, not just a networking "coprocessor".

The EM1000 offers two network ports. A 100BaseT Ethernet port comes standard with each EM1000 module. Additionally, a Wi-Fi network port can be added by connecting a WA1000 slave SPI module to the high-speed SPI port of the EM1000.

Additionally, the EM1000 features 4 serial ports, onboard flash, EEPROM, a real-time counter, buzzer control, and a large number of I/O lines. External components such as an LCD panel and keypad are also supported by the EM1000 and connect to it with no or minimum glue logic.

Each of the above facilities of the EM1000 is controlled through a sophisticated programming "object" which you interact with from your Tibbo BASIC application. Together, objects form a "platform" that defines EM1000 capabilities from the programming point of view. The EM1000 platform, along with the Tibbo BASIC language and TIDE software is described in the "Tibbo BASIC Programming Guide"

 

Hardware features

Compact dimensions (38.4 x 28.4 mm).
Based on high-performance (88MHz) purpose-built T1000 ASIC.
One 100BaseT Ethernet port with Auto-MDIX (automatic detection of "straight" and "cross" cables). Standard Ethernet magnetics are NOT integrated into the module.
High-speed SPI port for connecting external slave modules, such as the WA1000 Wi-Fi module.
Four high-speed serial ports (CMOS-level):

- Each port can work in the UART, Wiegand, or clock/data mode. Support of Wiegand and clock/data interfaces is a unique feature of Tibbo devices.

- UARTs have the following capabilities:

- baudrates of up to 921'600bps;

- none/even/odd/mark/space parity modes;

- 7/8 bits/character modes;

- full-duplex mode with optional flow control, half-duplex mode with automatic direction control.

512KBytes or 1024KBytes of flash memory. First 64KB are used to store device firmware (TiOS). The rest is available to your Tibbo BASIC application and its data.
2KBytes of EEPROM memory.
Real-time-counter (RTC) with its own backup power input. Optional backup supercapacitor onboard (option "-S" only). External backup power source can also be connected.
Up to 54 general-purpose 5V-tolerant I/O lines( 49 standard lines; 5 additional lines on the SPI port). Among the I/O lines:

- Serial port I/O lines;

- 40 lines that are combined into five 8-bit ports;

- 8 lines that can work as interrupt lines which can be triggered on state change;

- 1 line that can work as a programmable square wave generator (6Hz - 22'1184MHz). This line can control a buzzer.

The following control lines are additionally available:

- 2 lines for green and red status LED control;

- 2 lines for Ethernet status LED control;

- 1 line to connect the "system" (MD) button.

Software and hardware-controlled onboard PLL (phase-locked loop) to select the clock frequency of the device: 11.0592MHz with PLL off, 88.4736MHz with PLL on.
Reliable power-on/brown-out reset circuit, no additional external reset circuitry required. Master reset input also provided.
Device firmware and Tibbo BASIC application can be upgraded through the serial port or Ethernet.
Tibbo BASIC application can be debugged through the Ethernet and no additional debugging hardware, such as in-circuit emulator, is required.

Programming features

The following data types are supported:

- Byte and char (occupy 1 byte);

- Integer (word) and short (occupy 2 bytes);

- Dword and long (occupy 4 bytes);

- Real (occupies 4 bytes);

- String, can be up to 255 characters long;

- User-defined structures and arrays.

The following function groups are supported:

- Conversion to and from strings: asc, chr, val, str, left, mid, right, len, instr, etc. (21 function in total); 

- Date and time serialization/de-serialization : daycount, mincount, year, month, date, weekday, hours, minutes;

- Hash calculation and related functions: md5, sha1, random.

The following objects are included into the platform:

- Sockets (sock.) object -- supports up to 16 simultaneous UDP or TCP connections, or HTTP sessions;

- Ethernet (net.) object -- controls Ethernet interface;

- Wi-Fi (wln.) object -- controls Wi-Fi module (only available on the EM1000W platform);

- Serial (ser.) object -- supports 4 serial channels; each channel can work in the UART, Wiegand, and clock/data modes;

- Input/output (io.) object -- handles I/O lines, ports, and interrupts;

- Display (lcd.) object -- works with several different types of graphic display panels;

- Keypad (kp.) object -- handles key matrix;

- Flash disk (fd.) object -- provides file system in flash memory;

- EEPROM (stor.) object -- facilitates access to the EEPROM memory;

- ROM data (romfile.) object -- provides access to the fixed ("ROM") data of your Tibbo BASIC application;

- Real-time clock (rtc.) object -- keeps track of time and date;

- LED pattern (pat.) object -- "plays" patterns on Green and Red Status LEDs;

- Beeper pattern (beep.) object -- generates beeper patterns;

- System button (btn.) object -- handles special system (MD) button;

- System (sys.) object -- controls general device functionality.