西门子6ES7222-1HD22-0XA0品质好货
在很多应用场合中,需要用到语音录放功能,如复读机、电话自动应答装置等。本文介绍一种简单实用的dsPIc数字信号控制器,用来完成语音录放功能。由于dsPIC强大的数字信号处理功能,可以提供后续的复杂处理等,具有良好的易扩展性。
介绍dsPIc数字信号控制器以厦ISD4002语音芯片的功能特点;特别介绍dsPIC的SPl库函数的功能及使用,并给出一种简单的语音录放电路。具有低成本、易使用等特点,有较高的实用价值。
1dsPlC系列的简单介绍
dsPIC系列是Microchip公司推出的新型16位高性能数字信号控制器。它结合了单片机的控制优点及数字信号处理器(DSP)的高速运算特性,为嵌入式系统提供了单一芯片解决方案。它继承了PlC单片机系列的哈佛总线结构和精简指令集(RISC)技术,以及寻址方式简单、运行速度快、功耗低、驱动能力强等优点,集成了主板级的DSP功能,能够提供强大的数字信号处理能力;还提供了如UART、CAN、SPI等丰富的外围接口,可以方便地与其他设备进行通信互联。本文介绍使用dsPIC数字信号控制器的SPI接口与ISD语音芯片进行通信控制,使用的芯片型号为dsPIc30F6014。
2ISD系列语音录放芯片
ISD系列语音芯片是美国ISD公司推出的产品。该系列芯片采用多电平直接模拟存储(ChipCorder)专利技术,声音不需要A/D转换和压缩,每个采样直接存储在片内的闪烁存储器中,避免了A/D转换的误差;能够真实、自然地还原语音、音乐及效果声;避免了一般固体录音电路量化和压缩造成的量化噪声和金属声。ISD4000系列采用CM0s技术,内含晶体振荡器、防混叠滤波器、平滑滤波器、自动静噪、音频功率放大器及高密度多电平闪烁存储阵列等,只需要很少的外围器件即可构成一个完整的语音录放系统。它的操作命令通过串行通信接口(SPI)或Microwire送入;采样频率可为4.OHz、5.3 Hz、6.4 Hz、8.OHz,频率越低,录放时间越长,但音质会有所下降;片内信息存于闪烁存储器中,可在断电情况下保存100年(典型值),反复录音10万次;器件工作电压3v,工作电流25~30 mA,音质好,适用于移动电话及其他便携式电子产品。本设计使用的芯片型号为ISD4002,单片录放时间为120s。
3SPI接口介绍
SPI是由美国摩托罗拉公司推出的一种同步串行传输规范,常作为单片机外设芯片串行扩展接口。SPI有4个引脚:SS(从器件选择线)、SDO(串行数据输出线)、SDI(串行数据输入线)和SCK(同步串行时钟线)。SPI可以用全双工通信方式发送和接收8(16)位数据,过程如下:主机启动发送过程,送出时钟脉冲信号,主移位寄存器的数据通过SDO移入到从移位寄存器,从移位寄存器中的数据通过SDI移人到主移位寄存器中。8(16)个时钟脉冲过后,时钟停顿,主移位寄存器中的8(16)位数据全部移人到从移位寄存器中,随即又被自动装入从接收缓冲器中,从机接收缓冲器满标志位(BF)和中断标志位(SSPIF)置“1”。同理,从移位寄存器中的8位数据全部移入到主寄存器中,随即又被自动装入到主接收缓冲器中.主接收缓冲器满标志位(BF)和中断标志位(SSPIF)置“1”。主CPU检测到主接收缓冲器的满标志位或者中断标志位置1后,就可以读取接收缓冲器中的数据。同样,从CPU检测到从接收缓冲器满标志位或中断标志位置1后,就可以读取接收缓冲器中的数据,这样就完成了一次相互通信过程。这里设置dsPIC30F6014为主控制器,ISD4002为从器件,通过SPI口完成通信控制的过程。
4dsPIC的SPI函数库
dsPIC30F6014提供了2个SPI接口模块,每个接口模块包括三个特殊功能寄存器和四个引脚。SPIxBUF是数据缓冲寄存器。需要注意的是,接收缓冲SPIxRBF和发送缓冲SPIxTBF共享同一个地址,即它们都是地址映射到SPIxBUF的。也就是说,当对接收或发送缓冲寄存器操作时,都只能对SPIxBUF进行操作,而不能直接对SPIxRBF或SPIxTBF进行操作。SPIxCON是控制寄存器,用来对sPI模块的操作模式等进行配置;SPIxSTAT是状态寄存器,用来标示SPI模块所处的状态。其模块框图如图1所示。
通过对控制寄存器的配置,可以将SPI模块设置为8位或16位模式、主模式或从模式、帧同步等多种操作模式,还可以对时钟边沿、时钟分频倍数等进行配置。这里使用了以dsPIC为主,ISD为从的主从模式。Microchip提供的外围接口库可以方便地完成这些配置工作。
dsPIC Language ToolsLibraries是MictoChip公司提供给开发者的一套工具库,其中主要含3个子库.DSP库,提供常用的DSP函数;外围接口库,提供对dsPIC系列所有外围接口的驱动函数,包括SPI接口;标准C及数学函数库,可在Microchip的guanfangwangzhan下载(www.microchip.com)。我们使用其中的外围接口库中的SPI库函数即可。SPI库中主要包括以下几个函数:
①configIntSPIx SPI中断配置函数。该函数可以对sPI接口的中断使能位以及中断优先级进行配置,返回值为空。
②CloseSPlx关闭SPI接口。
③DataRdySPlxSPl接口数据就绪。该函数用来判断SPI接收缓冲区中是否有数据等待读出。若返回值为1,表示缓冲区中数据已经就绪,等待读出;若返回值为0,则标示缓冲区为空。
④ReadSPIx读SPI接口缓冲区。
⑤WriteSPIx向SPI接口发送缓冲区写数据。
⑥OpenSPIx打开SPI接口。该函数包含2个参数:configl和config2。configl中包含对SPI接口操作模式的配置信息,将写入控制寄存器;config2中包含SPI的状态信息,将写入状态寄存器。该函数在打开SPI接口的完成对其的配置。
⑦puasSPIx函数将一个字符串数据写入到发送缓冲区中。
⑧getsSPIx函数将从接收缓冲区读人指定长度的字符串数据,并转存到指定的空间。
除了这8个函数以外,该库还提供了相应的宏指令完成同样的功能,可以在程序中方便地使用。
5 lSD4002
ISD4002工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作。对ISD4002而言,在时钟上升沿锁存MOSI引脚数据.存下降沿将数据送至MISO引脚.协议具体内容如下:
①所有串行数据传输开始于SS下降沿;
②SS在传输期间必须保持为低电平,在两条指令之间保持为高电平;
③数据在时钟上升沿移入,在下降沿移出;
④SS变低,输入指令和地址之后,ISD才会开始录放动作;
⑤指令格式是10位地址码加6位控制码;
⑥ISD的任何操作(含快进)如果遇到EOM或OVF则产生一个中断,该中断状态在下一个SPI周期开始时被清除;
⑦使用读指令会使中断状态为移出ISD的MISO引脚时,控制及地址数据也同步从MOSI移入;
⑧所有操作在运行位(RUN)置1时开始,置0时结束;
⑨所有指令都在SS上升沿开始执行。
其时序如图2所示。
对于ISD4002,器件延时TPUD(8kHz采样时,约为25ms)后才能开始操作;用户发完上电指令后,必须等待TPUD.才能发出一条操作指令。下面是典型的操作。
从00处发音,应遵循如下时序:
发POWERUP命令;
等待TPUD(上电延时);
发地址值为00的SFTPLAY命令;
发PLAY命令。
器件会从00地址开始放音,当出现EOM时,立即中断,停止放音。
如果从00处录音,则按以下时序;
发POWER UP命令;
等待TPUD(上电延时);
发POWER UP命令
等待2倍TPUD;
发地址值为00的SETREC命令;
发REC命令。
器件便从00地址开始录音,一直到出现OVF(存储器末尾)时,录音停止。其工作时序如图3所示。
6 电路设计
本电路采用dsPICC30F6014数字信号控制器,通过3个按键开关控制ISD4002录放音芯片的动作。S1、S2、S3分别接到控制器外部中断INTl、INT2、INT3上。当按下S1时,开始录音,按下S1时停止录音。如此反复即可实现多段录音。同理,按下S2时开始放音,按下S2是停止放音。如此反复顺序播放多段录音。按下S3关机。
(1)硬件电路设计
电路原理如图4所示。整个电路由语音录放电路、话筒输入电路、按键开关电路及LCD显示电路构成。由于本设计输出直接驱动普通耳机,经实验不需外部功放电路,直接利用ISD4002内部功放输出即可。ISD4002作为从机,其SPI接口的MOSI接控制器的SDO;MISO接控制器的SDI;SCLK接SCK;SS接控制器的SS即可。LCD用于人机交互的界面显示
间隔层的微机保护装置经过RS-485总线分成几个组,连接到网桥的Modbus通讯口上,通过网桥收集数据并将这些数据通过MB+网络送到主监控单元PLC。
系统的主监控单元可通过可编程网桥编制不同的规约,满足与不同智能设备之间的接口需要。MODBUS网桥NW-BM85C002MB+网桥/多路转换器,每台网桥具有4个通讯口与间隔层的智能设备通讯,网桥将MODBUS协议的数据进行协议转化,通过MB+网络与PLC建立网络通讯;在中央信号屏中还配有可编程网桥NW-BM85C485,通过MB+网络与PLC连接,每个可编程网桥具有四个通讯协议可编程的RS-485口,在本方案中对其中的两个口进行编程,使之通过IEC-60870-7-101与中央控制中心通讯。
系统网络通讯层向上通过可编程网桥的RS-422接口采用IEC60870-5-101规约实现与控制中心通讯;向下网络通讯层通过网桥RS-422接口MODBUS标准规约实现与主变电站内的各开关柜或保护屏内的微机综合保护测控单元等智能装置通讯,满足变电所综合自动化系统控制、测量、保护的技术要求。通过网桥与智能设备及控制中心通讯,由网桥实现协议转换,降低PLC的CPU模块负荷率,tigao系统的可靠性。
配置液晶显示器,用于变电所内监控、软件维护,设备调试,站控层操作等人机接口。带有液晶显示器实现站内数据的显示和控制。液晶显示以汉字实时显示所内所有事故、预告信号、所内各微机综合保护测控单元的运行状态。事件变位的内容、时间等。当多个事故信号发生时,液晶显示报警装置按新旧次序,在所内时间分辨率的范围内依次显示各种信息,并能存储。操作员通过按钮对显示进行选择,必要时操作员可通过该组操作按钮对开关进行所内集中控制。
“就地-远方”控制切换装置。为便于系统运行的需要,在中央信号屏内装有“就地-远方”切换开关,实现就地控制和远方控制之间的方式切换和闭锁。在变电站控制上,方便分层控制和管理。
系统的电源采用冗余配置,系统输入两路直流电源,保证系统在一路电源失电时,系统仍可无扰动安全运行,tigao系统的可靠性。
3.2 开放式、宜扩展性设计
可以与满足相应标准规约(profibus, spabus,modbus等)的其它公司相关的(IED)互联进行信息交换。充分考虑到变电站扩建、改造等因素,间隔层设备基于模块式标准化设计,可根据要求随意配置,变电站层设备设置灵活。
网络通讯层设计考虑到工业以太网、CAN、422、modbus+等现场总线的接口设计,能充分满足大liuliang实时数据传送的实时性和可靠性。
3.3 软件设计
PLC软件方面,由于PLC以循环扫描和中断两种方式来执行程序。为了完成所有RTU功能,PLC采用循环扫描方式,与各个间隔层保护单元进行通讯。通过Modbus总线,读取各个保护单元的遥测、遥信信息,通过总线通讯对各个智能保护装置进行设点操作,实现对开关的遥控功能。本系统采用了Quantum系列PLC配套的concept编程软件中的FBD方式,进行了PLC的组态,实现了变电站自动化的三遥功能。
如图2所示的遥控功能的组态。通过使用合适的功能块的组合,可以实现你所要的功能。其中的功能块有concept软件的FFBlibarary 提供的标准功能块,也可以自己定义,自己独特的功能块。
遥信的实现,有两种方式。一种是通讯方式,当变电站设备发生变位时,通过PLC与智能保护装置的通讯,读取变位的信息到PLC中,并将其上送给控制中心。另一种为DI模块方式,通过连接设备的位置继电器,PLC的DI模块能够感知设备的变位信息。
图2 遥控功能的组态
1 引言
配电室作为智能建筑系统的电力中心,向整栋大楼提供照明、消防、公用设备及办公设备的用电。智能型电力仪表就是可以对整个供电网络进行测量,分析及显示的仪器。由于智能建筑的供电网络很庞大,使用的智能型电力仪表数量也比较多。这就需要一套可靠的监控系统与所有的智能仪表进行数据交换,实现对整个配电网络进行监控,从而实现电力的故障报警和优化管理。
使用和利时LK系列和LM系列PLC的电量采集系统因其可靠性高、自由通讯数据通讯量大、通讯编程灵活而得到采用。
电量采集系统实现了对电力仪表中各个数据的采集功能,数据包括频率、相电压、线电压、相(线)电流、有功/无功/视在功率、功率因数、有功电度和无功电度等。其中LM系列PLC使用自由口通讯与所有的智能电力仪表进行通讯,并实现对仪表数据的储存和上传。LK系列PLC完成对所有LM系列PLC中仪表数据的统计和汇总,后通过以太网将数据传送到上位监控计算机,实现对全部供电系统状态的监视。
2 系统设计
电力采集系统一般由以LK和LM系列PLC为核心的通讯机柜组成。系统装置如图2-1所示。电力监控柜里配置有1套LK系列PLC,10套LM系列PLC及电源。每套LM系列PLC均有一个RS485接口和一个PROFIBUS-DP接口,其通过RS485串口与智能仪表进行通讯,再通过PROFIBUS-DP总线将读上来的仪表数据传送到LK系列PLC中。LK系列PLC通过以太网通讯将汇总的配电室内的所有数据传送到上位监控计算机。
由于需要采集的仪表数量很多,且每块仪表读取的数据量大,采用多套LM系列PLC与仪表连接进行数据采集。LM系列PLC的RS232和RS485串口具有自由口通讯功能,可以针对仪表支持的协议自由进行编程,参数的设定和更改都很方便,在此针对仪表支持的MODBUSRTU协议进行主站编程。LK系列PLC拥有16M的数据存储空间,支持PROFIBUS-DP和以太网(MODBUSTCP)通讯,可以方便的与LM系列PLC和上位计算机进行连接。使用LK系列PLC汇总LM系列PLC读取的数据大大优化了网络结构。
3 PLC硬件配置
以生产楼电量监控系统为例,使用的PLC设备如下:
LM系列PLC使用PowerPro2.1.3B编程软件进行程序编写。PowerPro2.1.3B编程软件具有十分全面的功能:
程序语言标准化。具有IL、LD、ST、FBD、SFC、CFC、六种编程语言。
内部器件变量化。定时器和计数器采用变量方式代替,实现无限点调用。
程序组织模块化。方便进行程序的重用,阅读和调试等,确保程序安全。
参数设定简便化。可以对特殊的功能块进行不同的参数设定以满足使用要求。
编程监控一体化。具有视图和仿真调试功能,十分方便对程序进行编写和调试。
从程序中可以看出所有数据的采集和存储都是由LM系列PLC完成的。通过RS485进行询问帧数据的发送,并对返回的数据进行CRC校验判断,若返回的数据不正确,则不进行数据存储,只有返回数据正确时才将数据放到相应的寄存器中。
LK系列PLC将所有的仪表数据进行汇总放到连续的寄存器当中,其16M的数据存储区可以轻易的存储下所有LM中仪表的数据。使用LK系列PLC的目的主要是优化网络结构,tigao整套系统的通讯的可靠性和维护的简易程度。