基于DSP和USB的声音信号采集系统设计(可编辑)
北方工业大学
硕士学位论文
基于DSP和USB的声音信号采集系统设计
姓名:曾铮
申请学位级别:硕士
专业:检测技术与自动化装置
指导教师:曾水平
20060601北方工业大学硕士学位论文
摘 要
声音信号广泛存在于日常生活和工业生产过程中,具有实时性和稳定性等特点,声
音信号的检铡与处理对工业过程的故障诊断具有重要的意义,因此本文设计了一套针对
铝电解槽生产过程的声音信号采集与处理系统,并论述了硬件和软件的具体实现
。
硬件系统主要包括模块、电源模块、转换模块、扩展存储器模块、
传输模块。模块选用?公司的芯片,由复位电路、时钟电路、
接口电路组成。转换电路主要包括声音信号的输入和输出模拟通道、和
.?公司的连接,其中与的连接是通过口实现的。
扩了程序区和数据区存储器,保存程序源代码,提供程序运
放空间。在数据传输上,采用和公司的芯片并行
电源模块为整个电路提供.和.两种电压。
计包括程序设计、固件程序设计、驱动程序设计和应用软件设计
程序主要是/、/程序,实现声音信号的采集与播放,并给出具体
。固件程序是软件开发中的重点,先从总体上介绍了固件程序的设计思想及
,随后详细介绍了各层次程序的设计过程,并给出了各层
图和部分源代
:备驱动程序采用工具开发。主机应用程序主要提供一个友好的人
采集系统进行控制并显示采集后数据。
已完成了基于和的声音信号采集和处理系统的设计,实现了基本的
集功能。使用总线传输数据,为声音信号采集系统与计算机之间的通讯
道路。
,,声音信号北方工业大学硕士学位论文招岱
刚 .
血.?
, .,’?’ .
乜. ..咄趣
她 卸 :’....
’:
‰,矗.
/,
..丘眦..把
碱. .
, .、煳 .
.?.独创性声明
本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研
究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他
人已经发
或撰写过的研究成果,也不包含为获得韭直至些太堂或其他教育机构
的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均
已在论文中作了明确的说明并表示谢意。
学位论文作者签名普擎字日期:如绛勿弘日
学位论文版权使用授权书
本学位论文作者完全了解?左王些盍堂有关保留、使用学位论文的规定,有
权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借
阅。本人授权友王些去堂可以将学位论文的全部或部分
编入有关数据库进
行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文.
保密的学位论文在解密后适用本授权书
学位论文作者签名:、智诤
签字日期:雄妇湖
学位论文作者毕业后去向:
工作单位: 电话:
通讯地址: 邮编:北方工业大学硕士学位论文
.论文研究背景及意义
在现场各种类型的信号中,声音信号是很常见的信号,并且具有实时性、精确性和
稳定性等特点,所以检测现场声音信号具有独特的优越性【】随着声音信号处理技术和
微电子技术的发展,带动了声音信号采集处理系统的快速发展。声音信号采集处理系统
是运用数字信号处理的方法对现场采集的声音信号进行实时
,为现场状况的预测提
供精确的数据分析依据,现已经在故障检测、灾害预防、军事等方面得到了广泛的应
用,取得良好的效果网。
在铝电解生产过程中,铝电解槽内强大的电流产生强大磁场,强大的磁场和强电流
的相互作用产生电磁力,使熔体电解质和铝液发生循环流动和界面波动口】;同时由
于铝电解槽阳极产生的二氧化碳和一氧化碳气体的排出会引起熔体的旋转和波动;熔体
的剧烈运动,会使一次电解出来的金属铝又被从铝电解槽阳极排除的气体氧化,因此,
熔体循环流动、界面波动以及铝电解槽内阳极气体的排出和阳极效应的出现都将伴随有
相应的特征声音【】。
于是本文设计了一套针对铝电解槽生产过程的声音信号采集处理系统。此系统在线
采集铝电解槽生产过程中的特征声音信号,运用数字信号处理技术对这些信号进行实时
处理和分析,克服了检测某些参数存在的实时性较差,数据处理及传输速度慢等缺点,
并与其他参数测量及其分析结果结合在?起,共同做出铝电解槽运行状况的判断,这样
能更好地控制铝电解槽正常生产,提高铝的产量,获得更大的经济效益,而且可以应用
于各种类型的铝电解槽【】。
.声音信号采集与处理系统的研究现状、存在的问题及发展趋势
早期的声信号处理均是模拟处理。在年代以前,对声信号最常用的滤波、相
关、谱分析等运算,部分采用模拟电路来实现。这一时期的典型产品,如的频谱
仪、日本相关器等世界著名产品,都是采用模拟电路的技术实现的。它们广泛使
用于各种声信号的处理和分析的系统之中。模拟处理的缺点是:精度较差、信号处理
能力低、功能单一而没有灵活性、很难构成大型的实时信号处理系统。在实时运算
和现场使用上亦存在着运算速度、体积、重量、可靠性、稳定性及成本高等多方面
的不足。北方工业大学硕士学位论文
年代诞生的单片机将计算机的、、、定时缁【器和多种接口集
成在一片芯片上,形成芯片级的计算机。它具有集成度高、体积小、性价比高、控制功
能强、接口扩展能力等诸多优点,弥补了模拟电路处理声信号的不足之处,单片机应用
于声信号处理系统中,对声信号进行实时处理和控制。但有个很明显的缺点就是数学运
算能力差,它可以应用在一些对采样信号数学处理较为简单的领
域。而一些要求对信号
的数学处理比较复杂的工业领域来说,单片机就显得力不从心了。
还有就是在和上位机之间的数据传输问题上。以前的信号采集系统一般都通过
系统总线也就是通道总线、微型计算机总线或板级总线和上位机系统相连,它
是微型计算机最重要的?种总线。微型机总线一般有以下几种标准:、.
等,其数据地址不同,以适应不同的应用系统。虽然他们的传输速度比较快,分别为
/、/、/,但由于接口资源有限且需要对接口卡的硬件资源进行合
理的配置,因此扩展难度很大嘲。
为了解决功能扩展接口插卡最头疼的配置问题,九十年代推出了即插即用接口卡标
准和 ,由即插即用基本输入输出系统和即插即用操作系统完成对接口卡
资源的自动配置,以使功能扩展接口卡的使用变得相对简单方便,但功能扩展接口卡仍
存在以下问题:第一,接口卡的配置必须停机,并需打开机箱进行安装和拆卸,这
个过程仍需要一定层次的技术支持,即插即用技术的采用只是降
低了功能扩展卡的技术
需要程度,这对这样广泛运用的工具而言仍显不足;第二,接口卡设备驱动程序的
安装、调试甚至正常运行的过程仍需要各种技术支持,特别是接口插卡作为一种硬件设
备插入后,总要占用的各种硬件资源,即插即用算法虽能解决绝大多数的资源
配置,但不能保证%的解决,因此,其安装和配置过程仍需要人工干预。而当扩展
卡较多时,常会出现?块或多块插卡因无法合理配置而不能正常工作的情况,严重时可
导致系统崩溃:第三,接插卡的质量高低、兼容性和标准性的程度以及驱动软件的可
靠性直接影响计算机的寿命和系统的稳定性即可靠性网刀嘲。
通用串行总线是应用在领域中的新型接口技术,自从操作
系统全面对接口支持后,逐渐进入实用阶段嘲。利用可以实现较传统方
式更有效、更经济、更多扩展的外设与相连。通用串行总线作为一种
新兴的计算机外设总线标准,从标准的出现到大规模的应用,仅用了短短几年的时间,
这一切都得益于它易用、真正的热插拔、高性能和系统造价低廉
等优点。
随着数字信号处理理论的发展,数字信号处理器 驴 ?麟埘滞
到了长足的发展,同时也使数字信号处理理论得以赛观【。具有丰富的硬件资
..北方工业大学硕士学位论文
源、改进的并行结构、高速数据处理能力和强大的指令系统,己经成为半导体产业中的
一个热点。一些厂商还推出了同时具有控制功能的产品,使深入到工业和民用的
。
方方面面【】【
由于一般的声音信号采集系统存在诸多问题,因此采用以作为控制器,而用
通用串行总线和上位机连接来设计声音信号采集处理系统,克服了以前采用单片
机作处理器而使系统速度慢及数学运算能力差等缺点。用作通信总线,其优点是
可实现热插拔、扩展方便,特别适合便携式计算机,系统既满足实时性,又满足易扩展
性,有一定的实用价值。将和结合应用于声音信号采集处理系统将成为一种
发展趋势。
.本文的主要工作及内容安排
本论文把技术与数字信号处理器的应用结合起来,以检测铝电解槽声音
信号为背景,围绕系统开发的一般流程,在硬件设计和系统软件设计两方面
‘
进行深入研究。论文各章节的安排如下:
绪论:介绍了论文的研究背景及其意义,声音信号采集与处理系统的发
展及存在的问题,引出本文设计,并给出了本文的主要工作及内容安排。
系统硬件设计与实现:提出了一种音频信号在线检测与处理系统的硬件
方案,并从芯片的选型、电路接口设计详细分析了硬件系统的各个模块,包括
模块、转换模块、扩展存储器模块、模块、电源模块,并结合实践介绍了设计
高频电路时所采取的措施。
硬件驱动程序设计:介绍了硬件驱动程序的设计思想以及开发过程,分
为程序和固件程序两大部分进行细致的阐述。程序主要是/、/程
序,实现声音信号的采集与播放,并给出具体软件流程图。重点介绍了固件程序的设计
思想及其层次结构,随后详细介绍了各层次程序的设计过程,并给出了各分层的程序流
程图和部分源代码。
设备驱动程序及应用程序设计:论述了驱动程序开发工具的选择,
介绍了采用开发工具开发驱动程序和应用软件的过程,以及
驱动程序的基本概念和结构。
论文的最后对本文进行了总结,根据笔者在实践中的体会,指出了有待
改进的地方。
..北方工业大学硕士学位论文
.硬件总体结构
声音信号采集与处理系统硬件部分的主要任务是设计一块以为核心的声音信号
在线采集处理板印制电路板,来完成数据信号采集、数据处理、数据存储以及数据
传输等功能。
系统需要完成的主要功能列举如下:
数模转换。麦克风输入的是模拟信号,要进行数字处理,必须先把模拟信号
转换为数字信号,再经过数模转换并实时地通过扬声器接口回放出来。
声音信号处理。对采集的声音信号进行数字信号算法处理,模块完
成。
程序与数据存储。整个系统要脱离调试用的机独立运行,就必须要有可掉
‘
电保存程序的存储器。另外,还需要保存处理过程中的数据和参数。
数据传输。可以通过接口同机进行数据交换。
支持软件调试。需要为软件调试预留接口。
从上述的功能出发,整个硬件系统由模块、转换模块、扩展存储器模块、
模块、电源模块五个部分组成,硬件总体结构设计如图.示:
图.硬件总体结构
..北方工业大学硕士学位论文
.模块
芯片是处理系统的核心,它的处理能力直接决定了处理系统的处理能
力。根据本系统的实时处理、低功耗、低成本、微型化的性能要求,考虑到运算速度、
存储空间大小、性能价格比、硬件资源、开发工具、功耗以及芯片订货的难易程度等多
个方面,本方案选定了作为核心处理器。
..
、,简介
以下简称是?公司年推出的一款定点低功耗数字
信号处理器,是目前中性价比极高的一款【】。本系统采用了
芯片,使得系统的集成度大大提高,开发周期大量缩短,系统成本大幅降低,可扩展性
很强,系统功耗低,该系统的信号处理、控制功能皆是由芯片完成的。
芯片的主要特点如下【【啪:
:片内总线采用哈佛结构,片内具有三套数据总线,
,和一套程序总线以及对应的套地址线套总线可
以同时操干乍;个算术逻辑单元删:个并行乘法器和一个的专
用加法器;比较,选择角翟单元有助于实现算法;指数译码功能:两个地
址产生器,个辅助寄存器?;程序空间扩展到,数据空间和的空间各
,条地址线,条数据线;片内部,包含压扩表、点正弦
表、引导程序等;片内×的双存。
指令系统:单指令重复或指令块重复功能;程序空间和数据空间
的数据块移
动指令:可对的长字操作;一个指令内可以读后个操作数:级流水完成一
条指令操作:预取指、取指、译码、访问、读数、执行:运算指令和存取指令并行执
行;条件存储指令;延迟跳转和快速返回;软件堆栈。
片内设备:个用于程序、数据、内存空间的软件可编程等待状态发生
器、数据组间切换可编程逻辑;片内锁相环,分频和倍频功能;个多通道缓冲串口
;个位的增强型并行主机接口,可与外部标准的微处理器直接接
口;个位软件可编程的定时器;通道控制器:并行口。
指令速度:的单周期定点指令执行时间,,每秒百万条指令。
低功耗:腮 核在.?幻电压,.核电压下工作,工
作电流平均值为,其中核约。
..北方大学硕士学位论文
其它:片上仿真口;脚表贴封装或脚封装,体积
小,成本低。
.
模块电路设计
芯片的电源和地线引脚、、、共只。其中
为目核供电引脚,供电电压要求为.伏;为片内设备供电引脚,供
电电
压要求为.伏:、嚣引脚为地线引脚,接数字地。
有一个复位引脚捍将至于可知状态,电源刚加上电时,处于复位
状态,为低使芯片复位。对于上电后的正确系统操作,至少保持低电平个
周期以确保数据、地址和控制总线被正确的设置,同时也会发生一系列其他的
操作,比如各种寄存器初始值的设置,图.是该系统的一个简单的复位电路,
链接到的捍引脚。
‘主
图.复位电路
给芯片提供时钟一般有两种方法。一种是利用芯片内部所提供的晶振电
路,另一种方法是采用封装好的晶体振荡器,将外部时钟源直接输入到/管
脚,悬空。为了产生稳定的时钟信号,我们采用了后者,设计时将管脚和
/之间连接一个晶体来启动内部振荡器,如图所示。
..北方工业大学硕士学位论文
.
图.采用外接晶体的时钟电路
为了实现系统实时处理信号的效果,希望系统频率越快越好。最高可
达工作频率。传统方式采用的分频或分频,势必要求外部频率很高,在这
里采用了更加灵活的可编程锁相环,它可以配置为以下两种模式团】:
?模式,输入时钟乘以?个之间的常数;
?模式,输入时钟除以或。
具有倍频的功能,其输出信号的频率是输入信号的频率乘上?个倍数,正是
把外部基准频率交成多种频率提供给不同的具体系统,以满足各种应用的需要。
工受存储器映射的时钟模式寄存器控制,复位后的值根据芯
片三根输入引脚戈四确定,从而确定的工作时钟。本方案中,外
接晶体频率为,为了得到倍频系数,需设置时钟模式寄存器的值为
,引脚舳?设计成,则复位后的工作频率是
肛。
.图.接口的连接方法
..北方工业大学硕士学位论文
支持防真接口,所以,只需把这个玎接口与仿真器相连接,就可以
在机对进行实时软件调试。的?引脚有只,与仿真器接口的连接
方
法如图.所示。
.转换模块
对于夕部的/、/转换设备,使用具有串行数据接口的把/、/功能合
二为一的数模转换芯片,会节省芯片的串行接口资源。在选择数模转换芯片型号
时,需要考虑刖的转换精度、采样速率以及芯片的工作电压和接口电压。本系统中,
要求的采样速率为,精度为比特,与的接口电平为.伏。目前,与?
公司接口的音频编解码芯片多采用公司的芯片以下简称,
具体型号为??的芯片,具有引脚的贴片封装形式,该芯片可满
足上述要求。
芯片的特点主要有:双供电电压,模拟部分电路伏供电,数字部分电路.
伏供电:可变采样速率,最高可达.,精度可达比特圈。它是一种具有许多
优良特性的模拟接口电路芯片,该芯片可广泛用于各种电路,尤其是应用在领域
中。芯片采用过采样?.技术,可进行模拟信号到数字信号/和数字信
号到模拟信号/的高分辨率、低速信号转换。该器件同时还包括
两个串行同步转
换电路用于各自的数据方向,在/之前有一个内插滤波器,而在/之后有一
个抽取滤波器,由此可降低的本底噪声。中的可选项和电路配置可以通过
串行口进行编程,配置位可进行软件编程,该器件中共有七个数据和控制寄存器
可供使用。
音频信号的采集和播放系统的硬件电路设计主要包括音频信号的输入和输出模拟通
道、和的连接等。
音频信号的前后端处理包括两个电路:音频输入模拟信号的处理电路和音频输出模
拟信号的处理电路。这两个处理电路的主要作用是将信号进行处理,使之更加适合仍
和/的要求,尽量避免由于输入输出引入的噪声。同时,还可以调整输入输出的放大
系数,使得音频信号适合各种不同的功放和喇叭,得到最佳的语音效果。
为了达到更好的信号处理效果,的模拟信号输入采用差分输入方式,即使用
两个运算放大器,将单端输入信号转换成差分输入信号,电路连
接如图.所示。使用
差分信号,信号一正一负同时进入采集系统,此时有随机噪声出现,可通过正负信号的
加减,有效消除部分噪声。从图中可以看出,单端输入信号经过两个心的隔直电容,
....北方工业大学硕士学位论文
送入运算放大电器的反相端,输出反相自言 再输入到另?个信号的反相端,
输出同相信号,从而形成差分输入信号口和矾。图. ?单端信号转换成差分信号
的忱输出为差分信号,可以直接驱动的负载。/输出处理电路如图
.所示。
图.的/后端输出信号处理
与奎接是通过的多通道缓存串行实现的,具有全双
工的通信机制以及双缓存的发送寄存器和三缓存的接收寄存器,允许连续的数据流传
输,数据长度可以为、、、、、;同时还提供了一律和降压扩,多达
个通道的发送与接收。通过个引脚使得一个数据通路和?个控制通路与外部
设备相连。的引脚如下刚:
:发送引脚,与相连发送数据。
:接收引脚,与接收数据总线相连。
:发送时钟引脚。
:接收时钟引脚。
..北方工业大学硕士学位论文
:发送帧同步引脚。
.接收帧同步引脚。
的工作过程分为/通道工作过程和,通道工作过程。/通道把模拟信号
转换成数字信号,并以二进制补码形式表示。当帧同步信号有效时刚为低电平,
位或位数字信号在的上升沿输出到叭玎引脚,一位数据对应一个
周期。数据传输时序如图.所示。幅精
?
嘣
一埘
图. 的仍通道数据佶输时序
的蝴道把送入的数字信号转换成模拟信号。在的作用下,数字信号
通过引脚进入./通道,每个【的下降沿输入一位数字信号。/将输入的数字
信号转换成模拟信号输出,蝴道的数据传输时序如图.所示。嚣刚
嘲
洲
糯
图. 的,磁数据传输时序
图.给出与硬件接口电路,将的数字电接到.电源,模拟电
接电源,管脚『经过电阻上拉,将设置成主动工作模式;管哇接
地,系统只能采用软件方式申请触发辅助通信二次通信模式;数据格式为比特
模式,管脚可以输出到后面的的管脚,以实现设备的同步。通过寄存器设
置,将的,,,配置为外部输人,的:配置为内部北方工业大学硕士学位论文
产生。这样数据接收俊送帧同步信号、移位时钟信号均由产生,即在同一个帧同
步信号下,同时完成数据的接收和发送。
图.与硬件接口电路
要求外接时钟源,由外部时钟源的频率、内部分频系数和内部锁相环使能共
同决定中模/数转换器的采样频率.当锁相环使能作时,采样频率由下式
决定口】:
.
蠡/×
当锁相环使能无效不工作时,采样频率自由下式决定:
/ 力
其中,是外接时钟源的频率,是分频系数,?兰。锁相环使能
控制位和黼的控制寄存器中进行设置。对于本系统,的外部输入时钟
由一有源晶体振荡器提供,频率为.。声音信号的频率范围为~,所
以采样频率要求为,因此在锁相环工作目;时可满足要求。
..北方工业大学硕士学位论文
扩展存储器模块
内部的字的存储器,在默认的状态下,即可以映射到程序空
间,也可以映射为数据空间,但它内部没有非易失存储器以保护代码【】。因此必
须外扩非易失存储器。根据系统设计用途和使用目的不同,可选择不同的
方式,因而外扩存储器类型不同,所配置的空间也不同。考虑到以后在
本系统的设计中,选择使用并行位引导方式,这样所扩展的非易失存储器,必
须配置到数据区,来保存程序源代码。系统进行外部程序存储器扩展的主要
原因是内部的程序区容量不够使用,或者是内部的存储器被单一用做数据区使用,
这时也必须外扩以加载运行程序。
本系统在设计时同时外扩了程序区和数据区存储器。在选择具体的芯片时,主
要考虑了一下的系统要求:低电压工作、接口速度、容量、时序要求等因素。
内部设有软件可编程等待发生器,对不同的地址空间可设置不同的存取
等待周期,以便和不同速度的器件接口。设计接口的重点是接口时序的分析设计,
然后由控制逻辑生成所要求的控制时序。
.片外硬件接口设计
对于部的非易失性存储器,除了要求有并行接口外,还要考察存取速度、存
储容量等指标嗍。的处理速度为,可得每一个指令周期为。在
使用外部存储器接口读写数据时,通过设置寄存器,可插入最多个等待周期,相当
于延长了读写外部存储器的周期,降低了对外部存储器存取时间的要求。
×..,所以可以支持存取时间在以下的外部存储器。
由于的总线电平为.,因此选择存储器器件时考虑用.器件,数据总线
宽度必须为位。
对于存储器容量,的并行引导方式最多支持字长的程序,而作为一
种非易失存储器,在本系统中用于存放程序代码、常量表以及一些在系统掉电后需要保
存的用户数据等,依据这两点可以选取外部存储器所需的最小存储容量。
出于上述因素的考虑,选用低功耗的、?’?.作为非易失性存储
器。它是×大小的芯片,存储器内部组织成区、块、片结构,可根据使
用要求进行分别擦除。供电电压.伏,数据读取时间为,贴片封装。与
之间的硬件连接电路如图.所示。其中,至为外部地址管脚,至为条
..北方工业大学硕士学位论文
数据线,腊为片选控制管脚低有效,删为输出控制管脚低有效。为写入控制
管脚佣:有蜘,其数据、地址线与的数据、地址线直接连接。
幽. 与册之同的电路接口设计
..片外硬件接口设计
与.存储器相比较,不具有掉电保持数据的特性,但其存取速度大
大高讯存储器,且具有读,写的属性,因此,怂脚系统中主要用作程序的运
行空间、数据及堆栈区。当系统启动时,硎喵先从复位地址处读取启动代码,在完成
系统的初始化后,程序代码调中运行,以提高系统的运行速度。同时,系统
及用户堆栈、运行数据也都在工中.
在本系统中,选用高速、低功耗的作为外部静态,将
作为的片外存储器,实现在外部扩展字
的程序存储空间。.供电,存储器大小为,存取速度为
,只需加入?个等待周期,最高工作频率可以达到,最大峰值功耗为
,满足系统使用要求。与之间的硬件连接电路如图.所示,其中
.北方工业大学硕士学位论文
至为外部地址管脚,至为条数据线,和分别为读使能和写
使能,为片选信号,和接低电平,选择位数据模式。
.
图. 与的电路接口设计
..读写控制时序设计
的读写信号线/是复用的,高电平时是读状态,低电平为写有效。但扩展
的芯片和芯片,它们要求独立的读写信号和选通控制,它们之间的差异
由控制逻辑来协调。表.列出了它们的读写控制要求。实现与、
连接的组合逻辑电路如图.所示。
..北方工业大学硕士学位论文
表存诸器读写控;刍情号
状态
\信号
芯片\\
读写
高阻
读
写
高阻
图. 与、连接的组合逻辑电路
.欺
在进行一个设备开发之前,首先要根据具体使用要求选择合适的
控制
器。目前,市场上供应的控制器主要有两种:带接口的单片机或 纯粹的接口芯片。
带接口的单片机从应用上又可以分成两类,刁瞧是选用设计成标
准控制
器的底层芯片,比如公司的低速、全速,这类
芯片是完全按照协议设计的,但由于其结构不同于其他常用控制
芯片,开发者需
..北方工业大学硕士学位论文
要较长的学习时间,不利于快速开始一个项目。另?类是采用具备通信功能的普
通单片机,例如钯公司的基于、公司的基于
,选择这类控制器的最大好处在于开发者对系统结构和指令集非常熟悉,
开发工具简单,是目前常用的一种方案,但对于简单或低成本系统,价格高将会是最大
的障碍。
纯粹的接口芯片仅处理通信,必须有一个外部微处理器来进行协议处理
和数据交换。典型产品有公司的接口、并行
接口,公司的/并行接口等。接口芯片的主要特点是价格
便宜、接口方便、可靠性高,尤其适合于产品的改型设计,硬件上仅需对并行总线和中
断进行改动,软件则需要增加微处理器的中断处理和数据交换程序、机的
接口通信程序,无需对原有产品系统结构作很大的改动。
在本系统中选用蛐酗公司的,它是?种价格便宜、功能完善的并行
接口芯片,支持多路复用、非多路复用和并行传输.接口芯片遵从
协议.,适合于不同用途的传输类型。需要外界微控制器
来进行协议处理和数据交换,它对没有特殊要求,而且接口方便
灵活,可利用
公司的固件结构来缩短开发时间、降低风险、减小投资嗍嘞。 ..
芯片简介【川口
芯片特性
?符合通用串行总线 .版规范
?高性能接口器件集成了
球存储器收发器以及电压调整器
?符合大多数器件的分类规格
?可与任何外部微控制器馓处理实现高速并行接口字节秒 ?完全自治的直接内存存取操作
?集成字节多结构?存储器
?主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传
输
?在批量模式和同步模式下均可实现字节』秒的数据传输速率 ?具有良好?特性的总线供电能力
?在挂起时可控制丝输出
?可通过软件控制与的连接
?采用蜮术的连接指示器,在通讯时使闪烁
?可编程的时钟频率输出
..北方工业大学硕士学位论文
?符合 州和电源管理的要求
?内部上电复位和低电压复位电路
?有榔娃装
?工业级操作温度~?
高于的在片静电防护电路减少了额外元件的费用 ?具有高错误恢复率绚的全扫描设计确保了高品质 ?双电源操作.:.或扩展的电漏范围为., ?多中断模式实现批量和同步传输
芯片功能描述
功能框图如下所示,下面简单介.署的各个部分。 西噩
【皇?环
位时钟触
??
。.昀互一
硪?
串行接口弓睢
怯
蛆
碍兢矗
图. 功能框图
模拟收发器
集成的收发器接口可通过终端电阻直接与电缆相连。
电压调整器
片内集成了一个.的调整器用于模拟收发器的供电该电压还作为输出连接到外部
.的上拉电阻可选择提供的带.内部上拉电阻的软件连接技术.
片内集成了至岍时钟乘法。这样就可使用低成本的晶振。也随之
降低。的工作不需要外部元件。
位时钟恢复
..北方工业大学硕士学位论文
位时钟恢复电路使用过采样规则,从进入的数据流中恢复时钟。它能跟踪
规定范围内的抖动和频漂。
串行接口引擎
实现了全部的协议层。完全由硬件实现而不需要固件的参与。该模
块的功能包括:同步模式的识别、并行/串行转换、位填充/解除填充、屺校验/产
生、校验/产生地址识别和握手评估/产生。
与的连接是通过.上拉电阻将卜用于窝速器件置为高实现的。
.上拉电阻集成在片内,默认状态下不与相连。连接的建立通过外
部/系统微控制器发送命令来实现。这就允许系统微控制器在决定与建立连接之前
完成初始化时序。总线连接可以重新初始化而不需要拔出电缆。
在连接可以建立之前会检测 是否可用可通过
管脚进行检测。 .
需要注意的是,内部电阻的误差%大于规格的%。但用于连接的电压规
格仍然有足够的余量。%半导体一项尚未获批准的专利技术。
蹦技术可提供良好的连接指示。在枚举中,指示根据通信的状况
间歇闪烁。当成功地枚举和配置后,指示将一直点亮。随后与
之间成功的传输带应答将关闭, 处于挂起状态时,将会关
闭。
该特性为器件、集线器和通信状态提供了用户友好的指示。作为一个诊断
工具,它对隔离故障的设备是很有用的。该特性降低了现场支持和熟线的成本。
存储器管理单元和集月
在以/的速率传输并与微控制器并口相连时,?和集成作为之间
速度差异的缓冲区。这就允许微控制器以它自己的速率对信息包进行读写。
并彳于接口
~个普通的并行接口定义成易于使用,快速而且可以与主流的微控制器直接接口。
对一个微控制器而言,看起来就象?个带位数据总线和一个地址位占用
立置的存储器件。支持多路复用和非复用的地址和数据总线。还
支持
主端点与本地共享
之间直接读取的传输。支持单周期和突发模式的传 输。
..北方工业大学硕士学位论文
端点描述
的端点基本上满足不同设备类型的要求,譬如说图像设备,打印
机,
存储和通讯设备,的端点可以配制成四种模式,分别为: 模式非同步模式:非同步传输
模式同步输出模式:仅用于同步输出
模式同步输入模式:仅用于同步输入
模式同步输入输出模式:同步输入和同步输出。 ..与接口设计
本设计中设备连接采用自供电、非方式,和构成的 接口电路如图.所示:
图. 接口电路图
芯片工作在.,贝伽.与都接.。
的八位并行数据线接入的数据线的低八位,~。 和州言号任一为低时,均可选中此芯片,在本系统中不使用愀方 式,则应将 接高电平,使用作为片选。
..北方工业大学硕士学位论文
用上的与上的相连接,作为的命令和数据的选择线。总线和地
址是分开的,则?址总接低。当对的口写时,对发命令;当对的口
写时,给写数据或从的中读数据,即地:为写命令,数据
为读写数据。与的数据交换采用中断方式,其中断通过外部中断?来完成
它的?个输出引脚,接对其进行状态监控,这个在被连接时会发
光,在数据传输时会闪烁,常亮或者一直不亮说明接口有问题。
设备通过电缆接入主机,其中线分别是? 电源总线,地线,
和。其中线上的下拉电阻就将条数据线拉到近地,当检测到任一条数据线
电压接近?,而其他保持近地电压,那么主机就知道该设备已经准备好了。主机通
过检测是那一条数据线电压变高来确定设备是全速或低速,当数据线为高时,就为
全速;当数据线为低时,就为低速。的全速模式通过软件连接
在上接个.的上拉电阻。
.电沥徽
以上各部分选用的各个芯片共需要.伏、.伏、伏种供电电压。伏是常用的电
压,可由硬件电路板外的变压器直接提供,这里需要能把伏电压转换为.伏和.伏的
电源芯片。考虑到全部芯片和元器件的总电流大小的需要,选择?公司的电源芯片
。的输入电压为伏,输出电压为.伏和.伏两路,最大输出
电流为,输出功率约为。在输出电压过低时,会产生系统复
位信号。
芯片采用了双电源供电机制,以获得更好的电源性能:.对应内核电源,
主要为该器件的内部逻辑提供电流;.对应『电源,为外部接口引脚提供电压,这
样可以直接与外部低压器件接口,而不需要额外的电平转换电路;降低内核电压的主要
目的是降低功耗。对这两种电源加电次序也有要求,理想情况下两个电源同时加
电,但是一般场合很难做到,这时应先对咖电。然后对上电。讲究供电次序
的原因在于:当只有内核获得供电,周边/没有供电,对芯片是不会产生任何损
害的,只有没有输入,输出能力而已:反过来,周边?得到供电而内核没有加电,
那么芯片缓冲,驱动部分的三极管在一个未知状态下工作,这是非常危险的。鉴于噪声
的简单性,我们通过公司提供的专用电源芯片来构建电源环境,
实
现向.和.的电压转换,同时也避免了上电次序的问题。
是一种双输出稳压器,在一个芯片上有两个独立的稳压器,可分别为
的电源和核心电源供电。该芯片输入电压为.~:输出电压分为两路,一
..北方工业大学硕士学位论文
路为.,一路为.。每路输出电流最大值为。该芯片还提供两个宽度为
的低电平脉冲,其中任何一个都可用于复位芯片。根据?.脚芯片性
能设计的电源方案电路原理图如图所示。
?
图实现双电压输出的电路原理图
芯片可以提供最高呲~的电流,为了适应较大的电流输出场
合,该芯片输入和输出的管脚都采用两个管脚,这样可以提高电流的通过率并有利于芯
片散热。
.稳压器输入部分为两个管脚,输入.十、,的,用心的电容对输入
电源滤波,使输入电压变得更稳定;输出部分为两个管脚,/量端子也必
须接到玎管脚,用心的电容来实现滤波功能,以提供高稳定性的.
输出。
.嘲器输入部分为两个管脚,输入的,用庐的电容对输入
得到.的输出,
电源滤波;输出部分为两个管脚,将班跹值接接到
用的电容来实现滤波功能,以提高高稳定性的.输出。
系统的电源输入为,为?个两脚插针,为提高输入电源电压的稳定性,
采用一个的电容进行滤波;同时设计电源指示灯,在有电源输入时发光
二极管将发光,用来指示电源的通断,保护电源芯片。
..北方工业大学硕士学位论文
.电路蔽设计
本系统板实物图如图.所示,采用进行电路设升。是集
功能智能化、集成化和易用性为一体的设计工具,易学易用。
在设计电路时,系统所选用最高工作频率可达到,
芯片引脚只,电路板电源性网络有.、.和地线层,扩展的芯片较多,走线
密度较大,因而必须在设计电路板时考虑采取一定的措施,保证在高频率、高速的条件
下,电路板能够可靠地工作。
在系统设计中主要采取了以下措旌:
优化整体布局
电路板的整体布局直接影响系统的布线和抗干扰能力,在设计中,采取了按功能块
布局的方法,将相互关系多的元件就近放置,以尽可能缩短信号线长度。如产生时钟信
号的芯片应该和接受时钟的芯片应放置在?起,以缩短走线长度,否则时钟信号线对它
经过的芯片会产生反射干扰,导致信号畸变。时钟频率越高,干扰越大。
采用自动布线,手工调整布线
信号完整性是指信号线上信号的质量。它是由于板级设计中的许多因素综合引起,
其中主要的是串扰和反射。设计中在自动布线的基础上,采取手工调整的方法对重要的
信号线走线进行优化。同时,对重要信号线串扰阻抗欧电阻,以减小信号的反射现
象。
其它综合措施减小系统的干扰
?在每个器件的电源入口处加.心滤波电容:
?选用贴片元器件以减小电磁发射、接收干扰:
?在顶层和底层的非走线区铺设地线;
?数字地和模拟地分开设置,单点相连,地线尽量短而粗,同时使数字信号远离
模拟信号。
.本章小结
本章主要阐述了声音信号采集与处理系统硬件平台的设计过程。首先对系统需要实
现的主要功能进行分析,并根据性能指标和功能要求规划出硬件总体方案。然后从芯片
的选型、电路接口设计等多方面详细介绍了硬件系统的各个模块,主要包括模
块、转换模块、扩展存储器模块、模块、电源模块,并给出了各模块详细的电
..北方工业大学硕士学位论文
路设计原理图。最后介绍了保证高频、高速电路板可靠的工作,设计电路板时所采取的
措施。
图.板实物图
..北方工业大学硕士学位论文
硬件驱动程序设计
公司为其芯片提供了一套完整的软件集成开发环境
,为软件开发带来了极大方便。提供了环境配置、源文件编辑、程序调
试、跟踪和分析等工具,可以帮助用户在同一个软件环境下完成编辑、编译链接、调试
和数据分析等工作。利用能够加快软件开发进程,提高工作效率。一般工作
在两种模式下:软件仿真和与硬件开发板结合的在线编程。前者可以脱离芯片,在
机上模拟的指令集与工作机制,主要用于前期算法实现和调试。后者实时运行在
芯片上,可以在线编写和调试应用程序。本系统采用后一种模式编写硬件驱动程
序。
根据硬件的设计,将硬件驱动程序分为两大部分:曜序和固件程序。硬件
驱动程序是在软件开发环境下,用语言和汇编语言结合的方式编写。程序的主要
部分是用语言编写,对寄存器操作等部分使用汇编语言编写,这使程序的开发工作更
加便捷高效。
.
仍、/程序设计
/、/程序要实现的功能是来自话筒的外部模拟音频信号经编码器转换
成数字信号,通过同步串行口送至。对输入的数字音频信
号作信号处理,然后把处理后的数据再次通过口送向编码器做数,
模转
换,模拟信号送往耳机实现声音回放。
..
通信格式
本系统中,通过同接口。工作在从模式,工作
在主模式,帧同步脉冲和移位时钟由提供。提供了两种通信方式:一次通
信方式和二次通信方式。采用两种通信方式的原因在于要通过同一个串行口传送控制状
态信号和数据信号。
一次通信用于传输/后的数据给或从传送数据给/。它有两种数据
格式:位格式和位格式。当工作在主模式下并且甥脚上的信号无效
时,的数据长度是位。当它工作在从模式下时,的数据长度是
位。的数据长度取决于控制寄存器中位的设置。在系统上电或复位后,
的数据格式为位格式,此时的数据长度是位,一次通信的最后?位
..北方工业大学硕士学位论文
用于标示是否请求二次通信.采用位格式时,个数据位都标示的数据,
此时的二次通信必须通过弓脚发送请求。一次通信的数据格式如图.所示。
科
鞭,?
漩不
剐?
哺
锚国瞰??
玎
诚???
。
图.一次通信的数据格式
二次通信用于访问的内部寄存器,实现对其控制和访问状态信息。一次通信
在每一次数据转换完成后都将发生,二次通信必须通过发送请求才能发生。有两种方法
请求发生二次通信。?种是当的躬嘲唷效时,将发生二次通信。另一种是当
一次通信采用位数据格式时,将一次通信中数据的位置可请求发生二次通
信。发生二次通信时,数据格式如图.所示.
啪
毯,????
渊脚哪面石厩司蟊两蟊西丽币赢?函佰厂面嚣订
。
,、..............,..............一 晰幻?
晌
甜葛蕊冒
?棚簟铆
图二次通信的数据格式
是读,写控制位,表示读的数据,表示向玳写数据。 是地址位,用于指明要访问的寄存器。是数据位。 系统复位后,必须通过的接口向的烈写数据,系统中只采用一
片,只需初始化其寄存器、寄存器和寄存器。 北方工业大学硕士学位论文
由于通信数据长度为位,初始化时应通过和设置的传输数 据长度为位。
..软件实现
简单的语音录放系统初始化流程如图.所示。系统读取数据采用
中断方式,中断
服务流程如图.所示。
初始化
初始化接口
进行二次通信设
置/通道参数
打开中断等待
中断信号
图.中断服务流程图
图初始化流程图
部分关键代码如下:
初始化接口
.也 ;写控制寄存器
,;关闭中断也
, :初始化串行口控制寄存器、,复位串行口 ..北方工业大学硕士学位论文
;设置串行口工作方式
??..
;初始化接收控制寄存器,设置接收数据为每帧段,每段个字,每
字位;设置第一个后的接收帧同步脉冲被忽略 ??
;初始化发送控制寄存器,设置发送数据为每帧段,每段个字,每
字位粕 ;设置第一个后的发送帧同步脉冲被忽略 ;启动串口
,
??
....
初始化
。;请求二次通信
;设置的控制寄存器:选择肿为工作模拟输入,的模式
,
;设置的控制寄存器:的的模式
;设置的控制寄存器,设置删,模拟输入增益和输出增益为
.;设置的控制寄存器,不带从芯片
.
固件程序设计
..固件设计思想
设备固件是设备运行的核心,采用语言设计。其主要功能是通过上传采集
数据给;控制芯片接受并处理设备驱动程序的请求,如请求设备描述符请
求或设置接口状态等多种.协议标准请求。
..业大学硕士学位论文
固件设计的目标就是使在上达到最大的传输速率。利用将实时转
换的数字量传送到主机。主要忙于数字信号处理和控制等任务。由于对实时性传
输要求较高,/转换采用中断方式,固件程序也采用中断方式,共有两个中断源。
的传输速度相/转换数据流量快得多,可以在中断程序中将存放在洲中
的数据写入到的端点输入缓冲区内,并使缓冲区有效。主机客户程序在得知输入
数据准备好后取走端点的数据,然后给发送端点输入中断,读最后处理
状态寄存器清中断标志,等待下一次发送采集数据。在处理前台任务时加转换
在后台进行,转换结束后即产生/转换中断,数据传输完毕后产生固件中断。这就确
保了实时性和最佳的传输速率,同时简化了软件结构。固件中断服务程序和前台主程序
循环之间的数据交换通过事件标志和数据缓冲区来实现。
..固件缩訇圳】
固件设计采用积木式结构,如图.所示,图中箭头的方向表示数据传输的方向。
单个模块设计的非常紧凑,可以实现一定的功能,而且便于测试,相关模块之间通过接
口传递信息。其中硬件抽象层和命令接口层面向硬件;中断服务程序、标准设备请求和
厂商请求面向协议;主程序面向应用。整个设计采用自下而上的设计方法。
主循环程序..标准请求 用户自定义请求处
中断处理程序
理子程序
处理子程序
【.
.
一.
、
、 , 』 』
』
命令接.
硬件提取层.
图.固件程序结构图
各模块程序的分工如下:
?硬件提取层.:完成硬件上与的对接。主要是向 中写入数据或者命令,以及从中读取数据。 ?命令接口层.:对器件进行基本功能操作的子程序集: ..北方工业大学硕士学位论文
?中断服务程序.:负责总线复位、挂起改变和个端点的数据收发,
将相应
事件标志置位;
?协议层.:对 的标准设备请求进行处理,完成枚举; ?厂商请求/:对用户添加的厂商请求进行处理; ?主循环程序皿 :初始化操作、处理总线事务和用户功能处理
等。主要工作是检查标志位。当标志位被置位,则调用处理子程序,判断是标准请求还
是用户自定义请求,然后调用相应的处理程序加以处理,完成请求。
这样分层的好处是:主循环程序在检查标志位以外的时间可以进行其它工作,提高
固件的运行效率;采用了分层的模块化设计,因此结构清晰、简单,简化了固件的编写
和调试;当固件用于不同功能的系统时,只需要对功能模块的代码进行编写或作出相应
修改,所以它的通用性好,便于移植,降低了开发难度.
..硬件提取层
硬件提取层是固件中的最低层代码,其执行对和线路板硬件与/相关的访问。
以下是?个向 发送数据或命令的子程序:
’
’ ;
其中:让是地址,:是输出的数据和命令。当为奇数时表示输出的是命
令,为偶数时表示输出的是数据。
下面的程序为从器件读取数据。要求为偶数。
岫 缸,删吲缸
妒淤办岫
.命令接口层
为了进一步简化的编程,固件定义了?套压缩了所有访问功能的命令接
口,命令接口部分就是将各命令用函数的形式加以实现。与的通信主要是靠
给发命令和数据来实现。先给发送一个包,识别该包是其命令,则
加刮临相应的动作,根据不同命令的要求在发送或读出不同的数据。
访问功能的命令共有个,其中缓冲区清零和使缓冲区有效命令可以采用两条
语句实现,不单独编写子程序,并且没有采用出蟆式,不需编写
蝓令。
..北方工业大学硕士学位论文
另外,为了便于程序的测试特意增加卟命令,可以根据返回值
,检测硬件连接及总线传输是否正确。因此,总计有个子程序。
命令接口层各子程序体积很小,却是使用最频繁的,在这里以子程序形式编写,节
省程序空间。这部分命令接口函数可以分为三类:初始化命令函数、数据流命令函数和
通用命令函数。
初始化命令函数个
初始化命令在设备进行枚举处理时使用。利用这些命令在上电时对进
行各种初始化。这些命令用于使能端点的功能,还可用来设置分配的地址。 ,
/,设置地址使能命令:
该命令函数功能是在设备的枚举过程中向分配的地址寄存器写入由主机分配的
地址。 ..
臌置端点使能命令:
该命令函数功能是用于在设备被分配地址后,将非缺省控制端都打开。
嘣
臌置模式命令:
该命令函数功能是用于设置芯片的工作模式:包括中断响应模式利用
打开和总线的连接、选择终端配置等。
数据流命令函数个
数据流命令用于管理端点和外部微控制器之间的数据传输,通过微控制器
中断初始化大量的数据流。微控制器利用这些命令访问和决定端点的是否含有
有效的数据。 ?耳非衄
,/读取中断寄存器命令:
该命令函数功能是产生中断信号后读取中断源信息。删《点选择命令:
该命令函数功能是将内部指针初始化到选择的缓冲区起始位置,即选择当前要操作
的断点,可选的命令可跟一个返回的读出字节。
..北方工业大学硕士学位论文
‖读取端点最后处理状态寄存器命令:.
该命令函数功能是读取所选端点的上个事务状态,以确定这个事务的类型和完成的
情况。同时复位中断寄存器中的相应位并将状态清,表示已经读取。该命令在每次新
的处理之后会将原来的状态信息覆盖。】舡
,/读取端点状态命令:
该命令函数功能是读取所选择端点的当前状态信息,同时返回一个字节。
..
臌置端点状态命令:
该命令函数功能是设置端点的停止状态.
. , 盯,
‘
/,封踹点数据
该函数功能是读端点缓冲区状态,状态为空,返回,状态为满,则从选择的
端点数据缓冲区读取数据,并通过清缓冲区命令释放缓冲区。其中使用了两个命令:读
缓冲区命令和清缓冲区命令。
读缓冲区数据结构如下:
字节:保留可为任意值;字节:数据字节的数目胀度;字节:数据字节:字
节:数据字节; :塌
曲 ?,
?
埘