Skip to content
Kishan Patel edited this page Apr 7, 2019 · 7 revisions

Welcome to the UART-for-bluetooth-module wiki! UART stands for Universal Asynchronous Receiver/Transmitter. A UART’s main purpose is to transmit and receive serial data.

In UART communication, two UARTs communicate directly with each other. The transmitting UART converts parallel data from a controlling device like a CPU into serial form, transmits it in serial to the receiving UART, which then converts the serial data back into parallel data for the receiving device. Only two wires are needed to transmit data between two UARTs.

UARTs transmit data asynchronously, which means there is no clock signal to synchronize the output of bits from the transmitting UART to the sampling of bits by the receiving UART. Instead of a clock signal, the transmitting UART adds start and stop bits to the data packet being transferred. These bits define the beginning and end of the data packet so the receiving UART knows when to start reading the bits.

When the receiving UART detects a start bit, it starts to read the incoming bits at a specific frequency known as the baud rate. Baud rate is a measure of the speed of data transfer, expressed in bits per second (bps). Both UARTs must operate at about the same baud rate.

Here Here I have used

                  1. Transmitter : FPGA 
                     Receiver :  Mobile phone (in which bluetooth terminal is installed) as receiver

                  2. Transmitter : Mobile phone (in which bluetooth terminal is installed)
                     Receiver : FPGA 

(In both cases our connection will be establish using bluetooth module HC-05. Both side we require bluetooth module. In mobile we have bluetooth in built so we use that one but one is connected to the FPGA board.) Here I have chosen the default baud-rate of HC-05 38400 bps. So according to that we have to transmit the every bit. We need to install the bluetooth terminal app in mobile. From that we can send or receive the databyte from mobile.

  1. FPGA as a transmitter :

In this I have created one small memory for data which we want to transmit. But that 8-bit of data goes in serially like above manner. In this case we will connect the RX pin to the data_out(1-bit) pin of the FPGA and gnd pin of HC-05 is connected with any GND pin of on board FPGA. First bit is start bit then data of eight bit from LSB to MSB order and then stop bit. This is the frame 10 bit for every 8 bit of data. Once we load the code in FPGA after that we need to pair our bluetooth module (which is connected to FPGA) and mobile's bluetooth. Then after the predefined data written in FPGA module will be send to mobile.

  1. FPGA as a receiver : In this I have created on
Clone this wiki locally