... | @@ -55,6 +55,19 @@ For correctly interpreting the sequence of bits, the FPGA has to store the infor |
... | @@ -55,6 +55,19 @@ For correctly interpreting the sequence of bits, the FPGA has to store the infor |
|
For example, to receive data at 1 MBaud, the system clock of the OpenLab FPGA design hast to be clocked down to 1 MHz. This is done by implementing a simple clock divider.
|
|
For example, to receive data at 1 MBaud, the system clock of the OpenLab FPGA design hast to be clocked down to 1 MHz. This is done by implementing a simple clock divider.
|
|
At each clock cycle one bit of the received data package is stored into a register. After the stop bit was received, the "FINISHED" flag is set and the data is ready for further processing.
|
|
At each clock cycle one bit of the received data package is stored into a register. After the stop bit was received, the "FINISHED" flag is set and the data is ready for further processing.
|
|
|
|
|
|
|
|
== Transmit Component
|
|
|
|
|
|
|
|
This component is structured in a similar way as the receiving part, explained in section 5.3.2. The 8 bit user data, that should be transfered, is applied as a parallel signal to this module.
|
|
|
|
To prevent corrupted data, the transfer will only start after the "START" input signal is high.
|
|
|
|
During transfer the "BUSY" line will be high to indicate that the transmitter is currently in use and the output data of the transmitter is not yet valid.
|
|
|
|
|
|
|
|
== Transfer Rate and Data Integrity
|
|
|
|
|
|
|
|
The maximum achievable stable transfer rate of the SERIAL_COM_8N1 component, is 2 MBaud. However, the FPGA is theoretical capable of much higher data rates.
|
|
|
|
Further tests revealed that at some host PCs during a 2 MBaud data transmission, some packets sent from the FPGA were not received.
|
|
|
|
This is due to the fact that the machine was not able to clear its receiving buffer fast enough. Current data in the buffer will then be overwritten by new packets.
|
|
|
|
In order to prevent this, the baud rate of the UART communication component can be switched between preconfigured settings.
|
|
|
|
The baud rate can be selected between 1.2 MBaud, 1.5 MBaud and 2 MBaud.
|
|
|
|
As the default setting, 1.5 MBaud was chosen to be the most reliable transfer speed in relation to different kinds of PCs and operating systems.
|
|
|
|
|
|
== https://es.technikum-wien.at/openlab/openlab_wiki/wikis/home[Home] | https://es.technikum-wien.at/openlab/openlab_wiki/wikis/board_TIVAC[<Microcontroller-based TIVAC] | https://es.technikum-wien.at/openlab/openlab_wiki/wikis/sig_proc_osci_hardware[Signal Processing Front-End (XMC,TIVAC,DE0-Oscilloscope)>] |
|
== https://es.technikum-wien.at/openlab/openlab_wiki/wikis/home[Home] | https://es.technikum-wien.at/openlab/openlab_wiki/wikis/board_TIVAC[<Microcontroller-based TIVAC] | https://es.technikum-wien.at/openlab/openlab_wiki/wikis/sig_proc_osci_hardware[Signal Processing Front-End (XMC,TIVAC,DE0-Oscilloscope)>] |