Sometimes, during the design process, it is advantageous to capture serial data from the design under simulation. The ISIS simulation environment contains a couple of external simulation devices that allow the design to interface serially.
The PROTEUS Virtual Terminal connects directly to the design under test and displays that data in a virtual terminal in the simulation environment. The COMPIM device connects to the design’s serial data and sends it to the Windows host serial port. So in its intended use, the simulated design’s serial data can been seen at the host’s physical com port. In order to capture the simulated design serial data, one would then need to physically connect a PC or other device to the host running PROTEUS.
When analyzing the captured data it would be nice to capture the data generated by the design on the Windows host, as opposed to going out the physical COM port. The Windows virtual COM driver, com0com, enables just that.
com0com sets up two virtual com ports, connecting COMPIM to one and a Windows app to the other, a virtual null-modem connection is established between the PROTEUS simulated design and a Windows app. In this example, Hyperterm is shown as the Windows app and an EasyHDL program represents the simulated design generating serial data, which could just as easily be a PIC design driving the serial data.
The HDL program can be found in your EXAMPLES\Generator Scripts\Serial Data Generator subdirectory of your PROTEUS installation. Although I haven’t explored it, com0com project has a com-to-tcp sub project which I suspect will enable your PROTEUS simulation to send your serial data to a tcp connection on your Windows host. One can imagine remote data logging with this configuration.