CN116961631A - 脉冲宽度调制方法、装置、音频处理芯片和电子设备 - Google Patents
脉冲宽度调制方法、装置、音频处理芯片和电子设备 Download PDFInfo
- Publication number
- CN116961631A CN116961631A CN202310793048.1A CN202310793048A CN116961631A CN 116961631 A CN116961631 A CN 116961631A CN 202310793048 A CN202310793048 A CN 202310793048A CN 116961631 A CN116961631 A CN 116961631A
- Authority
- CN
- China
- Prior art keywords
- signal
- value
- output
- modulation
- clock pulse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 title claims abstract description 16
- 230000004044 response Effects 0.000 claims description 78
- 230000008859 change Effects 0.000 claims description 73
- 238000005070 sampling Methods 0.000 claims description 30
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000007423 decrease Effects 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 30
- 239000000969 carrier Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K7/00—Modulating pulses with a continuously-variable modulating signal
- H03K7/08—Duration or width modulation ; Duty cycle modulation
Landscapes
- Amplitude Modulation (AREA)
Abstract
本发明涉及脉冲宽度调制技术领域,具体涉及一种脉冲宽度调制方法、装置、音频处理芯片和电子设备。其中方法包括:载波发生单元接收输入的调制周期,以及接收从至少两种调制模式中选择的一种调制模式;载波发生单元根据调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号;比较单元将生成的载波信号与待调制信号按照所选择的调制模式的比较方式进行比较,得到调制输出信号。本发明实施例能够通过同一脉冲宽度调制装置输出多种调制输出信号,兼容多种应用场景,并节约硬件资源。
Description
技术领域
本发明涉及脉冲宽度调制技术领域,具体涉及一种脉冲宽度调制方法、装置、音频处理芯片和电子设备。
背景技术
脉冲宽度调制(Pulse Width Modulation,PWM)通过对一系列脉冲信号进行调制,调节信号占空比的变化实现对信号功率的控制,是一种利用微处理器的数字输出控制模拟电路的常用技术,在音频、通信和功率控制等方面有着广泛的应用。
脉冲宽度调制一般通过规则采样实现,采用三角波或锯齿波作为载波,利用载波对正弦波进行采样以得到不同占空比的方波,从而以方波的跳变边沿控制模拟开关器件的通断。由于脉冲宽度调制的应用场景呈现多样化,而不同应用场景对脉冲宽度调制的调制需求可能不尽相同。针对每个应用场景的不同调制需求,需要设计不同的脉冲宽度调制装置,各装置间采用不同的载波和/或不同的采样方式,也即采用不同的调制方式,以调制得到不同占空比的方波,从而满足不同的调制需求。上述调制实现方式仅能得到固定占空比的方波,无法实现多种调制方式,无法兼容具有不同调制需求的应用场景。
发明内容
基于上述现状,本发明的主要目的在于提供一种脉冲宽度调制方法、装置、音频处理芯片和电子设备,以解决现的脉冲宽度调制方式仅能得到固定占空比的方波的问题。
为实现上述目的,本发明采用的技术方案如下:
一种脉冲宽度调制方法,用于对待调制信号进行脉冲宽度调制,所述方法包括:载波发生单元接收输入的调制周期,以及接收从至少两种调制模式中选择的一种调制模式,其中,所述调制周期为时钟脉冲频率与所述待调制信号的采样率的比值,所述至少两种调制模式中,任意两种调制模式的载波信号波形不同、和/或其载波信号与待调制信号的比较方式不同;所述载波发生单元根据所述调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,其中,生成的载波信号的波形为所述选择的调制模式的载波信号波形,生成的载波信号的周期为所述调制周期,所述至少两种调制模式中的每种调制模式均由同一所述载波发生单元生成该调制模式的载波信号;比较单元将所述生成的载波信号与所述待调制信号按照所选择的调制模式的比较方式进行比较,得到调制输出信号。
优选地,所述载波发生单元根据所述调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,进一步包括:所述载波发生单元响应于第一类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值0开始,每经过一个时钟脉冲输出数值加1,直至该调制周期结束时刻输出数值达到第一值,该调制周期内的一系列输出数值形成锯齿波信号。
优选地,所述载波发生单元响应于第一类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值0开始,每经过一个时钟脉冲输出数值加1,直至该调制周期结束时刻输出数值达到第一值,该调制周期内的一系列输出数值形成锯齿波信号,进一步包括:所述载波发生单元中的数值选择器响应于其选择端接收到所述第一类调制模式的选择信号,从至少两个输入端中选择第一输入端的输入数值作为其输出数值,其中,所述第一输入端对应于所述第一类调制模式,所述第一输入端的输入数值为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;所述数值选择器将其输出数值提供至所述载波发生单元中的寄存器的输入端;每经过一个时钟脉冲所述寄存器的输出端输出其输入端的数值,在该调制周期内所述寄存器的输出端输出的一系列输出数值形成锯齿波信号。
优选地,所述第一输入端的输入数值由所述载波发生单元中的第一数值模块通过如下方式提供:所述第一数值模块中的加法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数,并将计数值提供至所述数值选择器的第一输入端,其中,第一个时钟脉冲时所述寄存器的输出数值为0;所述加法计数器在所述计数值增至所述第一值时,为所述第一数值模块提供计数溢出信号;所述第一数值模块基于所述计数溢出信号,将0提供至所述数值选择器的第一输入端,以使在下一调制周期的初始时刻所述寄存器的输出数值为0。
优选地,所述载波发生单元根据所述调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,进一步包括:所述载波发生单元响应于第二类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值第二值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,以及从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第二值,该调制周期内的一系列输出数值形成对称三角波信号。
优选地,所述载波发生单元响应于第二类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值第二值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,以及从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第二值,该调制周期内的一系列输出数值形成对称三角波信号,进一步包括:所述载波发生单元中的数值选择器响应于其选择端接收到所述第二类调制模式的选择信号,从至少两个输入端中选择第二输入端的输入数值作为其输出数值,其中,所述第二输入端对应于所述第二类调制模式,在每个调制周期内,所述第二输入端的输入数值在前1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,在后1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;所述数值选择器将其输出数值提供至所述载波发生单元中的寄存器的输入端;每经过一个时钟脉冲所述寄存器的输出端输出其输入端的数值,在该调制周期内所述寄存器的输出端输出的一系列输出数值形成对称三角波信号。
优选地,所述第二输入端的输入数值通过如下方式提供:标识信号提供模块基于所述待调制信号在每个调制周期的输入开始信号以及所述寄存器的输出端的输出数值生成标识信号和标识信号变化信号,其中,在每个调制周期内:在所述待调制信号开始输入的时钟脉冲,所述标识信号的信号值为第一电平,并保持至所述寄存器的输出端的输出数值为0的时钟脉冲,在所述寄存器的输出端的输出数值为0的下一个时钟脉冲,所述标识信号的信号值变化为第二电平,并保持至所述寄存器的输出端的输出数值为所述第二值的时钟脉冲;在所述寄存器的输出端的输出数值由1变化为0的时钟脉冲,所述标识信号变化信号的信号值为第三电平,在其余时钟脉冲,所述标识信号变化信号的信号值为第四电平;所述载波发生单元的第二数值模块接收所述第二值和所述标识信号;所述第二数值模块在当前调制周期的第一个时钟脉冲,响应于所述标识信号变化信号的信号值为所述第四电平,将所述第二值提供至所述数值选择器的第二输入端;所述第二数值模块中的减法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行减1计数;所述第二数值模块响应于所述标识信号的信号值为所述第一电平以及所述标识信号变化信号的信号值为所述第四电平,将所述减法计数器的计数值提供至所述数值选择器的第二输入端;所述第二数值模块响应于所述标识信号变化信号的信号值为所述第三电平,将0提供至所述数值选择器的第二输入端,以使在当前调制周期内的下一个时钟脉冲所述寄存器的输出数值为0;所述第二数值模块中的加法计数器每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数;所述第二数值模块响应于所述标识信号的信号值为所述第二电平以及所述标识信号变化信号的信号值为所述第四电平,将所述加法计数器的计数值提供至所述数值选择器的第二输入端。
优选地,所述载波发生单元根据所述调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,进一步包括:所述载波发生单元响应于第三类调制模式被选择,在相邻的两个调制周期内,前一个调制周期起始时刻的输出数值从第三值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,后一个调制周期起始时刻的输出数值从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第三值,相邻的两个调制周期内的一系列输出数值形成异步三角波信号。
优选地,所述载波发生单元响应于第三类调制模式被选择,在相邻的两个调制周期内,前一个调制周期起始时刻的输出数值从第三值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,后一个调制周期起始时刻的输出数值从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第三值,相邻的两个调制周期内的一系列输出数值形成异步三角波信号,进一步包括:所述载波发生单元中的数值选择器响应于其选择端接收到所述第三类调制模式的选择信号,从至少两个输入端中选择第二输入端的输入数值作为其输出数值,其中,所述第二输入端对应于所述第三类调制模式,在相邻的两个调制周期内,所述第二输入端的输入数值在前一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,后一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;所述数值选择器将其输出数值提供至所述载波发生单元中的寄存器的输入端;每经过一个时钟脉冲所述寄存器的输出端输出其输入端的数值,在相邻的两个调制周期内所述寄存器的输出端输出的一系列输出数值形成异步三角波信号。
优选地,所述第二输入端的输入数值通过如下方式提供:标识信号提供模块基于所述待调制信号在每个调制周期的输入开始信号以及所述寄存器的输出端的输出数值生成标识信号和标识信号变化信号,其中,在相邻的两个调制周期内:在前一个调制周期,在所述待调制信号开始输入的时钟脉冲,所述标识信号的信号值为第一电平,并在当前调制周期保持所述第一电平,在后一个调制周期的第一个时钟脉冲,响应于所述前一个调制周期的最后一个时钟脉冲所述寄存器的输出端的输出数值为0,所述标识信号的信号值变化为第二电平,并在当前调制周期保持所述第二电平;在每个调制周期内:在所述寄存器的输出端的输出数值由1变化为0的时钟脉冲,所述标识信号变化信号的信号值为第三电平,在其余时钟脉冲,所述标识信号变化信号的信号值为第四电平;所述载波发生单元的第二数值模块接收所述第三值和所述标识信号;在相邻的两个调制周期内:所述第二数值模块在前一个调制周期的第一个时钟脉冲,响应于所述标识信号变化信号的信号值为所述第四电平,将所述第三值提供至所述数值选择器的第二输入端;所述第二数值模块中的减法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行减1计数;所述第二数值模块响应于所述标识信号的信号值为所述第一电平以及所述标识信号变化信号的信号值为所述第四电平,将所述减法计数器的计数值提供至所述数值选择器的第二输入端;所述第二数值模块响应于所述标识信号变化信号的信号值为所述第三电平,将0提供至所述数值选择器的第二输入端,以使所述寄存器的输出数值为0;所述第二数值模块中的加法计数器从后一个调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数;所述第二数值模块响应于所述标识信号的信号值为所述第二电平以及所述标识信号变化信号的信号值为所述第四电平,将所述加法计数器的计数值提供至所述数值选择器的第二输入端。
优选地,所述比较单元将所述生成的载波信号与所述待调制信号按照所选择的调制模式的比较方式进行比较之前,所述方法还包括:数据转换单元将所述待调制信号的数字量增加一偏移量,得到无符号的第一数字量作为待调制的P端信号,其中,所述偏移量等于所述待调制信号的数字量的最大值;将所述偏移量减去所述待调制信号的数字量,得到无符号的第二数字量作为待调制的N端信号;所述比较单元将所述生成的载波信号与所述待调制信号按照所选择的调制模式的比较方式进行比较,得到调制输出信号,进一步包括:将所述生成的载波信号分别与所述待调制的P端信号和所述待调制的N端信号按照所选择的调制模式的比较方式进行比较,得到调制输出P端信号和调制输出N端信号;对所述调制输出P端信号和调制输出N端信号进行差分处理,得到所述调制输出信号。
优选地,若第一类调制模式或第三类调制模式被选择,所述偏移量等于所述调制周期的二分之一,其中,所述第一类调制模式的载波信号波形为锯齿波,所述第三类调制模式的载波信号波形为异步三角波;若第二类调制模式被选择,所述偏移量等于所述调制周期的四分之一,其中,所述第二类调制模式的载波信号波形为对称三角波。
优选地,所述将所述生成的载波信号分别与所述待调制的P端信号和所述待调制的N端信号按照所选择的调制模式的比较方式进行比较,得到调制输出P端信号和调制输出N端信号,进一步包括:响应于所述第一类调制模式、第二类调制模式或第三类调制模式中的第一种调制模式被选择:将所述生成的载波信号与所述待调制的P端信号比较,若所述生成的载波信号小于所述待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;将所述生成的载波信号与所述待调制的N端信号比较,若所述生成的载波信号小于所述待调制的N端信号,则在调制输出N端输出高电平,否则输出低电平;响应于所述第一类调制模式、第二类调制模式或第三类调制模式中的第二种调制模式被选择:将所述生成的载波信号与所述待调制的P端信号比较,若所述生成的载波信号小于所述待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;将所述调制输出P端信号取反,得到所述调制输出N端信号。
本发明上述实施例通过设定调制周期,以及选择所需的调制输出信号所对应的调制模式,由同一载波发生单元根据设定的调制周期和选择的调制模式生成当前调制模式下的载波信号,并由比较单元按照所选择调制模式的比较方式进行载波信号和待调制信号的比较,最终得到当前调制模式下的调制输出信号。通过本发明实施例,针对应用场景的多种调制需求,能够通过同一脉冲宽度调制装置实现多种脉冲宽度调试方式,输出多种调制形式的调制输出信号,从而兼容多种应用场景,并节约了硬件资源。
本发明还提供了一种脉冲宽度调制装置,用于对待调制信号进行脉冲宽度调制,所述装置包括:载波发生单元,用于接收输入的调制周期,以及接收从至少两种调制模式中选择的一种调制模式,其中,所述调制周期为时钟脉冲频率与所述待调制信号的采样率的比值,所述至少两种调制模式中,任意两种调制模式的载波信号波形不同、和/或其载波信号与待调制信号的比较方式不同;以及根据所述调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,其中,生成的载波信号的波形为所述选择的调制模式的载波信号波形,生成的载波信号的周期为所述调制周期,所述至少两种调制模式中的每种调制模式均由同一所述载波发生单元生成该调制模式的载波信号;比较单元,用于将所述生成的载波信号与所述待调制信号按照所选择的调制模式的比较方式进行比较,得到调制输出信号。
优选地,所述载波发生单元进一步用于:响应于第一类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值0开始,每经过一个时钟脉冲输出数值加1,直至该调制周期结束时刻输出数值达到第一值,该调制周期内的一系列输出数值形成锯齿波信号。
优选地,所述载波发生单元包括数值选择器和寄存器,其中:所述数值选择器用于:响应于其选择端接收到所述第一类调制模式的选择信号,从至少两个输入端中选择第一输入端的输入数值作为其输出数值,其中,所述第一输入端对应于所述第一类调制模式,所述第一输入端的输入数值为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;将其输出数值提供至所述载波发生单元中的寄存器的输入端;所述寄存器用于:每经过一个时钟脉冲在其输出端输出其输入端的数值,在该调制周期内所述寄存器的输出端输出的一系列输出数值形成锯齿波信号。
优选地,所述载波发生单元进一步包括第一数值模块,所述第一数值模块用于:通过其中的加法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数,并将计数值提供至所述数值选择器的第一输入端,其中,第一个时钟脉冲时所述寄存器的输出数值为0;所述加法计数器在所述计数值增至所述第一值时,为所述第一数值模块提供计数溢出信号;基于所述计数溢出信号,将0提供至所述数值选择器的第一输入端,以使在下一调制周期的初始时刻所述寄存器的输出数值为0。
优选地,所述载波发生单元进一步用于:响应于第二类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值第二值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,以及从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第二值,该调制周期内的一系列输出数值形成对称三角波信号。
优选地,所述载波发生单元包括数值选择器和寄存器,其中:所述数值选择器用于:响应于其选择端接收到所述第二类调制模式的选择信号,从至少两个输入端中选择第二输入端的输入数值作为其输出数值,其中,所述第二输入端对应于所述第二类调制模式,在每个调制周期内,所述第二输入端的输入数值在前1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,在后1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;将其输出数值提供至所述载波发生单元中的寄存器的输入端;所述寄存器用于:每经过一个时钟脉冲在其输出端输出其输入端的数值,在该调制周期内所述寄存器的输出端输出的一系列输出数值形成对称三角波信号。
优选地,所述载波发生单元进一步包括第二数值模块和标识信号提供模块;所述标识信号提供模块用于提供标识信号至所述第二数值模块,其基于所述待调制信号在每个调制周期的输入开始信号以及所述寄存器的输出端的输出数值生成标识信号和标识信号变化信号,其中,在每个调制周期内:在所述待调制信号开始输入的时钟脉冲,所述标识信号的信号值为第一电平,并保持至所述寄存器的输出端的输出数值为0的时钟脉冲,在所述寄存器的输出端的输出数值为0的下一个时钟脉冲,所述标识信号的信号值变化为第二电平,并保持至所述寄存器的输出端的输出数值为所述第二值的时钟脉冲;在所述寄存器的输出端的输出数值由1变化为0的时钟脉冲,所述标识信号变化信号的信号值为第三电平,在其余时钟脉冲,所述标识信号变化信号的信号值为第四电平;
所述第二数值模块用于:接收所述第二值和所述标识信号;在当前调制周期的第一个时钟脉冲,响应于所述标识信号变化信号的信号值为所述第四电平,将所述第二值提供至所述数值选择器的第二输入端;通过其中的减法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行减1计数;响应于所述标识信号的信号值为所述第一电平以及所述标识信号变化信号的信号值为所述第四电平,将所述减法计数器的计数值提供至所述数值选择器的第二输入端;响应于所述标识信号变化信号的信号值为所述第三电平,将0提供至所述数值选择器的第二输入端,以使在当前调制周期内的下一个时钟脉冲所述寄存器的输出数值为0;通过其中的加法计数器每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数;响应于所述标识信号的信号值为所述第二电平以及所述标识信号变化信号的信号值为所述第四电平,将所述加法计数器的计数值提供至所述数值选择器的第二输入端。
优选地,所述载波发生单元进一步用于:响应于第三类调制模式被选择,在相邻的两个调制周期内,前一个调制周期起始时刻的输出数值从第三值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,后一个调制周期起始时刻的输出数值从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第三值,相邻的两个调制周期内的一系列输出数值形成异步三角波信号。
优选地,所述载波发生单元包括数值选择器和寄存器,所述数值选择器用于:响应于其选择端接收到所述第三类调制模式的选择信号,从至少两个输入端中选择第二输入端的输入数值作为其输出数值,其中,所述第二输入端对应于所述第三类调制模式,在相邻的两个调制周期内,所述第二输入端的输入数值在前一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,后一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;将其输出数值提供至所述载波发生单元中的寄存器的输入端;所述寄存器用于:每经过一个时钟脉冲在其输出端输出其输入端的数值,在相邻的两个调制周期内所述寄存器的输出端输出的一系列输出数值形成异步三角波信号。
优选地,所述载波发生单元进一步包括第二数值模块和标识信号提供模块;所述标识信号提供模块用于提供标识信号至所述第二数值模块,其基于所述待调制信号在每个调制周期的输入开始信号以及所述寄存器的输出端的输出数值生成标识信号和标识信号变化信号,其中,在相邻的两个调制周期内:在前一个调制周期,在所述待调制信号开始输入的时钟脉冲,所述标识信号的信号值为第一电平,并在当前调制周期保持所述第一电平,在后一个调制周期的第一个时钟脉冲,响应于所述前一个调制周期的最后一个时钟脉冲所述寄存器的输出端的输出数值为0,所述标识信号的信号值变化为第二电平,并在当前调制周期保持所述第二电平;在每个调制周期内:在所述寄存器的输出端的输出数值由1变化为0的时钟脉冲,所述标识信号变化信号的信号值为第三电平,在其余时钟脉冲,所述标识信号变化信号的信号值为第四电平;所述第二数值模块用于:接收所述第三值和所述标识信号;在相邻的两个调制周期内:在前一个调制周期的第一个时钟脉冲,响应于所述标识信号变化信号的信号值为所述第四电平,将所述第三值提供至所述数值选择器的第二输入端;通过其中的减法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行减1计数;响应于所述标识信号的信号值为所述第一电平以及所述标识信号变化信号的信号值为所述第四电平,将所述减法计数器的计数值提供至所述数值选择器的第二输入端;响应于所述标识信号变化信号的信号值为所述第三电平,将0提供至所述数值选择器的第二输入端,以使所述寄存器的输出数值为0;通过其中的加法计数器从后一个调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数;响应于所述标识信号的信号值为所述第二电平以及所述标识信号变化信号的信号值为所述第四电平,将所述加法计数器的计数值提供至所述数值选择器的第二输入端。
优选地,所述脉冲宽度调制装置包括数据偏移模块,用于:将所述待调制信号的数字量增加一偏移量,得到无符号的第一数字量作为待调制的P端信号,其中,所述偏移量等于所述待调制信号的数字量的最大值;将所述偏移量减去所述待调制信号的数字量,得到无符号的第二数字量作为待调制的N端信号;所述比较单元进一步用于:将所述生成的载波信号分别与所述待调制的P端信号和所述待调制的N端信号按照所选择的调制模式的比较方式进行比较,得到调制输出P端信号和调制输出N端信号;对所述调制输出P端信号和调制输出N端信号进行差分处理,得到所述调制输出信号。
优选地,所述数据偏移模块进一步用于:响应于第一类调制模式或第三类调制模式被选择,设置所述偏移量等于所述调制周期的二分之一,其中,所述第一类调制模式的载波信号波形为锯齿波,所述第三类调制模式的载波信号波形为异步三角波;响应于第二类调制模式被选择,设置所述偏移量等于所述调制周期的四分之一,其中,所述第二类调制模式的载波信号波形为对称三角波。
优选地,所述比较单元进一步用于:响应于所述第一类调制模式、第二类调制模式或第三类调制模式中的第一种调制模式被选择:将所述生成的载波信号与所述待调制的P端信号比较,若所述生成的载波信号小于所述待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;将所述生成的载波信号与所述待调制的N端信号比较,若所述生成的载波信号小于所述待调制的N端信号,则在调制输出N端输出高电平,否则输出低电平;响应于所述第一类调制模式、第二类调制模式或第三类调制模式中的第二种调制模式被选择:将所述生成的载波信号与所述待调制的P端信号比较,若所述生成的载波信号小于所述待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;将所述调制输出P端信号取反,得到所述调制输出N端信号。
本发明还提供了一种音频处理芯片,包括如上所述的脉冲宽度调制装置。
本发明还提供了一种电子设备,包括:处理器和存储器,所述存储器用于存储可执行指令,所述可执行指令使所述处理器执行:接收用户输入的待调制信号的采样率,计算时钟脉冲频率与所述待调制信号的采样率的比值,得到调制周期;或者,接收用户输入的调制周期,所述调制周期为时钟脉冲频率与所述待调制信号的采样率的比值;接收从至少两种调制模式中选择的一种调制模式;将所述调制周期和调制模式发送给如上所述的脉冲宽度调制装置。
本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
附图说明
以下将参照附图对本发明的优选实施方式进行描述。图中:
图1示出了本发明实施例的脉冲宽度调制方法的实现架构示意图;
图2示出了本发明实施例的脉冲宽度调制方法的流程示意图;
图3示出了三种载波波形示意图;
图4示出了本发明实施例的载波发生单元的结构示意图;
图5示出了本发明另一实施例的载波发生单元的结构示意图;
图6示出了载波发生单元中用于生成锯齿波的部分的结构示意图;
图7示出了第一值(也即最大计数值)、寄存器的输入端的数值、寄存器的输出端的数值和计数溢出信号的时序对应示意图;
图8示出了载波发生单元中用于生成锯齿波的部分的另一实施例的结构示意图;
图9示出了载波发生单元中用于生成对称三角波的部分的结构示意图;
图10示出了工作时钟、待调制信号和输入开始信号的时序对应示意图;
图11示出了标识信号提供模块的结构和各信号的波形图;
图12示出了本发明另一实施例的载波发生单元中用于生成对称三角波的部分的结构示意图;
图13示出了第一种调制模式下各信号的波形示意图;
图14示出了第二种调制模式下各信号的波形示意图;
图15示出了第一种调制模式下各信号的波形示意图;
图16示出了第二种调制模式下各信号的波形示意图;
图17示出了第一种调制模式下各信号的波形示意图;
图18示出了第二种调制模式下各信号的波形示意图;
图19示出了本发明另一实施例的脉冲宽度调制装置的结构示意图;
图20示出了本发明实施例的电子设备的结构示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分,为了避免混淆本发明的实质,公知的方法、过程、流程、元件并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
如无特别说明,在本发明的描述中,1表示高电平,0表示低电平。
本发明实施例提供了一种脉冲宽度调制方法,用于对待调制信号进行脉冲宽度调制,针对应用场景的多种调制需求,能够通过同一个脉冲宽度调制装置实现多种脉冲宽度调试方式,输出多种调制形式的调制输出信号,从而兼容多种应用场景。
图1示出了本发明实施例的脉冲宽度调制方法的实现架构示意图。请参阅图1,本发明实施例的脉冲宽度调制方法由脉冲宽度调制装置1000实现,具体地,由载波发生单元100和比较单元200共同实现。载波发生单元100可根据设定的调制周期以及调制模式,生成多种不同的载波;比较单元200对载波和待调制信号按照设定调制模式的比较方式进行比较,得到多种调制输出信号。
图2示出了本发明实施例的脉冲宽度调制方法的流程示意图。请参阅图2,该方法包括如下步骤:
步骤S200,载波发生单元接收输入的调制周期,以及接收从至少两种调制模式中选择的一种调制模式,其中,调制周期为时钟脉冲频率与待调制信号的采样率的比值,至少两种调制模式中,任意两种调制模式的载波信号波形不同、和/或其载波信号与待调制信号的比较方式不同。
调制周期是指调制输出信号的1个周期(传输1个数据)所包括的时钟周期数量。调制周期可根据应用场景的时钟脉冲频率和待调制信号的采样率计算并输入至载波发生单元,例如,待调制信号采样率为384kHz/s,时钟脉冲频率为240MHz,调制周期=时钟脉冲频率/待调制信号采样率=240000/384=625,也即传输1个数据需要625个时钟脉冲。
根据脉冲宽度调制的原理,脉冲宽度调制是通过载波信号与待调制信号进行比较(该过程也称为采样),以产生特定占空比的方波。由此可知,载波信号波形不同和/或载波信号与待调制信号的比较方式不同,则最终得到的调制输出信号也不同。为了得到不同调制模式下不同的调制输出信号,可通过为每种调制模式设置相应的载波信号波形以及载波信号与待调制信号的比较方式,从而得到不同的调制输出信号。本发明实施例提供的调制模式中,任意两种调制模式之间可以仅载波信号波形不同,或者仅载波信号与待调制信号的比较方式不同,或者二者均不同。
在实际应用时,可根据应用场景的调制需求,从本发明实施例的脉冲宽度调制方法所能提供的调制模式中选择相应的调制模式,以提供满足该应用场景调制需求的调试输出信号。不同的调制输出信号其方波的占空比不同,或者每个调制周期内方波的数量和/或幅值不同,或者上述参数均不同。
具体实现时,可通过预留接口(Interface)由用户输入调制周期和选择调制模式。
步骤S400,载波发生单元根据调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,其中,生成的载波信号的波形为选择的调制模式的载波信号波形,生成的载波信号的周期为调制周期,至少两种调制模式中的每种调制模式均由同一载波发生单元生成该调制模式的载波信号。
本发明实施例由同一载波发生单元根据输入的调制周期和选择的调制模式生成不同的载波信号。载波信号波形与所选择的调制模式对应,可以为锯齿波、三角波(对称三角波或异步三角波)或者其他适合作为载波的波形。
图3示出了三种载波波形示意图。图中(a)为锯齿波,(b)为对称三角波,(c)为异步三角波。下面以本发明实施例中可生成的载波种类包括锯齿波、对称三角波和异步三角波为例,详细说明本发明实施例。本领域技术人员应当理解,载波的种类不限于上述三种,还可以包括其他类型。
例如,本发明实施例提供3种调制模式,其中调制模式1生成锯齿波,调制模式2生成对称三角波,调制模式3生成异步三角波,若调制模式2能满足应用场景所需的调制需求,则选择调制模式2,载波发生单元根据输入的调制周期和选择的调制模式2生成对称三角波。
载波发生单元可通过设置多个载波生成模块分别用于生成不同的载波信号波形,并通过选择模块根据所选择的调制模式选择相应的载波生成模块输出所需载波信号。例如,图4示出了一种载波发生单元的结构示意图,如图4所示,第一载波生成模块101用于生成载波1,第二载波生成模块102用于生成载波2,若当前选择的调制模式需要生成载波1,则选择模块103选择第一载波生成模块101的输出信号作为载波发生单元100的载波信号。这样,通过同一个载波发生单元兼容多种载波输出,提高了硬件资源的利用率,降低了成本。
当然,每个载波生成模块不限于仅生成1种载波,例如载波生成模块1可以基于输入的参数不同而生成载波1和载波2,若选择的调制模式1需要生成载波1,则根据调制模式1计算出参数1,载波生成模块1根据参数1生成载波1,同理,若选择的调制模式2需要生成载波2,则根据调制模式2计算出参数2,载波生成模块1根据参数2生成载波2。通过该方式可以进一步提高硬件资源的利用率。
步骤S600,比较单元将生成的载波信号与待调制信号按照所选择的调制模式的比较方式进行比较,得到调制输出信号。
待调制信号的输入方式通常为在每个时钟脉冲输入一个数值,可以是正值、0或者负值。信号比较时,可根据载波信号与待调制信号的大小关系输出比较结果,比较结果可以以电平的方式表达。例如,载波信号小于待调制信号,输出高电平,反之输出低电平;或者载波信号大于待调制信号,输出高电平,反之输出低电平。
在一些实施例中,为了达到较高的信号幅度,还可以采用差分信号输出。在相同电源电压下,相比单端信号,差分信号可提供更大的信号幅度,以及更好的线性度和信噪比。在比较前先将待调制信号转换为P端信号和N端信号,根据载波信号分别与P端信号和N端信号的大小关系分别得到比P端比较结果和N端比较结果;或者根据载波信号与P端信号的大小关系得到P端比较结果,根据P端比较结果直接确定N端比较结果(例如取反);或者根据载波信号与N端信号的大小关系得到P端比较结果,根据N端比较结果直接确定P端比较结果;最后,对P端比较结果和N端比较结果进行差分处理(减法运算)得到最终的调制输出信号。例如,载波信号小于P端信号,P端输出高电平,N端输出低电平,最终输出2倍于单端信号幅值的高电平;反之,P端输出低电平,N端输出高电平,最终输出2倍于单端信号幅值的低电平。
本发明上述实施例通过设定调制周期,以及选择所需的调制输出信号所对应的调制模式,由同一载波发生单元根据设定的调制周期和选择的调制模式生成当前调制模式下的载波信号,并由比较单元按照所选择调制模式的比较方式进行载波信号和待调制信号的比较,最终得到当前调制模式下的调制输出信号。通过本发明实施例,针对应用场景的多种调制需求,能够通过同一脉冲宽度调制装置实现多种脉冲宽度调试方式,输出多种调制形式的调制输出信号,从而兼容多种应用场景,并节约了硬件资源。
根据本发明实施例中可生成的载波种类,将本发明实施例可提供的调制模式分为第一类调制模式、第二类调制模式和第三类调制模式,分别对应锯齿波、对称三角波和异步三角波。针对所选择的调制模式,步骤S200分别通过如下步骤实现:
针对第一类调制模式(锯齿波):
步骤S210,载波发生单元响应于第一类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值0开始,每经过一个时钟脉冲输出数值加1,直至该调制周期结束时刻输出数值达到第一值,该调制周期内的一系列输出数值形成锯齿波信号。
通过该方式生成了第一类调制模式所需要的锯齿波载波。
如前,调制周期是指调制输出信号的1个周期(传输1个数据)所用的时钟脉冲数量。若载波发生单元在一个调制周期内,基于时钟脉冲共输出N次输出数值,则N等于前述时钟周期数量。每个调制周期内由于输出数值从0开始并逐次加1递增,因此在该调制周期的最后一个时钟脉冲输出的第一值等于N减去1,也即第一值等于前述调制周期减去1。
针对第二类调制模式(对称三角波):
步骤S220,载波发生单元响应于第二类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值第二值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,以及从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到第二值,该调制周期内的一系列输出数值形成对称三角波信号。
通过该方式生成了第二类调制模式所需要的对称三角波载波。
每个调制周期内由于输出数值从第二值开始逐次减1递减至0,并从0开始逐次加1递增至第二值,因此第二值等于N的二分之一减去1,也即第二值等于调制周期的二分之一减去1。
针对第三类调制模式(异步三角波):
步骤S230,载波发生单元响应于第三类调制模式被选择,在相邻的两个调制周期内,前一个调制周期起始时刻的输出数值从第三值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,后一个调制周期起始时刻的输出数值从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到第三值,相邻的两个调制周期内的一系列输出数值形成异步三角波信号。
通过该方式生成了第三类调制模式所需要的异步三角波载波。
每个调制周期内由于输出数值从第三值开始逐次减1递减至0,或者从0开始逐次加1递增至第三值,因此第三值等于N减去1,也即第三值等于调制周期减去1。
图5示出了本发明另一实施例的载波发生单元的结构示意图。如图5所示,该载波发生单元100包括第一数值选择器10和寄存器20,第一数值选择器10根据当前选择的调制模式,选择相应输入端的输入数值输出至寄存器20,由寄存器20的输出数值形成相应的载波。第一数值选择器10可根据其选择控制端c1的数值选择相应输入端的输入数值输出。例如,调制模式包括第一类调制模式和第二类调制模式;选择第一类调制模式时,第一数值选择器10的选择控制端c1置1,此时选择第一输入端(1端)的输入数值作为输出数值;选择第二类调制模式时,第一数值选择器10的选择控制端c1置0,此时选择第二输入端(0端)的输入数值作为输出数值。当然,还可以包括更多类调制模式,一类或多类调制模式共用第一数值选择器10的某个输入端,根据不同的调制模式为该输入端输入不同的数值即可得到不同的载波,例如,调制模式还包括第三类调制模式,选择第三类调制模式时,第一数值选择器10的选择控制端c1与第二类调制模式类似,同样置0,此时选择第二输入端(0端)第二输入端(0端)的输入数值作为输出数值,但在第二类调制模式下和第三类调制模式下输入至第一数值选择器10的第二输入端(0端)的计数值不同。
针对第一类调制模式(载波为锯齿波):
步骤S210包括:
步骤S211,载波发生单元中的第一数值选择器响应于其选择端接收到第一类调制模式的选择信号,从至少两个输入端中选择第一输入端的输入数值作为其输出数值,其中,第一输入端对应于第一类调制模式,第一输入端的输入数值为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;
步骤S212,第一数值选择器将其输出数值提供至载波发生单元中的寄存器的输入端;
步骤S213,每经过一个时钟脉冲寄存器的输出端输出其输入端的数值,在该调制周期内寄存器的输出端输出的一系列输出数值形成锯齿波信号。
例如,调制周期(时钟周期数量)为500,在每个调制周期内,第1个时钟脉冲第一输入端的输入数值为0,该时钟脉冲第一数值选择器的输出数值也为0;第2个时钟脉冲第一输入端的输入数值为第1个时钟脉冲第一数值选择器的输出数值0加1,也即为1;……以此类推,最后一个(第500个)时钟脉冲第一输入端的输入数值为第499个时钟脉冲第一数值选择器的输出数值498加1,也即为499。相应地,每经过一个时钟脉冲寄存器的输出端依次输出上述第一数值选择器的输出数值,从而生成锯齿波信号。
通过数值选择器,可以为不同的调制模式所需的不同载波设置不同的输入数值,从而可根据选择的调制模式选择相应输入端的输入数值提供给寄存器以生成所需的载波,实现了寄存器的共用。
针对第二类调制模式(载波为对称三角波):
步骤S220包括:
步骤S221,载波发生单元中的第一数值选择器响应于其选择端接收到第二类调制模式的选择信号,从至少两个输入端中选择第二输入端的输入数值作为其输出数值,其中,第二输入端对应于第二类调制模式,在每个调制周期内,第二输入端的输入数值在前1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,在后1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;
步骤S222,第一数值选择器将其输出数值提供至载波发生单元中的寄存器的输入端;
步骤S223,每经过一个时钟脉冲寄存器的输出端输出其输入端的数值,在该调制周期内寄存器的输出端输出的一系列输出数值形成对称三角波信号。
例如,调制周期(时钟周期数量)为500,在每个调制周期内,第1个时钟脉冲第一输入端的输入数值为249,该时钟脉冲第一数值选择器的输出数值也为249;第2个时钟脉冲第一输入端的输入数值为第1个时钟脉冲第一数值选择器的输出数值249减1,也即为248;……以此类推,第250个时钟脉冲第一输入端的输入数值为第249个时钟脉冲第一数值选择器的输出数值1减1,也即为0;第251个时钟脉冲第一输入端的输入数值为0,该时钟脉冲第一数值选择器的输出数值也为0;第252个时钟脉冲第一输入端的输入数值为第251个时钟脉冲第一数值选择器的输出数值0加1,也即为1;……以此类推,最后一个(第500个)时钟脉冲第一输入端的输入数值为第499个时钟脉冲第一数值选择器的输出数值248加1,也即为249。相应地,每经过一个时钟脉冲寄存器的输出端依次输出上述第一数值选择器的输出数值,从而生成对称三角波信号。
针对第三类调制模式(载波为异步三角波):
步骤S230包括:
步骤S231,载波发生单元中的第一数值选择器响应于其选择端接收到第三类调制模式的选择信号,从至少两个输入端中选择第二输入端的输入数值作为其输出数值,其中,第二输入端对应于第三类调制模式,在相邻的两个调制周期内,第二输入端的输入数值在前一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,后一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;
步骤S232,第一数值选择器将其输出数值提供至载波发生单元中的寄存器的输入端;
步骤S233,每经过一个时钟脉冲寄存器的输出端输出其输入端的数值,在相邻的两个调制周期内寄存器的输出端输出的一系列输出数值形成异步三角波信号。
例如,调制周期(时钟周期数量)为500,在第1个调制周期内,第1个时钟脉冲第一输入端的输入数值为499,该时钟脉冲第一数值选择器的输出数值也为499;第2个时钟脉冲第一输入端的输入数值为第1个时钟脉冲第一数值选择器的输出数值499减1,也即为498;……以此类推,最后一个(第500个)时钟脉冲第一输入端的输入数值为第499个时钟脉冲第一数值选择器的输出数值1减1,也即为0。在第2个调制周期内,第1个时钟脉冲第一输入端的输入数值为0,该时钟脉冲第一数值选择器的输出数值也为0;第2个时钟脉冲第一输入端的输入数值为第1个时钟脉冲第一数值选择器的输出数值0加1,也即为1;……以此类推,最后一个(第500个)时钟脉冲第一输入端的输入数值为第499个时钟脉冲第一数值选择器的输出数值498加1,也即为499。相应地,每经过一个时钟脉冲寄存器的输出端依次输出上述第一数值选择器的输出数值,从而生成异步三角波信号。当然,也可以在第1个调制周期进行递增计数,在第2个调制周期进行递减计数,在第3个调制周期进行递增技术……同样可以得到异步三角波信号。
得到第一类调制模式所需的锯齿波时,第一输入端的输入数值为加1递增的数值,其可通过加法计数器实现。
图6示出了载波发生单元中用于生成锯齿波的部分的结构示意图。如图6所示,载波发生单元100包括第一数值模块30,第一数值模块300进一步包括第一加法计数器31,第一数值选择器10的第一输入端(1端)的输入数值由载波发生单100中的第一数值模块30通过如下步骤提供:
步骤A1,第一数值模块中的第一加法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲寄存器的输出端的输出数值上进行加1计数,并将计数值提供至第一数值选择器的第一输入端,其中,第一个时钟脉冲时寄存器的输出数值为0;第一加法计数器在计数值增至第一值时,为第一数值模块提供计数溢出信号;
步骤A2,第一数值模块基于计数溢出信号,将0提供至第一数值选择器的第一输入端,以使在下一调制周期的初始时刻寄存器的输出数值为0。
由寄存器的输出端的输出数值为加法计数器提供数据来源,提高了数据利用率,无需额外的硬件设计,进一步节约了硬件资源。
寄存器可以由D触发器组成,可根据计数器的最大计数值确定寄存器位数,从而确定D触发器的数量。D触发器的输出数据跟随输入数据延迟一个时钟脉冲,因此当前时钟脉冲寄存器的输出数值为上一时钟脉冲寄存器的输入数值。
例如,调制周期为500,第一值等于前述调制周期减去1,也即为499。第1个调制周期的第1个时钟脉冲,设定寄存器的输出数值为0;第2个时钟脉冲,寄存器的输出数值为上1个时钟脉冲的输入数值,也即为1,第一加法计数器在当前时钟脉冲寄存器的输出端的输出数值上进行加1计数,也即计数值为1+1=2,并将计数值2提供至第一数值选择器的第一输入端,第一数值选择器选择第一输入端的输入数值2作为其输出数值,并提供至寄存器的输入端,也即当前时钟脉冲寄存器的输入数值为2;第3个时钟脉冲,寄存器的输出数值为上1个时钟脉冲的输入数值,也即为2,第一加法计数器在当前时钟脉冲寄存器的输出端的输出数值上进行加1计数,也即计数值为2+1=3,并将计数值3提供至第一数值选择器的第一输入端,第一数值选择器选择第一输入端的输入数值3作为其输出数值,并提供至寄存器的输入端,也即当前时钟脉冲寄存器的输入数值为3……以此类推,第499个时钟脉冲,寄存器的输出数值为498,计数值增至499,也即寄存器的输入数值499;在第500个时钟脉冲(最后一个时钟脉冲),寄存器的输出数值为499,等于第一值,则第一加法计数器为第一数值模块提供计数溢出信号,第一数值模块基于计数溢出信号,将0提供至第一数值选择器的第一输入端,也即此时寄存器的输入端的输入数值为0,以使在下一调制周期的初始时刻寄存器的输出数值为0。如此重复上述过程,从而得到波形为锯齿波的载波。
关于计数溢出信号,图7示出了第一值(也即最大计数值)、寄存器的输入端的数值、寄存器的输出端的数值和计数溢出信号的时序对应示意图。如图7所示,以最大计数值为499为例进行示意;寄存器的输入端的数值在每个调制周期内从1开始按照时钟脉冲依次加1递增至499,最后一个时钟脉冲置0;寄存器的输出端的数值在每个调制周期内从0开始按照时钟脉冲依次加1递增至499;最后一个时钟脉冲,由于寄存器的输出端的数值达到最大计数值,此时计数溢出信号置1,在计数溢出信号为1时,提供至第一数值选择器的第一输入端的数值为0。计数溢出信号能够使加法计数器避免无限制的累加计数,而是从第2个调制周期开始均能从0开始重新计数,从而得到锯齿波。
在每个调制周期内,第一数值选择器的第一输入端的数值在第一加法计数器的计数值和0之间切换,可通过另一数值选择器实现。图8示出了载波发生单元中用于生成锯齿波的部分的另一实施例的结构示意图,如图8所示,第一加法计数器31通过第二数值选择器32接入第一数值选择器10。第二数值选择器32的第一输入端(1端)输入的数值为固定值0,第一加法计数器31的输出端连接第二数值选择器的第二输入端(0端);第二数值选择器32的选择控制端c2连接计数溢出信号;第二数值选择器32的输出端连接第一数值选择器10的第一输入端(1端)。在每个调制周期的第1至倒数第2个时钟脉冲,计数溢出信号为0,此时选择第二数值选择器32的第二输入端(0端)的输入数值(也即第一加法计数器31的计数值)作为其输出数值;在每个调制周期的最后1个时钟脉冲,计数溢出信号置1,此时选择第二数值选择器32的第一输入端(1端)的输入数值(也即0)作为其输出数值。
得到第二类调制模式所需的对称三角波时,第二输入端的输入数值为先减1递减后加1递增的数值,减1递减可通过减法计数器实现,加1递增可通过加法计数器实现。
图9示出了载波发生单元中用于生成对称三角波的部分的结构示意图。如图9所示,载波发生单元100还包括标识信号提供模块40和第二数值模块50,第二数值模块50进一步包括减法计数器51和第二加法计数器52,第一数值选择器10的第二输入端(0端)的输入数值通过如下步骤提供:
步骤B1,标识信号提供模块基于待调制信号在每个调制周期的输入开始信号以及寄存器的输出端的输出数值生成标识信号和标识信号变化信号,其中,在每个调制周期内:在待调制信号开始输入的时钟脉冲,标识信号的信号值为第一电平,并保持至寄存器的输出端的输出数值为0的时钟脉冲,在寄存器的输出端的输出数值为0的下一个时钟脉冲,标识信号的信号值变化为第二电平,并保持至寄存器的输出端的输出数值为第二值的时钟脉冲;在寄存器的输出端的输出数值由1变化为0的时钟脉冲,标识信号变化信号的信号值为第三电平,在其余时钟脉冲,标识信号变化信号的信号值为第四电平;
步骤B2,载波发生单元的第二数值模块接收第二值和标识信号;
步骤B3,第二数值模块在当前调制周期的第一个时钟脉冲,响应于标识信号变化信号的信号值为第四电平,将第二值提供至第一数值选择器的第二输入端;
步骤B4,第二数值模块中的减法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲寄存器的输出端的输出数值上进行减1计数;
步骤B5,第二数值模块响应于标识信号的信号值为第一电平以及标识信号变化信号的信号值为第四电平,将减法计数器的计数值提供至第一数值选择器的第二输入端;
步骤B6,第二数值模块响应于标识信号变化信号的信号值为第三电平,将0提供至第一数值选择器的第二输入端,以使在当前调制周期内的下一个时钟脉冲寄存器的输出数值为0;
步骤B7,第二数值模块中的第二加法计数器每经过一个时钟脉冲,在当前时钟脉冲寄存器的输出端的输出数值上进行加1计数;
步骤B8,第二数值模块响应于标识信号的信号值为第二电平以及标识信号变化信号的信号值为第四电平,将第二加法计数器的计数值提供至第一数值选择器的第二输入端。
输入开始信号标志当前待调制信号(也称为当前数据)的输入开始。当前待调制信号开始输入时,通过输入开始信号告诉载波发生单元数据的开始输入时间。输入开始信号和待调制信号、时钟一起生成,和待调制信号同时发送,输入开始信号被发送给载波发生单元,待调制信号被发送给比较单元。
图10示出了工作时钟、待调制信号和输入开始信号的时序对应示意图。如图10所示,待调制信号在每个调制周期输入不同的数据,例如第一个调制周期输入数据A,第二个调制周期输入数据B。在第一个调制周期的第一个时钟脉冲,输入开始信号置1,也即第0个计数的位置出现1个脉冲;第一个调制周期的其余时钟脉冲,输入开始信号置0,也即不出现脉冲。后续调制周期同样如此。
标识信号的信号值中,第一电平可以为0,则第二电平为1;或者第一电平为1,则第二电平为0;从第一电平变化为第二电平,相当于标识信号进行翻转。
下面以第一电平为0、第二电平为1、调制周期的时钟周期数量为500为例,说明标识信号提供模块中标识信号的具体产生方式。图11示出了标识信号提供模块的结构和各信号的波形图,其中,(a)为标识信号提供模块的结构示意图,(b)为a中各信号的波形图。标识信号提供模块40包括第三数值选择器41、第四数值选择器42和D触发器43。
如图11所示,在每个调制周期内:
在待调制信号开始输入的第1个时钟脉冲,输入开始信号为1,也即第三数值选择器41的选择控制端c3为1,则第三数值选择器41选择第一输入端(1端)的输入数值(固定值0)作为其输出端的输出数值,此时由于寄存器的输出数值为249(生成对称三角波时,每个调制周期内,寄存器的输出端的输出数值依次为249-0以及0-249),!(|寄存器的输出数值)=0,则第四数值选择器42的选择控制端c4为0,第四数值选择器42选择其第二输入端(0端)的输入数值作为其输出数值,也即选择第三数值选择器41的输出数值0作为标识信号输入值(D值)输入至D触发器43;
第2个时钟脉冲,D触发器43输出标识信号(Q值)为上一个时钟脉冲的D值0,输入开始信号为0,也即第三数值选择器41的选择控制端c3为0,则第三数值选择器41选择第一输入端(1端)的输入数值(当前时钟脉冲D触发器43输出的Q值)0作为其输出端的输出数值,此时由于寄存器的输出数值为248,!(|寄存器的输出数值)=0,则第四数值选择器42的选择控制端c4为0,第四数值选择器42继续选择其第二输入端(0端)的输入数值作为其输出数值,也即选择第三数值选择器41的输出数值0作为标识信号输入值(D值)输入至D触发器43;
……
以此类推,直至第250个时钟脉冲,标识信号的信号值持续保持为0,此时由于寄存器的输出端的输出数值变为0,!(|寄存器的输出数值)=1,则第四数值选择器42的选择控制端c4为1,第四数值选择器42选择其第一输入端(1端)的输入数值作为其输出数值,也即选择固定值1作为标识信号输入值(D值)输入至D触发器43;
第251个时钟脉冲,D触发器43输出标识信号(Q值)为上一个时钟脉冲的D值1,并在该调制周期内随后的时钟脉冲持续保持为1,直至下一个调制周期的第一个时钟脉冲再随着输入开始信号置1而变化为0。
标识信号变化信号的信号值中,第三电平可以为0,则第四电平为1;反之亦可。
下面以第三电平为1、第四电平为0说明标识信号提供模块中标识信号变化信号的具体产生方式。请继续参阅图11,标识信号变化信号由标识信号输入值(D值)和!(标识信号)进行与运算获得,仅在标识信号输入值(D值)和!(标识信号)均为高电平,也即标识信号的上升沿,标识信号变化信号的信号值才为1,否则为0。例如,调制周期为500,仅在第250个时钟脉冲,在寄存器的输出端的输出数值变为0时,标识信号输入值(D值)才为1,此时标识信号的信号值为0,!(标识信号)为1,满足标识信号变化信号置1的条件。则在每个调制周期内,在第250个时钟脉冲,标识信号变化信号的信号值由0变为1,在后续的时钟脉冲又变为0。
设置标识信号,能够使减法计数器的计数值递减至0时选择加法计数器的计数值提供至第一数值选择器,并在加法计数器的计数值递增至第二值时选择减法计数器的计数值提供至第一数值选择器;设置标识信号变化信号,能够使加法计数器在每个调制周期的后1/2调制周期从0开始计数,避免加法器的计数值无限制累加;通过设置上述两个信号,从而得到所需的对称三角波。
当然,也可以直接通过标识信号使得每个调制周期内的前1/2调制周期使能减法计数器工作,后1/2调制周期使能加法计数器工作,而无需设置数值选择器对两个计数器的计数值进行选择性输出。
通过为第二数值模块提供第二值,使减法计数器在每个调制周期开始均从第二值开始递减计数,从而得到所需的对称三角波。
图12示出了本发明另一实施例的载波发生单元中用于生成对称三角波的部分的结构示意图。请参阅图12,例如,调制周期为500,第二值等于调制周期的二分之一减去1,也即为249。当前调制周期的第1个时钟脉冲,标识信号变化信号的信号值为0,也即第五数值选择器53的选择控制端为0,因此将第六数值选择器54的输出数值经由第五数值选择器53的第二输入端(0端)提供至第一数值选择器10的第二输入端(0端),由于输入开始信号为1,第六数值选择器54的输出数值为第二值249,也即此时第一数值选择器10输出249。
在第2个时钟脉冲,由于输入开始信号为0,第六数值选择器54选择其第二输入端(0端)的输入数值作为其输出数值,由于!(标识信号)为1,则此时第七数值选择器55选择减法计数器51的计数值作为其输出值,也即第一数值选择器10输出减法计数器51的计数值。减法计数器51的计数值为当前时钟脉冲寄存器20的输出数值(也即上一时钟脉冲寄存器20的输入值)减1。则此时第一数值选择器10输出248。
……
以此类推,直至第250个时钟脉冲,减法计数器51的计数值递减至0,第一数值选择器10输出0,标识信号变化信号的信号值变为1,第五数值选择器53选择其第一输入端(1端)的输入值(也即固定值0)作为其输出值,也即寄存器20的输入值为0,则下一个时钟脉冲寄存器20的输出值将变为0,从而使加法计数器52和减法计数器51在下一个时钟脉冲的初始计数值均为0。
在第251个时钟脉冲,!(标识信号)由1变为0,此时第七数值选择器55选择加法计数器52的计数值作为其输出值,……直至第500个时钟脉冲,加法计数器52的计数值递增至249,第一数值选择器10输出249。
如此重复上述过程,从而得到波形为对称三角波的载波。
若选择的调制模式中的载波为异步三角波,则可以和对称三角波共用硬件电路,例如采用相同的标识信号提供模块和第二数值模块,基于不同的最大计数值进行计数从而得到异步三角波。请继续参阅图9,第一数值选择模块10的第二输入端(0端)的输入数值通过如下步骤提供:
步骤C1,标识信号提供模块基于待调制信号在每个调制周期的输入开始信号以及寄存器的输出端的输出数值生成标识信号和标识信号变化信号,其中,在相邻的两个调制周期内:在前一个调制周期,在待调制信号开始输入的时钟脉冲,标识信号的信号值为第一电平,并在当前调制周期保持第一电平,在后一个调制周期的第一个时钟脉冲,响应于前一个调制周期的最后一个时钟脉冲寄存器的输出端的输出数值为0,标识信号的信号值变化为第二电平,并在当前调制周期保持第二电平;在每个调制周期内:在寄存器的输出端的输出数值由1变化为0的时钟脉冲,标识信号变化信号的信号值为第三电平,在其余时钟脉冲,标识信号变化信号的信号值为第四电平;
步骤C2,载波发生单元的第二数值模块接收第三值和标识信号;
步骤C3,在相邻的两个调制周期内:
步骤C4,第二数值模块在前一个调制周期的第一个时钟脉冲,响应于标识信号变化信号的信号值为第四电平,将第三值提供至第一数值选择器的第二输入端;
步骤C5,第二数值模块中的减法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲寄存器的输出端的输出数值上进行减1计数;
步骤C6,第二数值模块响应于标识信号的信号值为第一电平以及标识信号变化信号的信号值为第四电平,将减法计数器的计数值提供至第一数值选择器的第二输入端;
步骤C7,第二数值模块响应于标识信号变化信号的信号值为第三电平,将0提供至第一数值选择器的第二输入端,以使寄存器的输出数值为0;
步骤C8,第二数值模块中的加法计数器从后一个调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲寄存器的输出端的输出数值上进行加1计数;
步骤C9,第二数值模块响应于标识信号的信号值为第二电平以及标识信号变化信号的信号值为第四电平,将加法计数器的计数值提供至第一数值选择器的第二输入端。
输入开始信号的产生和前述对称三角波实施例中的类似,此处不再赘述。标识信号提供模块的工作原理也与前述对称三角波实施例中的类似,区别仅在于:生成对称三角波时,标识信号在同一个调制周期内,前半个调制周期为0,后半个调制周期为1,标识信号变化信号在每个调制周期内的1/2个时钟脉冲时变为1,其余时钟均为0;生成异步三角波时,标识信号在相邻两个调制周期内,前一个调制周期为0,后一个调制周期为1,标识信号变化信号在前一个调制周期的最后一个时钟脉冲时变为1,其余时钟脉均为0。
通过为第二数值模块提供第三值,使减法计数器在每个调制周期开始均从第三值开始递减计数,从而得到所需的异步三角波。
在上述得到对称三角波和异步三角波的实施例中,可以使用不同的第二数值模块,也可以共用同一个第二数值模块。若共用同一个第二数值模块,第二数值模块根据调制模式不同,减法计数器在每个调制周期开始的初始计数值不同(分别为第二值和第三值),从而分别得到对称三角波和异步三角波(可参阅图12,在载波为对称三角波的实施例中,第六数值选择器54的1端的输入值为第二值;在载波为异步三角波的实施例中,第六数值选择器54的1端的输入值为第三值)。
上述图3至图12所示的具体结构和波形仅为示例性说明,本发明实施例的脉冲宽度调制方法不限于上述图中所示的结构实现,任何可以实现步骤S200至步骤S600的结构均在本发明的保护范围内。
若待调制信号为有符号数(包含正值、0和负值),为了方便操作,减少数字逻辑运算复杂度,以及减少符号位对硬件资源的占用,在一些实施例中,可以通过对待调制信号进行有符号数转无符号数的数据处理操作。在步骤S600之前,该方法还包括:
步骤S500,数据转换单元将待调制信号的数字量增加一偏移量,得到无符号的第一数字量作为待调制的P端信号,其中,偏移量等于待调制信号的数字量的最大值;将偏移量减去待调制信号的数字量,得到无符号的第二数字量作为待调制的N端信号。
本实施例通过设置偏移量进行有符号数和无符号数的转换,公式如下:
P端:待调制的P端信号=待调制信号的数字量+偏移量
N端:待调制的N端信号=偏移量–待调制信号的数字量
对N端的上述转换操作方式可以满足调制输出的对称性要求。
在利用上述公式进行转换时,偏移量需要等于待调制信号的数字量的最大值,可以防止转换后继续存在数值符号,例如,待调制信号的数字量的最大值为10,则偏移量需设置为10,若偏移量为9,计算待调制的N端信号时,若待调制信号的数字量大于9,将得到负值,导致调制出错。
步骤S600,进一步包括:
步骤S601,将生成的载波信号分别与待调制的P端信号和待调制的N端信号按照所选择的调制模式的比较方式进行比较,得到调制输出P端信号和调制输出N端信号;
步骤S602,对调制输出P端信号和调制输出N端信号进行差分处理,得到调制输出信号。
通过上述方式,对待调制信号进行有符号数转无符号数的数据处理操作,得到无符号的待调制的P端信号和待调制的N端信号,减少符号位对硬件资源的占用,有利于产品的小型化,并降低成本。此外,最终得到的调制输出信号为差分信号,提供了更大的信号幅度以及更好的线性度和信噪比。
关于偏移量的具体取值,若第一类调制模式或第三类调制模式被选择,偏移量等于调制周期的二分之一,其中,第一类调制模式的载波信号波形为锯齿波,第三类调制模式的载波信号波形为异步三角波;若第二类调制模式被选择,偏移量等于调制周期的四分之一,其中,第二类调制模式的载波信号波形为对称三角波。
第一类调制模式或第三类调制模式下,在输出端,P端与N端的差分信号在一个调制周期内可以变化的范围只有1/2个调制周期(具体请参考图13,得到的脉宽基于待调制信号从0开始,向左或向右摆动只有1/2),也即能够调制的最大输入只有1/2个调制周期,如果输入一个大于1/2个调制周期的待调制信号,其调制输出信号将与输入数值为1/2个调制周期的调制输出信号一致,则失去了调制的意义。因此,在此情形下,本实施例用于调制待调制信号的数字量为调制周期的1/2的信号,将偏移量也设置为等于调制周期的1/2,从而可得到此条件下最大的调制脉宽。
第二类调制模式,偏移量的设置也是类似原理,区别在于在一个调制周期内P端与N端的差分信号可以变化的范围为1/4个调制周期(请参考图14),则在此情形下,本实施例用于调制待调制信号的数字量为调制周期的1/4的信号,将偏移量也设置为等于调制周期的1/4。
不同调制模式下,可采用不同的采样方式,从而得到不同的调制输出信号。步骤S601进一步包括:
步骤S6011(第一种比较方式),响应于第一类调制模式、第二类调制模式或第三类调制模式中的第一种调制模式被选择:
将生成的载波信号与待调制的P端信号比较,若生成的载波信号小于待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;
将生成的载波信号与待调制的N端信号比较,若生成的载波信号小于待调制的N端信号,则在调制输出N端输出高电平,否则输出低电平;
步骤S6012(第二种比较方式),响应于第一类调制模式、第二类调制模式或第三类调制模式中的第二种调制模式被选择:
将生成的载波信号与待调制的P端信号比较,若生成的载波信号小于待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;
将调制输出P端信号取反,得到调制输出N端信号。
本实施例为三类调制模式设置了两种比较方式,可以得到6种调制输出信号。第一种调制模式的比较方式为:待调制的P端信号和N端信号均与载波信号比较,分别得到调制输出P端和调制输出N端的信号,也即调制输出P端和调制输出N端各自遵循调制逻辑输出。第二种调制模式的比较方式为:仅待调制的P端信号与载波信号比较,得到调制输出P端的信号,调制输出N端的信号直接对调制输出P端的信号取反即可,也即调制输出P端和调制输出N端输出幅值相同、相位相反的信号。基于上述不同的比较方式可以得到不同的脉宽调制输出信号。
图13至图18示出了6种调制模式下各信号的波形示意图,不同的调制模式得到不同的调制输出信号,图中(a)为与待调制信号的几个示例性数值所对应的载波、调制输出P端与调制输出N端的波形示意图,(b)为与待调制信号的几个示例性数值所对应的调制输出P端、调制输出N端以及差分信号的波形示意图。图中“clk”为调制周期的数值(即1个调制周期内的时钟脉冲数量),“输入P”为待调制的P端信号的数值,“输入N”为待调制的N端信号的数值,虚线框内代表将待调制信号从有符号数转换为无符号数,“输出P”为调制输出P端信号,“输出N”为待调制的调制输出N端信号,载波部分除载波波形以外的线条中,实线为待调制的P端信号的数值,虚线为待调制的N端信号的数值。
上述6种调制模式中,载波的种类包括锯齿波、对称三角波和异步三角波;比较方式包括上文的第一种比较方式和第二种比较方式。图13中,载波为锯齿波,调制输出P端与调制输出N端根据各自的调制逻辑得到输出信号(也即采用第一种比较方式)。
根据调制输出信号的波形特点,可将采样方式分为中心等间距采样和非中心等间距采样。图13所示的调制模式采用中心等间距采样,如图13中(a)所示,得到的调制输出信号的波形呈现中心等间距分布,也即调制输出信号关于每个周期的中心(1/2位置)对称,脉宽出现在调制周期的中间位置。图14的调制模式则为非中心等间距采样,如图14中(a)所示,得到的调制输出信号的波形呈现非中心等间距分布,也即调制输出信号不关于每个周期的中心对称。
图14中,载波为锯齿波,调制输出P端根据其调制逻辑得到输出信号,调制输出N端与调制输出P端的幅值相同相位相反(也即采用第二种比较方式),最终得到的调制输出信号波形呈现非中心等间距分布。
图15中,载波为对称三角波,调制输出P端与调制输出N端根据各自的调制逻辑得到输出信号(也即采用第一种比较方式),最终得到的调制输出信号波形呈现中心等间距分布,且为两倍采样率,也即如图中所示的在一个调制周期内出现两次方波。
图16中,载波为对称三角波,调制输出P端根据其调制逻辑得到输出信号,调制输出N端与调制输出P端的幅值相同相位相反(也即采用第二种比较方式),最终得到的调制输出信号波形呈现中心等间距分布。
图17中,载波为异步三角波,调制输出P端与调制输出N端根据各自的调制逻辑得到输出信号(也即采用第一种比较方式),最终得到的调制输出信号波形呈现中心等间距分布。
图18中,载波为异步三角波,调制输出P端根据其调制逻辑得到输出信号,调制输出N端与调制输出P端的幅值相同相位相反(也即采用第二种比较方式),最终得到的调制输出信号波形呈现中心等间距分布。
需要说明的是,通过有符号数转无符号数,在得到的脉宽调制波形为中心等间距的情形下,本发明实施例还能解决交越失真问题,提升产品性能。
以音频领域为例对交越失真进行说明:将待调制信号的数字量转换成具有脉冲宽度的调制输出信号,然后提供给模拟电路,由模拟电路根据模拟信号的高低电平输出声音;若将高时钟工作频率下得到的尖峰脉冲(脉宽为极窄脉宽,也即急速翻转的高低电平,)提供给模拟电路,模拟电路无法快速响应,声音将变形、失真,也会对模拟电路造成损害,该现象即为交越失真。解决交越失真的关键是避免极窄脉宽。
通过有符号数转无符号数结合载波形态以及载波和待调制信号的比较方式,在调制输出信号的波形呈现中心等间距的情形中,调制输出P端信号和调制输出N端信号以每个调制周期中间1/2位置为中心,其脉宽各自向两侧偏移。因此,在最终得到的差分信号中,在极限情形下,调制输出P端信号和调制输出N端信号各自从调制周期的中心向两侧各偏移1个时钟脉冲的宽度,则最小脉宽也占据两个时钟脉冲,避免了极窄脉宽的出现,为模拟电路预留了两个时钟脉冲的时间缓冲(可参考图13的波形)。若不是中心等间距采样,而是在调制周期的边缘部分进行差分,则无法避免出现极窄脉宽。
由于本发明实施例提供可供选择的调制模式,若应用场景对性能要求较高,可以选择能够调制出中心等间距波形的调制模式;如应用场景对性能要求不高,可以选择调制出非中心等间距波形的模式。
本发明实施例还提供了一种脉冲宽度调制装置,用于对待调制信号进行脉冲宽度调制。请继续参阅图1,该脉冲宽度调制装置1000包括载波发生单元100和比较单元200。
载波发生单元100用于接收输入的调制周期,以及接收从至少两种调制模式中选择的一种调制模式,其中,调制周期为时钟脉冲频率与待调制信号的采样率的比值,至少两种调制模式中,任意两种调制模式的载波信号波形不同、和/或其载波信号与待调制信号的比较方式不同;以及根据调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,其中,生成的载波信号的波形为选择的调制模式的载波信号波形,生成的载波信号的周期为调制周期,至少两种调制模式中的每种调制模式均由同一载波发生单元生成该调制模式的载波信号。
比较单元200用于将生成的载波信号与待调制信号按照所选择的调制模式的比较方式进行比较,得到调制输出信号。
优选地,载波发生单元100进一步用于:响应于第一类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值0开始,每经过一个时钟脉冲输出数值加1,直至该调制周期结束时刻输出数值达到第一值,该调制周期内的一系列输出数值形成锯齿波信号。
优选地,请参阅图5,载波发生单元100包括第一数值选择器10和寄存器20,其中,第一数值选择器10用于:响应于其选择端接收到第一类调制模式的选择信号,从至少两个输入端中选择第一输入端(1端)的输入数值作为其输出数值,其中,第一输入端(1端)对应于第一类调制模式,第一输入端的(1端)输入数值为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;将其输出数值提供至载波发生单元100中的寄存器20的输入端;寄存器20用于:每经过一个时钟脉冲在其输出端输出其输入端的数值,在该调制周期内寄存器20的输出端输出的一系列输出数值形成锯齿波信号。
优选地,请参阅图6,载波发生单元10进一步包括第一数值模块30,第一数值模块30用于:通过其中的加法计数器31从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲寄存器20的输出端的输出数值上进行加1计数,并将计数值提供至第一数值选择器10的第一输入端(1端),其中,第一个时钟脉冲时寄存器20的输出数值为0;加法计数器31在计数值增至第一值时,为第一数值模块30提供计数溢出信号;基于计数溢出信号,将0提供至第一数值选择器的第一输入端(1端),以使在下一调制周期的初始时刻寄存器20的输出数值为0。
优选地,载波发生单元100进一步用于:响应于第二类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值第二值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,以及从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到第二值,该调制周期内的一系列输出数值形成对称三角波信号。
优选地,请参阅图5,载波发生单元100包括第一数值选择器10和寄存器20,其中:
第一数值选择器10用于:响应于其选择端接收到第二类调制模式的选择信号,从至少两个输入端中选择第二输入端(0端)的输入数值作为其输出数值,其中,第二输入端(0端)对应于第二类调制模式,在每个调制周期内,第二输入端(0端)的输入数值在前1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,在后1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;将其输出数值提供至载波发生单元100中的寄存器20的输入端。
寄存器20用于:每经过一个时钟脉冲在其输出端输出其输入端的数值,在该调制周期内寄存器20的输出端输出的一系列输出数值形成对称三角波信号。
优选地,请参阅图9,载波发生单元100进一步包括第二数值模块50和标识信号提供模块40。
标识信号提供模块40用于提供标识信号至第二数值模块50,其基于待调制信号在每个调制周期的输入开始信号以及寄存器20的输出端的输出数值生成标识信号和标识信号变化信号,其中,在每个调制周期内:在待调制信号开始输入的时钟脉冲,标识信号的信号值为第一电平,并保持至寄存器20的输出端的输出数值为0的时钟脉冲,在寄存器20的输出端的输出数值为0的下一个时钟脉冲,标识信号的信号值变化为第二电平,并保持至寄存器20的输出端的输出数值为第二值的时钟脉冲;在寄存器20的输出端的输出数值由1变化为0的时钟脉冲,标识信号变化信号的信号值为第三电平,在其余时钟脉冲,标识信号变化信号的信号值为第四电平。
第二数值模块50用于:接收第二值和标识信号;在当前调制周期的第一个时钟脉冲,响应于标识信号变化信号的信号值为第四电平,将第二值提供至第一数值选择器10的第二输入端(0端);通过其中的减法计数器51从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲寄存器20的输出端的输出数值上进行减1计数;响应于标识信号的信号值为第一电平以及标识信号变化信号的信号值为第四电平,将减法计数器51的计数值提供至第一数值选择器10的第二输入端(0端);响应于标识信号变化信号的信号值为第三电平,将0提供至第一数值选择器10的第二输入端(0端),以使在当前调制周期内的下一个时钟脉冲寄存器20的输出数值为0;通过其中的加法计数器52每经过一个时钟脉冲,在当前时钟脉冲寄存器20的输出端的输出数值上进行加1计数;响应于标识信号的信号值为第二电平以及标识信号变化信号的信号值为第四电平,将加法计数器52的计数值提供至第一数值选择器10的第二输入端(0端)。
优选地,载波发生单元100进一步用于:响应于第三类调制模式被选择,在相邻的两个调制周期内,前一个调制周期起始时刻的输出数值从第三值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,后一个调制周期起始时刻的输出数值从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到第三值,相邻的两个调制周期内的一系列输出数值形成异步三角波信号。
优选地,请参阅图5,载波发生单元100包括第一数值选择器10和寄存器20,第一数值选择器10用于:响应于其选择端接收到第三类调制模式的选择信号,从至少两个输入端中选择第二输入端(0端)的输入数值作为其输出数值,其中,第二输入端(0端)对应于第三类调制模式,在相邻的两个调制周期内,第二输入端(0端)的输入数值在前一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,后一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;将其输出数值提供至载波发生单元100中的寄存器20的输入端。
寄存器20用于:每经过一个时钟脉冲在其输出端输出其输入端的数值,在相邻的两个调制周期内寄存器20的输出端输出的一系列输出数值形成异步三角波信号。
优选地,请参阅图9,载波发生单元100进一步包括第二数值模块50和标识信号提供模块40。
标识信号提供模块40用于提供标识信号至第二数值模块50,其基于待调制信号在每个调制周期的输入开始信号以及寄存器20的输出端的输出数值生成标识信号和标识信号变化信号,其中,在相邻的两个调制周期内:在前一个调制周期,在待调制信号开始输入的时钟脉冲,标识信号的信号值为第一电平,并在当前调制周期保持第一电平,在后一个调制周期的第一个时钟脉冲,响应于前一个调制周期的最后一个时钟脉冲寄存器20的输出端的输出数值为0,标识信号的信号值变化为第二电平,并在当前调制周期保持第二电平;在每个调制周期内:在寄存器20的输出端的输出数值由1变化为0的时钟脉冲,标识信号变化信号的信号值为第三电平,在其余时钟脉冲,标识信号变化信号的信号值为第四电平。
第二数值模块50用于:接收第三值和标识信号;在相邻的两个调制周期内:在前一个调制周期的第一个时钟脉冲,响应于标识信号变化信号的信号值为第四电平,将第三值提供至第一数值选择器10的第二输入端(0端);通过其中的减法计数器51从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲寄存器20的输出端的输出数值上进行减1计数;响应于标识信号的信号值为第一电平以及标识信号变化信号的信号值为第四电平,将减法计数器51的计数值提供至第一数值选择器10的第二输入端(0端);响应于标识信号变化信号的信号值为第三电平,将0提供至第一数值选择器10的第二输入端(0端),以使寄存器20的输出数值为0;通过其中的加法计数器52从后一个调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲寄存器20的输出端的输出数值上进行加1计数;响应于标识信号的信号值为第二电平以及标识信号变化信号的信号值为第四电平,将加法计数器52的计数值提供至第一数值选择器10的第二输入端(0端)。
可选地,图19示出了本发明另一实施例的脉冲宽度调制装置的结构示意图,请参阅图19,脉冲宽度调制装置1000包括数据偏移模块300,数据偏移模块300用于:将待调制信号的数字量增加一偏移量,得到无符号的第一数字量作为待调制的P端信号,其中,偏移量等于待调制信号的数字量的最大值;将偏移量减去待调制信号的数字量,得到无符号的第二数字量作为待调制的N端信号。
比较单元200进一步用于:将生成的载波信号分别与待调制的P端信号和待调制的N端信号按照所选择的调制模式的比较方式进行比较,得到调制输出P端信号和调制输出N端信号;对调制输出P端信号和调制输出N端信号进行差分处理,得到调制输出信号。
优选地,数据偏移模块300进一步用于:响应于第一类调制模式或第三类调制模式被选择,设置偏移量等于调制周期的二分之一,其中,第一类调制模式的载波信号波形为锯齿波,第三类调制模式的载波信号波形为异步三角波;响应于第二类调制模式被选择,设置偏移量等于调制周期的四分之一,其中,第二类调制模式的载波信号波形为对称三角波。
优选地,比较单元200进一步用于:响应于第一类调制模式、第二类调制模式或第三类调制模式中的第一种调制模式被选择:将生成的载波信号与待调制的P端信号比较,若生成的载波信号小于待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;将生成的载波信号与待调制的N端信号比较,若生成的载波信号小于待调制的N端信号,则在调制输出N端输出高电平,否则输出低电平;响应于第一类调制模式、第二类调制模式或第三类调制模式中的第二种调制模式被选择:将生成的载波信号与待调制的P端信号比较,若生成的载波信号小于待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;将调制输出P端信号取反,得到调制输出N端信号。
本发明上述实施例的脉冲宽度调制装置1000的具体实现方式、实现原理和有益效果可参考前述实施例的脉冲宽度调制方法,此处不再赘述。
本发明实施例还提供了一种音频处理芯片,包括上述实施例的脉冲宽度调制装置1000。
本发明实施例还提供了一种电子设备,图20示出了本发明实施例的电子设备的结构示意图。如图20所示,电子设备2000包括处理器2001和存储器2002,存储器2002用于存储可执行指令2003,可执行指令2003使处理器2001执行:接收用户输入的待调制信号的采样率,计算时钟脉冲频率与待调制信号的采样率的比值,得到调制周期;接收从至少两种调制模式中选择的一种调制模式;将调制周期和调制模式发送给如上实施例的脉冲宽度调制装置1000。本实施例中,电子设备2000根据输入的采样率计算调制周期。
在一些实施例中,处理器2001还可以执行接收用户输入的调制周期,调制周期为时钟脉冲频率与待调制信号的采样率的比值;接收从至少两种调制模式中选择的一种调制模式;将调制周期和调制模式发送给如上实施例的脉冲宽度调制装置1000。本实施例中,电子设备2000直接接收调制周期,无需进行调制周期的计算。
需要说明的是,本公开的实施例所述的计算机可读存储介质并不限定于上述所给实施例,例如还可以为电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。其中,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生,例如,两个接连表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本文中对于各步骤的编号仅为了方便说明和引用,并不用于限定前后顺序,具体的执行顺序是由技术本身确定的,本领域技术人员可以根据技术本身确定各种允许的、合理的顺序。
需要说明的是,本发明中采用步骤编号(字母或数字编号)来指代某些具体的方法步骤,仅仅是出于描述方便和简洁的目的,而绝不是用字母或数字来限制这些方法步骤的顺序。本领域的技术人员能够明了,相关方法步骤的顺序,应由技术本身决定,不应因步骤编号的存在而被不适当地限制,本领域技术人员可以根据技术本身确定各种允许的、合理的步骤顺序。
特别需要说明的是,这些具体数值以及数值之间的关系,不仅需要发明人具有远远超出本领域普通技术人员水平的理论基础,还需要根据预期目标设计结果,进行创造性尝试和选择,并辅以若干次艰辛试验,最终才能得到预期的目标结果。这个数值的确定,本领域普通技术人员永远无法获得,首先,数值的初始选取区间是(O,∞),仅具有本领域普通技术知识的人员无法在这么大的初始选取区间内去限缩确定大致的范围、供后续试验选择,再进一步,其也不具备创造性的能力来构建可行性的试验来在这个限缩后的大致范围内精确出得到最佳效果的具体的最终被选取的数值。
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。
Claims (28)
1.一种脉冲宽度调制方法,其特征在于,用于对待调制信号进行脉冲宽度调制,所述方法包括:
载波发生单元接收输入的调制周期,以及接收从至少两种调制模式中选择的一种调制模式,其中,所述调制周期为时钟脉冲频率与所述待调制信号的采样率的比值,所述至少两种调制模式中,任意两种调制模式的载波信号波形不同、和/或其载波信号与待调制信号的比较方式不同;
所述载波发生单元根据所述调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,其中,生成的载波信号的波形为所述选择的调制模式的载波信号波形,生成的载波信号的周期为所述调制周期,所述至少两种调制模式中的每种调制模式均由同一所述载波发生单元生成该调制模式的载波信号;
比较单元将所述生成的载波信号与所述待调制信号按照所选择的调制模式的比较方式进行比较,得到调制输出信号。
2.根据权利要求1所述的方法,其特征在于,所述载波发生单元根据所述调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,进一步包括:
所述载波发生单元响应于第一类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值0开始,每经过一个时钟脉冲输出数值加1,直至该调制周期结束时刻输出数值达到第一值,该调制周期内的一系列输出数值形成锯齿波信号。
3.根据权利要求2所述的方法,其特征在于,所述载波发生单元响应于第一类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值0开始,每经过一个时钟脉冲输出数值加1,直至该调制周期结束时刻输出数值达到第一值,该调制周期内的一系列输出数值形成锯齿波信号,进一步包括:
所述载波发生单元中的数值选择器响应于其选择端接收到所述第一类调制模式的选择信号,从至少两个输入端中选择第一输入端的输入数值作为其输出数值,其中,所述第一输入端对应于所述第一类调制模式,所述第一输入端的输入数值为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;
所述数值选择器将其输出数值提供至所述载波发生单元中的寄存器的输入端;
每经过一个时钟脉冲所述寄存器的输出端输出其输入端的数值,在该调制周期内所述寄存器的输出端输出的一系列输出数值形成锯齿波信号。
4.根据权利要求3所述的方法,其特征在于,所述第一输入端的输入数值由所述载波发生单元中的第一数值模块通过如下方式提供:
所述第一数值模块中的加法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数,并将计数值提供至所述数值选择器的第一输入端,其中,第一个时钟脉冲时所述寄存器的输出数值为0;所述加法计数器在所述计数值增至所述第一值时,为所述第一数值模块提供计数溢出信号;
所述第一数值模块基于所述计数溢出信号,将0提供至所述数值选择器的第一输入端,以使在下一调制周期的初始时刻所述寄存器的输出数值为0。
5.根据权利要求1所述的方法,其特征在于,所述载波发生单元根据所述调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,进一步包括:
所述载波发生单元响应于第二类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值第二值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,以及从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第二值,该调制周期内的一系列输出数值形成对称三角波信号。
6.根据权利要求5所述的方法,其特征在于,所述载波发生单元响应于第二类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值第二值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,以及从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第二值,该调制周期内的一系列输出数值形成对称三角波信号,进一步包括:
所述载波发生单元中的数值选择器响应于其选择端接收到所述第二类调制模式的选择信号,从至少两个输入端中选择第二输入端的输入数值作为其输出数值,其中,所述第二输入端对应于所述第二类调制模式,在每个调制周期内,所述第二输入端的输入数值在前1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,在后1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;
所述数值选择器将其输出数值提供至所述载波发生单元中的寄存器的输入端;
每经过一个时钟脉冲所述寄存器的输出端输出其输入端的数值,在该调制周期内所述寄存器的输出端输出的一系列输出数值形成对称三角波信号。
7.根据权利要求6所述的方法,其特征在于,所述第二输入端的输入数值通过如下方式提供:
标识信号提供模块基于所述待调制信号在每个调制周期的输入开始信号以及所述寄存器的输出端的输出数值生成标识信号和标识信号变化信号,其中,在每个调制周期内:在所述待调制信号开始输入的时钟脉冲,所述标识信号的信号值为第一电平,并保持至所述寄存器的输出端的输出数值为0的时钟脉冲,在所述寄存器的输出端的输出数值为0的下一个时钟脉冲,所述标识信号的信号值变化为第二电平,并保持至所述寄存器的输出端的输出数值为所述第二值的时钟脉冲;在所述寄存器的输出端的输出数值由1变化为0的时钟脉冲,所述标识信号变化信号的信号值为第三电平,在其余时钟脉冲,所述标识信号变化信号的信号值为第四电平;
所述载波发生单元的第二数值模块接收所述第二值和所述标识信号;
所述第二数值模块在当前调制周期的第一个时钟脉冲,响应于所述标识信号变化信号的信号值为所述第四电平,将所述第二值提供至所述数值选择器的第二输入端;
所述第二数值模块中的减法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行减1计数;
所述第二数值模块响应于所述标识信号的信号值为所述第一电平以及所述标识信号变化信号的信号值为所述第四电平,将所述减法计数器的计数值提供至所述数值选择器的第二输入端;
所述第二数值模块响应于所述标识信号变化信号的信号值为所述第三电平,将0提供至所述数值选择器的第二输入端,以使在当前调制周期内的下一个时钟脉冲所述寄存器的输出数值为0;
所述第二数值模块中的加法计数器每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数;
所述第二数值模块响应于所述标识信号的信号值为所述第二电平以及所述标识信号变化信号的信号值为所述第四电平,将所述加法计数器的计数值提供至所述数值选择器的第二输入端。
8.根据权利要求1所述的方法,其特征在于,所述载波发生单元根据所述调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,进一步包括:
所述载波发生单元响应于第三类调制模式被选择,在相邻的两个调制周期内,前一个调制周期起始时刻的输出数值从第三值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,后一个调制周期起始时刻的输出数值从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第三值,相邻的两个调制周期内的一系列输出数值形成异步三角波信号。
9.根据权利要求8所述的方法,其特征在于,所述载波发生单元响应于第三类调制模式被选择,在相邻的两个调制周期内,前一个调制周期起始时刻的输出数值从第三值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,后一个调制周期起始时刻的输出数值从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第三值,相邻的两个调制周期内的一系列输出数值形成异步三角波信号,进一步包括:
所述载波发生单元中的数值选择器响应于其选择端接收到所述第三类调制模式的选择信号,从至少两个输入端中选择第二输入端的输入数值作为其输出数值,其中,所述第二输入端对应于所述第三类调制模式,在相邻的两个调制周期内,所述第二输入端的输入数值在前一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,后一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;
所述数值选择器将其输出数值提供至所述载波发生单元中的寄存器的输入端;
每经过一个时钟脉冲所述寄存器的输出端输出其输入端的数值,在相邻的两个调制周期内所述寄存器的输出端输出的一系列输出数值形成异步三角波信号。
10.根据权利要求9所述的方法,其特征在于,所述第二输入端的输入数值通过如下方式提供:
标识信号提供模块基于所述待调制信号在每个调制周期的输入开始信号以及所述寄存器的输出端的输出数值生成标识信号和标识信号变化信号,其中,在相邻的两个调制周期内:在前一个调制周期,在所述待调制信号开始输入的时钟脉冲,所述标识信号的信号值为第一电平,并在当前调制周期保持所述第一电平,在后一个调制周期的第一个时钟脉冲,响应于所述前一个调制周期的最后一个时钟脉冲所述寄存器的输出端的输出数值为0,所述标识信号的信号值变化为第二电平,并在当前调制周期保持所述第二电平;在每个调制周期内:在所述寄存器的输出端的输出数值由1变化为0的时钟脉冲,所述标识信号变化信号的信号值为第三电平,在其余时钟脉冲,所述标识信号变化信号的信号值为第四电平;
所述载波发生单元的第二数值模块接收所述第三值和所述标识信号;
在相邻的两个调制周期内:
所述第二数值模块在前一个调制周期的第一个时钟脉冲,响应于所述标识信号变化信号的信号值为所述第四电平,将所述第三值提供至所述数值选择器的第二输入端;
所述第二数值模块中的减法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行减1计数;
所述第二数值模块响应于所述标识信号的信号值为所述第一电平以及所述标识信号变化信号的信号值为所述第四电平,将所述减法计数器的计数值提供至所述数值选择器的第二输入端;
所述第二数值模块响应于所述标识信号变化信号的信号值为所述第三电平,将0提供至所述数值选择器的第二输入端,以使所述寄存器的输出数值为0;
所述第二数值模块中的加法计数器从后一个调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数;
所述第二数值模块响应于所述标识信号的信号值为所述第二电平以及所述标识信号变化信号的信号值为所述第四电平,将所述加法计数器的计数值提供至所述数值选择器的第二输入端。
11.根据权利要求1所述的方法,其特征在于,所述比较单元将所述生成的载波信号与所述待调制信号按照所选择的调制模式的比较方式进行比较之前,所述方法还包括:
数据转换单元将所述待调制信号的数字量增加一偏移量,得到无符号的第一数字量作为待调制的P端信号,其中,所述偏移量等于所述待调制信号的数字量的最大值;将所述偏移量减去所述待调制信号的数字量,得到无符号的第二数字量作为待调制的N端信号;
所述比较单元将所述生成的载波信号与所述待调制信号按照所选择的调制模式的比较方式进行比较,得到调制输出信号,进一步包括:
将所述生成的载波信号分别与所述待调制的P端信号和所述待调制的N端信号按照所选择的调制模式的比较方式进行比较,得到调制输出P端信号和调制输出N端信号;
对所述调制输出P端信号和调制输出N端信号进行差分处理,得到所述调制输出信号。
12.根据权利要求11所述的方法,其特征在于,若第一类调制模式或第三类调制模式被选择,所述偏移量等于所述调制周期的二分之一,其中,所述第一类调制模式的载波信号波形为锯齿波,所述第三类调制模式的载波信号波形为异步三角波;
若第二类调制模式被选择,所述偏移量等于所述调制周期的四分之一,其中,所述第二类调制模式的载波信号波形为对称三角波。
13.根据权利要求12所述的方法,其特征在于,所述将所述生成的载波信号分别与所述待调制的P端信号和所述待调制的N端信号按照所选择的调制模式的比较方式进行比较,得到调制输出P端信号和调制输出N端信号,进一步包括:
响应于所述第一类调制模式、第二类调制模式或第三类调制模式中的第一种调制模式被选择:
将所述生成的载波信号与所述待调制的P端信号比较,若所述生成的载波信号小于所述待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;
将所述生成的载波信号与所述待调制的N端信号比较,若所述生成的载波信号小于所述待调制的N端信号,则在调制输出N端输出高电平,否则输出低电平;
响应于所述第一类调制模式、第二类调制模式或第三类调制模式中的第二种调制模式被选择:
将所述生成的载波信号与所述待调制的P端信号比较,若所述生成的载波信号小于所述待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;
将所述调制输出P端信号取反,得到所述调制输出N端信号。
14.一种脉冲宽度调制装置,其特征在于,用于对待调制信号进行脉冲宽度调制,所述装置包括:
载波发生单元,用于接收输入的调制周期,以及接收从至少两种调制模式中选择的一种调制模式,其中,所述调制周期为时钟脉冲频率与所述待调制信号的采样率的比值,所述至少两种调制模式中,任意两种调制模式的载波信号波形不同、和/或其载波信号与待调制信号的比较方式不同;以及根据所述调制周期和选择的调制模式生成在每个调制周期内随时钟脉冲变化的载波信号,其中,生成的载波信号的波形为所述选择的调制模式的载波信号波形,生成的载波信号的周期为所述调制周期,所述至少两种调制模式中的每种调制模式均由同一所述载波发生单元生成该调制模式的载波信号;
比较单元,用于将所述生成的载波信号与所述待调制信号按照所选择的调制模式的比较方式进行比较,得到调制输出信号。
15.根据权利要求14所述的装置,其特征在于,所述载波发生单元进一步用于:
响应于第一类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值0开始,每经过一个时钟脉冲输出数值加1,直至该调制周期结束时刻输出数值达到第一值,该调制周期内的一系列输出数值形成锯齿波信号。
16.根据权利要求15所述的装置,其特征在于,所述载波发生单元包括数值选择器和寄存器,其中:
所述数值选择器用于:
响应于其选择端接收到所述第一类调制模式的选择信号,从至少两个输入端中选择第一输入端的输入数值作为其输出数值,其中,所述第一输入端对应于所述第一类调制模式,所述第一输入端的输入数值为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;
将其输出数值提供至所述载波发生单元中的寄存器的输入端;
所述寄存器用于:
每经过一个时钟脉冲在其输出端输出其输入端的数值,在该调制周期内所述寄存器的输出端输出的一系列输出数值形成锯齿波信号。
17.根据权利要求16所述的装置,其特征在于,所述载波发生单元进一步包括第一数值模块,所述第一数值模块用于:通过其中的加法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数,并将计数值提供至所述数值选择器的第一输入端,其中,第一个时钟脉冲时所述寄存器的输出数值为0;所述加法计数器在所述计数值增至所述第一值时,为所述第一数值模块提供计数溢出信号;
基于所述计数溢出信号,将0提供至所述数值选择器的第一输入端,以使在下一调制周期的初始时刻所述寄存器的输出数值为0。
18.根据权利要求14所述的装置,其特征在于,所述载波发生单元进一步用于:
响应于第二类调制模式被选择,在每个调制周期内,从该调制周期起始时刻的输出数值第二值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,以及从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第二值,该调制周期内的一系列输出数值形成对称三角波信号。
19.根据权利要求18所述的装置,其特征在于,所述载波发生单元包括数值选择器和寄存器,其中:
所述数值选择器用于:
响应于其选择端接收到所述第二类调制模式的选择信号,从至少两个输入端中选择第二输入端的输入数值作为其输出数值,其中,所述第二输入端对应于所述第二类调制模式,在每个调制周期内,所述第二输入端的输入数值在前1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,在后1/2调制周期内为该1/2调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;
将其输出数值提供至所述载波发生单元中的寄存器的输入端;
所述寄存器用于:
每经过一个时钟脉冲在其输出端输出其输入端的数值,在该调制周期内所述寄存器的输出端输出的一系列输出数值形成对称三角波信号。
20.根据权利要求19所述的装置,其特征在于,所述载波发生单元进一步包括第二数值模块和标识信号提供模块;
所述标识信号提供模块用于提供标识信号至所述第二数值模块,其基于所述待调制信号在每个调制周期的输入开始信号以及所述寄存器的输出端的输出数值生成标识信号和标识信号变化信号,其中,在每个调制周期内:在所述待调制信号开始输入的时钟脉冲,所述标识信号的信号值为第一电平,并保持至所述寄存器的输出端的输出数值为0的时钟脉冲,在所述寄存器的输出端的输出数值为0的下一个时钟脉冲,所述标识信号的信号值变化为第二电平,并保持至所述寄存器的输出端的输出数值为所述第二值的时钟脉冲;在所述寄存器的输出端的输出数值由1变化为0的时钟脉冲,所述标识信号变化信号的信号值为第三电平,在其余时钟脉冲,所述标识信号变化信号的信号值为第四电平;
所述第二数值模块用于:
接收所述第二值和所述标识信号;
在当前调制周期的第一个时钟脉冲,响应于所述标识信号变化信号的信号值为所述第四电平,将所述第二值提供至所述数值选择器的第二输入端;
通过其中的减法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行减1计数;
响应于所述标识信号的信号值为所述第一电平以及所述标识信号变化信号的信号值为所述第四电平,将所述减法计数器的计数值提供至所述数值选择器的第二输入端;
响应于所述标识信号变化信号的信号值为所述第三电平,将0提供至所述数值选择器的第二输入端,以使在当前调制周期内的下一个时钟脉冲所述寄存器的输出数值为0;
通过其中的加法计数器每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数;
响应于所述标识信号的信号值为所述第二电平以及所述标识信号变化信号的信号值为所述第四电平,将所述加法计数器的计数值提供至所述数值选择器的第二输入端。
21.根据权利要求14所述的装置,其特征在于,所述载波发生单元进一步用于:
响应于第三类调制模式被选择,在相邻的两个调制周期内,前一个调制周期起始时刻的输出数值从第三值开始,每经过一个时钟脉冲输出数值减1,直至输出数值达到0,后一个调制周期起始时刻的输出数值从0开始,每经过一个时钟脉冲输出数值加1,直至输出数值达到所述第三值,相邻的两个调制周期内的一系列输出数值形成异步三角波信号。
22.根据权利要求15所述的装置,其特征在于,所述载波发生单元包括数值选择器和寄存器,所述数值选择器用于:
响应于其选择端接收到所述第三类调制模式的选择信号,从至少两个输入端中选择第二输入端的输入数值作为其输出数值,其中,所述第二输入端对应于所述第三类调制模式,在相邻的两个调制周期内,所述第二输入端的输入数值在前一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值减1,后一个调制周期为该调制周期内当前时钟脉冲的上一时钟脉冲的输出数值加1;将其输出数值提供至所述载波发生单元中的寄存器的输入端;
所述寄存器用于:
每经过一个时钟脉冲在其输出端输出其输入端的数值,在相邻的两个调制周期内所述寄存器的输出端输出的一系列输出数值形成异步三角波信号。
23.根据权利要求22所述的装置,其特征在于,所述载波发生单元进一步包括第二数值模块和标识信号提供模块;
所述标识信号提供模块用于提供标识信号至所述第二数值模块,其基于所述待调制信号在每个调制周期的输入开始信号以及所述寄存器的输出端的输出数值生成标识信号和标识信号变化信号,其中,在相邻的两个调制周期内:在前一个调制周期,在所述待调制信号开始输入的时钟脉冲,所述标识信号的信号值为第一电平,并在当前调制周期保持所述第一电平,在后一个调制周期的第一个时钟脉冲,响应于所述前一个调制周期的最后一个时钟脉冲所述寄存器的输出端的输出数值为0,所述标识信号的信号值变化为第二电平,并在当前调制周期保持所述第二电平;在每个调制周期内:在所述寄存器的输出端的输出数值由1变化为0的时钟脉冲,所述标识信号变化信号的信号值为第三电平,在其余时钟脉冲,所述标识信号变化信号的信号值为第四电平;
所述第二数值模块用于:
接收所述第三值和所述标识信号;
在相邻的两个调制周期内:
在前一个调制周期的第一个时钟脉冲,响应于所述标识信号变化信号的信号值为所述第四电平,将所述第三值提供至所述数值选择器的第二输入端;
通过其中的减法计数器从当前调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行减1计数;
响应于所述标识信号的信号值为所述第一电平以及所述标识信号变化信号的信号值为所述第四电平,将所述减法计数器的计数值提供至所述数值选择器的第二输入端;
响应于所述标识信号变化信号的信号值为所述第三电平,将0提供至所述数值选择器的第二输入端,以使所述寄存器的输出数值为0;
通过其中的加法计数器从后一个调制周期的第一个时钟脉冲开始,每经过一个时钟脉冲,在当前时钟脉冲所述寄存器的输出端的输出数值上进行加1计数;
响应于所述标识信号的信号值为所述第二电平以及所述标识信号变化信号的信号值为所述第四电平,将所述加法计数器的计数值提供至所述数值选择器的第二输入端。
24.根据权利要求14所述的装置,其特征在于,所述脉冲宽度调制装置包括数据偏移模块,用于:
将所述待调制信号的数字量增加一偏移量,得到无符号的第一数字量作为待调制的P端信号,其中,所述偏移量等于所述待调制信号的数字量的最大值;
将所述偏移量减去所述待调制信号的数字量,得到无符号的第二数字量作为待调制的N端信号;
所述比较单元进一步用于:
将所述生成的载波信号分别与所述待调制的P端信号和所述待调制的N端信号按照所选择的调制模式的比较方式进行比较,得到调制输出P端信号和调制输出N端信号;
对所述调制输出P端信号和调制输出N端信号进行差分处理,得到所述调制输出信号。
25.根据权利要求24所述的装置,其特征在于,所述数据偏移模块进一步用于:
响应于第一类调制模式或第三类调制模式被选择,设置所述偏移量等于所述调制周期的二分之一,其中,所述第一类调制模式的载波信号波形为锯齿波,所述第三类调制模式的载波信号波形为异步三角波;
响应于第二类调制模式被选择,设置所述偏移量等于所述调制周期的四分之一,其中,所述第二类调制模式的载波信号波形为对称三角波。
26.根据权利要求25所述的装置,其特征在于,所述比较单元进一步用于:
响应于所述第一类调制模式、第二类调制模式或第三类调制模式中的第一种调制模式被选择:
将所述生成的载波信号与所述待调制的P端信号比较,若所述生成的载波信号小于所述待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;
将所述生成的载波信号与所述待调制的N端信号比较,若所述生成的载波信号小于所述待调制的N端信号,则在调制输出N端输出高电平,否则输出低电平;
响应于所述第一类调制模式、第二类调制模式或第三类调制模式中的第二种调制模式被选择:
将所述生成的载波信号与所述待调制的P端信号比较,若所述生成的载波信号小于所述待调制的P端信号,则在调制输出P端输出高电平,否则输出低电平;
将所述调制输出P端信号取反,得到所述调制输出N端信号。
27.一种音频处理芯片,其特征在于,包括权利要求14~26任一项所述的脉冲宽度调制装置。
28.一种电子设备,包括:处理器和存储器,所述存储器用于存储可执行指令,其特征在于,
所述可执行指令使所述处理器执行:
接收用户输入的待调制信号的采样率,计算时钟脉冲频率与所述待调制信号的采样率的比值,得到调制周期;或者,接收用户输入的调制周期,所述调制周期为时钟脉冲频率与所述待调制信号的采样率的比值;
接收从至少两种调制模式中选择的一种调制模式;
将所述调制周期和调制模式发送给如权利要求14~26任一所述的脉冲宽度调制装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310793048.1A CN116961631A (zh) | 2023-06-29 | 2023-06-29 | 脉冲宽度调制方法、装置、音频处理芯片和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310793048.1A CN116961631A (zh) | 2023-06-29 | 2023-06-29 | 脉冲宽度调制方法、装置、音频处理芯片和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116961631A true CN116961631A (zh) | 2023-10-27 |
Family
ID=88455728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310793048.1A Pending CN116961631A (zh) | 2023-06-29 | 2023-06-29 | 脉冲宽度调制方法、装置、音频处理芯片和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116961631A (zh) |
-
2023
- 2023-06-29 CN CN202310793048.1A patent/CN116961631A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060109035A1 (en) | Clock frequency divider circuit | |
CN110830041A (zh) | 占空比50%的连续整数分频器及包括其的锁相环电路 | |
US20120194229A1 (en) | Clock divider circuit | |
JP6831922B2 (ja) | 選択可能な周波数及びデューティサイクルを有する分周器 | |
CN116961631A (zh) | 脉冲宽度调制方法、装置、音频处理芯片和电子设备 | |
US8169347B2 (en) | Parallel-to-serial converter and parallel data output device | |
KR101923012B1 (ko) | 고속 프로그래밍 가능 클록 분할기 | |
CN114978128B (zh) | 脉冲宽度调制波形的控制方法和装置 | |
WO2018094924A1 (zh) | 一种可编程分频器及计算机存储介质 | |
CN213585746U (zh) | 分频器电路 | |
US8923466B2 (en) | Multi-phase clock switching device and method thereof | |
CN112953472B (zh) | 一种数据位数转换电路 | |
CN110262609B (zh) | 电路驱动控制方法、系统、功率调节系统和设备终端 | |
CN114625194A (zh) | 参考电压产生电路及其产生方法 | |
CN113162619A (zh) | 分频器及其控制方法、时钟信号生成电路和电子设备 | |
CN110632975A (zh) | 一种序列信号生成方法及装置 | |
CN118054645A (zh) | 多路交错变换系统的控制方法、控制器及存储介质 | |
CN214315114U (zh) | 微步电机计数序列电路 | |
CN117176139B (zh) | 分频比为2的n次方加减1的分频器构建方法和分频器 | |
CN117176140B (zh) | 一种同步七分频电路和七分频信号生成方法 | |
JP3474492B2 (ja) | D/a変換回路 | |
CN116155248B (zh) | 一种带跳周期功能的可编程数字脉宽调整器及控制器 | |
TWI618358B (zh) | 除頻器及其控制方法 | |
CN214315215U (zh) | 多路多相pwm装置 | |
JPH04312016A (ja) | 分周器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |