【《PCM音频光端机的硬件和软件设计案例》7700字】_第1页
【《PCM音频光端机的硬件和软件设计案例》7700字】_第2页
【《PCM音频光端机的硬件和软件设计案例》7700字】_第3页
【《PCM音频光端机的硬件和软件设计案例》7700字】_第4页
【《PCM音频光端机的硬件和软件设计案例》7700字】_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

PCM音频光端机的硬件和软件设计案例目录TOC\o"1-3"\h\u23164PCM音频光端机的硬件和软件设计案例 131232第1章系统硬件的设计 1203561.1PCM音频光端机的设计流程 1126651.2系统各部分器件选型 2102501.2.1声音检测传感器模块的选择 2254021.2.2光收发电路器件的选型 3144521.2.3单片机系统板的选型 3148731.3系统硬件设计 6123201.3.1STM32最小系统的设计 682781.3.2声音传感器模块的设计 9202921.3.3功放模块的设计 1183161.3.4光收发电路的设计 1315549第2章系统软件的设计 17313372.1Keil4编程软件 179032.2程序流程图 20300752.3STM32串口USART原理及配置 21第1章系统硬件的设计1.1PCM音频光端机的设计流程图4-6PCM音频光端机设计流程图Pocture4-6PCMaudioopticalendmachinedesignflowchart上图为单通道PCM音频光端机的原理图。上图中左端采集音频然后声音信号经过放大滤波后输入到STM32单片机的模数转换器中将其转化为数字信号,然后对其进行调制,然后输出LED调制光,接收端接收LED调制光,通过LM393对其进行解调,然后将数字信号输入到接收端的STM32单片机的数模转换器中,然后输出模拟信号对其进行放大滤波后将其输送到扬声器。1.2系统各部分器件选型1.2.1声音检测传感器模块的选择根据单通道PCM音频光端机的设计的原理图可知,本系统由声音传感器模块、光收发模块,功放模块及STM32F051C8T6单片机开发板以及扬声器组成。声音传感器单元包括两个放大器内部的双操纵优势和高频率补偿,适当地使用一个高频率的电源,并且是一个广泛使用的电源和高频率的运行方式。在推荐的使用工况和环境下,电源输出的电流和交换器的输入电压是完全不同的。图4-7声音传感器模块Picture4-7Soundsensormodule模拟输出声音传感器可检测可调音量增益、5V工作电压和模拟输出的稳定性能。适用于arduino平台,与arduino传感器接口兼容。表4-1传感器模块功能特点Sheet4-1Thefunctionalfeaturesofthesensormodule功能:工作电压5v模拟量电压信号输出,信号幅度VCC/2可通过AD转换获得声音强度的电压信号特点:灵敏度好内置放大电路增益可调1.2.2光收发电路器件的选型发送和接收模块使用红外光进行传输和接收,而光收发模块的主要功能是实现光电转换,由发射部分和接收部分两部分组成。接收部分的功能是将传输后的微弱光信号转换为电信号,并将其放大并转换为原始输入电信号。它主要由接收元件的光敏二极管组成。该设备具有设计简单、可靠性高、能耗低的优点,性能高、成本低。目前主要用于红外激光终端、电弧网络、用户访问系统等场所。红外通讯是利用近950nm的红外波段上的光源来作为信息传播和输送的主要手段。发射机将基带二进制信号调制成一系列脉冲串行信号,这些脉冲串行信号通过红外发射管发出红外信号。接收机将接收到的光脉冲转换成电信号,将其经过放大、滤波等处理后,发送到解调电路进行解调,然后还原为数字信号进行输出。1.2.3单片机系统板的选型单片机系统板选择STM32F051C8T6,其各项参数如下表所示:表4-2STM32F051C8T6核心板,开发板ARMCortex-M0简介Sheet4-3IntroductiontotheSTM32F051C8T6coreboard,developmentboardARMCortex-M0跳线帽数量产品参数内核存储资源外接晶振SWD版子供电1Cortex-M0(32-bit)64K

Flash,8KB

SRAM8MHzMini-USB(DC-5V)表4-3内部参数Sheet4-4Internalparameters计算单元时钟管理振荡器转换范围模拟供电DMA控制器CRC4-32HZ32KHZRC0-3.6V2.4-3.6V5通道这个系统有高达11精度,一个计时器控制的16位先进7频道6PWM输出渠道,与时间和紧急刹车,一个发电机计时器32位和16位定时器,捕捉每一个高达4通道输入或输出相比,可用于控制红线和解码,捕捉一个计时器,无名氏,通道2的输入/输出和1对极性的退出渠道,发电机超时和两个16位定时器,紧急制动捕获输入/输出和输出渠道极性、发电机、超时、紧急制动功能和16门,一个计时器控制到捕获输入/输出,计时器SysTick:到24位向下,DAC基本驾驶16位定时器。stm32f051xxx本系列产品核心是一款采用先进设计技术优良的基于armcortex™-m0的32位的orisc核心内核,工作于48兆瓦的赫兹工作频率,内置高速自动闪存、12位的aadc、12位的adac、最多5个16位的高级通用自动计时器、32位的专用计时器和高级流量控制。功能:arm®cortextm-m0内核与闪存arm微微嵌入式高速闪存arindustries微微皮质微微处理器为公司下一代系列产品的一个综合功能体系。它为广大用户企业提供了一个设计成本低廉的设计平台,旨在充分满足各种单片机设计需求,减少了引脚的设计数量和较小的系统功耗,同时为广大用户企业提供了卓越的过程计算控制性能和先进的多系统故障分析反馈。armsc皮质的32位置arisc处理器、高性能代码提供服务,提供不同ARM一样大小8位和16位的存储设备。直接存储器访问控制器(DMA):5通道通用DMA可以管理存储器到存储器,外设到存储器和存储器到外设的直接访问。DMA支持环形缓冲区的管理,在控制器达到缓冲区的末尾时不再需要用户代码的干预。每个通道连接到专用硬件DMA请求,支持软件对每个通道的触发。由软件完成DMA的配置,源和目标之间传输的数据量都是独立的。DMA可以用于主要的外设:SPI,I2S,I2C,USART,所有TIMx的定时器(除了TIM14),DAC和ADC。时钟与启动:系统时钟的选择是在启动时进行的。复位后,选择8MHz内部RC振荡器作为默认CPU时钟。您可以选择一个4-32MHZ的外部时钟,如果它发生故障,将被检测到。如果检测到故障,系统将自动切换回内部RC振荡器。如果允许,将导致软件中断。同样,当需要时,PLL时钟也有完整的中断管理(例如,间接使用外部晶体振动、谐振器或有缺陷的振荡器)。允许应用程序通过多个频率分配器设置AHB和APB的频率区域。AHB和APB的最高频率为48MHz。电源管理:外部电源控制模型:vdd=2,0~3,6v:i/o外部直流电源及内部直流稳压器。通过vdd引脚外部接口进行数据提供。vdda=2,0~3,6v:外部的整个模拟信号电源需要有新的adc调整控制模块、rc和微振荡器、pll等等电源。vdda中的电压必须一定要始终不能超过一个大于或相当与等于vdda的电压。vbat从1.6到3.6v:所以在每当vdd电源断开时,rtc外部电源、32khz外部电源振荡器及其外部备用电源记录。数字模拟通道转换器(ADC):12位的数字模拟通道转换器最多可以包含16个外部模拟通道和3个内部模拟通道(温度传感器、电压偏差参考、电压偏差计算器vbat,用于快速实现单模或者多次扫描多种模型的数字转换。在扫描模式下,自动编码转换信号是依据指定一组被扫描选取的信号模拟器和输入信号来进行实现。ADC三个接口系统是为了同时接受一个DMA接口控制器而进行开发的。模拟信号监测的软件功能强大使得它们通常可以很好地用来控制一个、多个或全部的在选定的控制通道之间的信号转化率和电压。当电压转换后的检测结果电压超过了系统规定的转换阈值电压,就很有可能会直接导致系统自动中断。12位的模拟数字-数码模拟阻尼转换器(DAC)的结构数码模拟阻尼器和DAC是一通道,它通常可以被设计用来把模拟数字信号转换成具有模拟输入电压的数字输出。所选择的集合相位电路的基本设计结构也就是构成一组新的集合相位电阻控制网络和其中一组集合相位信号放大器。这个根据数码处理接口主要能够支持以下几种基本功能:在12位数据模式下向左或者从下向右分别支持对齐多个数据、同步文件更新等多种功能、DMA功能、外部转换激活。DAC配置频率时它是通过DAC触发计时器的输出来激活的,DAC接口有自己的DMA请求。两线串行调试端口(SW-DP):ARM的SW-DP接口允许通过串行线调试工具连接到单片机。接收端STM32系统板有D/A转换器,发射端STM32有A/D转换器。下图为STM32F051C8T6开发板:图4-8STM32系统板Picture4-8STM32systemboard1.3系统硬件设计1.3.1STM32最小系统的设计STM32单片机最小系统由主芯片、供电电路、复位电路时钟电路组成,电源是电子系统的核心,在这个设计电路中使用USB接口为STM32单片机供电。在供电电路里Header上有两根线分别接到USBD+和USBD-上,然后5号线接地,电路中用到了电容来电路。图4-9供电电路电路图Picture4-9Powersupplycircuitdiagram晶体振动电路:左侧的OSC_OUT和OSC_IN引脚连接到外部晶体振动的两端。XTAL1和XTAL2是独立的反相输入和输出放大器,可以配置为使用石英晶体振动的板上振荡器。在图4-8发现手表采用的方式是内部时钟方式,即通过使用振荡电路芯片内、外部时间元素(电容器)石英晶体和两个OS_IN针和OS_OUT,内部振荡器可以生成一个振荡。对于晶体振动的选择,频率越高,能量消耗就越大。晶体是无源的,通常有两条腿,需要一个特殊的时钟电路来振动,就像普通的单片机需要外部晶体和两个电容器一样。图4-10晶振电路Picture4-10Crystalresonancecircuit复位电路,一种是自动电路,另一种是断路器电路。图4-11所示的复位电路包括两种复位模式,当充电时,在瞬时电容器两端的电压不可以发生骤变。此时,将电容器的负极与引脚NRST连接,电压应用于电阻。然后用5伏的正电源给电容器充电,电阻两端的电压呈下降趋势,最后大约电压在0V左右波动,芯片正常工作。图4-11复位电路Picture4-11ResetcircuitSTM32最小系统发射端如图所示:图4-12发射端STM32最小系统图Picture4-12TheminimumsystemblockdiagramofthetransmitterSTM32图4-13接收端STM32最小系统框图Picture4-13ThereceivingsideoftheSTM32minimumsystemblockdiagram1.3.2声音传感器模块的设计由上节可知,声音传感器模块选用的是:黑板,模拟量输出声音传感器模块,高感度麦克风,完成的工作就是:麦克风采集声音,产生电信号将其滤波后将其放大,将信号传输至STM32单片机编码,然后转换成光信号发出。另一端接收光信号,经放大滤波后输出到扬声器,其中音频信号放大用到了LM358芯片。图4-14LM358管脚图Picture4-14LM358pinchart管脚LM358:1引脚为输出端,2引脚为反相位输入端,3引脚为同相位输入端;4管脚为负电源(双电源运行时)或地(单电源运行时);同相位输入是5管脚入口;6管脚是反相输入;出口端为7引脚;8管脚是一个积极的电源;管脚1、2和3是一个操作通道,管脚5、6和7是另一个操作通道。表4-4管脚说明Sheet4-5Pindescription名称作用OUT1输出端IN1(-)反相输入端IN1(+)同相输入端GND负电源或地VCC正电源OUT2输出端IN2(-)反相输入端IN2(+)同相输入端LM358的使用范围:包括检测放大器、音频放大器、直流增益元件和所有其他单电源操作放大器。LM358有8根电缆的双插头封装和补丁形式。 LM358的特点:内部频率补偿,高直流增益,单位增益带宽电源电压范围广:单电源;双电源,低消费、适合的电池、低、低电压偏差流量入口,共同进入广泛的紧张程度,包括落实上岸,进入各种紧张局势紧张地微分,就像各种食品和广泛的输出电压摆(0-vcc-1,5V)。LM358参数:输入偏置电流45nA、输入失调电流50nA、输入失调电压2.9mV、输入共模电压最大值VCC~1.5V、共模抑制比80d、电源抑制比100dB。图4-15LM358音频信号输入放大电路Picture4-12TheLM358Audiosignalinputamplifiercircuit1.3.3功放模块的设计图4-16音频信号放大输出电路Picture4-16Audiosignalamplifieroutputcircuit接收端功放模块的作用是把功率较小的音频信号放大为功率较大的音频信号,选用的芯片为PAM小型数字攻放芯片,高清音质凸显数字芯片优势,电路采用最合理的周边配置,电源滤波更是升级为470uf,1.6mm玻纤板材,真正把功放板做到了最细致,输出3W+3W高保真音质,电位器采用原装抗表体,寿命可达15年,电位器带开关可逆时针可直接切断电源。该芯片供电范围:5v,直流最低输出:3W*2,外观尺寸:29.5*20.2*15mm。此芯片输出功率为3瓦。其低谐波失真和低噪声干扰的特点,使声音再现的音质得到了提高。图4-17功放模块Picture4-17Amplifiermodulechip新的无耦合输出架构和低通滤波电路的存在,这些芯片可以直接激活喇叭,降低总成本和PCB空间占用。图4-18滤波电路Picture4-18Filtercircuit音频信号放大输出后还需要将其滤波从而使声音更加清晰,所以需要设计一个滤波电路,如上图所示。图4-19电容滤波原理图Picture4-19Capacitancefilterschematicdiagram上图(a)是整流电路的输出电路,交流电压与时间成正弦规律。(b)为电容滤波电路,对于输出的交流成分,因C1容量大,容抗较小,其通过C1流到地,不能加到RL,所以通过滤波,直流电压被从脉动性直流电中取出。1.3.4光收发电路的设计图4-20光收发模块Picture4-19Opticaltransceivermodule光发射部分采用的是5V可调激光管,激光头,铜头6MM外径,激光二极管,红色点状激光模组。引脚长度6.5CM。激光的产生过程迥殊,所以激光有好多特性普通光都没有,激光的单色性好﹑相干性好、方向性好,亮度高。激光管链接时红线正,蓝线负。光接收部分采用的是光敏二极管,5mm光电晶体管,光敏管。引脚长度25mm,直径5mm。图4-21光收发电路Picture4-21Opticaltransceivercircuit光敏二极管的使用的注意事项:光敏二极管在使用的过程中电压不能过高,可能会把光敏二极管击穿,同时,使用的时候温度也不能过高,一般的光敏管的耐温保守是在85摄氏度,否则树脂遇到高温会产生变形,导致性能不稳定,由此也许会造成漂移。当对光敏二极管是否能用不确定的时候,可以用东西遮住管子,不让它受光线照射,用万用表测试其阻值,此时正常情况下应该和普通的二极管是一样的,一样则说明能用。反之,则应该及时更换,以免因小失大。表4-5激光小铜头各项指标Sheet4-6Lasersmallcopperheadindicators品名:激光小铜头(红光)发射功率:150mW标准尺寸:∅6*10.5工作寿命:1000小时以上光斑模式:点状光斑,连续输出激光波长:650nm出光功率:<5mW供电电压:5VDC工作电流:<40mA工作温度:-36℃~65℃贮存温度:-36℃~65℃光点尺寸:15米处光点为∅10mm-∅15mm光敏二极管的工作的基本规律:光敏二极管是一种可以进行光电转换的半导体部件。它的中心部分也是一个PN节点。与普通二极管相比,为了便于接收入射光,PN节点的面积尽可能大,电极的面积尽可能小。光敏二极管在反向电压下工作,没有光,反向电流非常小,叫做暗电流。当存在光时,光子将能量引入PN,并在共价键上将能量转移到电子上,导致一些电子从Covalentbond中释放出来,由此形成空心电子对。它们在逆变电压的作用下参与漂移运动,使逆变电流显著增加,光的强度越大,逆变电流就越大。这种特性被称为“光导性”。在一般照明灯下由光敏二极管产生的电流称为光电流。如果你把一个电荷连接到一个外部电路,你会在电荷中得到一个电信号,这个电信号会随着光的变化而变化。Photodiode是可以根据设计的需求,把光转换成电信号的一种光探测机器。图4-22光敏二极管外形Picture4-22Profileofphotodiode

第2章系统软件的设计2.1Keil4编程软件首先打开keil,点击project—newproject,选择一个工程存放的位置,改好名字(这里建议新建一个文件夹,因为在编程过程中会产生很多文件)。保存好位置和名字后,选择一款我们需要的芯片,在Atmel中可以找到。弹出对话框中选否即可。建立一个".c"的文件,如图点击空白页新建,保存时后缀加上“.c”即可。把我们刚刚建立的“.c”文件加载到工程里来,双击source

group1选择.c文件。选择好后点击add然后关掉就行。然后点击source

group1左边的加号加载进来的文件就会出现了,然后就可以开始写程序了。把st-linkV2通过SWD接口连接到STM32目标板。然后打开Keil4软件。新建Project,根据设计需要选择芯片。添加程序文件,编写程序。单击魔杖图标进入属性设置对话框。选择Debug选项。在右上角的选项中进行如下选择。然后点击Settings。在跳出的对话框中进行如下选择,可以看到SWDevice框框中出现目标芯片的信息。点击确定。然后再打开Utilities选项卡进行如下设置点击Settings,在跳出的对话框中进行如下图的设置,再点击Add按钮添加芯片。选好自己使用的芯片型号之后,点击Add按钮。全选确定,返回到软件主界面,在file中打开自己想要编译的文件,然后点击编译按钮。在跳出的对话框中进行如上图的设置,再点击Add按钮添加芯片。选中需要的芯片型号之后,点击Add按钮。全选确定。回到软件的主界面,在file中打开自己想要编译的文件,然后将其打开,对程序进行仿真、调试。2.2程序流程图图5-23时钟信号流程图Picture5-23Clocksignalflowchart其程序如下:#include<SysTick.H>staticint8_tfac_us=0;//usstaticint16_tfac_ms=0;//msvoidSysTick_Init(void) {SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); fac_us=SystemCoreClock/8000000; fac_ms=(int16_t)fac_us*1000;//每个ms需要的systick时钟数} //延时Nusvoiddelay_us(int32_tnus){ int32_ttemp; SysTick->LOAD=nus*fac_us;//时间加载 SysTick->VAL=0x00;//清空计数器 SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;//开始倒数 do { temp=SysTick->CTRL; } while(temp&0x01&&!(temp&(1<<16))); SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; SysTick->VAL=0X00;}//延时Nmsvoiddelay_ms(int16_tnms){ int32_ttemp; SysTick->LOAD=(int32_t)nms*fac_ms; SysTick->VAL=0x00; SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; do { temp=SysTick->CTRL; } while(temp&0x01&&!(temp&(1<<16)));SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;SysTick->VAL=0X00;}2.3STM32串口USART原理及配置General-purposeasynchronoustransceiver提供了一种灵活的方法,用于与使用NRZ工业标准异步串行数据格式的外部设备进行全双工数据交换。通用同步收发器(USART):小容量产品为STM32F101xx单片机、STM32F102xx单片机和STM32F103xx单片机,中等容量的产品有STM32F102xx单片机和STM32F103xx单片机,大容量的产品有STM32F101xx单片机和STM32F103xx。USART主要特性:1)全双工的,异步通信2)NRZ标准格式3)分数波特率发生器系统4)可编程数据字长度5)可配置的停止位-支持1或2个停止位6)LIN主发送同步断开符的能力以及LIN从检测断开符的能力当USART硬件配置成LIN时,生成13位断开符;检测10/11位断开符7)发送方为同步传输提供时钟8)IRDASIR编码器解码器─在正常模式下支持3/16位的持续时间智能卡模拟功能─智能卡接口支持ISO7816-3标准里定义的异步智能卡协议─智能卡用到的0.5和1.5个停止位10)单线半双工通信11)可配置的使用DMA的多缓冲器通信12)单独的发送器和接收器使能位13)检测标志─接收缓冲器满─发送缓冲器空─传输结束标志14)校验控制─发送校验位─对接收数据进行校验15)四个错误检测标志─溢出错误─噪音错误─帧错误─校验错误16)10个带标志的中断源─CTS改变─LIN断开符检测─发送数据寄存器空─发送完成─接收数据寄存器满─检测到总线为空闲─溢出错误─帧错误─噪音错误─校验错误17)从静默模式中唤醒18)两种激活接收器的方式USART各个引脚的功能描述:USART(双向通信)都最少需要两个引脚:接收数据输入和发送数据输出(TX)。RX:接收数据串行输入TX:发送数据输出总线在发送或接收前应处于空闲状态一个起始位一个数据字(8或9位),最低有效位在前0.5,1.5,2个的停止位,由此表明数据帧的结束一个状态寄存器(USART_SR)数据寄存器(USART_DR)一个波特率寄存器,12位的整数和4位小数一个智能卡模式下的保护时间寄存器关于以上寄存器中每个位的具体定义,请参考寄存器文章下面描述:USART寄存器描述。在同步模式中需要下列引脚:在IrDA模式里需要下列引脚:●IrDA_RDI:IrDA模式下的数据输入。●IrDA_TDO:IrDA模式下的数据输出。下列引脚在硬件流控模式中需要:●nCTS:清除发送●nRTS:发送请求,如果是低电平,则数据可以输入USART。波特率发生器带动发射光端机和接收光端机的工作,当启用位分别放置时,这个发生器就会为发射机和接收机生成时钟。同步逻辑电路和波特率生成器互相配合工作组成了时钟生成器。发送时钟引脚只在同步发送模式下使用。数据发送器由四部分构成,一个单独的对送来的数据临时存放的机器、一个一次传输一个位元数据移位寄存器、校验位发生器和对不同帧结构进行分析的逻辑电路构成。3.在usart模块中的接收器,包括了时钟和数据接收整体中自成系统的独立单位、偏移量高速存储部件和接收停止

温馨提示

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

最新文档

评论

0/150

提交评论