Let's test the functionality of a microcontroller application. In this test that makes use of the UART protocol, the microcontroller receives data transmitted from a program designated as the “host program”. After processing the data, the microcontroller sends it back to the computer. An effective way to accomplish this is by using a UART-COM converter such as the MAX232 chip to connect the computer to the microcontroller.
Method of working with Proteus
In order to check this functionality, we will use Proteus. If we add a serial port model and connect the RXD and TXD, transmitted data should immediately be returned to the computer. This verifies the ability to enact serial communication in Proteus.
Ideally, a virtual serial port would be created in Proteus that would simulate the interaction with a physical interface. Then you could just run the device simulation and use Serial Port Terminal as the host program to test the connection. Unfortunately, the virtual port is not created in the Proteus simulator without the help of additional software.
The facility that allows the COM port model to work in Proteus is known as COMPIM.
What is COMPIM in Proteus?
COMPIM models a physical serial port. It buffers received serial communication and presents it as digital signals to the circuit. Any serial data transmitted from the UART model or the CPU will also travel through the computer’s serial port. There are workarounds that can be used to create a virtual serial port using Bluetooth or USB connectivity. Another feature of the COMPIM model is its ability to provide baud rate conversion. There is also optional software and hardware verification which can be implemented to address the physical and virtual aspects of the device.
Two ways of working with Proteus
There are two methods that can be used to check the functionality of the “host program” <-> “COM port” <-> “device model in the Proteus system.
- Configure Proteus’ virtual port to one physical port and the host program to the other one. Connect them using a serial cable.
- You can also use two computers, one of which is running the device simulation while the host program executes on the other one and connect them via their COM ports.
Proteus has advantages over other tools like VMLAb and Atmel Studio because it provides faster simulation of external serial ports. You can also work with commercial drivers using Proteus.
There is, however, an issue when we are using a modern laptop or another computer that does not contain a serial port.
Step-by-step instructions for creating virtual ports for Proteus
The resolution of this issue involves taking advantage of the power of Virtual Serial Port Driver. This professional-grade software from Eltima enables you to easily create connected pairs of virtual serial ports.
Just follow these simple steps:
- Download Virtual Serial Port Driver.
- Launch the application and select the port numbers to be used. Click the “Add pair” button and your system will immediately see two connected serial ports.
- Create a pair of ports named COM1 and COM3.
- Link the Proteus COMPIM model to COM1 and use the Serial Port Terminal to connect to COM3.
- Transmit data on the line. If it is returned as expected, you have resolved the issue of the lack of a serial port.
Using these steps, virtual serial ports can be used with the Proteus simulator even on computers that are not equipped with physical COM ports.