以AT89S52和EPLD芯片设计的数话同传控制器

发布者:幸福自在最新更新时间:2014-08-12 来源: 21ic关键字:AT89S52  EPLD  数话同传控制器 手机看文章 扫描二维码
随时随地手机看文章

话音和数据同传有多种方案,这些方案大都先将话音信号数字化,经过压缩后与外部数据一起打包传输。主要区别在于发送一包话音数据与外部数据的占用时间,以及话音数据与外部数据在包内的分割时长。常见的有两种方案。一旦日本救护车所用的数话同传方案,可将病人的身体状况的检测数据与话音同传。在这一方案中,以625ms为一个话音压缩周期,其中187.5ms用于传送数据,437.5ms用于传送话音,外部数据时隙占整个信道时间的30%,数话同传时话音延迟约为200ms。

另一种是UIC建议的数话同传方案。这个方案以1040ms为一个周期,其中260ms用于传输数据,780ms用于传输压缩话音,数据时隙占整个信道的时间为25%。这一方案由于数据占用的时间较短,因此可以提供较好的通话质量,但话音延迟260ms,在双工通话时会使人感到不适,数据传输量也不高。 图1 上述两种方案的话音延迟都较长,同时外部数据时隙占信道的时间比较短,发送数据量受到一定的限制,主要用于传送话音信号。本文在保证传送话音质量的基础上,尽量减小话音延迟,提高外部数据分割时长,同时根据AMBE话音Codec和GMSK Modem的特点,提出了如图1所示的数据话同传方案。

AMBE话音Codec采用基于MBE(多带话音激励)模型的压缩技术,已被证明优于CPLE、MP-MLQ、LPC10以及其它的压缩技术,MOS分达到3.5分,能够在低至2.0kbps的压缩速率下保证高质量的话音。所以本系统采用2.4kbps的话音压缩速率时仍然有很好的自然度和可懂性。当单片机查询到有话音数据时,不中断数据的传输,而是延迟60ms,单片机再将AMBE话音Codec传过来的话音数据处理后与外部数据一起打包发给 Modem,实现数话同传。从上述方案中可以看出,话音信号的延迟不会超过120ms,优于前两种方案,能够很好地满足实时性的要求;外部数据时隙占整个信道时间约为46%,分割时长也比前两种方案高,此时外部数据传输率约为4800bps。没有话音数据传输时,单片机直接对外部数据进行打包传送,数据传输率为GMSK Modem的传输率,即为9600bps。

1 系统的硬件组成及工作原理

1.1 系统的硬件结构 整个系统的硬件结构框如图2所示。 图2 系统以Atmel公司的单片机AT89C52和Altera公司的EPLD芯片EPM7128为主控芯片。AT89C52是一款低功耗、高性能的8位微处理器,负责整个系统的绝大多数工作,内部带有8KB可编程的FLASH存储器,无需扩展ROM,自带ISP口,可灵活地进行在系统可编程,可以通过全双工的标准串口与外部计算机或PLC交换数据。EPM7128是Altera公司的MAX7000系列中的一款,具有高阻抗、电可擦写等特点,可用门单元为 2500个,管脚间最大延时为5ns,主要用来实现话音压缩和解压缩所需的时序及逻辑控制。话音预处理和ADC-DAC单元采用MC145480,其内集成了300Hz~3400Hz的带通滤波器、AD和DA转换器,采样频率为8kHz,每个采样值采用8比特(256个量化级)编码,可输出A律和μ律可选的64kbps的PCM信号。话音压缩和解压缩通过AMBE1000完成,压缩速率从2.4kbps~9.6kbps,A/μ律可选,具有语音检测、回声抑制和休眠等功能。数据调制解调部分的核心器件是无线单片收发芯片FX909。此芯片采用GMSK调制解调方式,频带利用率非常高,特别适合在窄带的数传系统中,内部硬件实现FEC和CRC算法,同时兼容Mobitex无线广域网空中接口标准。模拟调频电台将从Modem输出的GMSK信号经过二次调制到数据传信道上传输,带宽一般为25kHz,新西兰大吉公司、美国的MDS公司、日本的建武的模拟台都可实现此功能。

1.2 系统工作原理 在无话音数据传输时,AT89C52将从串口接收的数据打包处理后发送给Modem,Modem对传过来的数据增加前向纠错(FEC)、循环冗余校验(CRC)位后,按Mobitex标准的数据格式进行交织和扰码处理,再附上比特同步和帧同步字节后,对数据包进行GMSK调制,输出音频的GMSK信号,再由电台将其调制到模拟调频话音信道上传送出去。当有话音数据传输时,模拟话音输入MC145480,经过8kHz的A律编码输出64kbps的 PCM信号。经过AMBE1000压缩后,输出2.4kbps的压缩话音数据,这些话音数据经单片机AT89S52除包延时处理后与串口接收的外部数据一起打包送到调制解调模块,实现数据和话音的同时传输。 数据接收时,Modem从模拟调频电台读入音频信号进行GMSK解调,经检错和撤包处理后,将数据传送给AT89S52。单片机经过判断处理后,如果是外部的数据,则直接通过串口输出;如果是话音数据,则经过处理后送给AMBE1000解压缩,输出的PCM信号经过A律解码和DAC,还原成模拟话音信号输出。

2 软件设计及实现 整个系统的软件主要包括三大部分:MC145480和AMBE1000的接口时序的实现、语音压缩数据的处理、数据的调制和解调。

2.1 接口时序的实现 AMBE1000话音Codec与MC145480的接口关系如图3所示。 图3中CLK_2048K为2048kHz的时钟信号,CLK1_8K和CLK2_8K均为8kHz的时钟信号。可以看出,分立元器件较多,时钟源之间的干扰比较大,电路运行不太稳定。本系统中用一片EPM7128实现,用VHDL语言编写时序发生器,大大简化了电路,提高了系统的稳定性。图4是在 MAXPLUSII上仿真MC145480从AMBE1000语音Codec读取数据的波形。 从仿真波形上可以看出,在MC145480的接收帧同步信号FSR的下降沿到来时,开始在接收位时钟信号BCLKR的作用下采用从AMBE1000语音 Codec传过来的数据(AMBE1000的tx_do端)。在采样一个字节后停止采样,余下的FSR为低电平的时间(一个FSR的周期内)用来给 MC45480的DA转换提供缓冲时间。在下一个FSR的下降沿到来时又周而复始地重复上述操作。

2.2 语音压缩数据的处理 AMBE1000语音Codec输出数据是以帧为单位,每20ms输出一帧,每帧的大小为34bytes,其中帧头为10bytes,压缩语音数据 24bytes。

1.png

如果按全帧发送,1s内必须传送的数据位数为: 34bytes%26;#215;8bit/bytes%26;#215;50=13600bit 而Modem的最大传输速率为9600bps,根本无法进行传输,更谈不上实现数据和语音同传了;另一方面,本系统没有必要将压缩语音数据按全帧发送,本系统没有必要将压缩语音数据按全帧发送,只需传送有效语音数据。压缩速率为2400bps时,每帧输出的有效语音数据为: 2400bps/(50%26;#215;8bit)=6bytes 这样在帧尾会有18bytes(24bytes-6bytes=18bytes)的无效0数据,全帧传输时这些无用的0也参与了传输。从节省带宽方面考虑,必须进行帧头和帧尾的处理,并重组数据帧。为此,在程序中做了如下处理:当检测到有话音数据时,单片机每20ms 地AMBE1000语音Codec进行一次读写操作,将接收到的一帧数据存入一个缓冲区,去掉不必要的帧头和帧尾无效的0,得到纯语音数据(每帧6字节)。每隔60ms即连续等待三次AMBE语音Codec中断处理后(共18字节的有效语音数据),将有效的语音数据与外部接收的数据一起打包发给 Modem。接收端反之,单片机将Modem解调出来的语音数据,按每6个字节,先进行必要的帧头设置,再添加上帧尾的0,恢复一帧完整的数据传给 AMBE1000语音Codec进行解压缩。这样充分利用了信道资源,并且语音延迟比较小,外部数据传输率也比较高。

2.3 数据的调制和解调 6字节的帧头包括两字节的位同步、两字节的帧步以及两个自定义的控制字节。这两个控制字节可用于区分语音数据和外部数据。以及在半包发送时指示数据块中实际数据的多少。每18个字节作为一个小数据包,数话同传时,语音数据和外部数据各占一小包。一个字节的帧尾标示一般为0x33。这样的一帧数据传给 FX909,带上FEC和CRC位后,这样的一帧数据传给FX909,带上FEC和CRC位后,最大数据量为:(6+1+30+30+1)%26;#215;8bit=544bit。在60ms的时间内,Modem有能力完成一帧数据的发送(60ms%26;#215;9600bps=576bit>544bit)。这从一个侧面证明了本系统采用的数话同传方案的可行性。FX909工作在任务方式下,单片机通过写任务到FX909的命令寄存器去指示Modem的工作,当FX909完成工作后以中断的形式通知单片机当前操作已经完成。软件实现发送和接收数据的过程如下:发送数据时,设置FX909的工作模式为发送状态,写帧头数据,设置任务=T7H,发7个字节帧头(FX909内部帧头带一个字节的FEC和CRC);然后往FX909数据缓冲区中写入18个字节的数据,设置任务=TDB,发送数据块;若本帧未结束,继续发送数据块,发送结束后再发一个字节的帧结束标志;如此反复直到所有的数据发送结束为止。接收数据时,先设置FX909的工作模式为接收状态,检测到载波信号后,写帧同步字节至数据缓冲区,设置任务=LFSB,进行比特同步;然后设置任务=SFH,查找帧头,读出帧头控制字节后设置任务=RDB,读出18个字节的数据;若本帧未结束,继续读数据块,否则查找下一个帧头;如此反复,直至接收完所有的数据。同时还可以读出CRC和FEC标志位信息,进行相应的处理。 图4 本文实现的数话同传控制器具有话音延迟短、数据传输量大的特点,有效地解决了语音信号延迟比较大和外部数据传输量受限问题,能够满足绝大多数场合下话音通信和数据传输的要求,有着广泛的应用前景。

关键字:AT89S52  EPLD  数话同传控制器 引用地址:以AT89S52和EPLD芯片设计的数话同传控制器

上一篇:基于51单片机设计的移动无线数据传输系统
下一篇:基于C8051F021设计的的涡喷发动机数字控制系统

推荐阅读最新更新时间:2024-03-16 13:39

AT89S52单片机存储器结构
AT89S52单片机的存储器结构共分片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器4个部分。 1.程序存储器 设计人员编写的程序存放在微处理器的程序存储器中。 AT89S52具有64KB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息,程序存储器的结构如图1所示。 图1 AT89S52程序存储器的结构 AT89S52片内片外的程序存储器在统一逻辑空间中,地址从0000H~FFFFH,共有64K字节范围。引脚接高电平时,程序从片内程序存储器0000H开始执行,即访问片内存储器。当PC值超出片内ROM容量时,会自动转向片外程序存储器空间执行。引脚接低电平时,迫使系统全部执行片外程序存储
[单片机]
<font color='red'>AT89S52</font>单片机存储器结构
AT89S52单片机16LED摇摇棒设计
一、作品说明 摇摇棒是如今流行的一种玩具,在各种聚会、节日中均见得到它的身影。本设计也追随着摇摇棒的原理,利用人眼的视觉暂留特性,通过AT89S52单片机对16只高亮度LED发光二极管进行控制, 配合手的左右摇晃就可呈现一幅完整的画面。 该摇摇棒具有如下功能:1) 显示 “欢迎使用神奇魔幻摇摇棒!”;2) 显示 “o(∩_∩)o”微笑图案;3) 显示 心形图案;4) 显示 “LOVE”;5) 可以通过开关实现转换,轮流显示并循环。 二、系统总体设计 1、总体方案比较与论证所谓的“摇摇棒”,其实就是一个循环的LED显示,利用人的视觉滞留产生静态显示的现象。要实现这个目标,就要求延时部分做的比较小,所以采用石英晶体振荡
[单片机]
<font color='red'>AT89S52</font>单片机16LED摇摇棒设计
AT89S52单片机中断过程
AT89S52单片机中断分为四个阶段:中断采样、中断查询、中断响应、中断返回。执行中断时,必须满足以下三个条件: (1) 中断源有中断申请; (2) 此中断源的中断允许位为1; (3) CPU开中断,即总开关EA=1; 1.中断采样 中断采样针对外部中断请求信号而言,在 S5P2对相应引脚采样,根据其电平状态高/低,判断相应的中断请求。 2.中断查询 在每个机器周期的S5P2后,由硬件自动地去查询相应的中断标志位,先查询高级中断,再查询低级中断,同级中断按内部中断优先级顺序查询。如果查询到有中断标志位为1,则表明有中断请求发生,接着从相邻的下一个机器周期的S1状态开始进行中断响应。 3.中断响应 CPU响应中
[单片机]
<font color='red'>AT89S52</font>单片机中断过程
基于AT89S52dpj程控开关稳压电源设计
  开关电源是利用现代电力电子技术,控制开关管开通和关断的时间比率,维持稳定输出电压的一种电源。由于拥有较高的效率和较高的功率密度,开关电源在现代电子系统中的使用越来越普及。开关电源高频化、模块化和智能化是其发展方向。其中,步进可调、实时显示是开关电源智能化研究方向之一。现设计开关电源,技术指标为:输出电压30V至36V可调,最大输出电流2A,有过流保护功能,能对输出电压进行键盘设定和步进调整、步进值1V,并能实时显示输出电压和电流的开关稳压电源。    1 总体设计方案   采用AT89S52单片机为控制核心,对普通的开关电源控制部分进行优化设计,并通过软件编程实现了对开关电源的智能控制。设计中采用隔离变压器将市电变压后
[电源管理]
AT89S52单片机中断系统
AT89S52单片机的中断系统共有8个中断源,6个中断矢量,两级中断优先级,可实现两级中断服务程序嵌套,通过软件来屏蔽或允许相应的中断请求。每一个中断源可以编程为高优先级中断或低优先级中断,允许或禁止向CPU申请中断。中断系统的特殊功寄存器有中断允许寄存器IE、中断优先级寄存器IP等。 图1为AT89S52单片机的中断系统结构示意图。AT89S52有两个外部中断源INT0、INT1;串口通信有接收和发送两个中断源,经过一个或门,公用同一个中断矢量;定时器/计数器0、定时器/计数器1的溢出中断源对应两个中断矢量;定时/计数器2有计数溢出和捕获两种中断源,经或门共用一个中断矢量。 图1 中断系统结构示意图 (1)
[单片机]
<font color='red'>AT89S52</font>单片机中断系统
基于DS1307的多功能时钟系统设计方案
以AT89S52单片机为控制核心,通过实时时钟芯片DS1307和数字温度传感器DS18B20构成了一个多功能的数字时钟系统。详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计。系统采用液晶LCD1602作为显示器,具有实时时间与日历显示、环境温度显示、按键调时、闹铃定时等功能。软件程序采用均采用C语言编写,便于移植与升级。 0 引言 目前家用的数字电子钟,多数只能显示小时、分钟等信息,功能单一,而且大都采用LED数码管作为显示器件,功耗大,不能令消费者满意。为此,笔者开发了一款多功的数字式电子钟,它可以显示年、月、日、小时、分钟等时间信息,同时可以显示环境的温度信息。还具有按键调时、设定闹铃等功能。时钟采用LCD作为显
[模拟电子]
AT89S52单片机与PC机串行通信设计
O 引言 单片机与PC机串行通信,又称为下位机与上位机的串行通信。采用这种通信方式,可以解决工况条件差对工作人员带来的危害,又可以实现实时在线远距离集中监控,对工作现场分散的单片机采用控制平台管理,既可以改善工作条件,又可以提高工作效率。本文针对串行通信的电路设计和程序设计做出了具体的阐述。 1 电路设计 通信接口标准有RS232、RS423A、RS422A、RS485等,常用的接口标准有RS232和RS485。RS232在微机串行通信接口中广泛采用,在加装了调制解调器(modem)的情况下,这种通信可以通过电话线传输数据,并且可以传输几千公里远的距离,如果没有modem可以传输十几米远。本课题采用的是RS-232直连无
[单片机]
<font color='red'>AT89S52</font>单片机与PC机串行通信设计
at89s52单片机引脚图,at89s52引脚说明
  本文为您介绍 at89s52 单片机引脚图及引脚说明,at89S52 特点及其功能。at89S52,高性能的8位单片机。   AT89S52 是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。      AT89S52引脚图   AT89S52具有如下特点
[单片机]
<font color='red'>at89s52</font>单片机引脚图,<font color='red'>at89s52</font>引脚说明
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved