可控数字语音延迟器的PIC设计
发布时间:2008/6/3 0:00:00 访问次数:611
     恩 来源:《单片机与嵌入式系统应用》
     摘要:详细阐述一种采用pic16c55单片机实现可控数字语音延迟器的设计方案,同时提供控制电路图及软件算法流程图。
    
    
     关键词:延迟器
     语音信号 pic单片机
     延迟器在音频信号处理中有着重要而特殊的用途,是制造混响器、回声信号的重要部件,在无线通信同步控制中也起着重要作用。延迟器大致可分为bbd(bucket
     brigade device)式延迟器和数字式延迟器两类。数字式延迟器与bbd式延迟器相比,具有延时时间范围宽,工作频带宽,动态范围大等特点;而可控式延迟器可以灵活产生多种时延,以便应用于不同的场合。本文介绍一种基于pic系列单片机的可控数字语音延迟器的设计方案。
     本系统采用性价比极高的pic16c55单片机作为中心控制部件。pid16c55单片机是pic系列单片机中的低档型单片机,具有20个i/o,1个定时器和1个wdt,其最短指令周期可达200ns。利用该型号单片机作为控制部件,具有控制快速、扩展方便、低功耗、性能稳定等特点,同时还可以最大限度地减少外围电路以降低成本,提高性价比。
    
     1 系统工作原理
     可控数字语音延迟器的原理框图如图1所示。输入的语音信号先经过低通抗混迭滤波器,滤除其中的高频成分后送入a/d转换器。经过a/d转换后,信号变成数字信号。该数字信号在pic16c55单片机的控制下被写入存储器。系统中高有两组存储器,这两组存储器在单片机的控制下交替工作:在一个延迟周期内,一组存储器专门用于存储本周期内采集的数据,而另一组存储器专门用于把上一个周期所采集的数据按顺序送到数据总线,经过d/a转换器和低通滤波器后恢复出原始信号。在下一个延迟周期,两组存储器交换工作状态,以后按此不断循环。可见,延迟的时间取决于a/d转换器前后两次启动的时间间隔和存储区的大小。在本系统中,利用pic16c55中的定时器定时产生a/d转换器的启动信号,定时器的定时时间为10μs,所以,最小延迟时间为10μs。而存储区的大小设为256,所以,最大延迟时间为10μs×256=2560μs=2.56ms。系统中的预置单元用来设置延迟单元数,进而得到所需的延迟时间。
    
    
    
     系统中a/d转换器选用adc0820,其读模式下的转换时间为2.5μs。而且,该芯片内置有采样/保持电路,不需外部时钟,故可大大简化电路。因adc0820的输入范围仅为0~+5v,而系统输入信号的范围为-5~+5v,所以需对输入信号进行预处理,使其电压范围变为0~+5v。系统中的两组存储区用ram6116中的00h~ffh和100h~1ffh单元代替。预置单元由一个8路开关实现,预置的范围为0~255。d/a转换器选用dac0832。
    
     2 控制电路设计
     系统中pic16c55单片机是中心控制部件。它的主要任务有:定时控制a/d转换器进行转换;控制ram(1)、ram(2)的读写;控制d/a转换器的转换;产生ram(1)、ram(2)的地信息;控制ram(1)、ram(2)的交替;接受预置输入。控制电路如图2所示。
    
    
    
     ra0接收adc0820的转换结束信号,rb0控制adc0820的启动,rb1控制ram6116的写操作,rb2控制ram6116的读操作,同时控制dac0832的写操作。pic16c55除了控制转换及读写外,还要产生ram的地址信息及接收预置输入。在本系统中,由pic16c55的rc口产生地址信息,同时也能接收预置输入。系统中利用74ls373作为预置输入的缓存,而74ls373的oe端由rb3控制。当rc口作为地址发生器时,rb3=oe=1,即74ls373的输出不允许,其输出端为高阻
     恩 来源:《单片机与嵌入式系统应用》
     摘要:详细阐述一种采用pic16c55单片机实现可控数字语音延迟器的设计方案,同时提供控制电路图及软件算法流程图。
    
    
     关键词:延迟器
     语音信号 pic单片机
     延迟器在音频信号处理中有着重要而特殊的用途,是制造混响器、回声信号的重要部件,在无线通信同步控制中也起着重要作用。延迟器大致可分为bbd(bucket
     brigade device)式延迟器和数字式延迟器两类。数字式延迟器与bbd式延迟器相比,具有延时时间范围宽,工作频带宽,动态范围大等特点;而可控式延迟器可以灵活产生多种时延,以便应用于不同的场合。本文介绍一种基于pic系列单片机的可控数字语音延迟器的设计方案。
     本系统采用性价比极高的pic16c55单片机作为中心控制部件。pid16c55单片机是pic系列单片机中的低档型单片机,具有20个i/o,1个定时器和1个wdt,其最短指令周期可达200ns。利用该型号单片机作为控制部件,具有控制快速、扩展方便、低功耗、性能稳定等特点,同时还可以最大限度地减少外围电路以降低成本,提高性价比。
    
     1 系统工作原理
     可控数字语音延迟器的原理框图如图1所示。输入的语音信号先经过低通抗混迭滤波器,滤除其中的高频成分后送入a/d转换器。经过a/d转换后,信号变成数字信号。该数字信号在pic16c55单片机的控制下被写入存储器。系统中高有两组存储器,这两组存储器在单片机的控制下交替工作:在一个延迟周期内,一组存储器专门用于存储本周期内采集的数据,而另一组存储器专门用于把上一个周期所采集的数据按顺序送到数据总线,经过d/a转换器和低通滤波器后恢复出原始信号。在下一个延迟周期,两组存储器交换工作状态,以后按此不断循环。可见,延迟的时间取决于a/d转换器前后两次启动的时间间隔和存储区的大小。在本系统中,利用pic16c55中的定时器定时产生a/d转换器的启动信号,定时器的定时时间为10μs,所以,最小延迟时间为10μs。而存储区的大小设为256,所以,最大延迟时间为10μs×256=2560μs=2.56ms。系统中的预置单元用来设置延迟单元数,进而得到所需的延迟时间。
    
    
    
     系统中a/d转换器选用adc0820,其读模式下的转换时间为2.5μs。而且,该芯片内置有采样/保持电路,不需外部时钟,故可大大简化电路。因adc0820的输入范围仅为0~+5v,而系统输入信号的范围为-5~+5v,所以需对输入信号进行预处理,使其电压范围变为0~+5v。系统中的两组存储区用ram6116中的00h~ffh和100h~1ffh单元代替。预置单元由一个8路开关实现,预置的范围为0~255。d/a转换器选用dac0832。
    
     2 控制电路设计
     系统中pic16c55单片机是中心控制部件。它的主要任务有:定时控制a/d转换器进行转换;控制ram(1)、ram(2)的读写;控制d/a转换器的转换;产生ram(1)、ram(2)的地信息;控制ram(1)、ram(2)的交替;接受预置输入。控制电路如图2所示。
    
    
    
     ra0接收adc0820的转换结束信号,rb0控制adc0820的启动,rb1控制ram6116的写操作,rb2控制ram6116的读操作,同时控制dac0832的写操作。pic16c55除了控制转换及读写外,还要产生ram的地址信息及接收预置输入。在本系统中,由pic16c55的rc口产生地址信息,同时也能接收预置输入。系统中利用74ls373作为预置输入的缓存,而74ls373的oe端由rb3控制。当rc口作为地址发生器时,rb3=oe=1,即74ls373的输出不允许,其输出端为高阻
上一篇:博物馆智能防盗保护器系统设计