系统软件开发平台采用了我们自主开发扁平型电感研制的、专门面向嵌入式应用系统开发的XGW平台。XGW开发平台采用消息驱动机制,是C语言开发。它功能强大、模块化设计、扩展性强、产品升级容易,总体框架如图5所示。
图5全面反应了XGW开发平台的体系结构,包括事件消息驱动机制、内存管理、字符和图形显示输出、图形组件库等。图形组件库中的编辑框、列表框、按钮等为用户应用程序开发提供系统应用编程接口API。不过,XGW平台对于系统硬件的中断响应没有提供统一的入口和出口,需要开发人员单独处理。XGW开发平台的消息分为鼠标消息、键盘消息和定时器消息等3类。
2塑封电感器.4 语音中断服务例程
嵌入式处理EP7211本身提供的外设语音录放Codec(coder/decoder)芯片可以实现语音的录入和播放功能。该模块提供2个独立的16字节长的数据发送和接缓冲区(FIFO),其为工字电感全双工模式,数字据点发速率是64kbps。芯片自身提供工作时钟、定时脉冲以及数据串/并和并/串转换功能。编程工字电感器人员通过设置EP7211相应的控制寄存器使能这些项功能,则每当数据收发缓冲区半慢或者半空时(8字节),芯片自身就会产生一次中断信号供外部处理。理论计算芯片中断速率是1ms/次。
语音播放中断服务例程主要完成的工作是,当产生语音中断时,仍然有数据需要播放,则向语音数据发送缓冲区FIFO中写入指定数据,剩下的工作由Codec芯片本身来完成。中断服务例程ISR的伪代码如下(因为具体实现代码没有通用性,故此处用伪码描述):
void IRQ_Codec_Handler(void)
{
while(检测系统状态寄存器,发现语音芯片数据发送缓冲区FIFO非满)
{
if(已经播放过的语音数据长度<给定的需要播放的语音数据长度)
{
向语音芯片发送数据缓冲区FIFO写入指定数据;
调整已经播放过的语音数据长度;
if(已经播放过的语音数据长度>=给定的需要播放的语音数据长度)//结束
{
禁止数据发送缓冲区中断;
复位各相关的全局变量;
程序返回;
}
}
else
{
向语音芯片发送数据缓冲区FIFO写入默认数据
0XFF;
}
}
}
3 试验结构和分析
由于在设计阶段充分考虑过语音合成算法的大运算量和系统的实时性要求,故我们在具体实现的时候也采取了一些措施,比较突出的有:用ARM汇编语言来实现关键性的函数代码;语音合成时提高处理器EP7211的工作频率(处理器正常工作频率是18MHz);对于一些常用的三角函数计算,采用查表的方式等来加快程序执行速度。在PDA样机测试中,单字符合成时间在650ms左右,基本上能够满足实际应用需求。数据语音库经过处理之后,占用了729 560字节也能够满足本PDA系统的存储的要求。
当PDA系统收到1条个人传呼信息时,在语音库的支持下,立刻启动语音合成算法,逐个进行字符语音合成。当第1个字节语音合成结束后,立刻启动语音中断服务例程进行语音播放。这样收到的个人传呼信息,前台逐个字符解码时,其后台语音播放也在进行。根据实际测试参数,广州电感厂基本上满足了系统的实时性要求。
从一定角度看,单字符650 ms的语音合成时间基本能够满足实际应用需要,但还是希望能够进一步减小这个值。这由于我们对ARM算是器的使用还处在研究阶段。ARM本身
BTS660及其在电池智能检测与充电装置中的应用充电电池广泛应用于工农业生产、国防科技等领域,而充电电池的检测与充电是在充电电池使用过程中必须解决的问题。电池智能检测与充电装置就是针对充电电池的检测与充电而专门研发的一套装备。在设计过程中,充分利用
让智能电表更加省电为了提高能源效率,各国都在加快智能电网建设,大力推广智能电表,以满足电力需求的不断攀升。在快速推进智能电表应用的同时,电表开发商、为他们提供元器件的厂商,乃至最终用户也在关注能让智能电表更加省电的技术
数字式电能质量在线监测系统在电力系统中的运用电能质量在线监测设备是电网电能质量监督检测网络最基本也是最主要的设备,目前市场上销售和使用的国内外生产的电能质量部分指标(如谐波、不平衡度等)的监测设备,大都不能完全适应我国电网电能质量监督管理的实际