HC-05蓝牙模块
买来的模块背面就长这样子,总共有六个引脚,实际只用四个脚(RXD、TXD、GND和VCC)就可以进行数据的收发,以默认的9600bps的波特率,由于目前项目对速度要求不高,因此也没有深入研究AT指令等。
关于蓝牙模块的协议其实就是一个串口协议,在蓝牙配对成功后,就相当于以无线的方式进行串口通信。关于串口协议可参考我之前的一篇博客:串口回环
蓝牙串口实验
做这个实验的目的就是更好地理解蓝牙即串口这个概念。实验的思路框图如下:
思路很简单,用一组传统的uart串口连接PC,HC-05连接一台手机。当通过连接PC的uart给FPGA发送数据时,把这个收到的数据发到HC-05的发送模块,通过hc05_tx输出到蓝牙模块;而当手机端发给HC-05数据时,会通过rx_hc05模块接收到数据,再把这个数据送到串口发送模块tx_uart和数码管显示模块smg_disp,同步显示在数码管上。这样,我们就将FPGA作为通道,间接实现了PC与手机端的通信。
顶层模块
module bluetooth(
input clk ,
input reset ,
input hc05_rx ,
input uart_rx ,
output logic hc05_tx ,
output logic uart_tx ,
output logic [ 7:0] seg_sel ,
output logic [ 6