Internet 0 - Implementation

Implementation

Internet 0 is similar to a serial port running at 9600 baud except it sends data by pulse-position modulation, and accepts up to 30% timing deviations. The medium is broadcast, and half duplex. Software in the receiving devices examines the IP address of each packet, rejecting unwanted packets.

A zero bit is a one-microsecond pulse in the center of the first half of a bit time, and a one is a pulse in the second half of a bit time. Data is sent as 8 bit bytes. A byte is preceded by a bit time that has two pulses (at both 1 and 0 times), and ends with a bit time that has another two pulses. In some variations, the stop bit-time is optional, and the dual-pulse bit times are treated as byte separators.

The dual-pulse start and stop bit times permit a receiver to synchronize with the beginnings of bytes, and also measure the baud rate of a sender. Synchronizing on 8-bit bytes permits a 9600 baud internet-0 connection to easily translate to a standard, low-speed 19,200 baud TCP/IP serial port. The baud rate measurement permits senders and receivers to use inexpensive low-precision oscillators such as ceramic resonators or resistor-capacitor oscillators.

The most common interface uses the power supply wiring to the device. The circuit is a small surface mounted capacitor between an AC mains wire or a DC power wire and a single digital pin of a small microcontroller that switches a high-power transistor briefly on, then off. The pulses are normally generated by having software toggle a digital I/O pin on the microcontroller. They are received through another capacitor, by a microcontroller with a pin configured as an interrupt, or as a hardware timer's gate.

Read more about this topic:  Internet 0