STM32单片机控制蓝牙的电路
2024-04-30 来源:elecfans
蓝牙模块,是一种集成蓝牙功能的PCBA板,用于短距离无线通讯,按功能分为蓝牙数据模块和蓝牙语音模块。蓝牙模块是指集成蓝牙功能的芯片基本电路集合,用于无线网络通讯,大致可分为三大类型:数据传输模块远程控制模块等。一般模块具有半成品的属性,是在芯片的基础上进行过加工,以使后续应用更为简单。
原理与结构
作为取代数据电缆的短距离无线通信技术,蓝牙支持点对点以及点对多点的通信,以无线方式将家庭或办公室中的各种数据和语音设备连成一个微微网(Pico-net),几个微微网还可以进一步实现互联,形成一个分布式网络(scatter-net),从而在这些连接设备之间实现快捷而方便的通信。本文介绍蓝牙接口在嵌入式数字信号处理器OMAP5910上的实现,DSP对模拟信号进行采样,并对A/D变换后的数字信号进行处理,通过蓝牙接口传输到接收端,同样,DSP对蓝牙接收到的数字信号进行D/A变换,成为模拟信号。
蓝牙信号的收发采用蓝牙模块实现。此蓝牙模块是公司最近推出的遵循蓝牙V1.1标准的无线信号收发芯片,主要特性有:具有片内数字无线处理器DRP(DigitalRadioProcessor)、数控振荡器,片内射频收发开关切换,内置ARM7嵌入式处理器等。接收信号时,收发开关置为收状态,射频信号从天线接收后,经过蓝牙收发器直接传输到基带信号处理器。基带信号处理包括下变频和采样,采用零中频结构。数字信号存储在RAM(容量为32KB)中,供ARM7处理器调用和处理,ARM7将处理后的数据从编码接口输出到其他设备,信号发过程是信号收的逆过程,此外,还包括时钟和电源管理模块以及多个通用I/O口,供不同的外设使用。它的主机接口可以提供双工的通用串口,可以方便地和PC机的RS232通信,也可以和DSP的缓冲串口通信。
系统硬件结构
整个系统由DSP、BRF6100、音频AD/DA、液晶、键盘以及Flash组成,DSP是核心控制单元,音频AD用于将采集的模拟语音信号转变成数字语音信号;音频DA将数字语音信号转换成模拟语音信号,输出到耳机或者音箱。音频AD和DA的前端和后端都有放大和滤波电路,一般情况下,音频AD和DA集成到一个芯片上,本系统使用TI公司的TLV320AIC10,设置采样频率为8KHz,键盘用于输入和控制,液晶显示器显示各种信息,Flash保存DSP所需要的程序,供DSP上电调用;JTAG是DSP的仿真接口,DSP还提供HPI口,该接口可以和计算机连接,可以下载计算机中的文件并通过DA播放,也可以将数字语音信号传输到计算机保存和处理。
系统中的DSP采用OMAP5910,该DSP是TI公司推出的嵌入式DSP,具有双处理器结构,片内集成ARM和DSP处理器。ARM用于控制外围设备,DSP用于数据处理。OMAP5910中的DSP是基于TMS320C55X核的处理器,提供2个乘累加(MAC)单元,1个40位的算术逻辑单元和1个16位的算术逻辑单元,由于DSP采用了双ALU结构,大部分指令可以并行运行,其工作频率达150MHz,并且功耗更低。
OMAP5910中的ARM是基于ARM9核的TI925T处理器,包括1个协处理器,指令长度可以是16位或者32位。DSP和ARM可以协同工作,通过MMU控制,可以共享内存和外围设备,OMAP5910可以用在多种领域,例如移动通信、视频和图像处理,音频处理、图形和图像加速器、数据处理。本系统使用OMAP5910,用于个人移动通信。
STM32单片机控制蓝牙的电路
很多专业的不专业的朋友都想试着自己做一个手机控制电灯或者是手机控制电机,手机读取室内温度,蓝牙是一个好的选择
首先我们要下载STM32的datasheet这个在百度自行下载就可以了,使用过STM32芯片的小盆友绕过此步骤。
下面上STM32主控制器的原理图,这个是小编亲自画的原理图哦!我用了STM32控制了蓝牙和电机,继电器,温湿度传感器,读取光敏电阻,加了串口。还有很多STM32资源没有用,如果您有什么需要,可以加上。
接下来是蓝牙模块,我选的是bc05其它模块也可以滴,自己读读资料。这个是串口蓝牙很好操作,连接单片机串口通过串口通讯透传就可以了。自己定一个简单的协议即可。
电源部分的设计如下,此处用microUSB供电,也就是手机充电器就可以了。蓝牙的供电也是可以控制的,我用了一个mos管做了开关管,由STM32控制。
继电器控制如下,由单片机控制继电器的开关,高电平导通。继电器打开。
温湿度传感器,和光敏电阻的接法如下。元器件自己去选型吧!
电机接口如下,这里没有画电器驱动电路,那个可以买到。用三极管做可以做,用ULN2003也可以。
加了一个串口,可以与PC通讯,下载程序也可以的。
9接下来的,就是编写嵌入式程序了,蓝牙很容易连通的,直接进入透传,自己定一个协议,如x001是打开继电器,x002打开电机等等。
Android方面下载一个开源的Eclipse就可以了,然后找Android蓝牙基本程序,改改界面,读读代码,加几个button搞定,小编没学过Android,也是把例程自己修改的。