基于STM32的语音导览系统的设计
来源: 作者: 发布时间:2016-07-14 06:34:50 浏览量:3 主要功能软件设计
3.1 软件初始化
3.1.1 外设时钟的使能
本设计中涉及的外设时钟可以通过APB2 外设时钟使能寄存器来使能。当外设时钟没有启用时,软件无法读出外设寄存器的值,返回的数值始终为0.设计中用到的PA 口、PB 口、PD 口的时钟分别通过APB2ENR寄存器的第2、3、5 位来设置,SPI1 的时钟通过APB2ENR的第12位来设置。
3.1.2 I/O口的初始化
本设计涉及的I/O 口包括:用于控制片选扩展的PA.3、PB.0口,需设置成开端输出模式;用于实现按键控制的PA.15(录音键)、PA.0(强制停止键)等需设置为上拉输入模式;用于实现SPI通信的PA.5、PA.6、PA.7 口,它们分别对应SPI1的SCK、MISO、MOSI口,应由软件设置这三个口为复用I/O口即第二功能;用于检测放音结束时语音芯片INT端低电平输出的PA.8和PD.2设置为上拉输入模式。
3.1.3 外部中断的初始化
外部中断初始化中主要完成的工作是设置I/O口与中断线的对应关系、开启与该I/O口对应的线上中断/事件以及设置中断的触发条件、配置中断分组并使能中断。本设计中,将强制停止键连接到的PA.0 口对应的中断触发条件设置为上升沿触发,对应的中断优先级最高;其余按键连接的I/O口对应的中断触发条件都设置为下降沿触发。把所有的中断都分配到第二组,把所有按键的次优先级设置成一样,而抢占优先级不同。其中,几个放音键连接的I/O口对应的中断共用一个中断服务程序,也就是多个中断线上的中断共用一个中断服务函数,在该中断服务程序里先对进入中断的信号进行区分(通过中断输入I/O口上的电平判断),再分别处理。
3.1.4 SPI模块的初始化
本设计中,通过对CR1寄存器的设置,将SPI1模块设置成全双工模式、软件NSS管理、主机模式、8 b MSB数据格式,并且把SPI1的波特率设置成了最低(281.25 kHz,为系统时钟的256分频),其中最重要的是SPI模块输出串行同步时钟极性和相位的配置,SPI主模块和与之通信的外设备时钟相位和极性应该一致。最后,发送0xff启动传输。
铁氧体磁芯损耗计算 请问算磁芯损耗时,Pv LOSS 曲线取值时用的是Bmax,还是ΔB?
假如同工作频率的、Bmax相同的在工作第一象限的磁芯Pv与工作在第一三象限的磁芯Pv 是否相同?
对于3C95
EMC传导不过,请教高手进来看下。 我对EMI这块了解不多,最近在测试一款充电器EMI,发现传导不能过,充电器是100~240Vac 输出24Vdc 15A 滤波电路及参数,测试传导图如下:
CX1,CX2,CX3,均为1.0u
EMC设计技术平台设计频率在1MHz以下时,设备的物理尺寸和电缆长度相比于电磁波的波长通常都会太小或太短,与它们相关联的杂散寄生阻抗会很高,发射大部分由差模电流和电压引起,最大的发射问题由设备的
大电流电感