This article is written like a manual or guidebook.(May 2012) |
Developer(s) | MISOLIMA |
---|---|
Stable release | 3.18b / 29 February 2012 |
Written in | Assembler, C++, C++, Java |
Operating system | Android, Microsoft Windows, Linux, Mac OS X, DOLLx8 RTOS |
Type | Integrated development environment |
License | MISOLIMA EULA,[ clarification needed ] LGPL or GPL license |
Website | www |
Digital One Line Link (DOLLx8) is a technology architecture that consists of data communication protocol, synchronous serial data bus and a communication system for embedded systems and electronics. DOLLx8 use ASCII characters in its data protocol, differential signaling in the bus system, where the communication consists of an active long-distance technology based on system logic where handling of the communication is done automatically by the microcontroller and its internal embedded Real-time operating system (RTOS) and software.
A traditional local area network (LAN) is based on Ethernet, a network system used in personal computers where one PC is able to talk to another PCs. In embedded systems, RS-232 TTL (Transistor-Transistor Logic) has dominated the market over a longer period of time as the most common communication standard that also works as an internal embedded network system. With the use of MAX 232 integrated circuit (IC), the RS-232 TTL may connect to an external RS-232 connection where the immediate advantage of using MAX 232 is that there is no need of using positive and negative power supply. It is also possible to connect to USB via RS-232 to USB converter, and even if the original standard for RS-232 was basically a point-to-point system for the serial port on PCs, it is still possible to use RS-232 in small local area network using micro-controller and source code to control the signals and data transmission.
A DOLLx8 embedded network uses its own specific interface system named DOLLx8 Dataport that via DOLLx8 eMaster unit connects to external RS-232 and from there to USB directly, but requires the installation of a separate DOLLx8 driver. DOLLx8 runs on its own internal clock system that allows the DOLLx8 Dataport bus speed to be independent of the RS-232 baud speed set on the PC side, and can thus be determined by the user. With DOLLx8, USB works as a virtual communication port and can be set to a maximum speed of 128,000 kbps.
MISOLIMA is a registered trademark of FIKO Software Co., Ltd. and are being used for all products from FIKO Software which also includes products other than software, electronics and embedded systems. One such product-range is MISOLIMA Home and Offices [1] [2] that is ready-built modular houses supplied with DOLLx8 technologies such as home automation, solar cells and GSM alarm. MISOLIMA accounts for most of the product developments in cooperation with other companies that use DOLLx8 technologies, where MISOLIMA gets grants from the National Innovation Agency [3] in the development of DOLLx8 for Android.
MISOLIMA established Thailand's first foreign owned software and technology park in Chiang Mai in 2001/2002 with approvals from the Thailand Board of Investment under the name Cyber Media Park for e-Gravity (CMPEG)" [4] [5] where the name was later on changed to MISOLIMA Software and Technology Park (MSTP). [6] [7] [8] [9] [10] MSTP consists of 11 400 square meters (122 708 square feet) land area with main building of 1 600 square meters (17 222 square feet).
The first DOLL (Digital One Line Link) version was developed as a joint project between Norway, England and Hungary [11] [12] [13] [14] [15] by Anne Selene FIKO and her team in the early 1990s and was used in home automation, electronic control- and audio system. The early DOLL system [16] [17] was back then based on 18 – bit Pulse-width modulation (PWM) where the communication was 120 Khz and was divided into 10-bit address and 8-bit data word. The signal was sent three times before the electronics of the receiver side (with the right set address code) was able to approve the data transfer and accept the 8 data bits. The reason why the data was sent 3 times was that it should make sure that the receiver did not receive erroneously information in the data network.
Some years later, around 1995 and until 1999, the DOLL was further developed together with a new group of developers in New Zealand and then became the DOLLx8 versions 1.0 to 3.0. DOLLx8 was then also extended into applications such as audio [18] where it was emphasized on that the system should send feedbacks to the master unit and where one could check the status of all devices connected to the network.
The DOLLx8 system was in the period 2001 to 2003 [19] re-developed so that it could receive commands via text messages rather than just data and address bits, and was then developed for both cascade (2-port) and parallel networking using RS-232 and USB. Such cascade and parallel networks had its pros and cons, where links between the units had weaknesses in such way that it had limited cable length of 16 meters, while the RS-232 TTL version had the same limitation but with only 5 meters. With such limitations, the best solution was a cascade network where each device in the network was acting as a signal buffer, where data was received on port one and went out buffered on port two. The major drawback of such solution was that if a device did not work as intended due to errors in the system, the rest of the devices would not be able to communicate with either master devices nor the rest of the network. In the same period MISOLIMA received export subsidies from the Department of International Trade Promotion [20] and held exhibition at Comdex 2002 in Las Vegas, United States [21]
From 2003 to 2006 DOLLx8 was also developed for embedded systems within aviation through Aeronautical Software and Technology Lab [22] (ASLT) [23] [24] in Thailand where ASLT developed a DOLLx8 streaming system for the transfer of GPS-, navigation (navaid), terrain, and MEMS gyroscope data for Electronic Map Display (EMD) and Primary Flight Display (PFD). [25] The system could then receive GPS data in NMEA and binary formats, along with other aircraft data and transmit this along with the flight plan, terrain and navigation data so that both instruments could use the same flight data over one or two DOLLx8 data lines. The advantage of such technology was that the aircraft or helicopters would need only one GPS antenna for two or more GPS based instruments. The streaming system that was developed back then by ASLT was also used in later versions and is now a permanent part of DOLLx8 in connection with sensor streaming technologies and GSM data transfer via GPRS.
The latest version of DOLLx8 [26] is far more advanced than earlier versions and is based on 20-year experience in control systems and sensor technologies, where weaknesses in previous versions has meant that MISOLIMA [27] [28] has by research and development (R&D) developed, extended its expertise, created technologies and come up with products that are also suitable for educational purposes. The latest version of DOLLx8 as of February 2012 is 3.18b.
The DOLLx8 bus works with five logical signals at 5 volts each, where the bus-line requires resistors as electrical termination (terminator) of 120 ohm. The system uses standard UTP category-5 Ethernet cable (twisted pair cable) with eight contact points and RJ-45 as end-piece connected to i.e. the DOLLx8 eMaster unit. DOLLx8 devices may connect to a PC or server via UTP cable, but can also be used "stand alone" without a central computer.
This table shows the bus signals and color codes in DOLLx8 contact points on MISOLIMA eSherlock 1800Tx8 where the contact 'C2' is connected to the RJ-45 end-piece of the UTP cable. The signals corresponding to the same contact point (1-8) on the RJ-45 connector if the RJ-45 connector is held in the hand with the locking tab facing down and the cable opening is held towards the body. The connectors are numbered 1-8 and goes from left to right.
Contact point | Signal | Description | Usage | Wire color |
---|---|---|---|---|
1 | DAT- | Data active low | Data between Master and Slave – in full duplex | gray |
2 | DAT+ | Data active high | Data between Master and Slave – i full duplex | purple |
3 | BSEL- | Bus Select active low | Output from DOLLx8 Master i full duplex | blue |
4 | BSEL+ | Bus Select active high | Output from DOLLx8 Master i full duplex | green |
5 | CLK | Serial clock signal | Serial clock with output from DOLLx8 Master | yellow |
6 | Ground | Connects to signal ground | Ground for signal ground | orange |
7 | +5Vdc In | Connects to power supply | +5Vdc may be taken from the USB port | red |
8 | +12Vdc In | Connects to power supply | May be taken from i.e. battery with solar cell | brown |
DAT+ and DAT- signals will be activated as soon as data is placed in the internal data buffer memory. DAT- goes positive and then activates the BSEL lines 3.5ms after the DAT lines are activated. The bus speed in DOLLx8 network is managed by the CLK signal and are currently set to 36kHz, which represents 14 milliseconds between each clock pulse. The bus clock is controlled by a positive BSEL- signal (BSEL + goes then simultaneously negative or low) and remains high as long as there is data in the data buffer memory. When data communication is completed and DAT receives HEX 0D 0A (CRLF) from the data buffer memory, the BSEL+ signal goes high again while BSEL signal goes low, which results in that the CLK signal ceases. The DOLLx8 system is then passively in standby or hibernation mode with minimal power consumption that leads to zero electromagnetic interference (EMI) in the network.
The DOLLx8 solution is used in vehicles, buses, trains, caravans, marine, aviation, laboratories, homes, offices, buildings and in other automated systems. [29] [30] DOLLx8 is based on program-controlled embedded system, or integrated systems technology, and may therefore also interface to multiple systems such as RS-232, RS-422, RS-485, Controller Area Network (CAN-bus), GSM, USB and more, but may also be connected to wireless systems such as Bluetooth, Wi-Fi, VHF, GSM, laser or Internet for communication without the use of the data buffers between the units. DOLLx8 as multi-functional data network with mixture of combinatorial logics may connect via single or multiple connection-points adapted to multiple systems as defined in Common Hybrid Interface Protocol System (CHIPS).
MISOLIMA DOLLx8 system is based on several complete small modules and can be used in various integrated electronic projects. The main module is ePAT MCU with a clock frequency of 18.432 MHz, which is also the main unit used in most DOLLx8 systems. ePAT MCU uses only internal memory and distributed memory capacity, according to this table;
256 byte as on-chip RAM | used for variables |
1 Kbyte as on-chip XRAM | used to buffer variables |
32 Kbytes as on-chip Flash Memory | for software |
2 Kbyte as on-chip Flash memory | bootloader |
2 Kbyte as on-chip EEPROM | used for users settings |
ePAT MCU also includes three 16-bit counters, two serial ports, five I/O ports (4 × 8 = 32 bits + 1 × 2 bits), five channels 16-bit PCA (Programmable Counter Array) with 8-bit PWM, 21-bit watchdog counter and 8x10-bit analog-to-digital converters (ADC). ePAT has integrated switched-mode power supply (SMPS) on the upper side of the PCB which handles power input from 5 to 30 V DC. Beside ePAT MCU, there exists also i.e. small GPS and GSM modules.
DOLLx8 protocol system is based on ASCII-text and/or hexadecimal values, where the users can control device features, settings and parameters via PC, Internet, smartphone or regular mobile phone via SMS. DOLLx8 devices such as fleet management, GSM alarm systems have features such as for Master Phone, where the owner or owners of the system can alone use the mobile network to control DOLLx8 devices. For all others calling the devices via GSM will be treated as a normal phone call. The owner of Master Phone can also use a SpyCall function where the owner can call the device and listen into what's being said without those on the other end knowing about it.
All DOLLx8 devices have an integrated unique vendor and product ID that consists of 12-digits hexadecimal values which includes Country Code, Company Code, Product ID, Manufacturer Product ID, User's Product ID and User sub-Product ID.
A DOLLx8 command may according to the table hereunder look like this: @ax, 02C002A030010, ON <CRLF>
. If this command is sent to a DOLLx8 device with a buzzer installed it will start to buzz until the "OFF" command is sent to the device. If the command was successfully sent and received by the device with the right ID, then the device will acknowledge with #ax,02C002A030010,ON
followed by <CRLF> as confirmation that the device has executed the command.
It is also possible to use a key name instead of the 12-digit Vendor and Product ID and if the key name is set to "living room" then the same command would look like this @ax,living room,ON <CRLF>
.
Description | Byte | ASCII value | Character value/Description |
---|---|---|---|
Start command | #1 | 064d 40h | @ |
Product function | #2 | 120d 78h | x for DOLLx8 functions [lower-alpha 1] |
Intern function | #3 | 086d 56h | B for buzzer function [lower-alpha 2] |
Comma separation | #4 | 044d 2Ch | , |
Country Code | #5-7 [lower-alpha 3] | 044d 2Ch | 02Ch for British manufacturer |
Company Code | #8-10 [lower-alpha 4] | - | 002h for MISOLIMA |
Group-ID | #11 | 065d 41h | Ah for node device |
069d 45h | Eh for slave device | ||
070d 46h | Fh for master device | ||
Manufacture Product-ID | #12-13 | - | 00h to FFh |
Users Product-ID | #14-15 | - | 00h to FFh |
Users sub-Product-ID | #16 | - | 0h to Fh |
Comma separation | #17 | 044d 2Ch | , |
Function message strig | #18+ | - | DOLLx8 message [lower-alpha 5] |
End command | #1 | 0Dh | CR |
#2 | 0Ah | LF |
This section shows how to send a command to DOLLx8 via MISOLIMA.DLL and Visual Basic 6.0. In this case, an integrated light function on MISOLIMAs eSinclar PWM4 RGB + W LED light system is turned ON and changes colors automatically where according to the next two VB examples the speed between red, green and blue can be adjusted up or down by the user. The result of this code, you can see on YouTube [31]
DeclareFunctionfnSendDataToDeviceLib"MISOLIMA.dll"Alias"SENDDATATODEVICE"_ (sCommandAsString,_ sDeviceIDAsString,_ nDataAsString)AsLongOptionExplicitDimsDeviceNameAsStringDimlRetValAsLongPrivateSubForm_Load()sDeviceName="eSinclair"EndSubPrivateSubbtnPatern1_Click()lRetVal=fnSendDataToDevice("@sB",sDeviceName,"P1")' Activates RGB pattern #1 in eSinclair PWM4 LED light moduleEndSub
Adjusting color change speed opp
PrivateSubbtnAdjUp_Click()lRetVal=fnSendDataToDevice("@sB",sDeviceName,"T+")EndSub
Adjusting color change speed down
PrivateSubbtnAdjDwn_Click()lRetVal=fnSendDataToDevice("@sB",sDeviceName,"T-")EndSub
In addition to the above-mentioned protocol system, the latest version of DOLLx8 has also integrated Internet of Things (IoT) functions which, among other things, registering an IoT serial number that consist in total of 281,474,976,710.655 unique combinations. This IoT serial number is registered by the manufacturer and together with the 12-digit DOLLx8 Product ID, this becomes the "IoT product-ID" which can then be identified as a unique number on a worldwide basis.
General Packet Radio Service (GPRS) is a packet oriented mobile data standard on the 2G and 3G cellular communication network's global system for mobile communications (GSM). GPRS was established by European Telecommunications Standards Institute (ETSI) in response to the earlier CDPD and i-mode packet-switched cellular technologies. It is now maintained by the 3rd Generation Partnership Project (3GPP).
In telecommunications, RS-232 or Recommended Standard 232 is a standard originally introduced in 1960 for serial communication transmission of data. It formally defines signals connecting between a DTE such as a computer terminal, and a DCE, such as a modem. The standard defines the electrical characteristics and timing of signals, the meaning of signals, and the physical size and pinout of connectors. The current version of the standard is TIA-232-F Interface Between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange, issued in 1997. The RS-232 standard had been commonly used in computer serial ports and is still widely used in industrial communication devices.
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use. In 2009, it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.
A universal asynchronous receiver-transmitter is a computer hardware device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significant to the most significant, framed by start and stop bits so that precise timing is handled by the communication channel. The electric signaling levels are handled by a driver circuit external to the UART. Common signal levels are RS-232, RS-485, and raw TTL for short debugging links. Early teletypewriters used current loops.
On computers, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. Throughout most of the history of personal computers, data has been transferred through serial ports to devices such as modems, terminals, various peripherals, and directly between computers.
In the seven-layer OSI model of computer networking, the physical layer or layer 1 is the first and lowest layer: the layer most closely associated with the physical connection between devices. The physical layer provides an electrical, mechanical, and procedural interface to the transmission medium. The shapes and properties of the electrical connectors, the frequencies to broadcast on, the line code to use and similar low-level parameters, are specified by the physical layer.
AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.
In telecommunication and data transmission, serial communication is the process of sending data one bit at a time, sequentially, over a communication channel or computer bus. This is in contrast to parallel communication, where several bits are sent as a whole, on a link with several parallel channels.
Electronic test equipment is used to create signals and capture responses from electronic devices under test (DUTs). In this way, the proper operation of the DUT can be proven or faults in the device can be traced. Use of electronic test equipment is essential to any serious work on electronics systems.
The Serial Peripheral Interface (SPI) is a synchronous serial communication interface specification used for short-distance communication, primarily in embedded systems. The interface was developed by Motorola in the mid-1980s and has become a de facto standard. Typical applications include Secure Digital cards and liquid crystal displays.
1-Wire is a device communications bus system designed by Dallas Semiconductor that provides low-speed (16.3 kbit/s) data, signaling, and power over a single conductor.
Null modem is a communication method to directly connect two DTEs using an RS-232 serial cable. The name stems from the historical use of RS-232 cables to connect two teleprinter devices or two modems in order to communicate with one another; null modem communication refers to using a crossed-over RS-232 cable to connect the teleprinters directly to one another without the modems. It is also used to serially connect a computer to a printer, since both are DTE, and is known as a Printer Cable.
JTAG is an industry standard for verifying designs and testing printed circuit boards after manufacture.
USB communications device class is a composite Universal Serial Bus device class.
Automatic test equipment or automated test equipment (ATE) is any apparatus that performs tests on a device, known as the device under test (DUT), equipment under test (EUT) or unit under test (UUT), using automation to quickly perform measurements and evaluate the test results. An ATE can be a simple computer-controlled digital multimeter, or a complicated system containing dozens of complex test instruments capable of automatically testing and diagnosing faults in sophisticated electronic packaged parts or on wafer testing, including system on chips and integrated circuits.
In computer engineering and electrical engineering, bit banging is a "term of art" for any method of data transmission that employs software as a substitute for dedicated hardware to generate transmitted signals or process received signals. Software directly sets and samples the states of GPIOs, and is responsible for meeting all timing requirements and protocol sequencing of the signals. In contrast to bit banging, dedicated hardware satisfies these requirements and, if necessary, provides a data buffer to relax software timing requirements. Bit banging can be implemented at very low cost, and is commonly used in some embedded systems.
VisSim is a visual block diagram program for simulation of dynamical systems and model-based design of embedded systems, with its own visual language. It is developed by Visual Solutions of Westford, Massachusetts. Visual Solutions was acquired by Altair in August 2014 and its products have been rebranded as Altair Embed as a part of Altair's Model Based Development Suite. With Embed, you can develop virtual prototypes of dynamic systems. Models are built by sliding blocks into the work area and wiring them together with the mouse. Embed automatically converts the control diagrams into C-code ready to be downloaded to the target hardware.
IEEE 1394 is an interface standard for a serial bus for high-speed communications and isochronous real-time data transfer. It was developed in the late 1980s and early 1990s by Apple in cooperation with a number of companies, primarily Sony and Panasonic. It is most commonly known by the name FireWire (Apple), though other brand names exist such as i.LINK (Sony), and Lynx.
WebUSB is a JavaScript application programming interface (API) specification for securely providing access to USB devices from web pages.