基于白光通信系统的设计与实现电子信息工程_第1页
基于白光通信系统的设计与实现电子信息工程_第2页
基于白光通信系统的设计与实现电子信息工程_第3页
基于白光通信系统的设计与实现电子信息工程_第4页
基于白光通信系统的设计与实现电子信息工程_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学号业设计题 目:基于stm32白光通信系统的设计与实现作 者廖 斌届 别2016系 别信息学院专 业电子信息工程指导老师陈 松职 称副教授完成时间2016.0533湖南理工学院毕业设计(论文)摘 要本设计是基于stm32f103的白光led可见光通信系统,该系统由发射装置和接收装置两部分组成。系统通信以白光为载体,从发送端到接收端的传输距离最高可达2m。实现了语音信号和温度传感器所测的温度值实时传输,信道传输的波特率可达115200 b/s。语音信号经放大和带通滤波后由12位a/d转换器采样,经过pcm编码压缩后与所测温度的数字信号采用时分复用方式通过白光led发射

2、,接收站通过光电接收管接收信号,温度值在其oled液晶屏上显示,解码后的语音信号由d/a转换后经带通滤波功放输出。关键字:stm32f103;白光通信;语音信号;a/d转换器;d/a转换器;abstractthe design is based on the stm32f103 white led visible-light communication system, which consists of transmitting device and receiving device is composed of two parts. communication with white ligh

3、t as the carrier, from the sender to the receiver of the transmission distance of up to 2m. realization of speech signal and the temperature value measured by the temperature sensor transmission, transmission of up to 115200 baud rate b/s. voice signal amplification and band-pass filtered by a 12-bi

4、t a/d converter sampling after pcm coding and the measured temperature using time division multiplexing of digital signal through the white led light emitting, the receiving station receives signals through photoelectric receiving tube, the temperature values in its oled display on the lcd, decoded

5、audio signal from d/a conversion after the band-pass filter amplifier output.keywords:stm32f103; the white light communication; speech signal; a/d conversion; d/a conversion目 录摘 要iabstractii第一章 绪 论11.1 课题背景及意义11.2 白光通信研究现状11.3 本项目设计要求2第二章 总体方案设计与论证42.1 系统总体框图42.2 处理器的选取42.3 光电器件的选取52.4 温度测量方案论证52.5

6、系统供电电源6第三章 硬件电路设计73.1 系统主控电路模块73.2 系统电源模块73.3 信号采集模块83.3.1 语音信号调理模块83.3.2 温度传感器模块93.4 发射接收电路模块93.4.1 发射驱动模块93.4.2 光电接收模块103.5人机接口显示模块103.6语音信号输出模块11第四章 系统软件设计134.1系统软件总体结构134.2信号采集144.2.1语音信号采集144.2.1温度信号采集164.3编码与解码164.3.1信源编码与解码164.3.2信道编码与解码184.8人机接口显示204.9语音信号输出21第五章 系统的调试与测试235.1 硬件调试235.2 软件调试

7、235.3 测试仪器235.4 测试方法与结果24第六章 总结和展望25参考文献26致 谢27附 录28第一章 绪 论1.1 课题背景及意义随着led在制造工艺上的不断进步以及led日益趋向于节能化。led光源在能源、寿命、响应速度、环保节能等方面具有传统光源无法比拟的优点,近几年来在社会上迅速普及。若我们对led进行深层次的开发,利用led发出的光作为通信介质,不仅能够实现更具有灵活性的通信环境,并且可以换种方式实现资源共享。白光通信电磁干扰极低,其可用于电磁环境复杂或这电磁环境要求苛刻的环境中,且其用于室内通信对人体的辐射甚少,其在未来的室内定位、智能家居中具有广阔的发展空间。半导体照明技

8、术的发展,led照明也成为了未来的趋势。led具有高速调制的特性,可以把调制信号加载到led上,将信号以可见光形式发送出去,在接收端采用光电探测器对光信号进行提取接收,并进行数据恢复。近年来人们开始关注基于白光led技术的可见光通信,这种led白光被认为是一个很有潜力的未来照明技术,其不仅可以用于房间照明,也形成了一种短距离无线光通信系统。led是基于pn节的半导体发光器件,其具有使用寿命长,功耗低,电压低以及尺寸小等优点。另外,led具有高速调制,响应灵敏度高等特点。本次将设计一个采用以cortex-m3处理器为内核的stm32f103rct6作为主控,来实现模拟信号和数字信号实时传输。1.

9、2 白光通信研究现状如今,led灯泡已不仅仅局限于照明本身,而是如梦幻一般被赋予了更多功能,可以实现更多的创新应用。随着led产业的迅猛发展,基于led照明设备的一系列智能照明应用被越来越多的挖掘出来,led灯泡也随之变得更加的智慧和神奇。而可见光通信的出现,更使其加入信息使者的行列。正在此刻,led遇见可见光通信,正待开启led下一个“奇幻”之旅!“当前,基于可见光通信技术下开发的led灯泡已经成长为具有照明、通信、跨界应用等多重意义及用途的智能照明设备,且迎来了发展的大好时机。”有业内人士如此指出。2014年诺贝尔物理学奖得主中村修二在访台期间也预言,“led产业的下个杀手级应用是可见光通

10、信。”他认为,未来家里的灯光将可以承载通信讯号成为最后一里路的信息传输设备,人们甚至可以在路灯下下载电影和音乐。作为一种新兴的通信技术,led可见光通信提出的历史不算久远,早在2000年以前,就有研究人员提出利用led发出的光来进行通信的设想,并付诸实验,实现了一些简单的通信系统。在这些设想中,最具代表性的是香港大学的grantham pang于1999年提出的实现方案,他们的实验小组搭建并演示了基于可见光led的音频信号传输系统。这些设想方案提出时,led照明技术还没有受到重视,对led可见光通信的关键技术也没有进行深入研究,其影响力有限。2000年,日本keio大学m. nakagawa教

11、授领导的研究团队提出了一种利用白光led实现室内可见光接入的方案,并针对室内可见光通信信道进行建模仿真和分析计算,实现了10mbps的室内可见光通信接入方案,正是这一成果被视为可见光通信领域具有影响力的开创性研究,之后,可见光通信技术开始受到世界各地研究人员的重视。基于可见光照明光源的通信技术是随着发光二极管的发展而兴起的。高亮度白光led出现后,随着光效的逐步提高,其应用从显示领域逐步扩展到照明领域,并且发展迅速。白光led的另外一个突出优点是可以实现快速调制,因此可以用其进行超高速数据传输。与传统的照明设备相比,白光led灯具有耗电量低、使用寿命长、体积小、高亮度、低热量等优点,被评为第四

12、代节能环保型照明产品。其另一个非常突出的优点是响应时间极短,所以可以用led的光信号变化来进行超高速数据传输。可见光无线通信技术是一种新兴的无线光通信技术,随着白光led的发明及应用,可见光通信技术得到了良好的发展。与传统的射频通信和红外通信相比,可见光通信具有节约能源、发射功率高、无电磁干扰和无需申请频谱资源等优点,因此可见光通信技术具有极大的发展前景。与传统的射频通信相比较,可见光通信技术具有以下优点:1)可见光通信无处不再。用于通信的照明灯可以安装在任何地方,通过照明灯,可以很方便地实现告诉无线数据通信;2)可见光对人类非常安全。可见光通信系统可以使用家庭或办公室的照明灯发送数据;3)无

13、需无线电频谱许可证,由于受无线电频谱管制,可用的无线电频率非常有限;4)发射功率高。对于射频通信,射频信号对人体有害,也不能无限制地增加发射功率,而对于发射的是可见光,故发射功率较高。(5)与红外通信技术相比,白光通信同时可以照明,而且白光通信的光源为发散光,对方向要求不是很高,因此通信线路不容易被阻断,同时,由于光源为白光,不会对人眼造成影响,所以通信功率一般不做限制。1.3 本项目设计要求本项目的任务设计白光通信系统,要求达到以下指标:1)白光通信系统装置利用led灯和光电传感器作为收发器件,用来同时传输模拟信号和数字信号;2)传输距离为2m;3)传输的模拟信号为语音信号,频率范围300h

14、z3400 hz,要求接收到的声音无明显失真,输出的语音信号负载为8,要求输出功率不小于0.5w;4)传输的数字信号为环境温度,并能在接收端显示,要求数字信号传输时延不超过10s,温度测量误差不超过2。本装置的通信信道必须采用可见光信道,不得使用其他通信装置,不得采用内部含有现成通信协议的发射芯片或模块。第二章 总体方案设计与论证2.1 系统总体框图系统使用可见光信道,由发射装置将语音信号和温度信息实时定向传输至接收装置,且传输距离不小于2m。白光通信装置包括发射装置和接收装置两部分,总体架构如图2.1所示。发送部分语音信号作为模拟信号经过信号调理电路处理后,由stm32f103的内部12位a

15、dc对其采样,温度传感器tmp275的温度信号作为数字信号,主控对采集到的语音信号采用脉冲编码调制(pcm)对其信源编码,然后将其数据协同数字信号采用时分复用的方式送入串口发送的寄存器,通过串口输出到led驱动电路可直接发送出去。接收部分通过光电传感器感应到光信号,然后经放大整形送至stm32f103串口接收端,stm32f103可直接读取其数据,然后对其数据解码,温度信号通过oled屏显示,语音信号通过stm32f103的da输出,da输出的信号经带通滤波器平滑滤波后送入音频功放电路,然后通过喇叭输出。图2.1 白光通信装置系统架构2.2 处理器的选取目前单片机己经进入广泛发展时代,种类很多

16、,如何选择性价比最优,开发容易,开发周期最短的产品,是设计师要思考的重要问题之一。目前我国销量的主流mcu(microcontroller unit 微控制单元)产品有51单片机,msp430单片机,stm32嵌入式处理器等系列mcu。选购mcu主要应看重两个方面:一是设计的系统要哪些资源;第二是结合成本选择性价比高的单片机。单片机资源主要考虑的指标有:速度、位数、功耗、存储器容量、系统扩展与驱动能力、抗干扰能力、是否含有adc,dac等。除此之外,软件编写的难易程度也是重要考虑的因素。方案一:stc89c52单片机stc89c52是stc公司生产的一种低功耗、高性能8位微控制器。该芯片操作简

17、单,库函数丰富,价格低廉,成本低,易控制,但ram仅为4 kb,处理速度不快,难以用在精密控制、精密测量以及高速大数据传输中。方案二:msp430单片机msp430单片机是美国德州仪器(ti)1996年开始推向市场的一种16位超低功耗、具有精简指令集(risc)的混合信号处理器(mixed signal processor),适用于便携式仪器仪表中,主频为8 mhz,无法倍频,故处理速度相对较慢,i/o口翻转速度较难满足发射速度。方案三:stm32f103嵌入式处理器stm32f103嵌入式处理器是意法半导体公司的32位处理器。stm32f103基于高性能、低成本、低功耗的要求专为嵌入式应用设

18、计的arm cortex-m3内核。stm32f103时钟频率达到72 mhz,是同类产品中性能最高的产品。内置32128 kb的闪存,sram的最大容量和外设接口的组合。时钟频率为72mhz时,i/o可以满足音频加数字信号的发射速度,stm32功耗36 ma,是32位市场上功耗最低的产品,相当于0.5 ma/mhz。综上分析选择方案三,发射部分和接收部分均以stm32f103rct6做为主控芯片。2.3 光电器件的选取可见光通信是利用400nm760nm可见光波段作为传递信息的载体,由于本课题要求传输距离需大于2m,同时保证尽量低功耗,且为了更好地匹配发射管,在现有的器件中选用接收波段在35

19、0nm1100nm的bpw34作为可见光接收管。其具有响应时间极快、灵敏度高、接收距离长等优点。如图2.2为bpw34的光谱灵敏度。图2.2 bpw34光谱灵敏度2.4 温度测量方案论证方案一:采用单总线数字温度传感器ds18b20测量温度,直接输出数字信号。便于单片机处理及控制,节省硬件电路。ds18b20的最大特点之一采用了单总线的数据传输,但其单总线时序占用资源太多。方案二:tmp275 是一个精度为 0.5、两线制、串行输出温度传感器,采用i2c与主控通信,可直接输出数字信号。综上分析,ds18b20单总线通信,占用主控资源太多,很难达到要求,因此选择方案二。2.5 系统供电电源白光通

20、信系统供电电源的设计是本设计中的一项重要的工作,它对整个白光通信系统是否正常运行起着至关重要的作用。电源在设计时因考虑功率是否满足全系统的工作需要以及电平机抗干扰问题等问题。单片机系统的大部分芯片都以脉冲方式工作,对于较小的系统,功率消耗的脉冲特性尤为突出,而对于较大的系统,由于器件功耗的分散性,使得系统整体的功率消耗比较平稳。因此,单片机系统的电源必须有足够的耐冲击性,这就要求电源设计时留有充分的余量。电平设计指的是直流电压幅度和电源在最不利(满载)情况下的纹波电压峰峰值设计。这两项指标都关系到单片机系统能否实现正常运行。因此,必须按系统中对电平要求最高的器件条件进行设计。各种形式的干扰一般

21、都是以脉冲的形式进入单片机的,干扰窜入单片机系统的渠道主要有3条途径:空间干扰(场干扰),通过电磁波辐射窜入系统;过程通道干扰,通过与主机相连的前向通道、后向通道及其它与主机相互连接的通道进入;供电系统干扰,通过供电线路窜入。对于上述3种干扰必须采用行之有效的措施和具体电路加以消除,确保单片机系统正常运行和工作。第三章 硬件电路设计3.1 系统主控电路模块stm32f103基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的arm cortex-m3内核。本次设计发射接收部分均专门设计了以stm32f103rct6为主控的系统板,发射接收的系统板相同,其系统板把stm32f103rct6芯

22、片的i/o口用间距2.54mm单排排针引出来,方便其灵活应用,具体电路如图3.1所示。图3.1 系统电路原理图3.2 系统电源模块根据系统供电电源的要求,发射部分和接收部分只需要设计+5v和+3.3v供电电源,且要求电源输出的纹波应尽量的小,以减少对输出信号的干扰和系统工作的稳定性。本电源输入端接220v交流供电,经变压器降压后采用桥式对其全波整流、电容滤波、三端线性稳压器件稳压的方法产生+5v和+3.3v直流电压,固定输出的三端稳压芯片为lm7805和lm1117-3.3。稳压管的输出后通过电容滤波,数字部分与模拟部分的电源用电感隔离,这样就可以得到纹波系数很小的直流电压,具体电路如图3.2

23、所示。图3.2 系统稳压电源电路3.3 信号采集模块3.3.1 语音信号调理模块语音信号前级处理主要是对语音信号进行放大,是其适合在stm32f103rct6的ad输入电压范围03.3v之间,电路原理图如图3.3所示。图3.3 语音信号调理电路根据ne5532的理论参数,可求出运放电路的各项交流参数。理论计算如下:1)输入电阻(3-1)2)输出电阻(3-2)3)电压增益(3-3)(4)输出电压(v)(3-4)v (3-5)由以上分析可知,给输出电压加上了直流电压1.65v,正好是stm32f103的 adc转换器所能接收范围的中心,运放的电压增益为3,这样使其正好适合adc采集的范围,使其更精

24、确的采集到语音信号。3.3.2 温度传感器模块stm32f103通过i2c可直接读取tmp275温度传感器的数值,其电路如图3.4所示,r20和r21为i2c总线的上拉电阻,其硬件地址3位均设置为0。图3.4 tmp275温度传感器电路3.4 发射接收电路模块3.4.1 发射驱动模块发射驱动电路是直接从stm32f103的io口输出信号,然后用npn型三极管来驱动led灯,其发射驱动电路如图3.5所示,其中r5电位器可调节其led灯的亮度,相当于调节发射功率。图3.5 led发射驱动电路3.4.2 光电接收模块为了能接收到更多光信号,采用两个bpw34光电接收管并联。具体点路如图3.6所示,电

25、位器r20可调节光电接受管导通是的压降。感应到的光信号首先经ne5532运放电路反向放大680倍,再通过lm393比较电路,可整形出更好的波形给stm32f103读取,图中r29可调节与放大后光信号比较的电压,r23可调节输给单片机波形的最大幅值的大小。图3.6 光信号接收电路3.5人机接口显示模块 本系统以单色oled显示屏(128×64)点阵构成人机接口的硬件基础。lcd都需要背光,而oled不需要,因为它是自发光的,另外,oled的功耗比lcd低得多,相同显示面积的功耗仅相当于lcd的1/3。其具有低功耗、无需背光、高对比度、内置驱动芯片等优点,系统的人机交互界面友好,液晶接口

26、电路如图3.2所示。通信中使用了如下几条信号线:1)cs:oled片选信号;2)fso(res):硬件复位oled(电平翻转触发);3)dc:命令/数据标志位(0-命令,1-数据);4)sclk:串行时钟线;5)mosi:串行数据线。图3.7 液晶接口电路3.6语音信号输出模块语音信号经stm32f103的da输出,为了滤除噪声减小干扰,由于语音信号的频率是在300hz和3400 hz之间,所以需要采用带通滤波器。无源滤波器要求有电感元件,体积庞大。有源的运算放大滤波器用阻容元件,体积小,有大量的现成表格可供设计时查阅。由于该带通滤波器的上、下限频率之比3400/300=11.3>>

27、;2(一个倍频程),为宽带滤波器,故宜采用一低通滤波器和一高通滤波器级联而成。选择带通滤波器滤出300hz3400hz语音信号频率范围的信号,可有效地抑制噪声。本系统采用巴特沃斯滤波器,带通滤波器由两阶低通滤波器级联两阶高通滤波器构成,采用专用滤波器设计软件filter solutions 8.1,按其参数对其设计,带通滤波电路如图3.8所示。带通滤波器根据品质因数q的大小,分为窄带带通滤波器(q>10)和宽带滤波器(q<10)两种,本系统中的上限频率,下限频率,同频带中心频率与品质因数q分别为(3-6)(3-7)图3.8 带通滤波电路显然,q<10,故该带通滤波器为宽带带通

28、滤波器。实验结果表明,该滤波器能有效滤除低频分量和高频分量,大大减少了噪声干扰,同时也滤除了多余的高频分量,性能满足要求。经平滑滤波器输出的语音信号,其幅度03v,为满足题目要求的0.5w的功率输出,音频功率放大器采用典型器件lm386制作,lm386是美国国家半导体公司生产的音频功率放大器,最大输出功率可达1.25w,为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。输入端以地为参考,同时输出端被自动偏置到电源电压的一半。本次设计的电路原理如图3.9所示。通过r11可调节音频功放输入信号的幅值,lm386增益设定为50,输出

29、端接电阻为8喇叭播放出来。图3.9 音频功放电路第四章 系统软件设计4.1系统软件总体结构系统软件的开发也是本课题的一项重要内容。本课题的软件设计采用模块化程序设计方法,全部原代码均使用标准c语言编写,并附带有详细的注释,增加了本系统软件的可读性和可移植性,系统总体架构分为发射和接收两部分。1)发射装置总体流程图在主函数中,每隔500ms就从tmp275读取一次温度值。在定时器中断函数中,设置一个标志位flag(0255),通过标志位来控制分时发送温度标志位、发送温度和发送ad采集后编码的数值,发射装置语音信号采集是通过adc的单通道模式自动采集数据。发射装置流程图如图4.1所示。 主函数 定

30、时器中断函数图4.1 发射装置流程图2)接收装置总体流程图在主函数中,判断温度值是否更新,若更新则更新显示的温度。定时器中断函数,进入中断后,先判断是否接收到数据,没有接收数据则返回,若接收到数据,则根据接收到的数据rx_buff判断是否为起始位,若是起始位则使标志位flag=1,表示接收到一帧数据的帧头,后面接收到的数据则根据flag判断是温度信号还是语音信号。接收到了温度信号就更新其温度值,接收到的语音信号则对其解码后直接从stm32f103的da输出。接收装置流程图如图4.2所示。主函数 定时器中断函数图4.2 接收装置流程图4.2信号采集4.2.1语音信号采集语音信号采集是对语音信号抽

31、样,时间上离散化,即对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。该模拟信号经过抽样后应当能包含原信号中所有信息,也就是说能无失真地恢复原模拟信号。它的抽样速率的下限是由抽样定力决定的。本次设计采集的语音信号的频率在300hz3400hz内,根据奈奎斯特定律,按其定律可知,抽样速率应不小于最高频率的2倍,即,而实际当中我们会略大于2倍的频率,本次选取的抽样频率为8khz的抽样速率。本系统采用stm32f103 adc1的通道1即pa1脚采样语音信号,adc1通道初始化流程图如图4.3所示。stm32f103的ad设置为12mhz的采样速率单通道模式单次转换方式对其采样,实际

32、的采样速度是通过定时器中断控制在8khz的,进了中断的数据才会发出去,其它adc采集到的数据都丢弃。 图4.3 adc1通道初始化流程图adc初始化程序如下:void adc_init(void) rcc->apb2enr|=1<<2; /使能porta口时钟 gpioa->crl&=0xffffff0f;/pa1 anolog输入 rcc->apb2enr|=1<<9; /adc1时钟使能 rcc->apb2rstr|=1<<9; /adc1复位rcc->apb2rstr&=(1<<9);/复位结束

33、 rcc->cfgr&=(3<<14); /分频因子清零,sysclk/div2=12m adc时钟设置为12mrcc->cfgr|=2<<14; adc1->cr1&=0xf0ffff; /工作模式清零adc1->cr1|=0<<16; /独立工作模式 adc1->cr1&=(1<<8); /非扫描模式 adc1->cr2&=(1<<1); /单次转换模式adc1->cr2&=(7<<17); adc1->cr2|=7<<

34、17; /软件控制转换 adc1->cr2|=1<<20; /使用用外部触发(swstart)!必须使用一个事件来触发adc1->cr2&=(1<<11); /右对齐 adc1->sqr1&=(0xf<<20);adc1->sqr1|=0<<20; /1个转换在规则序列中 也就是只转换规则序列1 /设置通道1的采样时间adc1->smpr2&=(7<<3); /通道1采样时间清空 adc1->smpr2|=7<<3; /通道1 239.5周期,提高采样时间可以提高

35、精确度 adc1->cr2|=1<<0; /开启ad转换器 adc1->cr2|=1<<3; /使能复位校准 while(adc1->cr2&1<<3); /等待校准结束 /该位由软件设置并由硬件清除。在校准寄存器被初始化后该位将被清除。 adc1->cr2|=1<<2; /开启ad校准 while(adc1->cr2&1<<2); /等待校准结束/该位由软件设置以开始校准,并在校准结束时由硬件清除 4.2.1温度信号采集tmp275与主控的通信方式为i2c,本系统每间隔500ms,对其读

36、取一次温度值,其读取到的温度数据分为高八位和低八位,共2bety数据大小。stm32f103与tmp275通信采用软件模拟i2c时序进行通信,pb6模拟时钟口scl,pb7模拟数据口sda,温度读取流程图如图4.4所示。图4.4 tmp275温度读取流程图4.3编码与解码4.3.1信源编码与解码语音信号编码方式主要有脉冲编码调制(pcm)、差分脉冲编码调制(dpcm)、增量调试等。由于语音信号的统计特性是大信号出现的概率小,而小信号出现的概率大。为了提高信噪比,在小信号是需降低量化噪声,降低量化噪声则需要减小量化间隔。因此,在量化时,需使量化间隔随输入信号电平的大小改变,小信号是分层细一些量化

37、间隔小一些,大信号时量化间隔大一些,这样就使输入信号与量化噪声之比在小信号到大信号整个范围内基本一致。13折线a律主要用于欧洲各国、非洲地区所采用的pcm30/32路基群中。本系统将采用13折线a律数字压扩技术的方法实现非均匀量化编码。如图4.5所示,图中x和y分别表示压缩器归一化输入和归一化输出信号幅度。将x轴的区间(0,1)分成不均匀地8段,分段的规律是每次以1/2取段。然后,每段再均匀地16等分,每一等分作为一个量化分层。于是在01范围内共有8×16=128个量化区间,但各段上的间隔是不均匀的。同样在y轴上,将(0,1)区间均匀地分成8段,每段再分16等分,所以y轴也被分为12

38、8个量化区间,但他们是均匀的。图 4.5 13折线的形成编码规则:a律13折线用8位二进制表示一个样值。这8位安排如下: 极性码 段落码 段内码1)为极性码,正极用1表示,负级用0表示。2)为段落码,x正半轴分成不均匀地8段,3位段落码表示抽样值落在哪一段中。3)为段内码,对每一段分成16等分,用4位段内码表示。每一段的量化间隔不等,也就是对x的非均匀编码,若以为量化间隔进行均匀量化,则在正半周量化区内就有2048个量化电平,需要的编码,现在用非均匀编码,只需要7位编码。a律13折线编码具体程序见附件u8 pcm_code(u16 data)编码函数,程序先判断其极性,然后判断其段落码,最后判

39、断段内码后就完成了整个编码过程。译码则是编码过程的逆过程,经过编码后再解码的结果可能跟原来的数据不同但接近,对其影响不大。程序直接根据编码的数据,可直接解码出其值来,语音信号具体解码程序如下:u16 pcm_decode(u8 code)/解码u16 data;u8 para_in,para_out,polar;para_in = (code & 0xf0) >> 4;/段内码para_out = (code & 0x0e) >> 1;/段落码polar = code & 0x01;/极性switch(para_out)case 0 : data

40、 = para_in * 1;break;/段落0case 1 : data = 16 + para_in * 1;break;/段落1case 2 : data = 32 + para_in * 2;break;/段落2case 3 : data = 64 + para_in * 4;break;/段落3case 4 : data = 128 + para_in * 8;break;/段落4case 5 : data = 256 + para_in * 16;break;/段落5case 6 : data = 512 + para_in * 32;break;/段落6case 7 : dat

41、a = 1024 + para_in * 64;break;/段落7default : data = 0;if(polar = 0)/为负data = (u16)(-(int)data)+2047);else/为正data = data + 2048;return data;4.3.2信道编码与解码数据发送可用stm32f103硬件上的串口直接发送数据,不用对其进行软件上的硬件编码解码。因其传输速率为8khz,则其串口采用波特率为115200 b/s较合适,数据长度为9位,包含8位数据位和1为停止位。语音信号与温度信号实时传输采用时分复用方式。如图4.6所示,以255byte数据作为一帧,以数

42、据0作为起始位,紧接后面的数据分别是温度高八位和低八位,然后是252byte的语音信号,其中语音信号编码后为0的数据进行软件处理让其为16,其基本无影响,目的是杜绝与起始位相同导致无法判断。用该方式传输数据每一字节之间有联系,即起始位后接收到的数据为温度信号。图4.6 时分复用数据帧结构设计发送部分发送程序用一标志位flag从0255毎执行一次就加1,flag=0,发送帧头;flag=1,发送温度高八位;flag=2,发送温度第八位;flag>2,发送语音信号,发送部分具体编码程序如下:u8 flag=0;/全局变量,标志位void code_send(void)u16 ad_data;

43、/ad采集的数据if(flag<=2)/发送标志位和温度if(flag = 0)uart2_send_data(0);/发送标志位else if(flag = 1)uart2_send_data(temperature/256);/发送温度高八位elseuart2_send_data(temperature%256);/发送温度低八位else/发送语音信号ad_data = get_adc(adc_channel_1);/读取ad数据sendbuff = pcm_code(ad_data);/编码while(sendbuff = 0);uart2_send_data(sendbuff);

44、/发送编码后的数据flag+;接收部分的信道解码程序用定时器控制每隔一段时间检测是否接收到数据,若接收到数据则判断是帧头、温度信号还是语音信号。若接收到语音信号,则对其解码后da输出;若接收到的是帧头,则标记;若接收到温度信号,则存储并标记。接收部分具体解码程序如下:u8 rend3=0;/温度数据和接收温度数据标志位void decode_rend(void)if(rx_flag = 1)/接收到数据if(flag = 0 && rx_buff != 0)/接收到语音信号数据da_buff = pcm_decode(rx_buff);/解码dac_setchannel1dat

45、a(dac_align_12b_r,da_buff);/da输出else if(flag = 0 && rx_buff = 0)/接收到标志位flag+;/标志位自增else if(flag = 1)/接收到温度高八位rend0 = rx_buff;/存储温度高八位数据flag+;/标志位自增else/接收到温度低八位if(flag = 2)rend1 = rx_buff;/存储温度第八位数据rend2 = 1;/可更新温度值标志位flag = 0;/标志位清零rx_flag = 0;/接收到数据标志位清零4.8人机接口显示本系统采用oled屏作为人机接口显示,采用spi总线通

46、信方式,该方式为同步串行通信。只能对oled显示屏进行写操作,不能进行读操作。在4线spi模式下,每个数据长度均为8为位,在sclk的上升沿,数据从sdin一如到ssd1306,高位在前。在4线spi模式下,写操作时序如下:图4.7 spi时序图oled点阵与常规lcd点阵的显示方式相同。从第一列开始向下去8个点作为一个字节,然后从第二列开始向下去8个点作为第二个字节依次类推,取模顺序是从低到高。图4.8为显示一行数据的图解。图4.8 显示方式图解oled模块初始化流程图如图4.9所示。图4.9 oled屏初始化流程图4.9语音信号输出本系统的处理器stm32f103rct6的dac模块是12

47、位数字输入,电压输出型的dac。dac可以配置为8位或12位模式,也可以与dma控制器配合使用。dac模块有2个输出通道,每个通道都有单独的转换器。图中dac_outx就是dac的输出通道,对应pa4或者pa5引脚。当dac的参考电压为的时候(对stm32f103rct6来说就是3.3v),dac的电压是线性的从0,12位模式下dac输出电压与以及dorx寄存器的计算公式如下:(4-1)语音信号经解码后直接从mcu的da通道输出,本设计采用dac通道1(pa4)输出模拟电压,其dac初始化流程图如图4.10所示。图4.10 dac初始化流程图dac初始化程序如下:/dac通道1输出初始化voi

48、d dac1_init(void)rcc->apb2enr|=1<<2; /使能porta时钟 rcc->apb1enr|=1<<29; /使能dac时钟 gpioa->crl&=0xfff0ffff; gpioa->crl|=0x00000000;/pa4 模拟输入 dac->cr|=1<<0;/使能dac1dac->cr|=1<<1;/dac1输出缓存不使能 boff1=1dac->cr|=0<<2;/不使用触发功能 ten1=0dac->cr|=0<<3;/da

49、c tim6 trgo,不过要ten1=1才行dac->cr|=0<<6;/不使用波形发生dac->cr|=0<<8;/屏蔽、幅值设置dac->cr|=0<<12;/dac1 dma不使能 dac->dhr12r1=0;第五章 系统的调试与测试5.1 硬件调试本系统硬件相对较复杂,所以将其按功能分成了三个模块发射部分语音信号调理模块、led驱动和光电感应模块模块、接收部分语音信号输出模块。在组装与通电前,硬件调试首先检查线路,对各模块明显的硬件故障进行排除。在芯片未插入电路板之前,用万用表检查电路板上线路是否连接正常,检查是否存在短路

50、。检查完线路正常后,进行试触性上电,看起电流是否正常,正常后接上电源,用万用测各电源输出电压是否正常。上电正常只是排除了一些明显的问题。系统的软件和硬件密切相关,程序也必须在联机后才能调试。在进行在线调试时,必须借助keil单片机开发工具来开发应用软件,对硬件电路进行诊断、调试,及时的排除硬件故障。检查正常后可对各个模块硬件调试:1)发射部分语音信号调理模块:输入端输入300hz3400hz幅度适宜的正弦波,用示波器测试输出,查看器输出信号峰峰值和偏置是否正常。2)led驱动和光电感应模块模块:用频率为10khz的方波来驱动led电路,示波器查看接收端收到的信号是否正常。3)接收部分语音信号输

51、出模块:输入端接300hz3400hz幅度适宜的正弦波,用示波器测试功放的输出波形。5.2 软件调试本系统程序量较大,因此采用我较熟悉的stm32f103进行程序编写,缩短了程序开发的时间,提高了程序编写效率。采用自下而上的调试方法,先调试各功能程序模块,再调试整个系统。调试中stm32f103单片机提供了jtag接口,方便了程序的在线调试。在调试过程中与硬件的调试相结合,提高了调试效率。当软件和硬件的基本功能分别调试好后,进行软硬件联合调试。及时的发现问题和解决问题,对系统的软件和硬件进一步优化,使系统的软件与硬件结合的更好。5.3 测试仪器测试仪器:tektronix tds1012数字示

52、波器、su3080 dds函数信号发生器、胜利vc890数字万用表、yb1732b3a数字稳压电源。5.4 测试方法与结果1)指标测量结果在弱光下,通过对准发射装置与接收装置。在输入接口加入语音信号,然后进行测试。测试结果如表1所示。表1 基本部分测试指标序号题目要求测试指标1可见光传输距离2m2m2输入频率范围300-3400hz300 3400hz3不能接受信号时,发光管指示可以指示4语音信号和数字信号同时传输能够同时传输5接收温度信息并显示可以显示6数字信号传输延时10s1s7温度测试误差 212)测试结果分析通过对本系统的测试,可见光传输距离符合指标要求,输入频率范围在300hz340

53、0hz。当输入语音信号改为800hz单音信号时,在8欧姆负载上,接收装置的输出电压有效值可高达2v。音频输入端口接地时,测试接收装置噪声有效值小于70mv,且接收装置装有接收信号指示灯。该系统还增加了一路数字信道,用于实时显示环境中的温度。因可见光受环境和其他因素的影响,实测数据难免存在外界干扰,且数字信号与语音信号同时传输时。由于数字信号的高频干扰使得接收节点噪声增大,这对系统信号的调制方式提出了很高的要求,同时也增加了硬件电路的设计的难度,因此要想达到更好的指标,还存在改进空间,如:信道编码采用抗干扰性强的编码方式、光电传感器采用频率特性好的电路、适当增加滤波电路等。第六章 总结和展望本设

54、计是利用led发出的光作为无线传输介质,系统发射端采集到的语音信号和温度信号可通过可见光信号实时传输到接收端显示出和播放出来。本系统实现了系统要求的所有功能。当然,本次设计还有很多不足之处需要改正和完善:1.信道编码方式不适合次信道传输,其传输信号的直流电平不是固定值,需换一种信道编码;2.发射端灯亮度不够,导致传输距离很短,可增加发射端灯的数量,提高发射功率。由于自己能力和时间问题软件上用单个stm32还不能完成信道编码程序,只能利用stm32自带硬件资源串口直接发送数据;硬件上led发射驱动电路需驱动更多的led灯。总之,我觉得此次毕业设计的收获不仅仅是完成了课题的任务,更重要的是通过这次毕业设计,我对学过的书本知识有了更深的理解,比如通信原理课上老师跟我们讲的语音信号的编码,我能将老师课堂上教的东西,自己写程序实现语音信号编码,能把书本上学到的理论应用到实践当中,真正地做到了学以致用。同时也学到了许多书本上学不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论