• 7.44 MB
  • 2022-04-22 11:33:03 发布

矿山井下架空人车监控通讯系统毕业论文.doc

  • 79页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'中文题目:矿山井下架空人车通讯监控系统的设计外文题目:DESIGNOFCOMMUNICATIONMONITORINGSYSTEMFORMINEUNDERGROUNDAERIALVEHICLE毕业设计(论文)共73页(其中:外文文献及译文23页)图纸共3张完成日期2015年6月答辩日期2015年6月 摘要在我国有大部分矿井采用斜井的开采方式,随着矿井的不断延伸,越来越多的矿井采用架空人车来输送人员作业,以降低人员的体力和时间消耗。但现有的缆车运人系统中,多采用状态信号触发方式,当有情况发生时,井上监控人员不能很好的了解现场情况,这样不但存在严重的安全隐患而且不方便控制决策的实施。本设计矿山井下架空人车通讯监控系统主要分为:轿厢机、中继站和控制台三个部分。轿厢机即为原有的矿井架空人车,在车内安装轿厢机系统使其能与中继站通过NRF24L01+无线模块通讯。中继站则安装在架空人车运行的巷道内,以一定距离分布用于接收或发送轿厢机与控制台数据。控制台安装在地面,配有显示模块,通过CAN总线与中继站通讯,在与指定轿厢机语音通话的同时实时监控其余轿厢的运行状况。关键词:无线通讯;架空人车;NRF24L01+;CAN总线I AbstractInourcountryhavemostofthemineslopeminingmethod,withthecontinuousextensionofthemine,moreandmorevehiclestotransporttheoverheadminepersonnelassignment,toreducetheconsumptionofenergyandtimeforstaff.Buttheexistingcablecartransportsystem,howusesthestatesignaltriggermode,whenthereoccurs,inouemonitoringpersonnelcannotunderstandthesituationverywell,sothatnotonlythereareserioussecurityhiddendangerandisnotconvenienttotheimplementationofthecontroldecisions.Thisdesignundergroundaerialmancarcommunicationmonitoringsystemmainlydividesinto:capsulesmachine,relaystationandconsolethreeparts.Capsulesmachineformineoverheadmancar,incapsulescapsulesmachinesysteminstalledinthemachinecanmakeitwithrelaystationbymoduleNRF24L01+communication.Relayisinstalledontheoverheadofvehiclerunningtunnel,namelycapsulesmachineorbit,toacertaindistancedistributionisusedforreceivingandsendingthecarmachineandcontroldata.Consoleisinstalledontheground,adisplayandvoicemodule,throughCANbusandrelaycommunication,inthespecifiedcapsulesmachinevoicecallsandreal-timemonitoringofrunningstateoftherestofthecapsules.Keywords:wirelesscommunication;aerialropeways;NRF24L01+;CANbusI 目录0前言11矿山井下架空人车及无线通讯技术概述21.1矿山井下架空人车简介21.2矿山井下无线通讯技术概述31.2.1无线通讯技术的发展历程31.2.2常用无线通讯技术原理及应用42架空人车通讯监控系统整体方案设计82.1整体系统结构及功能的设计82.2轿厢机系统设计92.3中继站系统设计92.4控制台系统设计103轿厢机系统设计113.1轿厢机结构设计113.2轿厢机的硬件设计113.2.1轿厢机主控制器电路113.2.2轿厢机无线通讯模块设计133.2.3轿厢机语音模块设计163.2.4轿厢机键盘电路213.2.5轿厢机人员检测电路的设计243.2.6轿厢机电源电路设计24 3.3轿厢机系统软件的设计263.3.1轿厢机系统主程序设计263.3.2轿厢机无线通讯子程序的设计273.3.3轿厢机语音通讯的软件设计284中继站系统设计324.1中继站结构设计324.2中继站系统硬件的设计324.2.1中继站CAN总线模块电路324.2.2中继站无线通讯模块电路344.2.3中继站电源电路354.3中继站系统主程序设计354.3.1中继站无线通讯模块软件设计365控制台系统设计385.1控制台系统结构设计385.2控制台系统硬件设计395.2.1控制台主控制器电路395.2.2控制台语音处理模块电路395.2.3控制台显示模块405.2.4控制台键盘模块设计415.2.5控制台CAN总线模块电路425.2.6控制台电源模块电路425.3控制台系统软件设计43 5.3.1控制台软件主程序设计435.3.2控制台数据处理子程序446硬件抗干扰设计456.1抗干扰设计基本原则456.2干扰种类及解决方法456.3提高敏感器件的抗干扰性能467技术与经济分析478结论48致谢49参考文献50附录A译文AMBE-1000用户手册51附录B外文文献原文62附录C实物图片 0前言煤矿生产不仅关乎国家财产和人民生命安全,还关乎整个社会和谐稳定。随着我国经济的不断发展和人民生活水平的不断提高,“安全”这个词汇已经深入人心,人们已经对生活和生产中的安全问题加大了重视,生产安全也一度被定为最热的话题。本系统就是应生产生活的需要,本着“安全第一”的原则,对矿井中实际遇到的问题和难题而设计的系统。在过去的很长一段时间内,矿山井下的巷道是没有可以载人通行的车辆的,工人需要徒步上下矿井,这大大的增加了工人的体力消耗,也降低了生产效率,给生产工作带来了很大的不便。为了提高工作效率,减少工人的体力消耗,在矿山井下建设架空人车系统是非常重要的。河南省耿村煤矿斜井人车运输存在巷道底板因矿压变形的问题,解决问题需要大量的工作,因此,采用架空运输人车系统对原运输车进行改造是一个最为理想的方案。井下运输设备主要有斜井机和架空人车两种。架空人车与斜井机相比较,架空人车系统的电机功率远远小于斜井机的电机功率,可节约大量的电能与生产成本,也大大地降低了运行的成本。架空人车系统的结构简单、维护方便、能够连续工作、可多轿厢同时工作,运输效率更高。架空人车系统的安全性能远高于斜井机,功率远小于斜井机,对电能的节省效果非常明显,在矿山井下人员运输领域,具有前景非常好的应用前景,架空人车系统也会给企业带来良好的经济效益和社会效益。架空人车系统安装的适应性强,可以在大倾角、长距离及复杂变坡巷道环境的安装使用,具有上下人员方便、载人量大、操作简单、维护方便、一次性投资低、动力消耗小、可节约运行成本等优点。大量矿井采用的都是斜井机运输,不仅工作效率,更重要的是影响行车安全的因素多,运行和维护成本高。59 1矿山井下架空人车及无线通讯技术概述1.1矿山井下架空人车简介矿山井下架空人车系统,是煤矿井下人员运输设备,负责运输煤矿工作人员上下矿井或远距离运输人员使用。矿山架空人车系统由驱动电机设备、牵引绳索、拖拽绳索装置、人员乘坐的轿厢机、变坡点装置、迂回轮装置、张紧绳索装置及电机控制装置等部件组成。架空人车系统的工作原理为:牵引绳索安装在驱动轮、拖拽绳轮、压绳轮、迂回轮、张紧绳索轮上,呈无极封闭系统,经载重锤拉紧后,由驱动设备带动电动机输出动力带动减速电机上的驱动轮转动,输出大的力矩,利用牵引绳索和驱动轮之间的摩擦力带牵引绳索做循环运动,沿一定的轨迹运行,轿厢机由抱索器与牵引绳索锁紧,随牵引绳索运行来运输工作人员。井下运输设备主要有斜井机和架空人车两种。架空人车与斜井机相比较,架空人车系统的电机功率远远小于斜井机的电机功率,可节约大量的电能与生产成本,也大大地降低了运行的成本。架空人车系统的结构简单、维护方便、能够连续工作、可多轿厢同时工作,运输效率更高。架空人车系统的安全性能远高于斜井机,功率远小于斜井机,对电能的节省效果非常明显,在矿山井下人员运输领域,具有前景非常好的应用前景,架空人车系统也会给企业带来良好的经济效益和社会效益。架空人车系统安装的适应性强,可以在大倾角、长距离及复杂变坡巷道环境的安装使用,具有上下人员方便、载人量大、操作简单、维护方便、一次性投资低、动力消耗小、可节约运行成本等优点。架空人车系统的电机与轿厢实景图如图1-1所示。图1-1矿山井下架空人车实景图Fig.1-1UndergroundaerialvehicleVirtualMap59 但是架空人车系统在运行中还存在一些危险问题,例如制动闸失效,引起的飞车事故、牵引绳索意外脱落等事故。架空人车一般只有机头司机,机尾不设置信号工人,而事故多发生在司机视野盲区的地方,事故发生时的紧急解决方法主要靠轿厢内人员身体探出轿厢,拉动巷道内预设的紧急停车控制线来完成停车,但是此方法难以及时停车,从而造成事故的进一步恶化。另一方面,由于员工下班时身体疲惫,精神萎靡或进入睡眠状态的情况,容易在乘坐架空人车的时候出现坐车越位或与巷道发生摩擦擦伤皮肤,甚至会从车上掉落等严重后果。目前架空人车的控制系统主要是对其运行进行控制,主要涉及启停控制、速度控制、紧急停车保护控制、过速欠速保护控制等方面。而很少有对轿厢内人员进行监控和语音通信的控制系统。在架空人车系统工作过程中,设计一个通讯监控系统让控制台人员和轿厢内人员保持实时联系。通过监控控制系统实时了解轿厢内部的情况,以方便做出相应的调整,保证架空人车的正常运行。1.2矿山井下无线通讯技术概述1.2.1无线通讯技术的发展历程远距离无线通信已经有一百多年的历史,可以追溯到1901年马可尼将电报信息发送到一千八百英里外的大西洋彼岸。无线传输技术在20世纪经历了无线电、雷达扫描、电视信号、卫星和移动电话等不同的发展和应用阶段。在20世纪70年代末期,蜂窝无线通讯和个人通讯系统进入快速的发展阶段,这个时期是无线通讯技术发展的黄金时期,相继成功达到了第一代蜂窝系统(1G)、第二代蜂窝系统(2G)和第三代蜂窝系统(3G),到目前为止,无线通讯技术已经在现代社会中为人们提供了无处不在的移动通讯服务,能够满足人们语音通讯、数据传输、图像传送等诸多的需求。无线通讯网络,顾名思义是利用无线电磁波而非线缆来实现与设备位置无关的网络数据传输系统,是现代数据通讯系统发展的一个非常重要方向。随着计算机网络技术、无线技术以及智能传感器技术的相互渗透、结合,产生了新型基于无线技术的网络化智能传感器的全新概念。这种基于无线技术的新型智能传感器,使得工业现场的数据能够通过无线线路直接在网络上传输、发布和共享。无线通讯技术能够在工厂、野外等环境下,为各种智能控制设备、移动机器人控制以及各种自动化设备之间的通讯提供高带宽的无线数据线路59 和灵活的网络拓扑结构,在一些特殊环境下能够充分的弥补有线网络的不足,进一步完善了工业控制的通讯性能。无线通讯技术尤中移动通讯技术的发展,给无线通讯技术在工业控制领域的应用提供了坚实的技术基础,从上世纪80年代就普遍应用的电台与远程RTU,到近几年开始崛起的各种国际标准的中、短程无线通讯技术,此项技术已经逐渐渗透入工业控制领域中了。无线通讯技术已经成为现场总线、工业以太网技术后工业控制领域的又一个全新领域,国际主流自动化供应商与专业生产厂商所推出的无线通讯产品层出不穷,而近几年来的工业重点是无线局域网技术与中、短程无线通讯网络。无线通讯进入工业控制领域的前景毋庸置疑。目前主流无线通讯技术与标准主要含有WLAN、Bluetooth、Zigbee、WiMax、GSM/GPRS/CDMA等。1.2.2常用无线通讯技术原理及应用目前,在工业自动化领域中无线通讯技术协议主要内容是:对于可用于现场设备层的无线短程网络,采用的主流协议是IEEE802.15.4(例如ZigBee);对于大数据容量的短程无线通讯,则是IEEE802.15.3;而对于适应较大传输覆盖面积和较大量信息传输的无线局域网络,采用的是IEEE802.11系列。其应用的重点是无线短程网络、无线局域网络及GPRS/CDMA网络[3]。(1)无线通讯传感器网络(SensorNetworks)现场设备层无线通讯技术迅速进入工业控制领域,其中一个技术核心是现场总线和无线通讯技术的结合。以Zigbee无限网络为例,其特点是:1)功耗低:由于工作周期短、收发信息功耗较低且可以采用休眠模式节约功耗。2)数据传输可靠性高:采用了避免碰撞机制技术,同时为需要固定带宽的通讯业务预留了专用通道,避免了发送数据时的竞争和冲突,减少了错误和乱码的几率。3)网络容量大:一个Zigbee网络可以容纳一个主机设备和最多65536个从机设备,一个区域内最多可以同时存在100个Zigbee网络。4)时延小:针对延时敏感的控制做了优化,通讯延时和休眠激活的延时都非常短。设备搜索延时典型值为30ms,休眠激活时延典型值为15ms,活动设备信道接入延时为15ms。5)兼容性:与现有的控制网络标准无缝集成。通过网络协调器(Coordinator)自动建立网络,采用CSMA-CA方式进行信道存取。为了可靠传递,提供全面的握手协议。6)安全性:Zigbee提供了数据完整性检查和鉴权功能,加密算法采用AES-128,同时各个应用可以灵活确定其安全属性。7)实现成本低:模块的硬件59 成本较低。典型的产品和应用为:2004年Honeywell推出的基于ZigBee协议的无线变送器XYR5000系列;OMRON的无线链接DeviceNet现场总线主机WD30-ME和从机WD30-SE;德国schildknecht公司推出的无线Profibus-DP产品DE3000系列;ABB在瑞典的Boliden加工厂利用Ember协议的无线技术进行的无线通信评估试验。(2)无线局域网WLAN(WirelessLAN)自从1977年第一个民用网络系统ARCnet投入运营以来,无线局域网以其广泛的适用性和价格较低等方面的优势,获得了成功并得到了快速的发展。然而,在天津大学硕士学位论文《基于无线通讯技术的管网叠压装置集散监控系统》的研究现场,一些工业环境限制了使用电缆进行通讯,有线局域网络很难发挥作用,因此无线局域网技术得到了进一步的发展和应用。随着近年来微电子技术的不断革新和发展,无线局域网络技术将在工业控制的网络中发挥不可替代的作用。在工业自动化控制领域,有成千上万的测量元件、感应器,检测器,计算机,PLC,读卡器等设备,需要相互连接在一个控制网络上,通常这些设备提供的都是RS-232或RS-485通讯协议的借接口。无线局域网设备使用隔离型信号转换器,将工业设备的RS-232串口通讯信号与无线局域网及以太网络信号之间进行相互转换,符合无线局域网IEEE802.11b和以太网络IEEE802.3标准,支持标准的TCP/IP网络通讯协议,高效的解决了工业设备的联网通讯问题。无线网通讯协议可采用IEEE802.3来实现点一对一的无线传输方式或采用IEEE802.11实现多对一的无线传输方式,也可以在普通局域网的基础上,通过无线Hub、无线接入站、无线网桥、无线Modem及无线网卡等来实现,在这些方法中,工业现场以无线网卡使用最为普遍。有线固定网络与无线局域网相比之下,无线局域网组建自动化工业网络更有优势:1.无线网络拓扑更适合工业控制网络的应用:支持RS-232工业设备一对一的连接。2.支持广播的拓扑:多个RS-232工业设备可组成对等的网络,互相通讯。(RS-232通讯协议无法支持多对一通讯)。客户机/服务器的拓扑,每个RS-232工业设备都可以简单、快捷的接入无线网络中,极大程度的提高了信息分析处理能力。3.无需重新布线,省去了施工造成的成本:无线局域网利用无线电波传输信号,解决了于难于布线的环境中搭建数据传输网络的技术性难题。4.稳定安全性提升:在工业控制现场,铺设的线缆及其容易受到外界的接触导致破损,无线网络则保证了网络的安全性与稳定性。5.覆盖范围较广:无线局域网在开放空间覆盖半径可达达550米,室内一般覆盖半径为300-400米,通过室外无线设备传输距离可以达到几十公里,可是同样存在着缺点,那就是无限信号的穿墙能力弱。59 无线局域网现主要应用在远程视频传输、安防管理系统、生产设备联网自动化、医疗/实验仪器联网自动化、工业/流程联网控管等领域。(3)蓝牙无线技术(Bluetooth)蓝牙无线通讯技术是由东芝、爱立信、IBM、Intel和诺基亚于1998年,共同提出的近距离无线数字通讯的技术标准。从提出该技术至今,蓝牙技术的发展极其迅速。蓝牙作为一种新生的,短距离无线通讯技术标准,受到全世界范围内的越来越多的工业生产厂家与研究机构的重点关注。近几年来,世界上一些权威的标准化组织,也都在考虑蓝牙技术的标准是否有缺陷。例如,IEEE的标准化机构,已经成立了802.15工作组,专门关注有关蓝牙技术标准的兼容性问题和未来的发展方向等问题。IEEE802.15.2TG2是探讨蓝牙如何与IEEE802.11b无线局域网技术共存的问题;而IEEE802.15.3TG3则是研究未来蓝牙技术,向着更高速(如10-20Mbits/s)传输发展的问题。国内的一些生产厂家与研究部门也准备开始组织蓝牙技术产品的研发。蓝牙是取代数据电缆的短距离无线通讯技术,工作频段是全球开放的民用的2.4GHz频段,可以同时进行数据、语音、图像等传输,传输速率可达到10Mb/s,使得在其范围内的各种信息化设备都能实现无缝资源共享。蓝牙技术的应用极其广泛且富有潜力。它可以应用于无线设备、图像处理设备、安全设备、娱乐设备、汽车产品设备、家用电器、医疗健身、建筑、玩具等领域。(4)GPRS技术GPRS(GeneralPacketRadioService,通用分组无线通讯业务)是一个叠加在GSM上专为高速数据通讯而设计的新型网络,属于分组交换数据的承载和传输的一种方式,称为2.5G数字移动通讯技术,是GSM向3G移动通讯发展的必经阶段。它充分利用了现有的移动通讯网络的设备,通过在GSM网络上增加一些硬件设备和软件算法上的升级形成的一个新型的网络逻辑实体,手机通话继续使用GSM,而数据传输则使用GPRS。它采用分组交换方式传输数据,理论上最高数据速率可达170Kbps,客户可以在移动状态通话的同时使用各种高速数据传输业务。通俗的说,GPRS是一项高速数据处理的科技,它是以分组交换技术作为技术基础,将移动用户和数据网络之间建立起来联系,用户通过GPRS可以在移动状态下使用各种高速数据业务。GPRS目前支持TCP/IP和X.25业务、GPRS空中接口加密、GPRS附加业务、增强型短信业务、GPRS分组数据计费等等,其中最显著的是TCP/IP和X.25功能,可以通过TCP/IP和X.25提供电子邮件、WWW浏览、专用数据、LAN接入等业务。GPRS采用分组交换技术,在数据业务的承载和支持上具有显著的59 优势,每个用户可同时占用多个无线传输通道,同一无线传输通道又可支持由多个用户互相共享,能将无线网络上的信息资源利用的更加充分,特别适合突发性、频繁的小流量数据传输;支持的数据传输速率更高,理论最快速度可达170Kbps;按数据流量计费的计算方式更加灵活;GPRS还支持在进行数据传输的同时进行语音通话。本次系统设计根据应用的实际情况采用Zigbee无线通讯技术,并以此为基础实现架空人车系统的监控、控制、语音通讯等功能。59 2架空人车通讯监控系统整体方案设计2.1整体系统结构及功能的设计矿山井下架空人车通讯监控系统的主要功能是地面控制室人员对架空车厢进行实现监控,架空车厢内的人员可以在意外事故发生时按下紧急按钮,及时的通知地面控制室采取有效的安全措施,阻止事故的发生。由于架空人车在工作中不停的移动,传统的有线传输无法在架空人车上进行安装,因此本设计采用无线通讯模块作为架空人车和地面控制室人员进行信息交换和语音传输的传输工具。但是井下和地面间的距离太远,而且线路不是直线,单纯的只用无线模块无法将数据完好的传输至地面的控制台,由于这种现实情况的限制,我们在井下和地面间设立了中继站,中继站通过无线模块和架空人车通讯,再通过CAN总线将数据传输至控制台,进而间接地实现了架空人车和控制台的通讯。综上所述,可将整个系统主要分为三个部分:架空人车的轿厢通讯机(以下简称轿厢机),中继站和控制台(地面的总控制室)。轿厢机安装在架空人车的轿厢内,控制台安装在地面的控制室内,控制室的人员通过控制台监控轿厢的运行状况并与轿厢内的人员通讯。中继站安装在轿厢运行的巷道内,将轿厢机的数据通过无线接收到中继站,再将接收到的数据通过CAN总线传输到控制台。在地面控制室安装控制台,地面人员通过控制台和轿厢内人员进行语音通讯,并监控各个轿厢运行状况。系统设计的整体框图如图2-1所示。图2-1系统设计整体框图Fig.2-1Allsystemblockdiagram车厢与上控制台通过中继站收发无线信号进行语音通信,轿厢中的工人可以随时向地面控制室报告车厢的运行状态并请求相关指令,控制台也可以随时询问各个车厢的运行状态以便做出相应的调整。如果地面控制台距离较远,可以在矿井和控制台间增加中继站59 以确语音保通讯的质量和轿厢的信息指令准确。系统设计完成以后,控制台可以一对一选择不同的车厢进行通讯,也可以以广播的方式对各车厢播报一些信息,每个车厢中工人也可主动要求与控制室进行通讯,实现双向通讯。系统的各部分功能及实现方案如图2-2所示。图2-2系统功能结构图Fig.2-2Systemfunctionstructurechart2.2轿厢机系统设计轿厢机是本系统被监控的主要部分,是整个设计的核心。在这部分中主要分为无线通讯模块,语音编解码模块,电源模块以及主控制器。另外,为了提供更好的人机交互界面和方便的可操作性,轿厢内部还设有有按键部分。图2-3为轿厢机系统的组成。图2-3轿厢机系统组成Fig.2-3Subsystemsofcablecar2.3中继站系统设计中继站作为控制台和轿厢机间的纽带,用于传输控制台和轿厢机的数据,主要工作方式是通过无线模块接收轿厢机的信号并读出其中的数据,然后再经CAN59 总线将接收的数据发送给控制台。其主要由电源模块,无线通讯模块,CAN总线接口以及主控制器组成。其结构框图如图2-4所示。图2-4中继站系统组成Fig.2-4Nodemachinesubsystems2.4控制台系统设计控制台主要完成与轿厢机系统的通讯,确保监控功能与语音通讯的实现。在控制台的工作人员可以通过按键来设置通讯方式,选择是以广播方式发布消息,还是一对一的方式和某一个车厢进行通话这时需要通过按键来选择通讯的对象,同时在显示屏上可以实时显示当前控制器所处的工作模式和通话轿厢的编号,如图2-5所示为控制台系统的结构框图,其中包括语音通讯与处理模块,键盘控制模块,主控制器模块、显示模块以及CAN总线接口。图2-5控制台系统组成Fig.2-5Controlroomsystemcomponents上述为系统的总体结构的设计,下面主要对轿厢机,中继站和控制台三部分进行介绍。59 3轿厢机系统设计3.1轿厢机结构设计轿厢机系统安装在架空的乘人轿厢中,车内的人员通过轿厢机系统与井上控制台人员通讯。轿厢作为被监控的对象,是整个系统设计的主要组成部分。工作人员在乘轿厢下井的过程中,需要随时和地面上的控制台保持联系,为了确保轿厢正常运行和工作人员的人身安全。如图3-1所示,在轿厢机系统中,装有主控芯片,无线通讯模块,语音编解码模块等。工人可以随时向控制台发出通话请求建立通讯,同时也可以在没有通话时接收控制台的广播信息,方便执行任务。图3-1轿厢机系统Fig.3-1cablecarsystemcomponents3.2轿厢机的硬件设计3.2.1轿厢机主控制器电路主控制器是整个设计的控制核心,无线通讯和语音的编解码都由单片机的控制来完成。考虑到整个系统对单片机的运算速度和资源的要求,本设计中采用的主控制器芯片是MK60DN512ZVLQ10(简称K60)。MK60DN512ZVLQ10单片机是Freescale半导体公司自主设计并制造的32位高性能通用嵌入式微处理器。MK60DN512ZVLQ10是Cortex-M4系列的ARM,内部的数据是32位的,寄存器是32位的,存储器接口也是32位的。MK60DN512ZVLQ10采用哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行进行,大大提高运算速度。K60芯片使用多组电源引脚分别为内部电压调节器、I/O引脚驱动、A/D转换电路等电路供电,内部电压调节器位内核和振荡器等供电。K60控制器技术成熟,可靠性强,抗干扰与电磁兼容性非常强,内部资源非常多,接口模块包括SPI、SCI、I2C、UART、CAN、A/D、PWM、Flash等等。59 主频晶振为50MHz,可以通过锁相环电路,将单片机的工作频率倍频到200MHz,且稳定工作,大大提升单片机的运算速度。它不仅在汽车电子、工业控制、中高档机电产品等应用领域中具有广泛的应用,而且在Flash存储控制及加密方面也有很强的功能,片内具有512kb的Flash模块,可以存储大量数据,无需外加EEPROM芯片。主控芯片电路图如图3-2所示。图3-2主控芯片MK60DN512ZVLQ10Fig.3-2MasterchipMK60DN512ZVLQ10虽然MK60DN512ZVLQ10将CPU、ROM、RAM以及IO统统集成在一个集成电路芯片中,但仍然需要一些匹配的外部电路。主控制器模块外围电路如图3-3所示。包括电源供电指示灯电路,晶振时钟电路,复位电路以及JTAG程序下载电路。JTAG程序下载端口结合机载软件IAR可实现程序的单步或同步调试功能,可以在线仿真同步看变量动态数值等人性化的功能。复位电路的作用是当系统处于不稳定工作时或跑飞时,可按下复位键使程序从头重新运行。晶振时钟电路主要给主控芯片提供工作时钟,它决定着系统工作速率的快慢,输出端分别接K60的EXTAL和XTAL引脚,59 MK60DN512ZVLQ10有内置的RTC时钟芯片,可以在EXTAL32和XTAL32引脚外接一个32.768M晶振,来实现时间计时功能,功耗低,计时准,可以当万年历使用。电源指示LED灯用来显示是否正常供电,LED灯亮表示K60正常供电,开始工作,LED灯功耗小,是稳定的冷光源,不易故障,稳定时间可达10年之久。图3-3K60外围电路Fig.3-3K60peripheralcircuits3.2.2轿厢机无线通讯模块设计无线模块作为轿厢机和中继站间的通讯工具,其通讯质量的好坏直接决定了整个系统的通讯质量。本设计无线通讯模块采用nRF24L01+模块。nRF24L01++是单片射频收发芯片,工作于2.4~2.5GHzISM频段,芯片内置了频率合成器部分、功率放大器部分、晶体振荡器部分和调制器部分等功能模块,输出功率和通讯通道可通过程序进行配置。芯片能耗非常低,以-5dBm的功率发射时,工作电流只有10.5mA,接收时工作电流只有18mA,多种低功率工作模式,节能设计更方便。其DuoCeiverTM技术使nRF24L01++59 可以使用同一天线,同时接收两个不同通道的数据。nRF24L01++适用于多种无线通讯的场合,例如无线数据通讯系统、遥控开锁等。图3-4无线通讯模块电路Fig.3-4Wirelesscommunicationmodulecircuit无线通讯模块nRF24L01+主要有以下几个特点:◆宽电压工作范围,1.9V~3.6V◆工作温度范围,-40℃~+80℃◆工作频率范围,2.400GHz~2.524GHz◆数据传输速率,250Kbps、1Mbps◆低功耗设计,接收时工作电流18mA,0dBm功率发射时13mA,掉电模式时仅为400uA59 ◆多通道工作模式,125个数据通道,通道切换时间≤200us,满足多点通讯和调频需要◆硬件的CRC校验和点对多点的地址控制◆SPI通讯端口,适合与各种MCU连接,编程简单◆可通过软件设置工作频率、通讯地址、传输速率和数据包长度◆MCU可通过接收完成引脚快判断是否完成数据接收图3-5无线通讯模块Fig.3-5WirelesscommunicationmodulenRF24L01++的所有配置工作都是通过CS、CLK1和DATA三个引脚完成,把其配置为ShockBurstTM收发模式需要15字节的配置字,而如把其配置为直接收发模式只需要2字节的配置字。由上文对nRF24L01++工作模式的介绍,我们可以知道,nRF24L01++一般工作于ShockBurstTM收发模式,这样,系统的程序编制会更加简单,并且稳定性也会更高,因此,接下来重介绍把nRF24L01++配置为ShockBurstTM收发模式的器件配置方法。ShockBurstTM的配置字使nRF24L01++能够处理射频协议,在配置完成后,在nRF24L01+工作的过程中,只需改变其最低一个字节中的内容,以实现接收模式和发送模式之间切换。ShockBurstTM的配置字可以分为以下四个部分:(1)数据宽度:声明射频数据包中数据占用的位数。这使得nRF24L01+能够区分接收数据包中的数据和CRC校验码;(2)地址宽度:声明射频数据包中地址占用的位数。这使得nRF24L01+能够区分地址和数据;(3)地址:接收数据的地址,有通道1的地址和通道2的地址;(4)CRC:使nRF24L01+能够生成CRC校验码和解码。当使用nRF24L01+片内的CRC技术时,要确保在配置字中CRC校验被使能,并且发送和接收使用相同的协议。在配置模式下,注意保证PWR_UP引脚为高电平,CE引脚为低电平。配置字从最高位开始,依次送入nRF24L01++。在CS引脚的下降沿,新送入的配置字开始工作。59 通过以上了解到无线通讯模块的操作主要是与主控制芯片之间的交流,所以要取得无线通讯的良好效果,最主要是实现主控制芯片程序的初始化,使接收和发送数据的时候不出现错帧现象,同时采用一定的滤波电路,可减少恶劣环境的电磁干扰。nRF24L01+无线模块的模式介绍:(1)直接收发模式在直接收发模式下,nRF24L01+如传统的射频收发器一样工作。当微控制器有数据要发送时,把CE置高;nRF24L01+射频前端被激活;所有的射频协议必须在微控制器程序中进行处理(包括字头、地址和CRC校验码)。直接接收模式一旦nRF24L01+被配置为直接接收模式,DATA引脚将根据天线接收到的信号开始高低变化(由于噪声的存在);CLK1引脚也开始工作;一旦接收到有效的字头,CLK1引脚和DATA引脚将协调工作,把射频数据包以其被发射时的数据从DATA引脚送给微控制器;这头必须是8位;DR引脚没用上,所有的地址和CRC校验必须在微控制器内部进行。(3)配置模式在配置模式,15字节的配置字被送到nRF24L01+,这通过CS、CLK1和DATA三个引脚完成,具体的配置方法请参考本文的器件配置部分。(4)空闲模式nRF24L01+的空闲模式是为了减小平均工作电流而设计,其最大的优点是,实现节能的同时,缩短芯片的起动时间。在空闲模式下,部分片内晶振仍在工作,此时的工作电流跟外部晶振的频率有关,如外部晶振为4MHz时工作电流为12uA,外部晶振为16MHz时工作电流为32uA。在空闲模式下,配置字的内容保持在nRF24L01+片内。(5)关机模式在关机模式下,为了得到最小的工作电流,一般此时的工作电流小于1uA。关机模式下,配置字的内容也会被保持在nRF24L01+片内,这是该模式与断电状态最大的区别。3.2.3轿厢机语音模块设计语音处理模块的框图如图3-6所示,其中AMBE-1000是语音处理模块的核心,是数字化语音通讯的主要模块。当压缩语音数据时,它可以通过话筒采集语音信息,将语音信息压缩,然后被主控制芯片K60读取并储存。当处于解压语音数据时,主控制芯片K60将语音压缩后的数据发送给语音芯片,语音芯片解压语音压缩数据,然后通过D/A转换器,59 接下来将语音的模拟信号放大,再通过喇叭播放出去。图3-6语音通讯模块结构框图图3-6语音通讯模块框图Fig.3-6Voicecommunicationsblockdiagram1)语音处理模块根据对语音构成的分析,应运而生了多种针对音频信号的压缩编码算法,如CELP、RELP、VSELP、MP-MLQ、LPC-10、MBE等,它们通过不同的算法,实现对音频信号的编码。这些压缩编码算法的压缩速率、语音清晰度各有所长,其中美国DVSI(DigitalVoiceSystemInc)公司提出的AMBE(AdvancedMulti-BandExcitation)压缩编码算法较为杰出。AMBE是基于MBE技术的低比特率、高质量语音压缩算法,具有音质好且编码速率较低等优点,编码速率低可以减轻单片机的负担。AMBE-1000是一款高性能、多速率的语音编码/解码芯片,语音编码/解码速率可以在2400~9600bps之间以50bps的间隔变化,即使在2400bps的时候,仍能保持自然的声音质量和语音可懂度。在芯片内部有相互独立的语音编码/解码单元,可实现同时编码与解码,并且所有的编码/解码操作都能在AMBE-1000内部完成,不需要额外的存储器。AMBE-1000的这些特性使它非常适合于语音通信、语音存储以及其它需要对语音进行数字处理的场合,也正是这款芯片被广大产品应用的原因。59 图3-7AMBE1000芯片Fig.3-7AMBE1000chipAMBE1000是DigitalVoiceSystems公司的语音编/解码芯片,用来实现双工的语音编码/解码等功能,能实现较低传输速率要求下的高质量通话。它采用先进的AMBE压缩算法,压缩速率最低可达2.4Kb/s。目前,这种算法因其能实现低速率传输与高音质的优点,在世界范围内得到了广泛应用。AMBE-1000具有很多优秀的独特之处:低硬件成本与高音质,无需外部设备,具有比特差错低与背景噪声效果良好的特性,可变传输速率范围在2.4Kb/s~9.6Kb/s,可自动插入舒适噪声,也可以认为插入舒适噪声,可选的串行与并行接口,自带回声抑制功能,DTMF信号的检测与产生,低功耗。AMBE-1000最基本的组成部分就是两个独立的编码器与59 解码器。编码器接收8KHZ采样的语音数据(16bit线性,8bitA律,8bitU律)并以一定的速率输出数据。同理,解码器接收数据并合成语音数据。编码器与解码器接口的时序是完全异步的,完全独立。AMBE-1000读写一帧数据所需的时间远小于20ms,在20ms间隔内,单片机除了能够读取1帧或写入1帧数据外,还有大量的时间处理其他的事件。这种特性可以大大地减轻单片机的负荷,也可能使得单片机在半双工的低速通道内实现全双工的语音通话。AMBE-1000采用A/D-D/A芯片CSP-1027S作为语音信号的接收。输入输出的语音数据流的格式是相同的(16bit线性的,8bitA律,8bitU律)。AMBE-1000芯片如图3-7所示。图3-8CSP-1027S电路Fig.3-8Voiceprocessingcircuitafter2)A/D-D/A转换芯片CSP-1027SCSP-1027S是A/D-D/A转换芯片,其外接电路如图3-8所示。CSP-1027S芯片有回声抵消、VAD(语音激活检测)、睡眠模式、数据/前向纠错速率等功能,这些功能由外围管脚或输入到解码器的命令帧数来决定,并且送往解码器用于控制的数据和语音数据是不同的。A/D-D/A芯片的选择对本系统的语音通讯的音质有着极为重要的影响。用A律与U律在采样时对数据做压缩可以减少压缩后的数据位数,为了提高声音音质,采用了16bit59 线性的芯片。选择芯片时要特别注意信号与噪声的比例,以及滤波器的频率响应是否够快。A/D-D/A的接口可以通过软硬件对其进行操作,时钟和激励信号可以由外部高低电平送入,也可以由单片机产生。由于D/A转换输出的模拟信号电流很低,功率很小,不能直接驱动扩音器,所以在D/A芯片的输出还需要添加一个功率放大芯片,在这个系统中功率放大芯片采用AB类功放芯片。该芯片的驱动功率可达2W,也可以通过放大比例调节输出的音量,所以特别试用于嘈杂的场所。信道接口使芯片易于与设计的系统相连接。基本的信道接口有串行口和并行口,有两种工作模式,主动模式和被动模式,模式选择的信号可以在芯片内部进行设定也可以通过外部电平输入。AMBE-1000正常工作时,每20ms输出一帧压缩数据,压缩后的数据送给AMBE-1000的进行解码操作。AMBE-1000的编码器和解码器的数据有固定的格式,固定格式的目的就是为压缩数据提供对齐信息,防止乱码。AMBE-1000的格式有帧格式和非帧格式。并口模式只在帧格式时工作,串口模式在帧格式和非帧格式皆可以工作。帧格式和非帧格式都为了实现相同的功能:为压缩语音数据提供定位信息。在帧格式模式时,每20ms编码器输出一帧固定格式数据数据,其中包含了10位控制位。实际上就是按一定的波特率压缩数据,将这些数据信道间传输。在帧格式下,系统需要在传送编码数据的同时传送足够的信息,这些信息可以使解码器解压缩语音数据。非帧格式下,编码器的输出数据实际是连续的声音压缩数据,这些压缩数据中不仅包含了语音数据,还包含了帧的数据信息。这种非帧格式会减轻信道的带宽负荷。缺点是解码器在解码语音数据前需要接收10-12帧的数据才能达到与数据同步的目的。非帧格式下,每帧只指定一位数据用于语音数据的对齐,在更高误码率的信道中,需要增加更多的对齐位才使数据更好的还原(用帧格式就能很容易实现)。当工作于帧格式时,信道数据的接口可以是串行或并行。而非帧格式只可以工作于串行。帧格式可以工作在主动模式和被动模式,非帧格式却只能工作在被动模式。压缩数据由两部分组成:语音数据和前向纠错数据。前向纠错数据加到语音数据中,可以使解码器能够纠正一定量的错误数据,而使数据能够使用。如果信道传输时误码率较多,那么就应该增加前向纠错数据的位数。当然要提高声音音质,就必须有更多的语音数据位。2)音频放大电路59 图3-9LM4890音频放大电路Fig.3-9LM4890audioamplifiercircuit语音处理模块图片如图3-10所示。AMBE-1000是一款非常优秀的语音处理芯片;其能达到的最低压缩速率和音质来看,已经达到了极为先进的水平。这使得它得到了广泛应用与良好的使用前景;但是其压缩算法为非标准语音压缩算法,致使由AMBE-1000构成的语音处理系统只能用在某些专用网上。即便如此,它仍不失为在语音处理领域一款优秀的处理器。图3-10语音处理模块Fig.3-10Voiceprocessingmodule3.2.4轿厢机键盘电路相对普通的矩阵键盘,由硬件进行译码是编码键盘的优点,减轻了CPU的负荷,软件简单,但是电路相对普通矩阵键盘要复杂一些。在工作过程中,微处理器既要接收和处理CAN总线上的数据,还要对大量的语音数据进行处理和播放,工作量比较大,所以为了59 减少CPU的时间和资源占用,决定了采用编码键盘,如图3-11所示。编码键盘的硬件图如图3-11所示,由16个按键,两片74LS148编码器,4个PNP三极管和电阻组成。图3-11编码键盘原理图Fig.3-11Schematiccodingkeyboard74LS148是8线-3线优先编码器,管脚图如图3-12所示。引脚功能:0-7编码输入端(低电平有效)EI选通输入端(低电平有效)A0、A1、A2编码输出端(低电平有效)GS宽展端(低电平有效)EO选通输出端59 图3-1274LS148编码器引脚图Fig.3-1274LS148encoderpindiagram编码键盘可以接在单片机的中断引脚上。在没有按键被按下时,U4和U6的输入端全部由上拉电阻使电压稳定在高电平,按照功能表,U6的A0,A1,A2引脚输出高电平,同时U6的GS管脚输出高电平,由于EI低电平有效,使U4禁止工作,U4的A0,A1,A2引脚输出高电平,所以数据口的电平一直为高,为0b11111111并一直保持。当有按键被按下时,加入S1按键被按下,U6的3号引脚与接地电阻R18导通,虽然此时引脚上有一定电压,但是因为上拉电阻较大,3号引脚上的电压不超过1.2V,低于单片机判断是否为高电平的阈值,故U6认为3号脚输入低电平,按照真值表A0,A1,A2输出为0b001,同时U6的GS输出低电平,使能U4。有S1被按下,三极管Q1的基极与R10导通,只要R10上的压降大于0.7V就能使Q1导通,致使U4的0号引脚上为低电平,A0,A1,A2输出为0b111,同时GS输出低电平,产生中断。此时数据口的电平为0b01110100,由单片机进行读值,进而判断是哪一个按键被按下。表3-174LS148编码器功能表Tab.3-174LS148encodermenuInputsOutputsEI01234567A2A1A0GSEOH××××××××HHHHHLHHHHHHHHHHHHLL×××××××LLLLLHL××××××LHLLHLHL×××××LHHLHLLHL××××LHHHLHHLHL×××LHHHHHLLLH59 L××LHHHHHHLHLHL×LHHHHHHHHLLHLLHHHHHHHHHHLH说明:H-高电平L-低电平X-任意3.2.5轿厢机人员检测电路的设计本设计的井下架空人车的每一个轿厢可以乘坐两个人,为了便于控制台实时监控每个轿厢里的乘人情况,安装了一个独立按键于轿厢的座位下面。当有人坐在轿厢内时,按键就会被人的体重压下,轿厢机的主控制器通过读取相应的IO口的电平变化来判断该轿厢内是否有人和几人乘坐,并将此信息合成在报文内,上传至控制台。轿厢机人员检测独立按键电路如图3-13所示。人员检测1人员检测2图3-13独立按键电路图Fig.3-13Independentkeycircuitdiagram3.2.6轿厢机电源电路设计由于车厢在工作状态中是随钢索运动的,所以轿厢机的电源不能是220V交流电,电压输入得是由蓄电池来供电。本设计选择的是输出电压为6.4V,电池容量为225ah的蓄电池作为轿厢机的供电电源。这个参数的电池足够满足轿厢机的供电设计需求,可实现轿厢机长时间的供电。电源模块原理如图3-14所示。由于本设计需要提供两种稳定的电压为轿厢机系统提供电能,所以本设计需要输出两路稳定电压,分别输出5V电压和3.3V电压。故本设计采用了LM2576-5V和LM1117-3.3V两种稳压芯片,分别输出5V和3.3V两路电压。电源滤波电路滤去电源中的纹波,可保证电源供电的稳定性。59 由于单片机是3.3V供电,若接通的电源电压过高或反接,则会导致单片机烧毁,故需要过电流保护电路,防止反接或电压过高导致单片机烧毁。图3-14电源模块Fig.3-14powersupplymoduleLM2576-5V系列与LM1117-3.3V系列的稳压器是单片集成电路。其中LM2576-5V的输出电压可调范围为1.23V~37V,内部振荡器产生52KHz的固定频率,具有TTL电平关闭输出,低功耗待机模式,典型待机电流为50μ。稳压器内部还有频率补偿器和一个固定频率振荡器,将外部元件的数目减到最小,使用简便,可以驱动最大为3A的负载,有优异的线性和负载调整能力。LM2576还可以提供降压开关稳压(buck)的各种功能。另外,LM2576还包括一些其他的特征:在指定输出电压和输出负载条件下保证输出电压的正负4%误差,以及振荡器频率的正负10%误差。最主要的是LM2576在一般情况下不需要或只要很小的尺寸的外加散热片,这个特征大大的简化了开关电源的设计,所以在电源设计这部分,选择了LM2576系列输出为+5V的稳压器。而LM1117是一个低压差电压调节器系列。其压差在1.2V输出,负载电流为800mA时为1.2V。它与LM2576同样在外围的元件少,使用简便。LM1117也有可调电压的版本,通过2个外部电阻可实现1.25~13.8V输出电压范围。LM1117还可提供电流限制和热保护。LM1117的自身电路里包含1个齐纳调节的带隙参考电压以确保输出电压的精度在±1%以内。在电源设计这部分,选择了LM1117系列输出为+3.3V的稳压器。之所以在LM1117的输出端加了电容是用来改善瞬态响应和稳定性。3.3轿厢机系统软件的设计轿厢机系统主要包括语音模块、无线模块、按键模块、功放模块。无线模块作为59 轿厢机和中继站通信的唯一途径,需要将中继站传来的无线信号进行接收并传给单片机进行数据处理,最终通过语音模块播出接收到的语音数据,同时单片机将由语音模块处理后传来的压缩后的语音数据通过无线模块转换为无线电波并发送给中继站,从而满足中继站和轿厢机的通讯需求,进而实现控制台对轿厢运行状态的监控。轿厢机中还包括按键模块以实现一些特定功能,所以需要单片机对键盘是否按下做检测。当检测到有按键按下时,单片机及时执行相应的程序,以实现特点功能。3.3.1轿厢机系统主程序设计为实现轿厢机的功能,在软件设计中一开始需要对系统初始化,系统初始化包括对无线模块nRF24L01+的初始化,语音模块AMBE-1000初始化及复位,以及MK60DN512ZVLQ10单片机I/O口等的初始化。在完成相应的初始化程序之后,CPU进入while主循环工作。在主循环中CPU实时监视按键的动作,查询是否建立通话。当CPU接收到无线模块数据时,产生中断信号,CPU在中断服务函数中判断是否接受来自控制台的通话。当要结束通话的时候通过按键动作来决定是否结束通话。其结构框图如图3-15所示。59 图3-15轿厢机主程序流程图Fig.3-15Thecarenginemainprogramflowchart3.3.2轿厢机无线通讯子程序的设计轿厢机的无线模块采用nRF24L01+模块,因而无线通讯的子程序设计就是对nRF24L01+进行发送接收的控制。nRF24L01+使用SPI通讯协议与单片机通讯,最高工作速率达500kbsp,本设计采用单片机内部的硬件SPI模块的方式与nRF24L01+通讯,相应的软件流程图如图3-16所示。当单片机需要发送数据时,首先要对无线模块写入接收端的地址,再确定数据长度(数据不能超过32字节),当数据发送后需要等待返回应答信号,当读取到IRQ引脚值时返回主函数,等待下一次中断触发。当无线模块接收到数据时,先读取第一个字节的数据,再判断数据类型并将其转移到相应的存储区,然后根据数据类型进行相应处理,59 等数据处理结束后自动返回主函数,等待下一次中断触发。图3-16无线模块收发流程图Fig.3-16Wirelessmodulesendingandreceivingflowchart3.3.3轿厢机语音通讯的软件设计语音信号的模拟量与AMBE-1000芯片之间要通过A/D-D/A芯片来连接。A/D-D/A芯片的选择要慎重,最好要选16bit的器件。另外也要考虑这些器件的信号与噪声的比例和滤波特性。通常来讲,频率响应(20-2400HZ)越平坦,那么整个系统的声音效果就会越好。语音芯片的发送流程图如图3-17所示。AMBE-1000与A/D-D/A接口的音频采样频率都是8KHZ,这8KHZ的语音数据通过串行口来进行传输。串行口的控制信号是由程序设定控制的。最方便简单的办法就是向AMBE-1000输入ID=0x03的命令帧来设置控制信号,使用者可以对SIOC寄存器进行配置。另外,本设计使用的CSP1027芯片作为A/D-D/A转换器是可编程的,程序信息也可以通过命令帧ID进行设置。在本设计系统中,因为使用硬件进行语音压缩,不需要在单片机中执行压缩算法,单片机的主要功能就是控制和判断。单片机控制程序按功能大致可以分为三部分:复位及时钟分频程序、锁相环倍频程序、发送/接收程序、数据处理等。单片机对AMBE-1000进行初始化,由单片机发出一个负脉冲信号,此信号宽度需要59 不低于六个单片机上(CLK-I)的时钟周期。AMBE-1000复位完成后,单片机发送控制帧,设定AMBE-1000的采样频率以及帧同步信号的频率,使其按照单片机的要求工作。AMBE-1000正常工作时,每20ms从编码器中读取一帧压缩后的语音数据,在MCU中进行数据处理,包括去除帧头、把纯语音数据暂存在Flash中,然后再将Flash中的语音数据发送出去,以防发送失败导致语音断音。需要特别注意的是:压缩后的语音数据每20ms产生一帧,不是连续产生的,每帧数据输出完毕后,全部置零。同样地,在接收端,将来自信道的2.4Kb/S的语音数据流暂存在Flash中,每20ms将重组的一帧数据输入主芯片进行解码。图3-17AMBE发送数据流程图Fig.3-17AMBEsenddataflowdiagram单片机初始化(设置串行通信波特率,发出指令,使AMBE-1000复位进入正常工作状态),AMBE-1000每20ms输出一帧34Byte的数据,其中有10位控制字,不同的压缩率产生的数据位数也不相同,在1s内会产生50帧数据,每秒压缩数据的速率相当于:34(Byte)*8(bit)*50(帧)=13600bit/s。在本设计中,MCU采用中断服务程序来进行串行通信,当检测到有数据需要传输时,单片机检测到信号后,执行34Bytes的数据传输功能。在这34Bytes数据中,前10位为AMBE-1000的控制字,后24位中为语音数据(压缩率不同,语音数据位数也不同)。AMBE-1000每一帧数据59 都有固定的格式,其中帧头为0x13、0xEC,以便检测是否得到正确的数据帧,首先检测第一位数据,判断是否是0x13(若不是0x13则抛弃此帧数据,重新接受)。然后依次获取本帧的另外9Bytes控制字数据,都符合要求后,送往AMBE-1000的解码器。其接收数据流程图如图3-18所示。图3-18语音芯片AMBE接收数据流程图Fig.3-18AMBEvoicechiptoreceivedataflowdiagram当轿厢机系统正常工作,并且接收到来自控制台的通话申请求或者向控制台发出请求通话的时候,系统进入语音数据处理子程序。在语音数据处理程序中,系统在编/解码语音数据的同时,还要周期性的间隔时间让语音数据停止发送,让中继站在此期间接收并向控制台发送其他轿厢的运行状态等信息,具体流程图如图3-19所示。数据传输中断标志来自于轿厢机系统的周期定时器中断,为保证各个定时器中断在同一时间产生,中继站系统在上电后会给所有轿厢机发送一个同步信号,当接收到同步信号以后,轿厢机开启定时器且定时周期相同,在一定的周期内向控制台发送轿厢机运行状态信息。本设计的周期定时器每5s产生一次中断,每次中断子程序执行时间仅2ms,在接收端有Flash存储,不会使语音信号失真。具体的中继站同步信号产生将在中继站软件设计中59 介绍。图3-19语音处理子程序Fig.3-19Speechprocessingsubroutine59 4中继站系统设计4.1中继站结构设计中继站是控制台的外置设备,通过CAN总线与控制台相连接。中继站就是作为控制台与轿厢机的中转站,进行数据传递与交换。轿厢机通过无线模块发送语音与报文数据,中继站将接收的无线数据通过CAN总线传递给控制台,或者通过CAN总线接收控制台发出的数据与命令,同时通过无线模块将接收到的数据通过无线模块发送给轿厢机。中继站结构图如图4-1所示。图4-1中继站结构Fig.4-1Compositionofthebasestationsystem4.2中继站系统硬件的设计中继站使用和轿厢机机一样的单片机,其中单片机采用独立设计的方式,与系统采用插接方式连接,当与轿厢机系统连接时,写入轿厢机运行程序与对应的轿厢地址,当与中继站连接时,写入中继站的运行程序与中继站的对应地址,但单片机的外围电路是不同的,每个引脚在不同的系统中所配置的功能是不同的,其对应的寄存器进行的配置也是完全不同的,因此不能将轿厢机、中继站。控制台的单片机互换,尤其是主控制程序对应不同的系统。4.2.1中继站CAN总线模块电路本设计主要通过CAN总线与控制台进行通讯,物理层的CAN总线是通过PCA82C250芯片来实现的,具体电路接法如图4-2所示,在PCA82C250芯片与单片机之间接入6N137光耦隔离芯片,主要是将数字信号与电路进行隔离,以免产生干扰,减少误码率。在数据通讯中,计算机网络以及分布式工业控制系统中,经常需要使用串行口59 通信来实现数据交换与和传输。目前,有RS-232、RS-485、CAN几种接口标准用于串行通信。RS-232是最早的串行接口标准,在短距离(<15M),较低波特率串行通讯当中得到了广泛应用。其后针对RS-232接口标准的通信距离短,波特率比较低的状况,在RS-232接口标准的基础上又提出了RS-422接口标准,RS-485接口标准来克服这些缺陷,但RS-485总线的抗干扰能力与传输速度都不如CAN总线强。下面详细介绍CAN接口标准。图4-2PCA82C250标准电路Fig.4-2PCA82C250standardcircuitCAN总线由单一通道组成,借助数据再同步实现信息传输。CAN技术规范中没有规定物理通道的具体实现方法,物理层可以是单线(加地线)、两条差分线、光纤等。实际上大多数使用双绞线,利用差分法进行信号表达,它是一种半双工通信方式。CAN总线上用显性和隐性分别表达逻辑0和逻辑1。若不同控制器同时向总线发送逻辑0和逻辑1时,总线上出现逻辑0(相当于逻辑与的关系)。物理上,现行的CAN总线大多使用二线制作为物理传输介质,使用差分电压表达逻辑0和逻辑1。两条信号线分别被称为CAN_H和CAN_L。在隐性状态(即逻辑1)时,和被固定在平均电压2.5V左右电压差()近似于0。在显性状态(即逻辑0)时,比高,此时通常,,电压差()在2V左右。在总线空闲或隐性位期间,发送隐性位。59 图4-3数据保护电路Fig.4-3Dataprotectioncircuit如图4-3所示,为输出前将数据与外部连接电路用光电耦合器6N137,将数据进行耦合,避免系统电路与外部电路的直接接触,增加了系统的稳定性,同时也保证了数据传输过程中发送与接收都按照同一结构进行。控制器局域网(ControllerAreaNetwork,CAN),最早出现于20世纪80年代末,是德国Bosch公司为简化汽车电子中信号传输方式并减少日益增加的信号线而提出的。CAN总线是一个单一的网络总线,所有的外围器件都可以挂接在该总线上。1991年9月Bosch公司制定并发布了CAN技术规范Version2.0。为促进CAN技术的发展,1992年在欧洲成立了CiA。在CiA的努力推广下,CAN技术在汽车电子、电梯控制、安全监控、医疗仪器、船舶运输等方面均得到了广泛的应用,目前已经成为国际上应用最广泛的现场总线之一。在CAN技术未得到广泛应用之前,在测控领域的通信方式选择中,大多数设计者采用RS-485作为通信总线。但RS-485存在明显的缺点:一主多从、无冗余;数据通信为命令响应,传输率低;错误处理能力弱。而CAN总线技术可以克服这些缺点。CAN网络上的任何一个节点均可作为主节点主动地与其他节点交换数据;CAN网络节点的信息帧可以分出优先级,这为有时实性要求的控制提供了方便;CAN的物理层及数据链路层有独特的设计技术,使其在抗干扰以及错误检测等方面的性能大大提高。CAN的上述特点使其成为诸多工业车库领域中首选的现场总线。4.2.2中继站无线通讯模块电路中继站中使用和轿厢机一样的无线通讯模块,NRF24L01+无线模块,此处不再赘述。59 4.2.3中继站电源电路图4-4中继站电源电路Fig.4-4Nodepowersupplycircuit中继站系统的电源设计和轿厢机的电源电路主体是相同的,不同的只有两点:1、轿厢机是由电池供给稳压芯片电压的,而中继站是直接由220V交流电经过变压器变压(220V~12V)、整流桥整流、阻容滤波后得到的+12V电压供给稳压芯片的;2、光电耦合6N137要想完全的隔离,必须将输入与输出的电源也分开(即分开供电),否则不能完全隔离,所以要有两个+5V稳压电路。图4-4为中继站电源电路。与轿厢机相似,中继站的电源设有+5V和+3.3V两种电压值,分别为单片机、语音模块、CAN总线物理层模以及无线模块供电。4.3中继站系统主程序设计如图4-5所示,单片机在完成相应的初始化部分程序之后就进入while主循环开始执行检测与数据处理。单片机时刻检测和CAN总线上接收的数据,当接收到新数据时,便开始执行相应的数据处理。由于数据的来源与内容不同,所以处理数据的方式相应的不同。当接收到CAN总线上的数据时,相应的格式转变之后,通过无线模块将数据发送给对应地址的轿厢机。当接收到无线数据时,相应的格式转变之后,通过CAN总线将数据发送给控制台。中继站主程序流程如图4-5所示59 图4-5主程序流程图Fig.4-5Mainprogramflowchartofbasestationsystem4.3.1中继站无线通讯模块软件设计无线通讯模块的初始化包括上电复位以及各个寄存器的配置,而各寄存器的配置又包括频率合成寄存器、频率控制字寄存器、信道数、频率控制词寄存器、调制解调器配置寄存器、主通信控制状态机配置寄存器、频率偏移补偿配置寄存器、AGC控制寄存器、电磁波激活控制寄存器、前末端RX配置寄存器、前末端TX配置寄存器、频率合成器校准寄存器、RC振荡器配置寄存器、频率合成器校准控制寄存器,通过配置各寄存器完成对NRF24L01+的初始操作,随后只要将要传输的数据传输给数据寄存器即可,接收数据的时候只要读取相应的数据寄存器内的数据即可。图4-6为无线通讯模块程序流程图。当初始化NRF24L01+成功之后,即进入判断状态,单片机首先判断进入收或发状态,若单片机进入接收状态,接收特定的验证码后,返回对应的特定的验证码,通知发送机接收机已经准备好进入接收状态了,即开始接收数据,将相应的寄存器清空,准备进入下一个数据的接收,然后依然进入读取数据的状态,接收完数据后,对接收的数据进行数据处理,只需执行相应的数据处理子程序,但需要注意的是,接收数据过程是在中断中执行的,在进入中断服务程序内,执行相应的接收子程序。若单片机进入发送状态,与接收状态相同,首先发送一段特定的验证码,通知接收机即将发送数据,若收到接收机返回的特定的验证码,单片机进入发送状态,开始发送数据,然后通过返回值可以判断本次发送59 数据是否成功。图4-6NRF24L01程序流程图Fig.4-6ProgramflowdiagramofNRF24L01无线数据的发送采用的是缓冲发送模式:使用媒介访问控制层数字格式和短地址发送一个信息包。使能发送,当信道评估显示信道空闲时,使能校准然后发送;当没有字节写入,TXFIF0缓冲器发出下溢指示状态位和下溢脉冲,发送自动停止。CTRL1.TXESMODE=0;STX0N使能发送;STXONCCA信道估计显示信道空闲,使能校准然后发送;SFLUSHTX当没有字节写入,TXFIFO缓冲器发出下溢脉冲;TXCTL=0XAOFF发射最大电流为1.72mA。59 5控制台系统设计5.1控制台系统结构设计控制台是用来完成调度人员与轿厢内的工人进行语音通话和实现实时监控功能,同时控制台与中继站都是CAN总线上的外置设备,包含了语音模块,显示模块,Flash模块和CAN总线模块,单片机仍然选择Freescale公司的MK60DN512ZVLQ10微处理控制芯片。控制台系统组成如图5-1所示。图5-1控制台组成Fig.5-1Mastercontrolroomsystemcomponents控制台系统各部分的关系如图5-2所示。控制台在工作过程中,通过CAN总线与中继站相连并通过中继站的无线模块将数据发送给轿厢机,同样的,控制台也是通过中继站来接收轿厢机传来的的数据,完成双向数据传输。图5-2控制台功能结构图Fig.5-2Mastercontrolroomsystemfunctionstructure在OLED显示模块中,调度人员可以通过显示屏来查看主控对象的工作状态和59 当前通话车厢的编号,保证正常的通讯。组态王显示模块还可用来设置系统的工作方式,即调度人员要语音通讯时就通过按键来选择是一对一通话,或是广播消息使车厢里的工作人员完成相应的操作。在工作的过程中,控制台系统的全部工作都是在单片机的控制下协调工作的。5.2控制台系统硬件设计5.2.1控制台主控制器电路控制台的主控电路同样选用MK60DN512ZVLQ10做为主控芯片。5.2.2控制台语音处理模块电路控制台的语音处理模块与轿厢机的语音处理模块均采用AMBE-1000,完全一样如图5-3所示,电路也基本相同,在此就不再重复叙述。59 图5-3语音模块Fig.5-3Voicemodule5.2.3控制台显示模块本设计的控制台显示模块用来显示轿厢内乘坐的人员数量情况以及轿厢的运行状态。采用OLED作为显示模块。使用OLED来显示信息要比数码管显示信息好得多,不需要像数码管一样去扫描操作,大大减轻了单片机的负荷,不仅可以显示文字数字,还可以显示图形等信息。OLED显示模块,由于其本身没有字库,在程序中必须加入字库所要用到字符代码,也可以自己生成。OLED中的每个字符可由8×6个点阵组成,每一屏可以显示15×459 一共是60个字符。该模块使用3.3V电压供电,功耗较小,亮度高。图5-4为OLED的接口电路。图5-4OLED模块接口Fig.5-4OLEDmoduleinterface5.2.4控制台键盘模块设计控制台的键盘模块同样使用和轿厢机一样的编码键盘,如图5-5所示。其功能是用来选择与指定的轿厢机通讯,用户通过键盘输入指定的轿厢地址即可与对应的轿厢建立通讯。图5-5编码式键盘Fig.5-5codingkeyboard5.2.5控制台CAN总线模块电路控制台通过CAN总线与中继站通讯,用于接收由轿厢机发来的数据。控制台的59 CAN接收器模块电路与中继站相同,如图5-6所示。图5-6CAN通讯模块Fig.5-6CANcommunicationmodule5.2.6控制台电源模块电路控制台系统的电源设计和轿厢机的电源电路主体是相同的,不同的只有两点:1、轿厢机是由电池供给稳压芯片电压的,而中继站是直接由220V交流电经过变压器变压(220V~12V)、整流桥整流、阻容滤波后得到的+12V电压供给稳压芯片的;2、光电耦合6N137要想完全的隔离,必须将输入与输出的电源也分开(即分开供电),否则不能完全隔离,所以要有两个+5V稳压电路。图5-7为中继站电源电路。与轿厢机相似,控制台系统的电源设有+5V和+3.3V两种电压值,分别为单片机、语音模块、CAN总线物理层模以及OLED显示模块显示。图5-7控制台电源电路Fig.5-7Nodepowersupplycircuit59 5.3控制台系统软件设计5.3.1控制台软件主程序设计图5-8控制台软件主程序流程图Fig.5-8ThePCsoftwareflowchartofmainprogram虽然控制台的硬件方面和轿厢机和中继站较为相似,但中继站的软件与前两者相比要复杂的多,由于控制台除了要和特定地址的轿厢进行语音通讯和数据传输外,还要实时监控其余轿厢的运行情况,因此数据处理方面才是控制台软件设计的重点。如图5-8所示为中控台主程序流程图。5.3.2控制台数据处理子程序为了使整个系统能够有条不紊的运行,本系统设定了一个系统周期和同步信号,来使整个系统按照同样的时钟进行。当整个系统上电后,首先由控制台给中继站发送一个同步信号1,使整个系统的时钟同步,中继站收到后给控制台和轿厢机发送同步信号2,中继站开始系统周期,轿厢机和控制台待接收到同步信号2后进入系统周期。为了消除系统各部分由于发送时间导致的周期误差,控制台会定期重新发送同步信号,以矫正系统周期。在数据处理方面,控制台要接收语音数据、播放语音数据、接收报文信息,两组数据59 在系统周期下以特定的时序向控制台发送,控制台执行相应的数据处理。如图5-9所示为控制台数据处理子程序流程图。图5-9控制台数据处理子程序Fig.5-9DataprocessingsubroutineflowchartofPC59 6硬件抗干扰设计在电路设计系统中,为了少走弯路和节省时间,应尽量思考并且满足抗干扰性能,为了避免在设计完成后出现问题而不知所措,而再去检查补救,因为本设计是对矿井环境而设计的,现场环境干扰较多,对系统的电磁干扰较大,需要加大系统的电磁兼容性[16]。形成干扰的基本要素有三个:1)干扰源,是对系统产生干扰的设备或信号,用数学语言表述:du/dt,di/dt即电压和电流的变化,就是干扰源。例如:雷击、继电器开断、可控硅的通断、电机旋转产生的电磁干扰、高频时钟都可能成为干扰源。2)传播路径,指干扰从干扰源传播到抗干扰能力弱器件的通路或媒介。典型的干扰传播路径是传导耦合方式和辐射耦合方式。3)敏感器件,指容易被干扰的对象。如:A/D-D/A转换器、单片机、MIC信号采集器、弱信号放大器等。6.1抗干扰设计基本原则1.抑制干扰源;2.切断干扰传播途径;3.提高敏感器件的抗干扰性能。抑制干扰源的原理就是尽量抑制电压或者电流的变化率。这是抑制干扰的方法中最优也是最重要的方法,通常可以事半功倍,减小干扰。减小干扰源的电压变化率通常是在干扰源的两极并联电容,电容有阻碍电压变化作用。抑制干扰源的通常方法是对电路板上的每个器件都要并联一个0.01uF~0.1uF的高频电容,以减小元器件工作时对电源的影响。应注意高频电容的布线,连接应靠近电源端尽量加粗并且要使导线短些,不然,等效于增大了串联在电容上的电阻值,会影响滤波效果,降低抗干扰能力。本系统的所有元器件模块都使用了并联高频电容的方法以减少干扰。6.2干扰种类及解决方法按干扰传播路径可分为传导干扰和辐射干扰两类。所谓传导干扰是指通过导线传播到敏感器件的干扰。高频干扰噪声和有用信号的频带不同,所以可以在导线上加入滤波器,将高频干扰噪声在传播时就消除,有时也可以加入光耦进行隔离。电源存在的噪声危害非常大,对电源的滤波非常重要。所谓辐射干扰是指通过空间辐射传播到元器件的干扰。一般对敏感器件用隔离罩连接地线进行隔离或者59 增加干扰源与敏感器件的距离。切断干扰传播路径的常用措施如下:1)首先考虑电源干扰对单片机有什么负面影响。电源的干扰降低了,整个电路的抗干扰能力就提升了一个等级。电源噪声对单片机的影响很大,因此单片机需要在电源处加入滤波器,以便减小电源波动对单片机的影响。比如:可以利用磁珠和电容组成π型滤波电路,当然条件要求不高是也可用100Ω电阻代替磁珠。2)如果用单片机的I/O口控制电机等高噪声器件,在I/O口与高噪声器件之间加入光耦隔离(增加π型滤波电路)。3)电路板的设计合理化,强/弱信号、高/低频率信号、数字/模拟信号,合理分不能过近。4)用地线把数字信号与模拟信号隔离,数字地与模拟地不可以直接连接,最后通过电容相连接。A/D-D/A芯片也需要注意模拟地和数字地的连接。5)单片机和其他的大功率器件要分开共地,以较少大功率器件对单片机产生干扰。6.3提高敏感器件的抗干扰性能提高敏感器件的抗干扰性能是指从敏感器件这边考虑尽量减少对干扰噪声的拾取,以及从不正常状态尽快恢复的方法。提高敏感器件抗干扰性能的常用措施如下:1)在电路板布线时应减少通路形成回环的面积,减少噪声。2)单片机没有用到的I/O口不能悬空,应该内部配置高阻态。3)在满足设计要求的前提下,尽量减小单片机的倍频,可以增加单片机的稳定性。4)元器件直接焊在电路板上,尽量不用插座。59 7技术与经济分析系统的技术分析的目的就是确定所设计的系统是否有价值投入生产。当然,我们设计系统的目的就是投入使用,故需要考虑实际情况。因此必与系统的运行环境、开发成本、系统运行成本、机械损耗、机器维护工作等方面。一个系统的生产背景,就是其运行环境,依据运行环境研发的系统才可以与实际情况相符。在系统设计前,一定得整体对架空人车的优点与不足进行了解,才能更好地设计好本系统。在设计开始阶段,我搜集了大量的资料与文献,总结了架空人车的现状和存在的不足,相应的对系统进行改进,增加系统安全。根据矿山井下煤矿生产中工人上下井过程中遇到的问题,应用了物联网技术研究了本矿山井下架空人车通讯系统有效解决有线监控系统中经常遇到的线路磨损,漏电,断路等问题,大大提高了设备维护周期,增长了设备的使用寿命,降低了维护费用,提高煤矿生产的经济效益。本次设计可以实现控制室与车厢内的工作人员进行语音通讯,控制室可以通过控制台监测架空人车的运行情况以及车厢内的人员情况。设计的最终目的在于为煤矿的安全生产提供一定的保障措施,降低煤矿事故发生的可能性,从而提高煤矿生产的社会效益。59 8结论煤矿开采的燃煤,是国家极为重要的资源,无论是民用取暖还是火电站发电,都是需要大量的燃煤。因此矿井的安全开采极为重要,关乎着人民安全的重要性和社会的和谐稳定性。随着我们国家不断地进步,经济飞速发展,人民的生活水平逐渐提高,因此,安全生产也被提到了第一位。我国时有煤矿事故发生,造成了重大的经济损失和人员伤亡,因此“安全第一”的原则为首要原则。因此本设计针对矿井遇到的实际问题做出了解决方案,深入研究了有线讯息传输的缺点,将无线物联网的思想应用到了本设计之中,经济实用,解决了轿厢在长期运行过程遇到的线路磨损老化等损耗,减少故障出现的几率。本设计方案将轿厢、和控制台通过无线连接起来,由于无线信号直接传输距离不会太远,所以需要中继站去中转信号,因此将本设计分为:控制台、中继站、轿厢机三个部分。将控制模块与无线通讯模块相互协调,各个分系统互相通讯完成对架空人车的监控和通讯。最终系统可以通过控制台观察到架空人车的运行情况是否正常、轿厢内人员数量并且可以和轿厢内的人员进行语音通讯,还可以播放固定的语音讯息,如安全事项、通知、音乐等。由于水平很有限,资料查询的也不够详尽,本设计中仍然存在着一些不足之处,比如无线通讯的模块选择,总线的选择,程序时序仍需要进改进。另外,本设计的系统需还有扩展功能的空间,可以在后续对轿厢内的人员进行视频监控等功能,以及对轿厢机正常运行时的电压、电流等重要信息的监控,确保系统正常运行。59 致谢离校日期已日趋临近,毕业论文的完成也随之进入了尾声。从开始进入课题到论文的顺利完成,一直都离不开老师、同学、朋友给我热情的帮助,在这里请接受我诚挚的谢意!本学位论文是在我的指导老师的亲切关怀与细心指导下完成的。从课题的选择到论文的最终完成,张老师始终都给予了细心的指导和不懈的支持,并且在耐心指导论文之余,张老师仍不忘拓展我们的专业知识,让我对本专业有了更深一步的认识。张老师对学生认真负责,在他的身上,我们可以感受到一个学者的严谨和务实,这些都让我们受益菲浅,并且将终生受用无穷。毕竟“经师易得,人师难求”,希望借此机会向张老师表示最衷心的感谢!写了三个多月的论文终于要交稿了,虽然不是什么深奥的研究,却也是颇费脑力和体力,经受难题煎熬的过程,终于能够完成初稿,确实不易,要感谢的人很多,就将我的致谢部分贴到这里来表达感激之情。屈指算来,寒窗苦读已然十九载,撰写完成本文,学生时代也即将走完。十九年来,得之于人者太多,而出之于己者太少,一切感激都尽在不言中。参考文献[1]李庆华.大水位差港口客运缆车监控系统研究[D].武汉理工大学:武汉理工大学,200559 [2]程颖.无线通信远程监护系统研究[D].中南大学:中南大学,2003.[3]边红昌.基于DSP和ZigBee的智能设备无线语音控制系统设计[D].吉林大学:吉林大学,2007.[4]沈梁,王鑫荣,陈文召.蓝牙技术原理与技术综述[J].无线电工程,2001,(9):42~44.[5]齐峰.基于GPRS无线通讯的电涡流式涡轮流量计的研究[D].天津大学:天津大学,2008.[6]姜海燕.煤矿斜井安防综合监控系统的研究[D].山东科技大学:山东科技大学,2007.[7]郭刚.AMBE-1000语音编码-解码器芯片及其应用[J].国外电子元器件,2001,(03):12~13.[8]林水明,章坚武.AMBE-1000在语音压缩中的应用[J].单片机与嵌入式系统应用,2004,(03):50~51.[9]李芳芳.基于MODBUS协议的人机接口通信研究[D].长安大学:长安大学,2009.[10]孙维明,石江宏,陈岳林.可编程RF收发器CC1100的原理及开发[J].国外电子元器件,2007,(09):11~13.[11]徐维昌.基于CC1100的无线传感器网络MAC协议设计与实现[D].哈尔滨工业大学,2008.[12]潘旭兵,林中.基于CC1100的无线手持终端的设计[J].电子技术应用,2007,(10).[13]高潮,刘安厚,郭永彩.基于多种传输技术的电梯远程监控系统[J].计算机系统应用,2009,(11).[14]王道俊.基于CAN总线的语音信息发布系统设计与实现[D].中国优秀硕士学位论文全文数据库,2009,(05).[15]SamM.KeeneandJeffreyBCarruthersCollisionLocalizationforIEEE802.11WirelessLANs[J].InformationInfrastructureSymposiumVolume54,15August2010.[16]田裕康.单片机抗干扰设计技术[J].仪器仪表用户,2003,(3):22~25.附录A译文AMBE-1000用户手册1概述59 根据对语音构成的分析,应运而生了多种对音频信号的压缩编码算法,如CELP、RELP、VSELP、MP-MLQ、LPC-10、MBE等,它们通过不同的算法,实现对音频信号的压缩。这些压缩编码算法的压缩率、语音质量各有所长,其中美国DVSI(DigitalVoiceSystemInc)公司提出的先进多带激励AMBE(AdvancedMulti-BandExcitation)压缩编码算法是其中的杰出代表。AMBE是基于MBE技术的低比特率、高质量语音压缩算法,具有语音音质好和编码速率低等优点,AMBE-1000是一款高性能多速率语音编码/解码芯片,语音编码解码速率可以在2400~9600bps之间以50bits的间隔变化,即使在2400bps的时候,仍能保持自然的声音质量和语音可懂度。在芯片内部有相互独立的语音编码单元和解码单元,可同时完成语音的编码和解码任务。并且所有的编码和解码操作都能在芯片内部完成,不需要额外的存储器。这些特性使它非常适合于数字语音通信、语音存储以及其它需要对语音进行数字处理的场合。2AMBE-1000应用设计的概述2.1基本操作AMBE-1000最基本的组成部分就是一个编码器和一个解码器,两者相互独立。编码器接收8KHZ采样的语音数据流(16bit线性,8bitA律,8bitu律)并以一定的速率输出信道数据。相反,解码器接收信道数据并合成语音数据流。编码器和解码器接口的时序是完全异步的。AMBE-1000采用A/D-D/A芯片作为语音信号的接口。输入输出的语音数据流的格式必须是相同的(16bit线性的,8bitA律,8bitu律),信道接口采用8位或16位的微控制器。芯片可选择的功能包括回声抵消,VAD(语音激活检测),电源模式,数据/前向纠错率的选择等,这些功能由外围管脚或输入到解码器的命令帧来决定。送往解码器用于控制的数据和语音数据是不同的,这将在第4章进行详述。2.2设计需要考虑的事项59 lA/D-D/A芯片的选择l信道接口的选择l语音速率和前向纠错率的选择2.2.1A/D-D/A概述A/D-D/A芯片的选择对所设计的系统的声音质量起着关键的作用。由于A律或u律压扩芯片在采样时对数据做了压缩以减少位数,为了声音质量的考虑,建议采用16位线性的芯片。选择芯片时要特别注意信噪比以及滤波器的频率响应特性。A/D-D/A的硬件接口是很灵活的。时钟和激励信号可以由外部送入也可以由内部产生。给可编程A/D-D/A发送控制字需要一个额外的接口。第5章将详细介绍A/D-D/A。2.2.2信道接口概述信道接口使芯片易于集成到设计的系统中。基本的信道接口包括串口和并口,它们都能工作于主动模式和被动模式,模式选择的控制信号可以由芯片内部给出也可以从外部送入。常规操作时,每20ms编码器输出一帧编码过的数据,解码器需接收到这样的数据。编码器和解码器的数据需要格式化,格式化的主要目的就是为编码数据流提供对齐信息。数据的格式包括帧格式和非帧格式。并口模式只工作于帧格式,串口模式既可工作于帧格式也可工作于非帧格式。帧格式和非帧格式将在第4章中详细介绍。两种格式都是为了实现相同的功能:为编码数据流提供定位信息。工作于帧格式时,每20ms由编码器送出一帧数据,该帧数据有固定的结构,其中包含了用于本地控制的状态标志位。实际上按一定波特率的编码数据才是帧格式中需要在信道间传送的语音数据。帧格式下,系统需要在传送编码数据的同时传送足够的信息,这些信息用于在解码器端重构语音数据流。这些信息可以很具体,但至少要满足用于重构的要求。非帧格式下,编码器的输出数据可以认为是连续的声音数据流,这些编码数据中包含了帧的信息。这种格式的优点是不会为信道加重带宽的负载。缺点是解码器在合成语音波形前需要接收10-12帧的数据才能达到与数据流同步的目的。同时,非帧格式下,每帧只指定一位用于数据的对齐,在更高误码率的信道中,需要增加更多的对齐位才能达到更高的性能(用帧格式就能很容易实现)。59 当工作于帧格式时,信道数据的接口可以是串行的也可以时并行的。而非帧格式只局限于串行。另外帧格式使芯片既可以工作于主动模式也可以工作于被动模式,而非帧格式只能工作于被动模式。并口和串口既可以工作于主动模式也可以工作于被动模式。2.2.3语音速率和前向纠错(FEC)速率的选择总的编码数据由两部分组成:语音数据和前向纠错数据。前向纠错数据加到语音数据中使解码器能够纠正一定量的错误而使数据帧不至于报废。如果信道传输时可能存在较多的错误,那么就应当增加前向纠错数据的位数。当然声音要达到高质量的话就必须有更多的语音数据位。3信道接口3.1概述信道接口是个通用术语,用于表示压缩的数据从编码器出来通过一个接口送到解码器,该接口就是信道接口。信道接口也用于编码器和解码器输出状态信息,比如是否检测到双音多频(DTMF),或者解码器是否检测到合成后的静音帧。其实信道接口通常在编解码器两端执行更为复杂的控制操作(比如在启动时)。这些控制功能包括语音数据和前向纠错速率的选择以及A/D-D/A芯片的配置。需要注意的是,不是所有的来自AMBE-1000的数据都要通过信道传送的。比如状态位通常都只在本端起作用。在大多数的声音传输系统中,实际编码数据位从信道的数据帧中取出,与系统信息一起在传输通道中传送,在接收端,编码数据位又被取出,由解码器合成语音。这个部分将首先介绍两种主要的信道接口:并口和串口,以及它们的信号和时序。第四章将介绍数据帧的格式,包括命令帧等。3.2并口/串口的配置信道接口的硬件接口部分就是串口或者并口,管脚CH_SEL[2-0]的配置将决定使用哪种接口,见表3-A。接口选择管脚CHP_WRNCHP_RDNCHS_ICLKCHS_OCLK语音数据字的位数CH_SE2(98脚)CH_SEL1(99脚)CH_SEL0(2脚)端口模式数据格式59 000并行被动帧格式InN/AN/AN/A001并行主动帧格式OutN/AN/AN/A010串行主动帧格式N/AInOutN/A011串行被动帧格式N/AInInN/A100串行被动非帧格式N/AInIn1101串行被动非帧格式N/AInIn2110串行被动非帧格式N/AInIn3111串行被动非帧格式N/AInIn4表3-A并口、串口工作配置选择并口的话,那么信道数据传输时将有8位宽。并口包括主动和被动两种工作模式。主动和被动是指激励信号是由本芯片给出,还是由外部模块送入。并口模式只存在于帧格式下。3.3节将有并口的详细介绍。选择串口的话,每次读写信号将输入、输出16位的数据字。串口可以存在于帧格式下也可以存在于非帧格式下。串口帧格式可以配置时钟信号为输入信号或者输出信号。非帧格式下,串口仍然每次传输16位的数据字,但是每字中字包含1-4位声音数据,3.4节将详细介绍串口。3.3并口模式表3-B的信号构成了并口的信道接口。要记住并口只存在于帧格式下。每20ms,帧格式包含272位(34字节)的编码器输出数据,并送到解码器。也就是说每20ms并口将分别执行34次读写操作。并口与任何时钟都是异步的。表3-B并口管脚说明59 管脚符号方向管脚号描述EPROUT46编码器包准备好:每20ms,该输出信号变高一次,用于指示编码器将有一帧数据输出。在第一次读操作后(CHP_RDN),该信号变低。DPEOUT47解码器包空:每20ms,该输出信号变高一次,用于指示解码器已准备好接收下一帧数据。在第一次写操作后(CHP_WRN),该信号变低。CHP_RDNIN/OUT64读选通:在主动模式,该信号为输出,其上升沿表示从AMBE-1000输出的数据应被锁存;在被动模式,该信号由外部输入,在下降沿将数据锁存到总线上。(从AMBE-100读数据)CHP_WRNIN/OUT65写选通:在主动模式,该信号为输出,其下降沿表示外部硬件应将数据值送到总线上;在被动模式,该信号由外部输入。在两种模式下,AMBE-1000都在信号的上升沿锁存数据。(往AMBE-1000写数据)CHP_OBEOUT61输出缓冲区空:在每一次读操作(CHP_RDN)后,该信号变高;一旦端口有数据准备被读,该信号变低。如果读操作(CHP_RDN)间隔有至少350个时钟(CLK_I)周期,那么可以忽略CHP_OBE。CHP_IBFOUT63输入缓冲区满:在每一次写操作(CHP_WRN)后,该信号变高;当端口准备好被写时,该信号变低。如果写操作(CHP_WRN)间隔有至少350个时钟(CLK_I)周期,那么可以忽略CHP_IBF。CHP_SEL1IN68并口选择1:在被动模式,通过10K电阻接地;在主动模式,该管脚为输出,可以不管。59 CHP_SEL2IN69并口选择2:在被动模式,该管脚为并口使能,低有效。当CHP_SEL2为高时,AMBE-1000忽略CHP_WRN和CHP_RDN管脚的活动。正常情况下,通过10K电阻接地。在主动模式下,该管脚为输出,可以不管。CHP_D7I/O52数据总线7CHP_D6I/O53数据总线6CHP_D5I/O54数据总线5CHP_D4I/O55数据总线4CHP_D3I/O57数据总线3CHP_D2I/O58数据总线2CHP_D1I/O59数据总线1CHP_D0I/O60数据总线03.4串行模式表3-G的信号构成了串行的信道接口。串行模式下AMBE-1000通过CHS_DI和CHS_DO输入、输出16位的数据字。串行模式下帧格式与非帧格式的选择由表3-A的设置决定。表3-G串口管脚说明管脚符号方向管脚号功能描述EPROut46编码器包准备好:每20ms,该输出信号变高一次,用于指示编码器将有一帧数据输出。在第一次读操作后(CHP_RDN),该信号变低。DPEOut47解码器包空:每20ms,该输出信号变高一次,用于指示解码器已准备好接收下一帧数据。在第一次写操作后(CHP_WRN),该信号变低。CHS_DIIn59串行数据输入:对应每一个CHS_I_STRB脉冲,有16位信道数据通过CHS_I_CLK同步时钟输入。59 CHS_I_CLKIn60串行输入时钟:在CHS_I_STRB有效后,CHS_DI在CHS_I_CLK的上升沿锁存。在主动模式,该管脚连接到CHS_O_CLK,其频率为CLK_I/6;在被动模式,该管脚上最大频率为CLK_I/2。CHS_I_STRBIn65数据输入选通:用于指示何时CHS_DI将通过CHS_I_CLK锁存。在被动模式,在CHS_I_STRB下降沿之后,CHS_DI的MSB将在第二个CHS_I_CLK的上升沿被锁存。在主动模式,在CHS_I_STRB下降沿之后,CHS_DI的MSB将在第一个CHS_I_CLK的上升沿被锁存。其他15位都在随后的CHS_I_CLK的上升沿被锁存。在主动模式,该管脚连接到CHS_SYNC。CHS_IBFOut63输入缓冲区满:当串口每次选通后串入16位数据,该信号变高;而当该信号变低时,表示串口又可以输入下一个16位数据。如果两次选通信号(CHS_I_STRB)的间隔不少于350个CLK_I,该信号可以忽略。CHS_DOOut68串行数据输出:对应每一个CHS_O_STRB脉冲,有16位信道数据通过CHS_O_CLK同步时钟输出。CHS_O_CLKI/O69串行输出时钟:在CHS_O_STRB有效后,CHS_DO在CHS_O_CLK的上升沿锁存。在主动模式,该管脚为输出,其频率为CLK_I/6;在被动模式,该管脚上最大频率为CLK_I/2。CHS_O_STRBIn64输出数据选通:用于指示何时CHS_DO将通过CHS_O_CLK锁存。在CHS_O_STRB下降沿之后,CHS_DO的MSB将在第一个CHS_O_CLK59 的上升沿输出到管脚,其他15位都在随后的CHS_O_CLK的上升沿输出。在主动模式,该管脚连接到CHS_SYNC。CHS_OBEOut61输出缓冲区空:在每次输出选通后,该信号变高;而当该信号变低时,表示可以输出下一个16位数据字。如果两次选通信号(CHS_I_STRB)的间隔不少于350个CLK_I,该信号可以忽略。CHS_SYNCOut67串行同步:在主动模式,该管脚用于驱动CHS_I_STRB和CHS_O_STRB,每次输出17个脉冲,每个间隔64个CHS_O_CLK长度。在被动模式,该管脚悬空。4.1节将会讲到串行帧格式下,编码器每20ms输出到译码器的一帧数据包含272个数据位。这意味着通过串口传输的话,每20ms需要执行17次的读写操作,每次16位(不论声音的编码率为多少)。串行非帧格式下,每20ms的读写次数是不同的,这取决与声音编码的波特率以及每个字包含的几个声音数据位。串口非帧格式只有被动模式,每帧最少的读写次数为12次:这可以通过以下的关系式计算出来{(最小波特率)/(每字包含的最多声音数据的位数)/(每秒50帧)=2400/4/50=12}。每帧最多的读写次数为192次{9600/1/50=192}。由于在输入缓冲器被写入或输出缓冲器被读出之后,CHS_IBF和CHS_OBE过多久被拉低有个时间的要求,所以数据输入输出AMBE-1000的速度将受此的限制。4信道数据格式信道接口用来接收来自编码器压缩过的数据并向解码器发送该数据,另外还能报告某些情况的发生,比如检测到一个双音多频;而且还能控制某些功能的选择,比如选择声音的编码率。这章将介绍这些功能的具体实现。两种数据格式中,帧格式既适用于串口也适用于并口,而非帧格式只适用于串口。通常,在59 AMBE-1000与信道的连接相对来讲比较直接,而且设计者想简化语音数据的提取时才使用到非帧格式。大多数情况下,当AMBE-1000与信道之间存在一个控制器时,在实现系统功能方面使用帧格式更为直观。4.1帧格式帧格式是由17个16位字组成的数据格式。每20ms编码器输出17个字,同样解码器将接收这17个字。输入输出的帧格式将在以下内容给予详细的介绍。头5个字由header,ID,status这3个部分组成。剩下的12个字由编码数据位组成。这12个字(192位)当且仅当AMBE-1000工作在9600bps时才全部代表声音数据,否则,未用到的数据位将由0填充(声音数据从最高位开始填充)。必须注意的是,即使在AMBE-1000不工作于9600bps时,全部的272位也都要被从编码器传输到解码器。4.2非帧串口格式在要求AMBE-1000与信道硬件之间粘和逻辑最少化时,非帧格式对信道数据是非常有用的。当要用更少的硬件资源来代替微控制器时,应该考虑选择使用非帧格式。这种格式的另外一个特点是帧信息嵌入到声音数据中(声音数据包含编码过bits的位置信息)。使用这种格式,设计者只需要传输编码过的数据。每帧中有一bit的帧信息位嵌在声音数据中。这样每秒就有50bit的数不能用来代表声音数据。比如非帧格式下系统工作在2450bps(无FEC)时,其效果就跟帧格式下系统工作在2400bps时一样。设计者也要考虑到解码器在输出同步的语音之前要花差不多15帧(300ms)的时间来同步输入的数据流。如果系统要求在静音的过程中关闭传输,并在有声音时返回的话,那么这种格式下所存在的300ms的延时对系统来讲是不能容忍的。这时候就要使用帧格式来满足这些高要求的功能。非帧格式也保持了输入控制帧的功能。非帧格式只存在与串口被动模式下,输入输出都是16bit的字。每字16bit的帧,如图3-L,只有一小部分用来传输编码过的数据。使用者选择每字传输1,2,3,4bits的声音数据。切记:声音编码率必须能被每字中声音数据的位数整除。5.A/D-D/A接口5.1A/D-D/A概述59 模拟语音信号与AMBE-1000芯片之间要通过A/D-D/A芯片来连接。A/D-D/A芯片的选择要慎重,最好要选16位线性的器件。另外也要考虑这些器件的信噪比和滤波特性。通常来讲,频率响应(20-2400HZ)越平坦,那么整个系统的声音效果就会越好。AMBE-1000与A/D或D/A接口的语音采样率都是8KHZ,这8KHZ的语音数据通过串口来输入输出。串口的控制信号可以完全由使用者来设定。最灵活的办法就是向解码器输入一帧ID=0x03的命令帧来设置这些控制信号,使用者可以对SIOC进行全部的配置。另外,如果使用的A/D-D/A芯片是可编程的(LucentCSP1027),那么编程信息也可以通过命令帧传送。为了简化A/D-D/A芯片的配置,一组预设的配置值可以通过管脚C_SEL[2-0]来配置。这些预设的配置值,指明了接口的方向以及可编程器件的程序字的顺序。如果所需要的程序字不在表5-A中那么可以通过发送ID=0x03的命令帧来发送这些程序字。5.1.1重要的命令包当使用预设值来配置A/D-D/A接口的话,必须要注意如果随后又发送了一帧ID=0x03的命令帧,那么新的配置将会覆盖硬件配置。5.2使用命令帧配置A/D-D/A接口A/D-D/A命令包让使用者能对A/D-D/A接口进行全部功能的配置(由于能完全控制AMBE-1000里的SIOC)。在许多的应用中,命令帧来配置通常是没必要的,因为通过管脚C_SEL[2-0]能配置大部分的标准配置。A/D-D/A命令帧还控制AMBE-1000其它的功能比如VAD使能和回声抵消使能。如果要配置这些功能那么A/D-D/A串口的接口信息应该跟之前保持一个连续性。也就是说,如果C_SEL[2-0]配置了接口,那么这些值在命令帧要被重复一次(即保持与C_SEL配置相同)。59 附录B外文文献原文AMBE-1000™VocoderChipUser’sManual1.ProductIntroduction1.1GeneralInformationDigitalVoiceSystemsInc.’sAMBE-1000™VocoderChipisanextremelyflexible,high-performance,singlechip,speechcompressioncoder.Itprovidessuperiorvoicequalityatlowdatarates.Itprovidesareal-time,full-dupleximplementationofthestandard-settingAMBEÒvoicecompressionsoftwarealgorithm.DVSI’spatentedAMBEvoicecompressiontechnologyhasbeenproventooutperformCELP,RELP,VSELP,MELP,ECELP,MP-MLQ,LPC-10,andothercompetitivetechnologies.Numerousevaluationshaveshownitsabilitytoprovideperformanceequaltotoday’sdigitalcellularsystemsatunderhalfthedatarate.TheAMBEvoicecompressionalgorithmisusedinapplicationsthroughouttheworld,includingthenextgenerationofdigitalmobilecommunicationsystems.TheAMBE-1000™VocoderchipprovidesahighdegreeofflexibilityinselectingthespeechandFEC(ForwardErrorCorrection)datarates.Theusercanseparatelyselecttheseparametersin50bpsincrementsfortotalratesfrom2.4kbpsto9.6kbps.Typicallyforhighererrorratechannels,theuserwillapportionagreaterpercentageofthetotalbitratetoFECcoding.TheAMBE-1000™voicecodermaintainsnaturalvoicequalityandspeechintelligibilityatratesaslowas2.4kbits/sec.TheAMBEalgorithm’slowcomplexityallowsittobefullyintegratedintoalowcost,lowpowerintegratedcircuit,theAMBE-1000™VocoderChip.2.AMBE™-1000ApplicationDesignOverview2.1BasicOperationInitssimplestmodel,theAMBE-1000™canbeviewedastwoseparatecomponents,theEncoderandtheDecoder.TheEncoderreceivesan8kHzsampledstreamofspeechdata(16-bitlinear,8-bitAlaw,or8-bitulaw)andoutputsastreamofchanneldataatthedesiredrate.71 ConverselytheDecoderreceivesastreamofchanneldataandsynthesizesastreamofspeechdata.ThetimingfortheinterfacesfortheAMBE-1000™EncoderandDecoderarefullyasynchronous.Figure2-ABasicOperationTypicallythespeechinterfaceisanexternalA/D-D/Achip.Theformatoftheincomingandoutgoingspeechdatastreamsarecoupled,thatistosaytheymustbethesameformat(16-bitlinear,8-bitAlaw,or8-bitmlaw).Thechannelinterfaceiscommonly(butnotlimitedto)an8or16bitmicroprocessororothersuitable‘gluelogic’hardwarecapableofperformingtherudimentaryformattingfunctionsbetweentheAMBE-1000™channelformatandtheformatofthesystemchannelunderdesign.Optionalfunctionsofthechip,suchasechocancellation,voiceactivation/detection,powermodecontrol,data/FECrateselection,etc.arecontrolledeitherthroughhardwarecontrolpins(seeSection6)and/orthroughthedecodercommandinterface.DatasentintothedecoderforfunctioncontrolpurposesisdistinguishedfromthedatatobedecodedintospeechthroughachannelformatwhichisdescribedinSection4.2.2InitialDesignConsiderationsSomeoftheinitialdesignconsiderationstheapplicationengineerwillfacearethefollowing:·ChoiceofA/D-D/Achip.·ChoiceofChannelInterface.·SpeechandFECRates.2.2.1A/D–D/AOverviewThechoiceoftheA/D-D/Achipiscriticaltodesigningasystemwithsuperiorvoicequality.GiventhatAlawandmlawcompandingchipsarealreadyincorporatingsomecompressionto71 reducethenumberofbitspersample,itisrecommendedthat,whenpossible,a16-bitlineardevicebeusedformaximumvoicequality.Whenchoosingadevice,payparticularattentiontoSignaltoNoiseratiosandFrequencyResponsesofanyfiltersthatmaybepresentontheanalogfrontendofthesechips.TheAlawandmlawinterfacesarealsoprovidedforthedesignengineerwhoistryingtofittopre-existingconditionsorisunderothercosttyperestraints.ThespecificsofthehardwareinterfacetotheA/D-D/Adataareflexible.ClockingandstrobesignalscanbeinternalorexternaltotheAMBE-1000™.Additionally,aninterfacetosend‘control’wordstoaprogrammableA/D-D/Aisprovided.ForafulldescriptionoftheA/D-D/AinterfaceseeSection5.2.2.2ChannelInterfaceOverviewThechannelinterfaceismeanttobeflexibletoallowforeasyintegrationwiththesystemunderdesign.Thebasichardwareunitoftheinterfaceiseitheraparallelportoraserialport.Bothparallelandserialmodescanruninpassiveoractivemodes.Simplystated,thecontrolsignalsforparallelandserialmodescanbederivedbytheAMBE-1000™chiportheycanbederivedexternally.Undernormaloperation,every20msectheencoderoutputsaframeofcodedbits,andthedecoderneedstobedeliveredaframeofcodedbits.Thereissomeformattingofthedataforboththeencoderandthedecoder.Theprimarypurposeoftheformattingistoprovidealignmentinformationfortheencodedbitstream.Thedatahastwoformats,FramedandUnframed(inpreviousversionsofthismanualthesemodescorrespondedtopacketizedandunformattedmodesrespectively).ParallelmoderunsexclusivelyinFramedmode.SerialmodecanrunineitherFramedorUnframedmode.TheFramedandUnframedmodesareexplainedinfulldetailinSection4,butessentiallythetwoformatsaretryingtoachievethesamefunction,toprovidepositionalinformationregardingtheoutgoingandincomingcodeddatastreams.InFramedmodeeach20msecsofoutputdatafromtheencoderisprecededbyaknownstructure.Thisstructurealsoembedssomestatustypeflags,meantforlocalcontrolpurposes,withinit.TheonlydatafromtheFramedformatthatistypicallysentacrossthetransmissionchannelunderdesignaretheactualencodedbitsatthe71 desiredrate.InFramedmode,itistheresponsibilityofthedesignedsystemtopassenoughinformationalongwiththeencodedbitssuchthattheFramedformatneededbythedecodercanbereconstructedontheotherside.Thisextrainformation,oroverhead,isgoingtobeveryspecifictothesystemunderdesign,butataminimumneedstopassenoughinformationtoreliablyreconstructthe20msecframestructureattheotherendforthedecoder.Inunframedmodethedatacomingoutoftheencodercanbethoughtofasacontinuousstreamofvoicedatawiththeframinginformationembeddedwithintheencodedbits.Oneadvantageofthistypeofset-upisthatthesystemdoesnothavetoaddanybandwidthforoverheadtothechannel.Thedisadvantageisthatthedecoderneeds10-12incomingframesinordertogainsynchronizationwiththedatastreambeforeitcanproperlysynthesizethespeechwaveform.Also,theunframedmodeonlycommitsasinglebitperframetomaintainingdataalignment.Inhighererrorratechannelstheperformancewillbeimprovedbyaddingmorebitsperframetothealignmentinformation(whichismoreeasilyperformedwhenusingFramedmode)WhenoperatinginFramedModetheinterfacetothechanneldatacanbeeitheraparallelorserialinterface.TheunframedModeislimitedtotheserialinterface.AdditionalflexibilityisgiventothechannelinterfacetotheencoderanddecoderbyallowingtheAMBE-1000™VocoderChiptoruninPassiveorActivemodes.InPassivemode,datastrobesareprovidedbyanexternalsource,whileinActivemode,datastrobesareprovidedbytheAMBE-1000™VocoderChip.BoththeparallelandserialinterfacescanberuninPassiveorActivemodes.SeeSection4forfulldetailsandtimingforbothparallelandserialmodesforFramedandUnframeddata.2.2.3SpeechandFECRateSelectionOverviewThetotalcodedbitrateisthesumoftwocomponents,theSpeechDataandtheForwardErrorCorrection(FEC)Data.TheadditionofFECdatatothespeechdataallowsthedecodertobeabletocorrectalimitedamountoferrorswithineachframeshouldtheyarrivecorrupted.IfthechannelisexpectedtohavemoreerrorsthenmorebitsshouldbededicatedtoFEC.Atthesametime,voicequalitywillincreaseifthenumberofspeechbitscanbemaximized.71 3.ChannelInterface3.1OverviewTheChannelInterfaceisthegeneraltermusedfortheinterfaceforthecompressedbitscomingfromtheencoderandthecompressedbitsgoingtothedecoder.ThissameinterfaceisalsousedtooutputstatusinformationfromtheencoderanddecodersuchaswhetheraDTMFtonehasjustbeendetectedinthespeechinput,orwhetherthedecoderhasdetectedandsynthesizedaframeofsilence.Additionally,thisinterfaceisusedtoperformmorecomplexcontroloperationsonboththeencoderanddecoder(usuallyatstart-up).Thesecontrolfunctionsincludespeechdata/FECratecontrolaswellasA/D-D/Achipconfiguration.ItisimportanttorealizethatnotalldatabeingoutputfromtheAMBE-1000isintendedfortransmissionoverthechannel.Statustypeofdataistypicallyonlyusefulatthe‘local’end.Inmostvoicetransmissionsystems,theactualencodedbitsareextractedfromthechannelformatting,combinedintothesystemstransmissionstream,sentoverthetransmissionpath,extractedfromthetransmissionpathatthereceivingend,andreassembledintotheAMBE-1000’schannelformatforsynthesisbythedecoder.Thissectionwillfirstoutlinethetwomainchannelinterfaces,parallelandserialandtheirrespectivesignalsandtiming.Section4willdiscusstheformatofthedatawhichistransferredwithinthesetwoconfigurationsincludingtheformattingofCommandFrames.3.2Parallelvs.SerialConfigurationSelectionThehardwareinterfacetotheChannelInterfaceisconfiguredaseitheraserialinterfaceoraparallelinterfacebasedexclusivelyonthehardwaresettingsofCH_SEL[2-0].SeeTable3-A.Selectionofoneoftheparallelmodesallowsall‘channeldata’transfers(includingthecontrolfunctions)tobeperformedonan8-bitwidebus.Thetwomodeswithinparallelmodeareactiveandpassive,andsimplyrefertothedirectionalityofthereadandwritestrobes.Parallelmodeisalwaysinframedmode.Seesection3.3forallthedetailsontheparallelinterface.Selectionofaserialmoderestrictsalltransferstooccurthroughaserialport.Theserialportinputsandoutputsa16bitwordforeverywriteandreadstrobesignalrespectively.Serialmode71 canbeframedorunframed.Tab.3-AChannelInterfaceSelectionTableTheserialframedmodecanconfigurethedirectionoftheoutputclocksignaltobeinputoroutputasshowninTable3-A.Withintheunframedmode,thedataisinputandoutputin16bitswordsstillbutwithonly1to4voicedatabitscarriedwithineachword.ThesefourconfigurationscanbeseeninTable3-A.Seesection3.4forallthedetailsontheserialinterface.3.3ParallelModeThesignalsinTable3-Bmakeuptheparallelchannelinterface.Rememberthatinparallelchannelmodetheonlyavailabledataformatisframed,asshowninTable3-A.Theframedformatconsistsof272bitsbeingoutputfromtheencoderandinputtothedecoderovereach20milliseconds.Thisimpliesthatinparallelmode,each20millisecondsthehardwareinterfacingtotheAMBE-1000hastoperform34readsand34writes,regardlessofthevoicecodingrate.Theparallelinterfacerunsasynchronouslytoanyclocks.Table3-BChannelParallelInterfacePinDescriptions71 3.4SerialModeThesignalsinTable3-Gmakeuptheserialchannelinterface.TheserialchannelmodetransfersdatainandoutoftheAMBE-1000™using16bitwordsonthetwodatalinesCHS_DIandCHS_DO.TheselectionoftheframedorunframedformatofthisdataismadeusinginformationinTable3-A.Asdescribedinsection4.1,theframedformatconsistsof272bitsbeingoutputfromtheencoderandinputtothedecoderovereach20milliseconds.Thisimpliesthatinserialmode,each20millisecondsthehardwareinterfacingtotheAMBE-1000willhavetoperform17readsand17writes,eachof16bits,regardlessofthevoicecodingrate.Inunframedmode,thenumberofreadsandwritesisvariabledependingonthevoicecodingbitrateselectedandthenumberofvoicedatabitsperwordasseeninTable3-A.Inunframedmode,whichisonlyselectableinpassivemode,theminimumnumberofreadsandwritesper71 framewouldbe12{(minimumbitrate),(maximumvoicedatabitsperword),(50framespersecond)=(2400),(4),(50)=12}.Themaximumnumberofreadsandwritesof192canbesimilarlycalculated{(9600),(1),(50)=192}.Tab.3-GChannelSerialInterfacePinDescriptionsThelimitationsonhowquicklythedatacanbetransferredinandoutoftheAMBE-1000™duringserialmodearegovernedbytherequirementtoallowCHS_IBFandCHS_OBEtoreturnlowaftertheinputbufferhasbeenwrittentoortheoutputbufferhasbeenread.Seesections3.4.2and3.4.3formoredetails.4.ChannelDataFormatThechannelinterfaceisresponsibleforoutputtingthecompresseddatafromtheencoder71 andinputtingcompresseddatatothedecoder.Inadditiontothesemostbasicfunctionsthechannelinterfaceisalsocapableofreportingcertainevents,suchasthedetectionofaDTMFtone.ThechannelinterfacecanalsocontrolcertainselectablefunctionsoftheAMBE-1000™,suchasthevoicecodingrate.ThischapterwilldescribehowtheAMBE-1000™usesthechannelinterfacetomultiplexthesecapabilities.Therearetwoformatstothedata,Framedwhichisavailableinbothparallelandserialmodes,andUnframed,whichisonlyavailableinserialmode.GenerallyspeakingtheUnframedmodeisusedonlywhentheconnectionbetweentheAMBE-1000™andthechannelunderdesignisrelativelydirect,andthedesignerwantstosimplifytheextractionoftherelevantvoicedata.Inmostcases,whenacontrollerispresentbetweentheAMBE-1000™andthechannel,thesystemdesignerwillfindthatusingtheFramedformatismorestraightforwardinimplementingthesystem.4.1FramedFormatTheFramedformatisa17bysixteen-bitwordformat.Every20millisecondstheencoderoutputs17words,andlikewisethedecoderexpectstoreceive17words.Theformatoftheinputandoutputframesaredetailedbelow.Thefirst5sixteenbitwordsaremadeupofheader,IDandstatusorcontrolinformation.Theremaining12sixteenbitwordsmakeuptheencodeddatabitfield.These12words,or192bits,willbefullypopulatedwithrelevantvoicedataonlywhentheAMBE-1000isoperatingina9600bpsmode(9600bits/sec,50frames/sec=192bits/frame).Otherwise,whenthedatarateislessthan9600bps,thecodedvoicebitsarefilledstartingfromtheMSBofthefirstwordinthefield,leavinganyunusedbitsaszeros.ItisimportanttonoteherethatevenwhentheAMBE-1000isoperatingatlessthan9600bps,all272bitsoftheFramedformat(includinganyunusedtrailingzeros)mustbetransferredoutoftheencoderandintothedecoder.4.2UnframedSerialFormatTheUnframedFormatforthechanneldataisusefulforapplicationswhichdesireminimalgluelogicbetweentheAMBE-1000™andthechannelhardware.Theuseofminimalhardwareinplaceofamicrocontrollercanberealizedusingthisdataformat.Anotherdistinctdifferencein71 thisdataformatisthatframinginformation(datawhichcarriesthepositionalinformationrelatingtothecodedbits)isembeddedintothedatastreamitself.Usingthisdataformat,thesystemdesignerneedonlytransferthecodeddataitself.Asinglebiteachframeisborrowedfromthevoicedatatoembedtheframinginformation.Keepinmindthatthis‘borrowed’bitreducestheeffectivevoicecodingratequalityby50bitspersecond.Forexample,asystemwithnoFECrunningat2450bpsinunframedmodewillsoundequivalenttoonerunningat2400bpsinframedmode.Thedesignershouldalsobeawarethatittakesapproximately15frames(300milliseconds)forthedecodertoattainsynchronizationwiththeincomingstreambeforeitcanoutputsynthesizedspeech.Systemswhichareattemptingtosavepowerbyshuttingdowntransmissionduringperiodsofsilence,andthenresumingduringperiodsofspeechcannothandlethis300milliseconddelayforeachsynchronization,andthusshoulduseframedmodewithamoresophisticatedframingmethod.UnframedFormatmaintainstheabilitytoinputtheControlFrames.Unframedformatonlyexistsinpassiveserialmodewhichinputsandoutputdatain16bitwords.The16bitperwordformat,picturedinFigure3-L,ismaintainedinthismodebutonlyafractionofthefull16bitsisusedtotransferthecodeddata.Theuserselectswhether1,2,3or4bitswillbetransferredineachwordbasedontheselectioninTable3-A.Important:thevoicecodingdatarateselectedmustbeevenlydivisiblebythenumberofvoicedatabitsperwordselected.5.A/D-D/AInterface5.1A/D-D/AOverviewTheinterfacefromtheanalogworldofspeechandtheAMBE-1000™istypicallyanA/D-D/Achip.SelectionoftheA/D-D/Achipshouldbemadecarefully,withapreferencegivento16bitlineardevices.Additionally,considerationshouldbegivenforsignaltonoiseratiosandfilteringcharacteristicstypicallybuiltintomanysuchdevices.Generallyspeaking,theflatterthefrequencyresponseoverthevoicespectrum(20-4000Hz)thebettertheoverallsystemwillsound.TheAMBE-1000™VocoderChipoperateswithaspeechdatasamplerateof8kHzforboththe71 A/DandD/Ainterfaces.This8kHzdataisinputandoutputusingaserialportontheAMBE-1000™.Thecontrolsignalsofthisserialport(clocksandframinginformation)arefullyconfigurablebytheuser.ThemaximumflexibilityofthesesignalscanbeachievedbysendingaCommandFramewithID=0x03tothedecoder.UsingCommandFrames,theuserhascompleteaccesstotheSerialPortI/O(SIOC)Register.Additionally,iftheA/D-D/Asupportsaprogrammableinterface,suchastheLucentCSP1027,theprogrammingsequencecanbecontrolledthroughthisinterfaceaswell.InordertosimplifytheprocessofconfiguringtheinterfacetotheA/D-D/Achip,anumberofpresetconfigurationscanbechosenthroughtheC_SEL[2-0]pinsshowninTable5-A.Thesepresetconfigurationscontrolsignaldirectionsfortheinterfaceaswellasthesequenceofprogrammingwordsfortheprogrammabledevices,specificallytheCSP1027.IfaprogrammingsequenceotherthantheoneshowninTable5-AisdesiredthenaCommandFramewithID=0x03shouldbeused.SeeSection4.1.14.4andTable4-RforanexampleCommandFrame.5.1.1ImportantCommandPacketNoteIfthepresethardwaresettingsareusedintheselectionoftheA/D-D/Ainterface,caremustbetakenifCommandFrameswithID=0x03aresubsequentlysenttothedecoder,sincetheinformationinthiscontrolwordwillsupercedeanyhardwareconfigurationsettings.Ifoneofthehardwareconfigurationsisused,andaCommandFramewithID=0x03isusedlater,simplyinserttheinformationgiveninTable5-A(SIOCValue,Codectype,Configurationwords)intotheappropriatefieldswithintheCommandFrame.SeeTable4-Rforanexample.5.2ConfigurationoftheA/D-D/AInterfaceusingtheCommandInterfaceTheA/D-D/ACommandpacketgivestheuserthemostcontroloftheA/D-D/AinterfaceasitgivesdirectcontroloftheSerialI/Oregister(SIOC)withintheAMBE-1000ÔInmanyapplicationsthiscommandinterfacewillnotbenecessarygiventhatanumberofstandardconfigurationsaresupportedthroughtheC_SEL[2-0]hardwareinterface.TheA/D-D/ACommandwordalsocontrolssomeotherfunctionswithintheAMBE-1000ÔsuchastheVADenableandechocancellerenable.IftheseotherfunctionsareaccessedthentheA/D-D/Aserial71 portinterfaceinformationmustremainconsistent.Thatistosay,ifusingthehardwareC_SEL[2-0]forinterfaceselection,thenthevaluesinTable5-A(SIOCValue,CodecType,ConfigurationWords)mustberepeatedintheA/D-D/ACommandframedescribedinsection4.1.14.4.TheA/D-D/ACommandpacketfitsintothebasicframeformat.WhenusingthisformattoconfigurethecodectheusermustalsobeawarethatitisthesameinterfacethatcontrolstheVoiceActivation/Detection(VAD)aswellastheEchoCancellationEnable.Seesection4.1.14.4forthefulldescriptionofthiscommandinterface.71'