一种数模转换解码技术的制作方法

文档序号:25289373发布日期:2021-06-01 17:40阅读:117来源:国知局
一种数模转换解码技术的制作方法
本发明属于数模转换
技术领域
,具体实现将数字信号转换为模拟信号的功能。
背景技术
:在传统的数模转换(dac)后,一般需要功率放大器将dac输出的模拟信号经过功率放大,才可以推动功率负载工作。而大功率的模拟负载推动则采用了脉冲放大器,是需要损失部分信号质量的情况下,换取功率放大器的效率提升。技术实现要素:本发明提出了一种新的数模转换技术,其解码后可以直接推动模拟功率负载,而且不需要损失数模转换的信号质量。一个16bit数据的数据结构如图1所示,各数据位意义如下:data[15:14],采样频率,符号为fdac,表示模数转换时的采样频率值;data[13:11],整数幅值,符号为ndac,模拟电压摆幅值的整数部分,其值是整数;data[10:4],小数幅值,符号为ddac,模拟电压摆幅值的小数部分,其值是0~100的整数,表示的是0%~100%的小数;data[3:1],基压倍数,符号为mdac,模数转换的参考电压倍数值,其值是正整数的偶数;data[0],极性,符号pdac,模数转换时模拟信号的瞬时极性。模数转换时依靠一个基本参考电压(基压,下同)作为量化标准,模拟信号的采样电压值除以基压值所得的结果,整数部分是“整数幅值”,小数部分是“小数幅值”。而基压倍数只最高参考电压是基压值的多少倍。以下将说明如何从图1所示数据结构中,获得解码所需的关键参数。解码频率:指还原模拟信号所需的工作频率,符号fsw,与fdac关系如下fsw=(fdac+1)*20khz。极性运算符:指被还原信号的瞬时极性,符号psw,值由pdac计算,有psw=2*pdac-1当pdac=0时输出模拟信号的负半周,psw=-1;当pdac=1时输出模拟信号的正半周,psw=+1。解码驱动信号的占空比:符号dsw,解码关系式如下dsw=(nsw+ddac)*psw/(nsw*psw+pdac)其中,nsw=(ndac–mdac/2),表示整数幅值减去基压倍数的中间值,即整数幅值摆幅。等参电源的串联级数vsw:指还原模拟信号所需的等参电源的串联的个数,符号vsw,其值等于基压倍数的中间值,即vsw=mdac/2。开关位置:指解码驱动信号当前应该驱动解码开关组中什么位置的开关,符号s[x,y],其中x表示奇数序号位,y表示偶数序号位。是根据ndac、ddac、pdac解码出的逻辑关系值。下表以基压倍数mdac=4进行了列表说明。表1.开关位置解码表。从表1可以发现,开关位置s[x,y]和ndac的关系式为:当pdac=1输出正半周时,s[x,y]=s[2*(ndac-mdac/2)+3,2];当ndac=mdac/2且ddac=0%时,s[x,y]=s[1,2];当pdac=0的负半周时,s[x,y]=s[1,2*(mdac/2-ndac)+2]。从以上的解码过程中,已经获得了解码开关组所需的关键参数:电源级数vsw,给出了等参电源所需的个数;开关频率fsw,明确了解码驱动信号pwm的频率;占空比dsw,明确了解码驱动信号pwm的占空比;开关位置s[x,y],pwm应该驱动解码开关组中什么位置的开关。以下将以一个基压倍数mdac=4的具体解码电路说明解码原理。图2是解码驱动信号的原理方框图,图3是解码开关组原理图,以下将分别说明它们的工作原理。图2分三部分:dac控制器、pwm生成、pwm分发。dac控制器是以fpga器件为核心的数据处理单元,对输入的编码数据流进行解码运算,得到解码参数fsw、dsw、s[x,y]。pwm生成电路的作用是按照解码频率fsw、占空比dsw的要求,使pwm振荡器生成解码驱动信号pwm,该pwm作为pwm分发电路的输入。在pwm分发电路中,输入的开关位置信号s[x,y]被分成了两路:s[x]作为奇数序号的驱动信号,输出为sw_drv[1,3,5];s[y]作为偶数序号的驱动信号,输出为sw_drv[2,4,6]。一组s[x,y]位置信号仅选通一对驱动信号输出,奇数序号和偶数序号各一个驱动信号,用以驱动解码开关组中对应的开关。例如图2中,如果s[x,y]=s[1,4]则选通了sw_drv1输出s[x]驱动信号,以及sw_drv4输出s[y]驱动信号。s[x]、s[y]分发的pwm信号都来自pwm生成的同一个pwm。再如s[3,2]选通了sw_drv3、sw_drv2作为一对驱动信号。图3所示解码开关组电路中,由奇数序号位开关s1、s3、s5,等参电源vdc1、vdc2(c1、c2是滤波电容),偶数序号位开关s2、s4、s6构成。在图3中设定了vout的上端为正下端为负。奇数序号的驱动信号驱动的是奇数序号位的开关s[1,3,5],它们的输出都连接到了vout+,所以奇数序号位开关输出的电位对vout来说是正极性;而偶数序号的驱动信号驱动的是偶数序号位开关s[2,4,6],它们连接到了vout-,所以偶数序号位开关输出的电位对vout来说是负极性。所以输出电压vout=dsw*((vout+)-(vout-))注意:s[x,y]中位置序号可能奇数在前,也可能偶数在前,但是它们都应该遵循上式规律,即奇数序号位开关的输出电位(vout+)减去偶数位序号开关的输出电位(vout-),再乘以解码占空比dsw后得到输出电压vout。如上述的s[1,4]输入后,解码开关组的输出vout=dsw*((vout+)-(vout-))=dsw*((0v)-(vdc1))=-(dsw*vdc1)。由于电源vdc1和vdc2是等参电源,即它们的电源特性相等,比如输出内阻相等、输出电压相等、纹波电压相等……。所以用vdc表示等参电源的电压,上式变为vout=-(dsw*vdc)。同样的原理,当s[3,2]输入可以得到vout=+(dsw*vdc),所以有vout=0v~±(dsw*vdc)。上式即是当只有一级电源vdc时,解码开关组的输出电压范围。两级电源的输出范围是vout=0v~±2*(dsw*vdc),当dsw=0%~100%时,有vout=0v~±2*vdc。从以上分析可知,当解码驱动信号的开关频率fsw固定后,dsw和s[x,y]的控制可以使解码开关组的输出信号是一个正弦波,其值在0v到(±2*vdc)之间变化。当fsw、dsw、s[x,y]是由adc编码电路相关参数解码而来时,输出信号vout也就还原出了编码时的模拟信号。以下将根据一组具体的dac编码值,还原出一个完整的模拟正弦信号。需要解码的数据表如下所示,序号数据(data[fdacndacddacmdacpdac])16进制值1data[0001000000001001]data[0x1009]2data[0001001100101001]data[0x1329]3data[0001100000001001]data[0x1809]4data[0001101100101001]data[0x1b29]5data[0001100000001001]data[0x1809]6data[0001001100101001]data[0x1329]7data[0001000000001001]data[0x1009]8data[0000101100101000]data[0x0b28]9data[0000100000001000]data[0x0808]10data[0000001100101000]data[0x0328]11data[0000100000001000]data[0x0808]12data[0000101100101000]data[0x0b28]13data[0001000000001000]data[0x1008]表2.dac数据表原始数据。以下将根据本发明的解码原理,分析和说明从表2的数据中如何解码出需要的参数,从而最终控制图3中的解码开关组还原模拟信号。以表2中第1个数据0x1009为例进行解码过程的说明。解码频率fsw从图1可知采样频率fdac=data[15:14]=2’00=0,依据解码关系式有fsw=(fdac+1)*20khz=20khz。整数摆幅nsw从图1可知基压倍数mdac=data[3:1]=2’100=4;整数幅值ndac=data[13:11]=2’010=2。则nsw=ndac–mdac/2=0。极性运算符psw从图1可知极性pdac=data[0]=2’1=1,正极性输出,依据解码关系极性运算符psw=2*pdac-1=+1。解码驱动信号的占空比dsw从图1可知小数幅值ddac=data[10:4]=2’0000000=0,则dsw=(nsw+ddac)*psw/(nsw*psw+pdac)=0。等参电源的串联级数vsw从图1可知基压倍数mdac=data[3:1]=2’100=4,则vsw=mdac/2=2即需要2个等参电源进行串联作为解码开关组的供电电源。开关位置s[x,y]根据已经获得的ndac=2、ddac=0%、pdac=1参数,从表1中查得s[x,y]=s[1,2]。根据以上解码结果,将dsw=0、fsw=20khz输入到图2所示的pwm生成电路,然后将开关位置信号s[x,y]=s[1,2]输入到pwm分发电路切换驱动信号pwm的位置,使pwm信号加载到sw_drv1、sw_drv2,驱动图3中的上半桥的开关s[x]=s1以及下半桥的开关s[y]=s2都开通。当s1开通时上半桥电压vout+=0v;当s2开通时下半桥电压vout-=0v,则vout=dsw*((vout+)–(vout-))=0%*(0v–0v)=0v。仿照上述解码过程,可以得出第2组至第13组数据的全部结果,列入下表中。设图3中的等参电源vdc=vdc1=vdc2=12v。序号data[15:0]fsw(khz)nswdswpswvsws[x,y]vout10x10092000%+12[1,2]0%*(0v-0v)=0v20x132920050%+12[2,3]50%*(12v-0v)=+6v30x180920+150%+12[2,5]50%*(24v-0v)=+12v40x1b2920+175%+12[2,5]75%*(24v-0v)=+18v50x180920+150%+12[2,5]50%*(24v-0v)=+12v60x132920050%+12[2,3]50%*(12v-0v)=+6v70x10092000%+12[1,2]0%*(0v-0v)=0v80x0b2820-150%-12[1,4]50%*(0v-12v)=-6v90x080820-150%-12[1,6]50%*(0v-24v)=-12v100x032820-275%-12[1,6]75%*(0v-24v)=-18v110x080820-150%-12[1,6]50%*(0v-24v)=-12v120x0b2820-150%-12[1,4]50%*(0v-12v)=-6v130x10082000%-12[1,2]0%*(0v-0v)=0v表3.第1组数据0x1009的解码结果根据上表的解码结果绘制的曲线图如图4所示。为了简化图示,图4中没有画出原始数据data[15:0]、fdac、mdac,以及解码结果fsw、vsw。图4分上部的原始数据,按照表3的序号排列;中部的解码数据,根据表3的序号对应的结果排列;下部的输出结果,根据解码结果的驱动输出按时间t0~t13排列。从图4可以看出,无论等参电源的电压多少,只要级数与原始数据中的基压倍数的中点在数量关系上对应,就可以输出正确的结果,只是幅度不同而已。同时由于其经过功率开关s1~s6直接输出pwm波形,所以不需要经过传统的模拟功率放大电路,就可以驱动功率负载工作。由此,提高了功率放大器的效率,简化了功率放大器的结构,并且没有模拟放大器对模拟器件的高要求。因为这里将传统的模拟信号功率放大过程,完全用功率开关管的pwm方式完成。因为从模数编码的过程就分整数部分加小数部分,而解码后是整数摆幅加占空比。所以,编码时的整数部分,就是解码所开通的电源级数;而编码时的小数部分,会经过计算得出解码开关的占空比。这种方式相比脉冲功率放大器,由于采用了整数部分的粗量化加小数部分的精量化,使其信号质量要优于单纯的单级电源加pwm调制方式。而相比于传统的adc+dac+模拟功率放大器,信号质量会更优异。从以上分析可知,本发明的数模转换精度完全取决于模数转换时,小数值的量化精度。以上的vdc=12v例中,ddac按照100%计算的,也就是最小转换单位1lsb=1%*vdc=1%*12v=0.12v。附图说明附图1数模转换数据结构附图2解码电路控制方框图附图3解码开关组的原理图附图4解码还原出的一个正弦波附图5音频功率放大器实施例具体实施方式图5是一个音频解码电路,其输出负载vout直连喇叭speaker。图5是数据位为24bit的音频解码电路,输入的是音频数据流;12v等参电源是3个串联;解码开关组共有8个开关,奇数序号位s[1、3、5、7]开关,以及偶数序号位s[2、4、6、8]开关。设定工作参数pwm频率fsw=40khz=(fdac+1)*20khz,则fdac=1;等参电源的串联级数vsw=3=mdac/2,则mdac=6;整数摆幅,应该取最大值,即nsw_max=mdac=6;极性运算符psw=2*pdac–1;pwm占空比,要求转换精度达到1mv,则1lsb=dsw*vdc=1mv,因vdc=12v,则dsw=1/12000,即dsw调整范围是0/12000~12000/12000。则dsw_max=12000,因dsw=(nsw+ddac)*psw/(nsw*psw+pdac),当nsw=0、pdac=1时有dsw=(0+ddac)*1/(0+1),则ddac_max=dsw_max=12000。从图1所示的数据结构中,可知采样频率fdac、整数幅值ndac、小数幅值ddac、基压倍数mdac、极性pdac中:fdac=data[15:14]=2’01;ndac=data[13:11]=2’110;ddac=data[10:4]=2’10111011100000;mdac=data[3:1]=2’110;pdac=data[0]=2’x。将以上fdac、ndac、ddac、mdac、pdac的二进制位数按照图1所示的数据结构进行拼接,就可以得到图5要求的数模转换的数据结构。总二进制位数为data[fdac+ndac+ddac+mdac+pdac]=data[2bit+3bit+14bit+3bit+1bit]=data[23bit]。按照8bit一个字节可使用3个字节的二进制数据结构,即data[msb:lsb]=[23:0]结果如图5中的音频数据流data[23:0]所示。工作原理当data[23:0]按照上述数据结构编码,并且各字段满足上述要求时,就可以输入到图5的dac控制器进行解码。使dac控制器按照本发明的解码方法输出:fsw,解码驱动信号pwm的频率;dsw,解码驱动信号pwm的占空比;s[x,y],解码开关组的位置信息。输入到pwm生成中产生pwm信号并经过分发后,从drv[1、3、5、7]和drv[2、4、6、8]分别输出,控制等参电源bt[1、2、3]的输出,使其满足pwm所控制的要求而驱动喇叭工作,还原出data[23:0]所编码的音频信号。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1