HCCU
HCCU is the abbreviation of 'Highdatarate Communication Control Unit'.
intro
Several years ago I developped a highspeed modem to be used on powerlines.
The standardization was made by ISO WG104 (or so I remember, currently lacking
the papers), a commitee assembled from manufacturers and users of marine refrigerated
container equipment. They proposed a standard on how the communication has to happen.
There are two ways : the highdatrate equipment transmitting at 19200baud and the
lowdatarate equipment transmitting at 1200baud over the 460V 3phase powerlines.
The latest draft is DIS 10368, I won't publish it here now. As the standards seem
to have the least useful denominator in common, there are always problems implementing
them. May this publication help to solve them.
The master modem - HCCU
The communication on the powerline is master-slave oriented. The master modem does the
communication to the slave modems (RCD). It is connected to the powerline and to a PC.
There is a protocol between the PC and the master and a protocol between master and slaves.
There are a few differences between the definition and the implementation of the standard
what the master modem concerns. They are due to the fact that the standard was far too rigid
and somewhat not fitting the used hardware. But meanwhile the differences may have sifted
through.
HCCU hardware
The hardware incorporates a chipset from Adaptive Networks. It does the actual communication
or more precise, up to level 3 of the OSI reference model. It provides a generic save
communication with Ack, Nack, CRC. A NEC V25 CPU with some RAM and some FLASH
communicates with the PC and implements the used protocols.
HCCU software
The software of the master modem is written in TurboPascal and uses a realtime kernel
to benefit from multitasking. Main objectives were
- fast development -> Turbopascal with remotedebugger, PC compatible CPU
- incircuit software update
- no dynamic structures, only static allocation to get a reliable system
- there are multiple masters possible, though only may run at a time
Following is a simplifyed task layout. Some tasks may be run in multiple instances.
Note that any published code may not be the latest version.
- IDList, the used ID's are defined to be unique and are equal to the name of
the container. The possible 1024 IDs are stored in an array structure with
an balanced binary tree on top for fast searching. It takes at most 10 compares
to find the entry
the code
- BufferPool, as buffers have to be allocated and shifted around between tasks,
this unit does it.
the code
- Internal data, relevant internal data the code
- internally used messages, mailboxes and so on.the code
- ISO command codes, the code
.. to be continued
home
last updated 4.dec.99
last updated subpage 4.dec.99
Copyright (99,2000) Ing.Büro R.Tschaggelar