Sunday, 4 March 2007

04/03/07 - Network ideas

Looking further into networking systems, I examined a number of alternatives.
If we used our own implementation for the network, it could have bugs in, so it would be better to use an existing system, for which cores or chips are available.

Originally we discussed using a mesh network. I was unable to find an existing wired mesh network. Zigbee is a wireless network with a maximum speed of 1 megabyte. It is available as a system on a chip. It has 3 types of node, the lower two being function and router nodes. Although function nodes are small, we would need something like the router node, which is larger.
I think that the only way to get a proper mesh wired network at the high bandwidth requirements we discussed, would be to research, develop, and implement such a network. This would be a project in itself. I might do it after finishing, as it does need doing.

CANbus is really too slow as are RS232 and a number of other IEEE defined specifications.

After examining a number of standards, I concluded that it would be a good idea to use Ethernet because:
  • the bitrate is excessive, so a shared bus would not cause congestion problems
  • the devices could be plugged directly into a computer, via its RJ45 port, this would make writing a software interface kind of easy.
  • commercial devices such as switches could maybe be used.
  • with a TCIP stack ontop, the global internet could be used for communication
Control messages:
  • control messages would act as a interrupt
  • the would be preprocessed by some HDL coded firmware, or maybe some flash software, to see if they were for programming.
  • If not they would be either a function call or a global variable get call, these would be passed as an interrupt to the CPU.
In the present implementation, peripherals would be poled, no interrupts supported.

ethernet cores and SoC's are easy to find.

No comments: