dspic dsc - microchip · 2011. 12. 30. · dspic® dsc 均衡器库用户指南 2011 microchip...

44
© 2011 Microchip Technology Inc. DS70347B_CN dsPIC ® DSC 均衡器库 用户指南

Upload: others

Post on 26-Aug-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

© 2011 Microchip Technology Inc. DS70347B_CN

dsPIC® DSC 均衡器库

用户指南

Page 2: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

请注意以下有关 Microchip 器件代码保护功能的要点:

• Microchip 的产品均达到 Microchip 数据手册中所述的技术指标。

• Microchip 确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中 安全的产品之一。

• 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的

操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。

• Microchip 愿与那些注重代码完整性的客户合作。

• Microchip 或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。

代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视

为违反了 《数字器件千年版权法案 (Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的

软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。

提供本文档的中文版本仅为了便于理解。请勿忽视文档中包含

的英文部分,因为其中提供了有关 Microchip 产品性能和使用

情况的有用信息。Microchip Technology Inc. 及其分公司和相

关公司、各级主管与员工及事务代理机构对译文中可能存在的任何差错不承担任何责任。建议参考 Microchip TechnologyInc. 的英文原版文档。

本出版物中所述的器件应用信息及其他类似内容仅为您提供便

利,它们可能由更新之信息所替代。确保应用符合技术规范,是您自身应负的责任。Microchip 对这些信息不作任何明示或

暗示、书面或口头、法定或其他形式的声明或担保,包括但不

限于针对其使用情况、质量、性能、适销性或特定用途的适用性的声明或担保。 Microchip 对因这些信息及使用这些信息而

引起的后果不承担任何责任。如果将 Microchip 器件用于生命

维持和 / 或生命安全应用,一切风险由买方自负。买方同意在

由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识

产权保护下,不得暗中或以其他方式转让任何许可证。

DS70347B_CN 第 2 页

商标

Microchip 的名称和徽标组合、 Microchip 徽标、 dsPIC、

KEELOQ、 KEELOQ 徽标、 MPLAB、 PIC、 PICmicro、PICSTART、 PIC32 徽标、 rfPIC 和 UNI/O 均为 Microchip Technology Inc. 在美国和其他国家或地区的注册商标。

FilterLab、 Hampshire、 HI-TECH C、 Linear Active Thermistor、MXDEV、MXLAB、SEEVAL 和 The Embedded Control Solutions Company 均为 Microchip Technology Inc.在美国的注册商标。

Analog-for-the-Digital Age、 Application Maestro、 chipKIT、chipKIT 徽标、 CodeGuard、 dsPICDEM、 dsPICDEM.net、dsPICworks、 dsSPEAK、 ECAN、 ECONOMONITOR、

FanSense、 HI-TIDE、 In-Circuit Serial Programming、ICSP、 Mindi、 MiWi、 MPASM、 MPLAB Certified 徽标、

MPLIB、MPLINK、mTouch、Omniscient Code Generation、PICC、 PICC-18、 PICDEM、 PICDEM.net、 PICkit、PICtail、 REAL ICE、 rfLAB、 Select Mode、 Total Endurance、 TSHARC、 UniWinDriver、 WiperLock 和ZENA 均为 Microchip Technology Inc. 在美国和其他国家或地

区的商标。

SQTP 是 Microchip Technology Inc. 在美国的服务标记。

在此提及的所有其他商标均为各持有公司所有。

© 2011, Microchip Technology Inc. 版权所有。

ISBN:978-1-61341-926-7

© 2011 Microchip Technology Inc.

Microchip 位于美国亚利桑那州 Chandler 和 Tempe 与位于俄勒冈州Gresham 的全球总部、设计和晶圆生产厂及位于美国加利福尼亚州和印度的设计中心均通过了 ISO/TS-16949:2009 认证。 Microchip 的PIC® MCU 与 dsPIC® DSC、KEELOQ® 跳码器件、串行 EEPROM、单片机外设、非易失性存储器和模拟产品严格遵守公司的质量体系流程。此外, Microchip 在开发系统的设计和生产方面的质量体系也已通过了ISO 9001:2000 认证。

Page 3: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

目录

前言 ................................................................................................................................. 5第 1 章 简介

1.1 均衡器概述 ................................................................................................... 111.2 特性 .............................................................................................................. 121.3 主机系统要求 ................................................................................................ 12

第 2 章 安装

2.1 安装步骤 ....................................................................................................... 132.2 均衡器库文件 ................................................................................................ 14

第 3 章 均衡器演示

3.1 dsPIC33F 器件系列的均衡器演示 ................................................................ 173.2 dsPIC33E 器件系列的均衡器演示 ................................................................ 21

第 4 章 应用程序编程接口(API)4.1 向应用程序添加均衡器库 .............................................................................. 254.2 均衡器频带控制 ............................................................................................ 264.3 函数库的使用 ................................................................................................ 274.4 资源需求 ....................................................................................................... 294.5 均衡器库 API 函数 ........................................................................................ 304.6 应用技巧 ....................................................................................................... 41

索引 ............................................................................................................................... 43全球销售及服务网点 ...................................................................................................... 44

© 2011 Microchip Technology Inc. DS70347B_CN 第 3 页

Page 4: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

注:

DS70347B_CN 第 4 页 © 2011 Microchip Technology Inc.

Page 5: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

前言

简介

本章包含使用 dsPIC® DSC 均衡器库前需要了解的一般信息。内容包括:

• 文档编排

• 本指南使用的约定

• 保修登记

• 推荐读物

• Microchip 网站

• 开发系统变更通知客户服务

• 客户支持

• 文档版本历史

文档编排

本用户指南介绍了如何使用 dsPIC DSC 均衡器库。本文档的内容编排如下:

• 第 1 章 “ 简介 ”—— 介绍 dsPIC DSC 均衡器库并简要概述均衡和函数库特性。还概述了对主机 PC 的要求。

• 第 2 章 “ 安装 ”—— 提供安装库文件的说明并介绍源文件、包含文件、演示文件和归档文件的内容。

• 第 3 章 “ 均衡器演示 ”—— 提供实际应用中均衡的动手实验演示。

• 第 4 章 “ 应用程序编程接口(API) ”—— 概述如何通过应用程序编程接口将dsPIC DSC 均衡器库中提供的 API 函数包含在应用程序软件中。

客户须知

所有文档均会过时,本文档也不例外。 Microchip 的工具和文档将不断演变以满足客户的需求,因此实际使用中有些对话框和 / 或工具说明可能与本文档所述之内容有所不同。请访问我们的网站(www.microchip.com)获取 新文档。

文档均标记有 “DS” 编号。该编号出现在每页底部的页码之前。 DS 编号的命名约定为“DSXXXXXA_CN”,其中 “XXXXX” 为文档编号, “A” 为文档版本。

欲了解开发工具的 新信息,请参见 MPLAB® IDE 在线帮助。从 Help (帮助)菜单选择 Topics(主题),打开现有在线帮助文件列表。

2011 Microchip Technology Inc. DS70347B_CN 第 5 页

Page 6: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

本指南使用的约定

本手册采用以下文档约定:

保修登记

请填写随附的保修登记卡(Warranty Registration Card)并尽快寄出。寄出保修登记卡的客户将可收到新产品更新信息。可在 Microchip 网站上获得临时软件版本。

文档约定

说明 涵义 示例

Arial 字体:

斜体字 参考书目 MPLAB® IDE User's Guide需强调的文字 …… 仅有的编译器 ……

首字母大写 窗口 Output 窗口

对话框 Settings 对话框

菜单选择 选择 Enable Programmer引用 窗口或对话框中的字段名 “Save project before build”带右尖括号且有下划线的斜体文字

菜单路径 File>Save

粗体字 对话框按钮 单击 OK选项卡 单击 Power 选项卡

0xnnnn 十六进制数, n 是其中一位 0xFFFF, 0x007A尖括号 < > 括起的文字 键盘上的按键 按 <Enter>, <F1>Courier New 字体:

常规 Courier New 源代码示例 #define START

文件名 autoexec.bat

文件路径 c:\mcc18\h

关键字 _asm, _endasm, static

命令行选项 -Opa+,-Opa-

二进制位值 0, 1

常量 0xFF, ‘A’‘bnnnn 二进制数, n是其中一位 ‘b00100, ‘b10斜体 Courier New 可变参数 file.o, 其中 file可以是任

一有效文件名

方括号 [ ] 可选参数 mcc18 [选项] file [选项]

花括号和竖线: { | } 选择互斥参数; “或”选择 errorlevel {0|1}

省略号 ... 代替重复文字 var_name [, var_name...]

表示由用户提供的代码 void main (void){ ...}

DS70347B_CN 第 6 页 © 2011 Microchip Technology Inc.

Page 7: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

前言

推荐读物

本用户指南介绍了如何使用 dsPIC DSC 均衡器库。下面列出了其他有用的文档。以下Microchip 文档均已提供,并建议读者作为补充参考材料。

dsPIC® DSC 声学回声消除库用户指南 (DS70134F_CN)

您可利用本手册提供的信息,使用 dsPIC® DSC 声学回声消除库将声学回声消除功能集成到嵌入式解决方案中。

dsPIC® DSC 线路回声消除库用户指南 (DS70170D_CN)

您可利用本手册提供的信息,使用 dsPIC® DSC 线路回声消除库将线路回声消除功能集成到嵌入式解决方案中。

dsPIC® DSC 噪声抑制库用户指南 (DS70133E_CN)

您可利用本手册提供的信息,使用 dsPIC® DSC 噪声抑制库将噪声抑制功能集成到嵌入式解决方案中。

dsPIC30F 系列参考手册 (DS70046E_CN)

有关 dsPIC30F器件操作的详细信息,请参见此文档。此参考手册介绍了 dsPIC30F DSC系列架构和外设模块的工作原理,但并不涉及每款器件的具体信息。有关器件特定的信息,请参见相应器件的数据手册。

dsPIC33F/PIC24H 系列参考手册章节

有关 dsPIC33F/PIC24H 器件操作的详细信息,请参见这些文档。这些参考手册章节介绍了 dsPIC33F/PIC24H DSC 和 MCU 系列架构和外设模块的操作,但并不涉及每款器件的具体信息。有关器件特定的信息,请参见相应器件的数据手册。

dsPIC33E/PIC24E 系列参考手册章节

有关 dsPIC33E/PIC24E 器件操作的详细信息,请参见这些文档。这些参考手册章节介绍了 dsPIC33E/PIC24E DSC 和 MCU 系列架构和外设模块的操作,但并不涉及每款器件的具体信息。有关器件特定的信息,请参见具体器件的数据手册。

16 位 MCU 和 DSC 程序员参考手册 (DS70157E_CN)

此手册是供软件开发人员使用的 16 位 PIC24F/PIC24H MCU 以及 16 位 dsPIC30F/dsPIC33F DSC 系列器件的参考手册。其中详细介绍了指令集,并提供了帮助用户进行PIC24F/PIC24H MCU 以及 dsPIC30F/dsPIC33F DSC 器件系列软件开发的一般信息。

© 2011 Microchip Technology Inc. DS70347B_CN 第 7 页

Page 8: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

MPLAB® Assembler, Linker and Utilities for PIC24 MCUs and dsPIC®

DSCs User’s Guide (DS51317)用于 PIC24 MCU 和 dsPIC® DSC 的 MPLAB 汇编器 (以前的 MPLAB ASM30)可从适用于 dsPIC DSC和PIC24 MCU器件系列的符号汇编语言生成可重定位的机器代码。该汇编器是 Windows® 控制台应用程序,为开发汇编语言代码提供了平台。该汇编器是自由软件基金会 (www.fsf.org) GNU 汇编器的移植版。

MPLAB® C Compiler for PIC24 MCUs and dsPIC® DSCs User’s Guide (DS51284)此文档介绍了优化 C 编译器的特性,包括如何将其与汇编器和链接器配合使用。 “MPLAB® Assembler, Linker and Utilities for PIC24 MCUs and dsPIC® DSCs User’s Guide”(DS51317)中详细介绍了汇编器和链接器。

MPLAB® IDE Simulator, Editor User’s Guide (DS51025)有关安装和使用 MPLAB 集成开发环境(Integrated Development Environment,IDE)软件的详细信息,请参见此文档。

要获取这些文档,请访问 Microchip 网站 www.microchip.com。

Microsoft® Windows® 手册

本用户指南假设您熟悉 Microsoft Windows 操作系统。该操作系统有许多优秀的参考资料,应将这些资料作为 Windows 常规操作的参考。

DS70347B_CN 第 8 页 © 2011 Microchip Technology Inc.

Page 9: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

前言

MICROCHIP 网站

Microchip 网站 (www.microchip.com)为客户提供在线支持。客户可通过该网站方便地获取文件和信息。只要使用常用的互联网浏览器即可访问。网站提供以下信息:

• 产品支持 ——数据手册和勘误表、应用笔记和示例程序、设计资源、用户指南以及硬件支持文档、 新的软件版本以及归档软件

• 一般技术支持——常见问题解答(FAQ)、技术支持请求、在线讨论组以及 Microchip顾问计划成员名单

• Microchip 业务 ——产品选型和订购指南、 新 Microchip 新闻稿、研讨会和活动安排表、 Microchip 销售办事处、代理商以及工厂代表列表

开发系统变更通知客户服务

Microchip 的客户通知服务有助于客户了解 Microchip 产品的 新信息。注册客户可在他们感兴趣的某个产品系列或开发工具发生变更、更新、发布新版本或勘误表时,收到电子邮件通知。

欲注册,请登录 Microchip 网站 www.microchip.com,点击 “变更通知客户”(Customer Change Notification)服务并按照注册说明完成注册。

开发系统产品组的分类如下:

• 编译器——Microchip C 编译器及其他语言工具的 新信息,包括 MPLAB® C 编译器、MPASM™ 和 MPLAB 16 位汇编器、MPLINK™ 和 MPLAB 16 位目标链接器,以及 MPLIB™ 和 MPLAB 16 位目标库管理器。

• 仿真器——Microchip在线仿真器的 新信息。其中包括MPLAB ICE 2000、MPLABICE 4000 和 MPLAB REAL ICE™。

• 在线调试器——Microchip在线调试器MPLAB ICD 2和MPLAB ICD 3的 新信息。

• MPLAB® IDE——关于开发系统工具的Windows®集成开发环境Microchip MPLABIDE 的 新信息,主要针对 MPLAB IDE、MPLAB SIM 模拟器、MPLAB IDE 项目管理器以及一般编辑和调试功能。

• 编程器——Microchip 编程器的 新信息,其中包括 MPLAB PM3 和 PRO MATE®

II 器件编程器以及 PICSTART® Plus 和 PICkit™ 1、 2 和 3 开发编程器。

客户支持

Microchip 产品的用户可通过以下渠道获得帮助:

• 代理商或代表

• 当地销售办事处

• 应用工程师 (FAE)• 技术支持

客户应联系其代理商、代表或应用工程师(FAE)寻求支持。当地销售办事处也可为客户提供帮助。本文档后附有销售办事处的联系方式。

也可通过 http://support.microchip.com 获得网上技术支持。

© 2011 Microchip Technology Inc. DS70347B_CN 第 9 页

Page 10: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

文档版本历史

版本 A (2008 年 11 月)

本文档的初始版本。

版本 B (2011 年 7 月)

此版本包括以下更新:

• 更新了第 1 章 “简介”中的第一段,现在涉及到 dsPIC33E 系列器件

• 修改了第 2 章 “安装”

• 更新了第 2.2 节 “均衡器库文件”中的表 2-1 和表 2-3• 更新了第 3 章“均衡器演示”,现在区分 dsPIC33F 和 dsPIC33E 器件(见第 3.1 节“dsPIC33F 器件系列的均衡器演示”和第 3.2 节 “dsPIC33E 器件系列的均衡器演示”)

• 修改了第 4 章“应用程序编程接口(API)”中的第 4.1 节“向应用程序添加均衡器库”

• 更新了第 4.4 节 “资源需求”中的所有表

• 更新整篇文档的格式并更改少量文字

DS70347B_CN 第 10 页 © 2011 Microchip Technology Inc.

Page 11: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

第 1 章 简介

本章介绍 dsPIC DSC 均衡器库。此函数库支持 dsPIC33F 和 dsPIC33E 系列器件,提供了调整语音频带信号的频谱特征这一功能。您可以利用本手册提供的信息将均衡器(EQ)库集成到嵌入式解决方案中。本章涵盖的主题包括:

• 均衡器概述

• 特性

• 主机系统要求

1.1 均衡器概述

均衡器是可用于更改信号频谱特征的系统。图 1-1 给出了其实现原理的概念框图。

在语音和音频应用中,信号处理功能及相关操作可能会抑制或升高信号的某些频率。这表现为输出信号的音调特性相对于输入信号发生了变化。此外,输入和输出设备(话筒和扬声器等)的机械特性和限制也可能会增加或降低信号的某些频率。用户可通过均衡器修改信号的频谱特征,从而实现对这些信号变化的补偿。

图 1-1: 均衡器概念框图

均衡器使用一组带通滤波器将输入信号分割成不同的频带(分量信号)。这些滤波器的中心频率是固定的。滤波器输出信号增益由应用指定。分量信号经过合并后按用户指定的增益 (主增益)进行放大,随后作为输出信号提供。

滤波器 1

滤波器 2

滤波器 N

增益 1

增益 2

增益 N

主增益Σ

© 2008-2011 Microchip Technology Inc. DS70347B_CN 第 11 页

Page 12: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

EQ 库使用固定的 8 kHz 采样率,尤其适合于如下应用:

• 免提移动电话

• 扬声器电话

• 对讲机

• 电话会议系统

EQ 库几乎完全用汇编语言编写,并经过高度优化,能够充分利用 dsPIC DSC 器件指令集和高级寻址模式。 EQ 库提供 EQ_init() 函数用于初始化算法所需的各种数据结构,提供EQ_apply()函数用于均衡信号。您可以通过完备的应用程序编程接口(ApplicationProgramming Interface, API)轻松调用这两个函数。

1.2 特性

EQ 库的主要特性包括:

• 简单的用户接口 ——仅一个库文件和一个头文件

• 所有函数都可从 C 应用程序调用

• 兼容 Microchip C30 编译器、汇编器和链接器

• 高度优化的汇编代码,使用 DSP 指令和高级寻址模式

• 8 个 EQ 频带,中心频率分别为 31、62、125、250、500、1000、2000 和 4000 Hz• 每个带通滤波器的品质因数为 1.4• 0 至 -18 dB 的独立频带增益控制

• 0 至 12 dB 的主增益控制

• 可与 dsPIC DSC 噪声抑制库、声学回声消除 (Acoustic Echo Cancellation,AEC)库和线路回声消除 (Line Echo Cancellation, LEC)库集成

• 随函数库提供演示应用程序源代码

• 可处理多个音频流

• 无需临时存储区

• 提供关键算法参数的运行时控制

1.3 主机系统要求

EQ 库要求具有以下属性的 PC 兼容系统:

• Intel® Pentium® 级别或更高级别的处理器,或同等处理器

• HTML 浏览器

• 至少 16 MB RAM• 至少 40 MB 可用硬盘空间

• Microsoft® Windows® 98、 Windows 2000、 Windows NT、 Windows XP、Windows Vista 或 Windows 7

DS70347B_CN 第 12 页 © 2008-2011 Microchip Technology Inc.

Page 13: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

第 2 章 安装

本章介绍均衡器 (EQ)库中的各种文件,并包含将 EQ 库安装到笔记本电脑或 PC 上以便与 dsPIC DSC 器件编程工具配合使用的操作说明。涵盖的主题包括:

• 安装步骤

• 均衡器库文件

2.1 安装步骤

使用以下步骤安装该函数库:

1. 双击 EQ setup.exe。将在新窗口中显示许可协议。

2. 查看许可协议,然后单击 I Agree(我同意)继续。将显示 Installation Destination(安装目标文件夹)对话框。

3. 指定要安装函数库的位置(即目录),然后单击 Install (安装)。

4. 单击 Close (关闭)关闭该对话框。这将完成 EQ 库的安装。

安装过程中将创建名为 EQ v2.0 的文件夹,其中包含第 2.2 节 “均衡器库文件”中介绍的文件。

© 2008-2011 Microchip Technology Inc. DS70347B_CN 第 13 页

Page 14: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

2.2 均衡器库文件

dsPIC DSC 均衡器库 CD 将创建标记为 EQ v2.0的目录。此目录包含以下五个文件夹:

• demo• doc• h• lib• wavefiles

2.2.1 demo文件夹

此文件夹包含 EQ 库快速入门演示所需的文件。表 2-1 列出了此文件夹中的文件。

表 2-1: 演示文件

文件名 说明

dsPIC33F EQ demo.hex dsPIC33F 的演示十六进制文件。

dsPIC33E EQ demo.hex dsPIC33E 的演示十六进制文件。

dsPIC33F EQ demo.mcp dsPIC33F 的演示 MPLAB® IDE 项目文件。

dsPIC33E EQ demo.mcp dsPIC33E 的演示 MPLAB IDE 项目文件。

cleanup.bat 用于清除中间编译文件的批处理文件脚本。

h\dsPICDEM1_1Plus.h dsPICDEM™ 1.1 Plus 开发板程序的 C 头文件。

h\MEB.h 多媒体扩展板(Multimedia Expansion Board, MEB)程序的 C 头文件。

h\lcd.h 用于定义 LCD 驱动程序接口的 C 头文件。

h\eq_api.h 用于定义 EQ 库接口的 C 头文件。

h\SI3000Drv.h 用于定义 Si3000 编解码器驱动程序接口的 C 头文件。

h\WM8731CodecDrv.h 用于定义 WM8731 编解码器驱动程序接口的 C 头文件。

libs\eqlibv2_33F.a dsPIC33F 的 EQ 库归档文件。

libs\eqlibv2_33E.a dsPIC33E 的 EQ 库归档文件。

src\dsPICDEM1_1Plus.c 包含 dsPICDEM 1.1 Plus 开发板程序的 C 源文件。

src\MEB.c 包含 MEB 程序的 C 源文件。

src\lcd_strings.c 用于 LCD 显示屏驱动程序的 C 源文件。

src\main.c 包含主要语音处理程序的 C 源文件。

src\SI3000Drv.c 包含 Si3000 编解码器代码的 C 源文件。

src\WM8731CodecDrv.c 包含 WM8731 编解码器代码的 C 源文件。

src\lcd.s 用于与 LCD 控制器通信的汇编程序。

DS70347B_CN 第 14 页 © 2008-2011 Microchip Technology Inc.

Page 15: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

安装

2.2.2 doc文件夹

此文件夹包含 dsPIC DSC 均衡器库的电子版用户指南。要查看该文档,请双击文件名。还可以从 Microchip 网站 (www.microchip.com)下载该用户指南。

2.2.3 h文件夹

此文件夹包含 EQ 库的包含文件,如表 2-2 所示。

表 2-2: 包含文件

2.2.4 lib文件夹

此文件夹包含 EQ 库的库归档文件,如表 2-3 所示。归档名称以目标器件系列的名称 33F或 33E 为后缀。

表 2-3: 库文件

2.2.5 wavefiles文件夹

此文件夹包含可配合 EQ 演示示例使用或用于原型设计的采样 WAVE 文件。表 2-4 列出了可用的 WAVE 文件。

表 2-4: WAVE 文件

文件名 说明

eq_api.h 包含 EQ 库接口的包含文件。必须将此文件包含在应用程序中才能使用该函数库。

文件名 说明

eqlibv2_33F.a dsPIC33F 的 EQ 库归档文件。必须将此文件包含在应用程序中才能使用该函数库。

eqlibv2_33E.a dsPIC33E 的 EQ 库归档文件。必须将此文件包含在应用程序中才能使用该函数库。

文件名 说明

highbass1.wav 加重低频的采样 WAVE 文件。

highmids.wav 加重中频的采样 WAVE 文件。

hightreble1.wav 加重高频的采样 WAVE 文件。

© 2008-2011 Microchip Technology Inc. DS70347B_CN 第 15 页

Page 16: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

注:

DS70347B_CN 第 16 页 © 2008-2011 Microchip Technology Inc.

Page 17: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

第 3 章 均衡器演示

本章提供实际应用中均衡器 (EQ)库的动手实验演示。

3.1 dsPIC33F 器件系列的均衡器演示

本节涵盖以下主题:

• 演示摘要

• 演示设置

• 演示步骤

• 演示代码说明

3.1.1 演示摘要

EQ 库随附的演示应用程序演示了该函数库与 dsPIC33F 数字信号控制器 (DigitalSignal Controller,DSC)结合使用时的功能。在演示设置(如图 3-1 所示)中,将dsPICDEM™ 1.1 Plus 开发板配置为通过话筒输入端口接收语音信号、均衡采样信号以及通过扬声器输出端口播放已均衡的信号的系统。板上 Si3000 编解码器用作话筒和扬声器接口。

PC 用于通过音频电缆将语音信号从 PC 的扬声器输出端口驱动到 dsPICDEM 1.1 Plus开发板上的 J16(MIC IN)。耳麦或扬声器连接到 dsPICDEM 1.1 Plus 开发板上的 J17(SPKR OUT)。

图 3-1: dsPIC33F 均衡器演示设置

您可以使用随演示提供的 .wav文件(位于安装目录的 wavefiles文件夹中)作为未均衡的语音信号,也可以提供自己的信号。未均衡的输入信号由板上 Si3000 语音频带编解码器和 dsPIC DSC 器件的数据转换器接口(Data Converter Interface, DCI)模块捕捉。

回放 WAVE 文件的 PC 或笔记本电脑

9 VDC

音频电缆

J16 (MIC IN)

J17(SPKR OUT)

运行采用均衡器库的演示应用程序的

dsPICDEM™ 1.1 Plus 开发板

音频输入信号

已均衡的音频输出信号

SW1

RJ-11 电话线

USB 电缆

MPLAB® ICD 2

115 VAC

LCD

© 2011 Microchip Technology Inc. DS70347B_CN 第 17 页

Page 18: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

然后, dsPIC DSC 器件通过其 DCI 模块和板上 Si3000 编解码器播放经过处理(已均衡)的信号。程序启动时将初始化为关闭均衡器(通过熄灭 LED1 指示),并将 OFF 写到 LCD 屏幕上。均衡器关闭时,在耳麦中听到的信号与输入信号相同。

通过按下 SW1 使能均衡器。LED1 此时点亮,并且 LCD 上显示 ON。根据均衡器设置,在耳麦中听到的语音信号听起来会有所不同。使用 SW2 可更改感兴趣的 EQ 频带。使用SW3 和 SW4 可更改 EQ 级别。

开启 PC 媒体播放器的重复播放功能以允许 .wav文件连续播放,然后观察信号在何时未均衡以及在何时已均衡。对多个 .wav文件重复此过程。

3.1.2 演示设置

本演示应用程序用于在dsPICDEM 1.1 Plus开发板(未随软件许可提供)上的dsPIC33F器件上运行。

请按照以下几节所述的步骤设置演示。

3.1.2.1 配置 dsPICDEM 1.1 PLUS 开发板

在上电之前按照如下步骤配置开发板:

1. 将跳线 J9 (与振荡器插座相邻)设置到 SLAVE 位置 (见图 3-2)。此设置允许板上 Si3000 编解码器芯片以串行时钟从模式工作。

2. 在PC上的扬声器输出端口与dsPICDEM 1.1 Plus开发板上的MIC IN插孔(J16)之间连接音频电缆。

3. 将耳麦或扬声器连接到 SPKR OUT 插孔(J17)。

4. 在 PC (USB 电缆)与 dsPICDEM 1.1 Plus 开发板 (RJ-11 电话线)之间连接MPLAB ICD 2。

5. 连接 9V 电源为 dsPICDEM 1.1 Plus 开发板上电。

图 3-2: 演示板设置

注: 某些媒体播放器在每次重复播放 .wav 文件之前会停顿一下。如果想要避免这种情况,可使用声音编辑程序(如 Audacity)实现连续循环播放。 Audacity是免费的跨平台声音编辑器,可从 http://audacity.sourceforge.net/ 下载。

将 J9 设置为 SLAVE

注: 可以使用 MPLAB REAL ICE 代替 MPLAB ICD 3。

DS70347B_CN 第 18 页 © 2011 Microchip Technology Inc.

Page 19: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

均衡器演示

3.1.2.2 设置演示

正确配置完开发板之后,设置应与图 3-1 相似。

3.1.2.3 烧写 dsPIC DSC 器件

通过以下过程将均衡器演示加载到dsPICDEM1.1 Plus开发板上的dsPIC DSC器件中。

1. 在PC上启动MPLAB IDE,并打开位于demo文件夹中的dsPIC33F EQ demo.mcp项目。有关使用 MPLAB IDE 的更多信息,请参见 《MPLAB® IDE 用户指南》(DS51519A_CN)。

2. 导入项目十六进制文件:File>Import>dsPIC33F EQ demo.hex (文件 > 导入 >dsPIC33F EQ demo.hex)

3. 选择 Programmer>Connect(编程器 > 连接)将 MPLAB ICD 3 连接到 dsPIC DSC目标器件。 Output (输出)窗口显示 MPLAB ICD 3 已准备就绪。

4. 选择 Programmer>Program(编程器 > 编程)。Output 窗口显示下载过程并指示烧写已成功。

5. 程序加载完毕后,断开 MPLAB ICD 3 与开发板的连接 (从 MPLAB ICD 3 连接器中拔出电话线)。断开连接后, LCD 显示屏上将显示均衡器信息。

3.1.3 演示步骤

演示应用程序烧写到器件中之后,演示即准备好运行。您可以使用提供的 .wav文件(位于安装目录的 wavefiles文件夹中)作为未均衡的语音信号,也可以提供自己的信号。

未均衡的输入信号通过板上Si3000语音频带编解码器和dsPIC DSC器件的数据转换器接口(DCI)模块采样。然后,dsPIC DSC 器件通过其 DCI 模块和板上 Si3000 编解码器播放经过处理 (已均衡)的信号。

演示应用程序通过 LED 和 LCD 指示工作状态。当加载应用程序和初始化片上和片外外设时,将显示引导屏幕,然后引导屏幕会自动切换为运行时屏幕,如图 3-3 所示。

图 3-3: 演示运行时 LCD 屏幕

运行时屏幕显示以下内容:

1. 算法的名称。

2. SW1 用于开启和关闭均衡器。SW2 用于更改要修改的频带。SW3 和 SW4 可用于更改所选频带的增益。

3. 算法的当前状态、所选频带 (B)和所选频带的当前增益级别 (L)。

4. 显示输入级别的 VU 计。

各个频带增益级别可以 1 dB 为递减量从 0 dB 减至 -18 dB。主增益可以 1 dB 为递增量从 0 dB 增至 12 dB。

EQ DEMOOnOff SW1 : BAND SW2Off B:32Hz L:-12DB

* CLIPPED

© 2011 Microchip Technology Inc. DS70347B_CN 第 19 页

Page 20: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

程序启动时将初始化为关闭均衡器 (通过熄灭 LED1 指示),并在 LCD 上显示 OFF。均衡器关闭时,在耳麦中听到的信号与输入信号相同。

通过按下 SW1 使能均衡器。 LED1 此时点亮,并且 LCD 上显示 ON,在耳麦中听到的语音信号已均衡。

开启 PC 媒体播放器的重复播放功能以允许 .wav文件连续播放。然后,观察信号在何时已均衡以及在何时未均衡。要实验不同频率下的效果,可播放 wavefiles 文件夹中提供的多个 .wav文件。

3.1.4 演示代码说明

演示代码在 dsPIC33F 器件上运行,使用主振荡器作为时钟源,对 PLL 针对 40 MIPS的工作进行设置。

main.c文件包含演示应用程序的主函数。此主函数在数据存储器中分配DCI数据缓冲所需的所有变量和数组,还为 EQ 库函数分配所需的数据存储块。

主函数调用 EQ 库中的 EQ_init()函数,该函数用于将 EQ 算法初始化为默认状态。

主函数还调用 SI3000_open()函数来初始化 DCI 模块、Si3000 编解码器和 DCI 中断。DCI 模块用作主器件并驱动串行时钟和帧同步线。Si3000 编解码器用作从器件。DCI 模块设置为多通道帧同步工作模式以及 16 位数据字,每帧 16 个数据字或时隙,本演示中仅使用一个发送时隙和一个接收时隙。

随后,此函数初始化 Si3000 编解码器。通过将 dsPIC DSC 器件的 RF6 引脚与 Si3000的复位引脚连接,并将 RF6 保持 100 个周期的低电平然后驱动为高电平来复位编解码器。编解码器的采样率配置为 8 kHz。话筒增益设置为 10 dB,接收增益设置为 0 dB。两个扬声器均设置为有效,发送增益设置为 0 dB。模拟衰减参数设置为 0 dB。初始化所有 Si3000 控制寄存器之后,引入延时以进行 Si3000 校准。 后,允许 DCI 中断。

主处理循环读取 Si3000 驱动程序以获取一帧语音数据。此数据会复制到 sigIn数组并作为输入传递给 EQ_apply() 函数。该函数就地操作,即,输出存储到 sigIn 数组本身。然后,该数组会写入 Si3000 驱动程序,以在耳机中进行回放。

通过在 InitSPI 函数中初始化 SPI 模块来实现在 LCD 上显示, LCD 驱动程序函数和LCD 字符串定义分别位于 lcd.s和 lcd_strings.c文件中。

要在开启和关闭均衡器之间切换,需允许SW1的外部中断。在主循环中,读取equalize变量的值并将其传递给 EQ_apply() 作为使能标志。如果 equalize 为 0,则仍然调用均衡器,但是不更改输入 / 输出缓冲区。

DS70347B_CN 第 20 页 © 2011 Microchip Technology Inc.

Page 21: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

均衡器演示

3.2 dsPIC33E 器件系列的均衡器演示

本节涵盖以下主题:

• 演示摘要

• 演示设置

• 演示步骤

• 演示代码说明

3.2.1 演示摘要

EQ 库随附的演示应用程序演示了该函数库与 dsPIC33E 数字信号控制器(DSC)结合使用时的功能。在演示设置 (如图 3-4 所示)中,将与 dsPIC33E USB 入门工具包配合使用的多媒体扩展板(Multimedia Expansion Board,MEB)配置为通过其话筒输入端口接收语音信号、均衡采样信号以及通过扬声器输出端口播放已均衡的信号的系统。板上 WM8731 编解码器用作话筒和扬声器接口。

PC 用于通过音频电缆将语音信号从 PC 的扬声器输出端口驱动到 MEB 的话筒输入。耳麦或扬声器连接到 MEB 的扬声器输出。

图 3-4: dsPIC33E 均衡器演示设置

您可以使用随演示提供的 .wav文件(位于安装目录的 wavefiles文件夹中)作为未均衡的语音信号,也可以提供自己的信号。未均衡的输入信号由板上 WM8731 音频编解码器和 dsPIC DSC 器件的数据转换器接口(DCI)模块捕捉。

然后,dsPIC DSC 器件通过其 DCI 模块和板上 WM8731 编解码器输出经过处理(已均衡)的信号。程序启动时将初始化为关闭均衡器。均衡器关闭时,在耳麦中听到的信号与输入信号相同。

通过按下 dsPIC33E USB 入门工具包上的开关 SW1 使能均衡器。根据均衡器设置,在耳麦中听到的语音信号听起来会有所不同。使用 MEB 的 LCD 侧上的开关 S1 更改感兴趣的 EQ 频带。使用 dsPIC33E USB 入门工具包上的 SW2 和 SW3 更改 EQ 级别。

运行均衡器演示的 PC 或

笔记本电脑

音频电缆

运行采用均衡器库的演示应用程序的

dsPIC33E USB 入门工具包和 MEB

音频输入信号

已均衡的音频输出信号

dsPIC33E USB 入门工具包

多媒体扩展板(MEB)SW3 SW2 SW1

LED3 LED2 LED1

© 2011 Microchip Technology Inc. DS70347B_CN 第 21 页

Page 22: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

开启 PC 媒体播放器的重复播放功能以允许 .wav文件连续播放,然后观察信号在何时未均衡以及在何时已均衡。对多个 .wav文件重复此过程。

3.2.2 演示设置

本演示应用程序用于在 MEB 和 dsPIC33E USB 入门工具包(未随软件许可提供)上运行。

请按照以下几节所述的步骤设置演示。

3.2.2.1 配置 MEB 和 dsPIC33E USB 入门工具包

在上电之前需要按如下步骤配置多媒体扩展板:

1. 将 dsPIC33E USB 入门工具包插入到 MEB 上的入门工具包连接器中。

2. 在 PC 上的扬声器输出端口与 MEB 上的话筒插孔(J7)之间连接音频电缆。

3. 将耳麦或扬声器连接到 MEB 的耳机插孔(J8)。

4. 使用随入门工具包提供的 USB A 转 Mini B 电缆将 dsPIC33E USB 入门工具包连接到 PC。

3.2.2.2 设置演示

正确配置完扩展板之后,设置应与图 3-4 相似。

3.2.2.3 烧写 dsPIC DSC 器件

通过以下过程将均衡器演示加载到 dsPIC33E USB 入门工具包的 dsPIC DSC 器件上。

1. 在 PC 上启动 MPLAB IDE,并打开位于 demo文件夹中的 dsPIC33E EQ demo.mcp项目。有关使用 MPLAB IDE 的更多信息,请参见 《MPLAB® IDE 用户指南》(DS51519A_CN)。

2. 导入项目十六进制文件:File>Import>dsPIC33E EQ demo.hex3. 选择板上的入门工具包作为编程器,然后选择 Programmer>Connect 连接到 dsPIC

DSC 目标器件。 Output 窗口确认目标器件已准备就绪。

4. 选择 Programmer>Program。 Output 窗口显示下载过程并指示烧写已成功。

3.2.3 演示步骤

演示应用程序烧写到器件中之后,演示即准备好运行。您可以使用提供的 .wav文件(位于安装目录的 wavefiles文件夹中)作为未均衡的语音信号,也可以提供自己的信号。

注: 某些媒体播放器在每次重复播放 .wav文件之前会停顿一下。如果想要避免这种情况,可使用声音编辑程序(如 Audacity)实现连续循环播放。 Audacity是免费的跨平台声音编辑器,可从 http://audacity.sourceforge.net/ 下载。

注: 烧写后,拔下 USB 电缆并重新连接到 dsPIC33E USB 入门工具包,以确保可以重新配置 WM8731 音频编解码器。

DS70347B_CN 第 22 页 © 2011 Microchip Technology Inc.

Page 23: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

均衡器演示

未均衡的输入信号通过板上WM8731 音频编解码器和 dsPIC DSC器件的数据转换器接口(DCI)模块采样。然后,dsPIC DSC 器件通过其 DCI 模块和板上 WM8731 编解码器播放经过处理 (已均衡)的信号。

程序启动时将初始化为关闭均衡器(通过熄灭 MEB 上的 LED5 指示)。均衡器关闭时,在耳麦中听到的信号与输入信号相同。

通过按下 dsPIC33E USB 入门工具包上的 SW1 使能均衡器。LED5 此时点亮,并且在耳麦中听到的语音信号已均衡。

使用 MEB 的 LCD 侧上的开关 S1 更改要由均衡器修改的音频频带。当前选择的二进制值由 MEB 上的 LED1 至 LED4 表示。每按一次按钮都会将所选频带提高 1 个级别,频带 8 可用于更改算法的主增益。

按下 dsPIC33E USB 入门工具包上的开关 SW2 会提高所选频带的增益,而按下开关SW3 会降低增益。

各个频带增益级别可以 1 dB 为递减量从 0 dB 减至 -18 dB。主增益可以 1 dB 为递增量从 0 dB 增至 12 dB。开启 PC 媒体播放器的重复播放功能以允许 .wav文件连续播放。然后,观察信号在何时已均衡以及在何时未均衡。要实验不同频率下的效果,可播放 wavefiles 文件夹中提供的多个 .wav文件。

3.2.4 演示代码说明

演示代码在 dsPIC33E 器件上运行,使用主振荡器作为时钟源,对 PLL 针对 40 MIPS的工作进行设置。

main.c文件包含演示应用程序的主函数。此主函数在数据存储器中分配DCI数据缓冲所需的所有变量和数组,还为 EQ 库函数分配所需的数据存储块。

主函数调用 EQ 库中的 EQ_init()函数,该函数用于将 EQ 算法初始化为默认状态。

主函数还调用 WM8731Init() 函数来初始化 DCI 模块、 WM8731 编解码器和 DCI 中断。WM8731 编解码器用作主器件并驱动串行时钟和帧同步线。DCI 模块设置为多通道帧同步工作模式以及 16 位数据字,每帧两个数据字或时隙(即两个发送时隙和两个接收时隙)。

随后,使用WM8731Start()函数使能DCI和 I2C模块。编解码器的采样率配置为8 kHz。主处理循环读取 WM8731 驱动程序以获取一帧语音数据。此数据会复制到 sigIn 数组并作为输入传递给 EQ_apply()函数。该函数就地操作,即,输出存储到 sigIn数组本身。然后,该数组会写入 WM8731 驱动程序,以在耳机中进行回放。

要在开启和关闭均衡器之间切换,请使用名为 equalize 的变量。在主循环中,读取equalize变量的值并将其传递给EQ_apply()作为使能标志。如果equalize为0,则仍然调用均衡器,但是不更改输入 / 输出缓冲区。

© 2011 Microchip Technology Inc. DS70347B_CN 第 23 页

Page 24: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

注:

DS70347B_CN 第 24 页 © 2011 Microchip Technology Inc.

Page 25: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

第 4 章 应用程序编程接口(API)

本章详细介绍 EQ 库的应用程序编程接口 (API)。涵盖的主题包括:

• 向应用程序添加均衡器库

• 均衡器频带控制

• 函数库的使用

• 资源需求

• 均衡器库 API 函数

• 应用技巧

4.1 向应用程序添加均衡器库

要在应用程序中使用 EQ 库,必须将库归档添加到应用程序项目工作区,还必须将eq_api.h文件包含在应用程序代码中。使用以下步骤将该函数库添加到应用程序。

1. 在应用程序 MPLAB IDE 工作区中,右键单击项目窗口中的 Library Files(库文件),然后选择 Add files (添加文件)。

2. 浏览到 eqlibv2_33F.a或 eqlibv2_33E.a文件的位置(位于安装目录的 lib文件夹中)。

3. 选择文件,然后单击 Open (打开)。

4. 函数库即添加到应用程序中。

© 2011 Microchip Technology Inc. DS70347B_CN 第 25 页

Page 26: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

4.2 均衡器频带控制

图 4-1 显示了均衡器的典型前端软件界面。不同的频带控制了语音信号的特性。降低31 Hz、62 Hz 和 125 Hz 频带的幅值可以使“模糊”或过度衰减的语音信号变得响亮。提高 250 Hz、500 Hz 和 1000 Hz 频带的幅值可以加强较弱的语音信号。如果语音信号过于响亮、发出嘶嘶声或包含其他高频信号,则可通过加强 31 Hz、62 Hz 和 125 Hz 频带来均衡信号。还可以减弱 2000 Hz 和 4000 Hz 频带。

图 4-1: 均衡器软件界面

DS70347B_CN 第 26 页 © 2011 Microchip Technology Inc.

Page 27: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

应用程序编程接口(API)

4.3 函数库的使用

要使用库函数,请将文件 eq_api.h 包含在应用程序源代码中。此文件可从 h 文件夹(位于安装目录中)复制到应用程序项目文件夹。

均衡器库设计为可用于可重入环境。这使得该算法可处理多个独立音频通道,每个通道均具有自己的设置和参数。

要使用均衡器库,需要执行以下编码步骤。例 4-1 给出了相应代码。

1. 为 EQ 算法状态保持器分配存储区:EQ 状态保持器有两个组成部分,一部分在 X存储区中,另一部分在 Y 存储区中。 X 存储区中的状态保持器是大小为EQ_XSTATE_MEM_SIZE_INT的整型(int)数组,起始于 2 字节地址边界处。Y 存储区中的状态保持器是大小为 EQ_YSTATE_MEM_SIZE_INT的整型数组,起始于 2 字节地址边界处。每个要处理的音频通道都需要有自己的状态保持器。

2. 创建频带增益数组:均衡器中各个频带的增益由大小为 8 的字符型数组指定。此数组中下标“n”的值对应于频带“n”的增益。例如, gains1[0]对应于 32 Hz 频带的增益, gains1[1]对应于 125 Hz 频带的增益,依此类推。

3. 初始化每个音频通道的 EQ 算法:使用 EQ_init()函数初始化每个音频通道的 EQ算法。

4. 设置每个音频通道的主增益:使用 EQ_setMasterGain()函数设置每个音频通道的主增益。

5. 设置频带增益:使用 EQ_setGain()函数设置均衡器频带的增益。注意 gains[]数组是如何传递给此函数来指定增益的。

6. 对音频帧应用均衡器:使用 EQ_apply()函数通过均衡器处理音频帧。EQ_apply()函数就地操作,即,输出存储回输入数组。

注: 在某些 dsPIC33E 器件中, Y 存储区位于扩展数据空间 (Extended DataSpace,EDS)中。在这种情况下,Y 临时存储区必须标记有 __eds__关键字并被分配 EDS 属性。

© 2011 Microchip Technology Inc. DS70347B_CN 第 27 页

Page 28: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

例 4-1: 使用均衡器库的代码(dsPIC33F 示例)/* Channel 1 memory structure */

int eqStateMemX1[EQ_XSTATE_MEM_SIZE_INT] _XBSS(2); /* Step 1 */int eqStateMemY1[EQ_YSTATE_MEM_SIZE_INT] _YBSS(2); /* Step 1 */

/* Channel 2 memory structure */

int eqStateMemX2[EQ_XSTATE_MEM_SIZE_INT] _XBSS(2); /* Step 1 */int eqStateMemY2[EQ_YSTATE_MEM_SIZE_INT] _YBSS(2); /* Step 1 */

#define GAINS {0,0,0,0,0,0,0,0} /* Step 2 */char gains1[EQ_NO_FREQS] = GAINS; /* Step 2 - Channel 1 */char gains2[EQ_NO_FREQS] = GAINS; /* Step 2 - Channel 2 */int masterGain1 = 0; /* Step 2 - Channel 1 */int masterGain2 = 0; /* Step 2 - Channel 2 */

int main(void){

EQ_init(eqStateMemX1,eqStateMemY1); /* Step 3 */EQ_init(eqStateMemX2,eqStateMemY2); /* Step 3 */

EQ_setMasterGain(eqStateMemX1,masterGain1); /* Step 4 */EQ_setMasterGain(eqStateMemX2,masterGain2); /* Step 4 */

EQ_setGain(eqStateMemX1,gains1); /* Step 5 */EQ_setGain(eqStateMemX2,gains2); /* Step 5 */

EQ_apply(eqStateMemX1,eqStateMemY1,audio1,EQ_TRUE); /* Step 6 */EQ_apply(eqStateMemX2,eqStateMemY2,audio2,EQ_TRUE); /* Step 6 */

}

DS70347B_CN 第 28 页 © 2011 Microchip Technology Inc.

Page 29: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

应用程序编程接口(API)

4.4 资源需求

在 dsPIC DSC 器件上运行 EQ 库时,需要以下资源。

4.4.1 程序存储器使用情况

表 4-1: 程序存储器使用情况

4.4.2 数据存储器使用情况

表 4-2: 数据存储器使用情况

4.4.3 估算的动态存储器使用情况

表 4-3: 估算的动态存储器使用情况

4.4.4 计算速度

表 4-4: 计算速度

4.4.5 数据格式

sigIn的数据类型可以是10位、12位或16位线性PCM数据。均衡器算法会针对使用的数据格式自动进行调整。

类型 大小(字节) 段

程序存储器中的代码 900 .libeq

程序存储器中的表165 (dsPIC33F)0 (dsPIC33E)

.const

程序存储器合计1065 (dsPIC33F)900 (dsPIC33E)

函数 / 类型 大小(字节) 对齐 段

eqStateMemX 88 2 X 数据存储区

eqStateMemY 80 2 Y 数据存储区

sigIn 160 2 Y 数据存储区

数据存储器中的表0 (dsPIC33F)

110 (dsPIC33E)2 X 数据存储区

数据存储器合计328 (dsPIC33F)438 (dsPIC33E)

— —

段 大小(字节)

堆 0

堆栈 < 300

功能 MIPS 典型调用频率

EQ_init() < 0.5 一次

EQ_apply() 2.5 10 ms

所有其他函数 小 根据需要

© 2011 Microchip Technology Inc. DS70347B_CN 第 29 页

Page 30: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

4.5 均衡器库 API 函数

本节将列出并介绍 dsPIC DSC 均衡器库中提供的 API 函数。下面列出了这些函数以及各自的详细说明。

• EQ_init• EQ_apply• EQ_setGain• EQ_getGain• EQ_setMasterGain• EQ_getMasterGain• EQ_TRUE• EQ_FALSE• EQ_FRAME• EQ_XSTATE_MEM_SIZE_INT• EQ_YSTATE_MEM_SIZE_INT• EQ_DEFAULT_MASTER_GAIN• EQ_NO_FREQS• EQ_MAX_MASTER_GAIN• EQ_MAX_BAND_ATTEN• EQ_31_BAND• EQ_62_BAND• EQ_125_BAND• EQ_250_BAND• EQ_500_BAND• EQ_1000_BAND• EQ_2000_BAND• EQ_4000_BAND

DS70347B_CN 第 30 页 © 2011 Microchip Technology Inc.

Page 31: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

应用程序编程接口(API)

EQ_init

说明

初始化 EQ 算法。

包含文件

eq_api.h

原型

void EQ_init(int* ptrStateX, int* ptrStateY);

参数

ptrStateX 指向本 EQ 实例的 X 存储区的指针

ptrStateY 指向本 EQ 实例的 Y 存储区的指针

返回值

无。

备注

无。

代码示例

int eq_state_mem_x [EQ_XSTATE_MEM_SIZE_INT] _XBSS(2);int eq_state_mem_y [EQ_YSTATE_MEM_SIZE_INT] _YBSS(2);...EQ_init(eq_state_mem_x, eq_state_mem_y);

© 2011 Microchip Technology Inc. DS70347B_CN 第 31 页

Page 32: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

EQ_apply

说明

对当前数据帧应用均衡。

包含文件

eq_api.h

原型

void EQ_apply(int* ptrStateX, int* ptrStateY, int* sig_in, int enable);

参数

ptrStateX 指向本 EQ 实例的 X 存储区的指针

ptrStateY 指向本 EQ 实例的 Y 存储区的指针

sig_in 指向大小为 EQ_FRAME的输入 /输出缓冲区的指针

enable 指示此缓冲区是否需要 EQ 的标志 (EQ_TRUE/EQ_FALSE)

返回值

无。

备注

EQ 算法就地处理数据,这意味着输出传递回输入缓冲区。将 enable设置为 EQ_FALSE会返回未处理的数据缓冲区,但 EQ 算法仍会在后台运行。

代码示例

int eq_state_mem_x [EQ_XSTATE_MEM_SIZE_INT] _XBSS(2);int eq_state_mem_y [EQ_YSTATE_MEM_SIZE_INT] _YBSS(2);int sig_in [EQ_FRAME] _XBSS(2);...EQ_init(eq_state_mem_x, eq_state_mem_y);...EQ_apply(eq_state_mem_x, eq_state_mem_y, sig_in, EQ_TRUE);

DS70347B_CN 第 32 页 © 2011 Microchip Technology Inc.

Page 33: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

应用程序编程接口(API)

EQ_setGain

说明

设置均衡器增益

包含文件

eq_api.h

原型

void EQ_setGain(int* ptrStateX, char* gains)

参数

ptrStateX 指向本 EQ 实例的 X 存储区的指针

gains 包含介于 0 与 EQ_MAX_BAND_ATTEN值之间的整型值的矢量,表示低于 大值的所需 EQ (以 dB 为单位)

返回值:

无。

备注

每个增益均由一个字节表示,因此采用 char*类型。每个条目对应于一个频带,如下所示:

• gains[EQ_31_BAND]是 31 Hz 频带的增益

• gains[EQ_62_BAND]是 62 Hz 频带的增益

• gains[EQ_125_BAND]是 125 Hz 频带的增益

• gains[EQ_250_BAND]是 250 Hz 频带的增益

• gains[EQ_500_BAND]是 500 Hz 频带的增益

• gains[EQ_1000_BAND]是 1000 Hz 频带的增益

• gains[EQ_2000_BAND]是 2000 Hz 频带的增益

• gains[EQ_4000_BAND]是 4000 Hz 频带的增益

代码示例

EQ_setGain(ptrStateX, gains);

将所需 EQ 级别设置为算法实例 ptrStateX的矢量增益中保存的值。

© 2011 Microchip Technology Inc. DS70347B_CN 第 33 页

Page 34: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

EQ_getGain

说明

获取 8 字节数组形式的当前 EQ 增益。

包含文件

eq_api.h

原型

void EQ_getGain(int* ptrStateX, char* gains)

参数

ptrStateX 指向本 EQ 实例的 X 存储区的指针

gains 用来存储增益值的数组

返回值

无。

备注

每个增益均由一个字节表示,因此采用 char*类型。

代码示例

EQ_getGain(ptrStateX, gains);

对于算法实例 ptrStateX,该函数从均衡器获得当前 EQ 级别,并将其存储到数组gains 中。

DS70347B_CN 第 34 页 © 2011 Microchip Technology Inc.

Page 35: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

应用程序编程接口(API)

EQ_setMasterGain

说明

设置均衡器的总增益因数。这是对多个 EQ 设置所造成的总增益损失的补偿。

包含文件

eq_api.h

原型

void EQ_setMasterGain(int* ptrStateX, int input_gain);

参数

ptrStateX 指向本 EQ 实例的 X 存储区的指针

input_gain 从 0 到 12 的非负整型值,表示所需增益 (以 dB 为单位)

返回值:

无。

备注

无。

代码示例

EQ_setMasterGain(ptrStateX, input_gain);

© 2011 Microchip Technology Inc. DS70347B_CN 第 35 页

Page 36: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

EQ_getMasterGain

说明

返回当前主增益设置 (以 dB 为单位)。

包含文件

eq_api.h

原型

int EQ_getMasterGain(int* ptrStateX)

参数

ptrStateX 指向本 EQ 实例的 X 存储区的指针

返回值

主增益设置。

备注

无。

代码示例

int master_gain;master_gain = EQ_getMasterGain(ptrStateX)

DS70347B_CN 第 36 页 © 2011 Microchip Technology Inc.

Page 37: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

应用程序编程接口(API)

EQ_TRUE

说明

用于向 EQ 算法指示真(true)。

1

EQ_FALSE

说明

用于向 EQ 算法指示假(false)。

0

EQ_FRAME

说明

处理的输入缓冲区的大小。

80

EQ_XSTATE_MEM_SIZE_INT

说明

X 状态存储区所需的存储空间的大小 (整型)。

(EQ_YSTATE_MEM_SIZE_INT + 4)

© 2011 Microchip Technology Inc. DS70347B_CN 第 37 页

Page 38: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

EQ_YSTATE_MEM_SIZE_INT

说明

Y 状态存储区所需的存储空间的大小 (整型)。

(EQ_NO_FREQS * 5)

EQ_DEFAULT_MASTER_GAIN

说明

默认主增益设置 (以 dB 为单位)。

0

EQ_NO_FREQS

说明

均衡算法使用的频带数。

8

EQ_MAX_MASTER_GAIN

说明

大主增益设置 (以 dB 为单位)。

12

DS70347B_CN 第 38 页 © 2011 Microchip Technology Inc.

Page 39: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

应用程序编程接口(API)

EQ_MAX_BAND_ATTEN

说明

大 EQ 频带衰减。

18

EQ_31_BAND

说明

增益数组中 31 Hz 频带的下标值。

0

EQ_62_BAND

说明

增益数组中 62 Hz 频带的下标值。

1

EQ_125_BAND

说明

增益数组中 125 Hz 频带的下标值。

2

EQ_250_BAND

说明

增益数组中 250 Hz 频带的下标值。

3

© 2011 Microchip Technology Inc. DS70347B_CN 第 39 页

Page 40: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

EQ_500_BAND

说明

增益数组中 500 Hz 频带的下标值。

4

EQ_1000_BAND

说明

增益数组中 1000 Hz 频带的下标值。

5

EQ_2000_BAND

说明

增益数组中 2000 Hz 频带的下标值。

6

EQ_4000_BAND

说明

增益数组中 4000 Hz 频带的下标值。

7

DS70347B_CN 第 40 页 © 2011 Microchip Technology Inc.

Page 41: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

应用程序编程接口(API)

4.6 应用技巧

可通过适当选择参数来优化均衡器算法性能。一般来说,我们鼓励使用此函数库进行实验。欢迎您提供反馈和意见,因为它们有助于引导未来开发的方向。

下面是一些有关影响算法性能的技巧:

1. 通常认为用于测试音频和通信系统的 佳输入信号级别在 -10 dBm0和 -30 dBm0之间。如果数字输入语音信号的峰值达到满量程的四分之三,则说明充分利用了可用精度;高于此值的语音信号会产生限幅的风险。

2. 每个音频数据帧 好都由均衡器处理。这样均衡器便可跟踪音频信号。在不需要均衡的情况下,调用 EQ_apply()函数时应将 enable参数设置为 EQ_FALSE。

© 2011 Microchip Technology Inc. DS70347B_CN 第 41 页

Page 42: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

注:

DS70347B_CN 第 42 页 © 2011 Microchip Technology Inc.

Page 43: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

dsPIC® DSC 均衡器库用户指南

索引

AAPI ..................................................................................... 5API 函数 ....................................................................... 30

EQ_1000_BAND ................................................... 40EQ_125_BAND ...................................................... 39EQ_2000_BAND .................................................... 40EQ_250_BAND ...................................................... 39EQ_31_BAND......................................................... 39EQ_4000_BAND .................................................... 40EQ_500_BAND ...................................................... 40EQ_62_BAND......................................................... 39EQ_apply.............................................................. 32EQ_DEFAULT_MASTER_GAIN............................ 38EQ_FALSE.............................................................. 37EQ_FRAME.............................................................. 37EQ_getGain......................................................... 34EQ_getMasterGain .......................................... 36EQ_init ................................................................ 31EQ_MAX_BAND_ATTEN........................................ 39EQ_MAX_MASTER_GAIN ..................................... 38EQ_NO_FREQS ...................................................... 38EQ_setGain......................................................... 33EQ_setMasterGain .......................................... 35EQ_TRUE ................................................................ 37EQ_XSTATE_MEM_SIZE_INT............................ 37EQ_YSTATE_MEM_SIZE_INT............................ 38

B保修登记 ............................................................................ 6

G概述

均衡器 ..................................................................... 11

H互联网地址 ........................................................................ 9

J均衡器

典型应用................................................................. 12频带控制................................................................. 26

K客户通知服务.................................................................... 9客户支持 ............................................................................ 9库文件

demo文件夹 .......................................................... 14doc文件夹............................................................. 15h文件夹 ................................................................. 15lib文件夹............................................................. 15wavefiles文件夹 .............................................. 15

MMicrochip 互联网网站 ..................................................... 9MPLAB IDE 用户指南 ..................................................... 8

T推荐读物 ........................................................................... 7

WWWW 地址 ....................................................................... 9文档

编排 ........................................................................... 5约定 ........................................................................... 6

Y演示

板配置 ..................................................................... 22演示步骤 ................................................................ 19, 22演示代码说明 ........................................................ 20, 23演示设置 ................................................................ 18, 22演示摘要 ................................................................ 17, 21

Z主机系统要求 ................................................................. 12资源需求

程序存储器使用情况 ............................................. 29估算的动态存储器使用情况 ................................. 29计算速度 ................................................................. 29数据存储器使用情况 ............................................. 29

© 2011 Microchip Technology Inc. DS70347B_CN 第 43 页

Page 44: dsPIC DSC - Microchip · 2011. 12. 30. · dsPIC® DSC 均衡器库用户指南 2011 Microchip Technology Inc. DS70347B_CN 第5 页 前言 简介 本章包含使用dsPIC® DSC 均衡器库前需要了解的一般信息。

DS70347B_CN 第 44 页 © 2011 Microchip Technology Inc.

美洲公司总部 Corporate Office2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel: 1-480-792-7200 Fax: 1-480-792-7277技术支持:

http://www.microchip.com/support网址:www.microchip.com亚特兰大 AtlantaDuluth, GA Tel: 1-678-957-9614Fax:1-678-957-1455波士顿 BostonWestborough, MA Tel: 1-774-760-0087 Fax: 1-774-760-0088芝加哥 ChicagoItasca, IL Tel: 1-630-285-0071 Fax: 1-630-285-0075克里夫兰 ClevelandIndependence, OH Tel: 1-216-447-0464 Fax: 1-216-447-0643达拉斯 DallasAddison, TX Tel: 1-972-818-7423 Fax: 1-972-818-2924底特律 DetroitFarmington Hills, MI Tel: 1-248-538-2250Fax: 1-248-538-2260印第安纳波利斯IndianapolisNoblesville, IN Tel: 1-317-773-8323Fax: 1-317-773-5453洛杉矶 Los AngelesMission Viejo, CA Tel: 1-949-462-9523 Fax: 1-949-462-9608

圣克拉拉 Santa ClaraSanta Clara, CA Tel: 1-408-961-6444Fax: 1-408-961-6445加拿大多伦多 TorontoMississauga, Ontario, CanadaTel: 1-905-673-0699 Fax: 1-905-673-6509

亚太地区

亚太总部 Asia Pacific OfficeSuites 3707-14, 37th FloorTower 6, The GatewayHarbour City, KowloonHong KongTel: 852-2401-1200Fax: 852-2401-3431中国 - 北京Tel: 86-10-8569-7000Fax: 86-10-8528-2104

中国 - 成都Tel: 86-28-8665-5511Fax: 86-28-8665-7889

中国 - 重庆Tel: 86-23-8980-9588Fax: 86-23-8980-9500

中国 - 杭州Tel: 86-571-2819-3187Fax: 86-571-2819-3189

中国 - 香港特别行政区Tel: 852-2401-1200 Fax: 852-2401-3431

中国 - 南京Tel: 86-25-8473-2460Fax: 86-25-8473-2470

中国 - 青岛Tel: 86-532-8502-7355 Fax: 86-532-8502-7205

中国 - 上海Tel: 86-21-5407-5533 Fax: 86-21-5407-5066

中国 - 沈阳Tel: 86-24-2334-2829 Fax: 86-24-2334-2393

中国 - 深圳Tel: 86-755-8203-2660 Fax: 86-755-8203-1760

中国 - 武汉Tel: 86-27-5980-5300 Fax: 86-27-5980-5118

中国 - 西安Tel: 86-29-8833-7252Fax: 86-29-8833-7256中国 - 厦门Tel: 86-592-238-8138Fax: 86-592-238-8130中国 - 珠海Tel: 86-756-321-0040 Fax: 86-756-321-0049

亚太地区

台湾地区 - 高雄Tel: 886-7-536-4818Fax: 886-7-330-9305台湾地区 - 台北Tel: 886-2-2500-6610Fax: 886-2-2508-0102

台湾地区 - 新竹Tel: 886-3-5778-366Fax: 886-3-5770-955

澳大利亚 Australia - SydneyTel: 61-2-9868-6733 Fax: 61-2-9868-6755

印度 India - BangaloreTel: 91-80-3090-4444 Fax: 91-80-3090-4123

印度 India - New DelhiTel: 91-11-4160-8631Fax: 91-11-4160-8632

印度 India - PuneTel: 91-20-2566-1512Fax: 91-20-2566-1513日本 Japan - OsakaTel: 81-66-152-7160Fax: 81-66-152-9310

日本 Japan - YokohamaTel: 81-45-471- 6166 Fax: 81-45-471-6122韩国 Korea - DaeguTel: 82-53-744-4301Fax: 82-53-744-4302

韩国 Korea - SeoulTel: 82-2-554-7200 Fax: 82-2-558-5932 或82-2-558-5934

马来西亚 Malaysia - KualaLumpurTel: 60-3-6201-9857Fax: 60-3-6201-9859

马来西亚 Malaysia - PenangTel: 60-4-227-8870Fax: 60-4-227-4068

菲律宾 Philippines - ManilaTel: 63-2-634-9065Fax: 63-2-634-9069新加坡 SingaporeTel: 65-6334-8870 Fax: 65-6334-8850

泰国 Thailand - BangkokTel: 66-2-694-1351Fax: 66-2-694-1350

欧洲奥地利 Austria - WelsTel: 43-7242-2244-39Fax: 43-7242-2244-393丹麦 Denmark-CopenhagenTel: 45-4450-2828 Fax: 45-4485-2829法国 France - ParisTel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79德国 Germany - MunichTel: 49-89-627-144-0 Fax: 49-89-627-144-44意大利 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781荷兰 Netherlands - DrunenTel: 31-416-690399 Fax: 31-416-690340西班牙 Spain - MadridTel: 34-91-708-08-90Fax: 34-91-708-08-91英国 UK - WokinghamTel: 44-118-921-5869Fax: 44-118-921-5820

全球销售及服务网点

11/29/11