基于FPGA的语音录制与回放系统


    基FPGA语音录制回放系统
    系统总体结构:
    语音录制回放系统基工作原理模拟语音信号通模数转换器(AD)转换成数字信号通FPGA(控制器)数字信号存储存储器中 回放时 FPGA控制数存储器中读出 然通数模转换器(DA)转换成模拟信号 放扬声器输出方面利UART模块实现PC通信功(实现数传载功)功均LCD显示界面键操作协作实现设计方案系统总体结构框图图 1 示

    二模块设计:
    1AD采样模块:
    系统AD转换芯片TI公司TLC549
    (1)TLC549工作原理:
    TLC549芯片带片系统时钟该时钟I/OCLOCK独立工作需特殊速度相位匹配CS高时数输DATA OUT端处高阻状态时I/O CLOCK起作种CS控制作允许时片TLc549时I/OcLOCK减少路(片)A/D时I/O控制端口工作时序图2示:

    图2TLC549时序图
    时序图出通常控制时序操作:
    (I)先Cs置低部电路测CS降等两部时钟升降(14us)确认变化动前次转换结果高位(D7)位输出DATAOUT端
    (Ⅱ)前四I/O CLOCK周期降次移出第234第5位(D6D5D4D3)片采样保持电路第4I/O CLOCK降开始采样模拟辅:
    (Ⅲ)接3IO CLOCK周期降移出第678(D2D1D0)转换位(4)片采样保持电路第8I/OCLOCK周期降移出第678(D2D1D0)转换位然保持功持续4部时钟周期接着开始进行32部时钟周期A/D转换第8I/O cLCOKCS必须高I/O LOCK保持低电种状态需维持36部系统时钟周期等保持转换工作完成果CS低时I/O CLOCK出现效干扰脉微处理器控制器器件I/O时序失步cs高时出现次效低电引脚重新初始化脱离原转换程36部系统时钟周期结束前实施步骤(1)~(4)重新启动次新A/D转换时正进行转换终止应注意时输出前次转换结果正进行转换结果特定时刻采样模拟信号应第8I/O CLOCK时钟降该时刻应芯片第4I/O CLOCK时钟降开始采样第8I/O CLOCK降开始保存
    更详细信息参见:附加文档:TLC549数手册PDF
    (2)驱动程序设计:
    图3根时序图VHDL语言编写TLC549驱动程序综合成原理框图

    图3 TLC549驱动生成原理图
    中:
    ClockFPGA外部时钟信号50Mhz
    Reset异步复位TLC549复位低电效
    Enable TLC549工作决定芯片否工作高电效
    Sdat_inTLC549转换8串行输入数
    Adc_clkTLC549工作外部时钟1Mhz
    Cs_nTLC549片选低电效
    DataokTLC549转换数完成标志位通知存储器接收
    Data_outFPGA串转Sdat_in送存储器
    具体VHDL程序说明参见附加文档二:TLC549驱动doc
    2DA转换模块:
    系统DA转换芯片TI公司TLC5620
    (1)TLC5620工作原理
    TLC5620带缓基准输入端 (高阻抗) 四路8位电压输出数字模拟转换器(DAC) DAC 产生范围基准电压倍两倍( GND )间输出电压 DAC 单调变化器件简单单5V电源工作器件包含电复位功确保重复启动通简单3线串行总线TLC5620实现数字控制总线CMOS兼容易
    常微处理器微控制器器件接口 11 位命令字 8 位数 2 DAC 选择位 1 范围( range )位组成者允许倍二倍输出范围间作出选择转换时序图4示:

    图4 TLC5620转换时序(ldac0)
    LOAD高电时数CLK降时钟步送入DATA端口图3示旦数位送入LOAD变脉低电便数串行输入寄存器传送选择DAC果LDAC低电选择DAC输出电压更新LOAD变低电数输入时高效位(MSB)前
    表1列出A1A0位更新DAC选择RNG位控制DAC输出范围RNG低电时输出范围加基准电压GND间 RNG高电时 输出范围加基准电压两倍GND间

    表1 TLC5620串行输入译码
    更详细信息参见:附加文档三:TLC5620数手册PDF
    (2)驱动程序设计:
    图5根时序图VHDL语言编写TLC5620驱动程序综合成原理框图

    图5 TLC5620驱动生成原理图
    中:
    ClockFPGA外部时钟信号50Mhz
    Rst异步复位TLC5620复位低电效
    Wr_act TLC5620转换高电效
    Wr_dataTLC5620转换8行数
    Dac_clkTLC5620工作外部时钟1Mhz
    Dac_data送入TLC5620串行数
    Data_okTLC5620转换数完成标志位通知存储器发数
    Dac_load串行接口装载控制
    Dac_ldac DAC更新锁存控制(里始终置0)
    具体VHDL程序说明参见附加文档四:TLC5620驱动doc
    3数存储模块
    设计利FPGA开发板SPI FLASH配置芯片M25P16作存储器
    (1) M25P16工作原理
    M25P16意法半导体推出款高速16 Mbit串行Flash32部分组成部分256页页256字节M25P16具先进写保护机制读取数时钟速率75 MHz具整体擦扇区擦灵活页编程指令写保护功  
    (Ⅰ)M25P16指令操作 
     M25P16 12条操作指令指令8位操作时先片选信号(S)拉低选中器件然输入8位操作指令字节串行数片选信号S拉低第时钟升采样M25P80启动部控制逻辑行完成相应操作指令时需输入址字节必时加入哑读字节操作完毕片选信号拉高面简单介绍条系统指令操作  
    ① 写指令(WREN)  
    页面编程时写寄存器者擦前必须先写指令设置寄存器写位电写效指令操作页面编程写寄存器擦指令完成时该写位复位写指令时序较简单指令0000 0110(06h)片选信号拉低第时钟升送入Flash先输入高位指令输入完成立拉高片选信号否Flash保护机制认干扰信号执行该指令该指令时序图图6示:
      
    图6 写时序图
    ② 读数指令(READ)  
    片选信号拉低首先输入8位读数指令READ(03h)输入读取容24位首址址指数时钟降输出数输出址动递增指址传输址指数址达高位动转首址000000h循环读出Flash中全部容直片选信号拉高读数指令时序图7示

    图7 读数指令时序图 
    ③ 页面编程指令(PP)  
    页面编程前首先输入写指令Flash完成寄存器设置片选信号拉低输入页面编程指令PP(02h)紧接着输入编程24位址输入数次输入256字节数果超出保留输入256字节数输完毕片选信号必须置高否执行页面编程指令页面编程指令时序图图8示

    图8 页编程指令时序图
    ④ 片擦指令(BE) 
      片擦指令Flash中0置1写入数前定先擦指令执行条指令前需先执行写指令该指令时序图图9示

    图9 片擦指令时序图
    需注意指令操作完成需留出段时间Flash进行数处理256字节编程周期(tpp)1 ms左右1字节数页编程指令编程周期10us左右整体擦周期(tBE)5 s~10 s指令输入结束拉高片选信号足够长时间执行指令操作时读取部寄存器值监控述周期否结束旦检测指令执行完毕执行续操作样节省时间果忽略Flash处理时间会发生错误导致Flash法正确执行指令
    更芯片说明参见附加文档五:M25P16数手册PDF
    (2)M25P16驱动程序
    该驱动程序状态较便理解笔者绘出状态转换图图10示

    图10 存储器状态转换图
    VHDL语言编写M25P16 FLASH驱动程序综合成原理框图示

    图11 M25P16驱动生成原理图
    中:
    CLK_INFPGA外部时钟信号50Mhz
    Rst异步复位低电效
    TLC5620_okDA输出字节完毕标志位升效
    TLC549_okAD转换字节完毕标志位升效
    PlayflashDA输出数高电效
    Recordflash输入数高电效
    Eraseflash执行擦指令高电效
    Sdoflash(设备)数输出端口
    Ri PC接收字节数完毕标志位升效
    Ti PC发送字节数完毕标志位升效
    Uploaddownload传载高电效
    Datind_outflash输入输出数
    Spi_clkflash时钟信号
    Spi_csflash片选低电效
    Sdiflash 数指令输入端
    具体VHDL程序说明参见附加文档六:M25P16驱动doc
    4显示界面设计
    显示界面带中文字库FYD128640402B液晶
    (1) LCD12864液晶原理
    FYD128640402B种具4位8位行2线3线串行种接口方式部含国标级二级简体中文字库点阵图形液晶显示模块显示分辨率128×64 置819216*16点汉字12816*8点ASCII字符集利该模块灵活接口方式简单方便操作指令构成全中文机交互图形界面显示8×4行16×16点阵汉字 完成图形显示低电压低功耗显著特点里8位行接口方式
    12864身操作较丰富面仅系统操作进行简单介绍
    ① 控制器接口信号说明:
    RSRW配合选择决定控制界面4种模式表2示:
    RS
    RW
    功说明
    L
    L
    MPU写指令指令暂存器(IR)
    L
    H
    读出忙标志(BF)址记数器(AC)状态
    H
    L
    MPU写入数数暂存器(DR)
    H
    H
    MPU数暂存器(DR)中读出数
    表2 lcd12864控制界面功模式
    系统LCD进行写操作整系统中RW始终置低通RS高低电位区写指令写数
    E()信号配合执行操作功表3示:
    E状态
    执行动作
    结果
    高——>低
    IO缓——>DR
    配合W进行写数指令

    DR——>IO缓
    配合R进行读数指令
    低低——>高
    动作
     
    表3 E()信号功表
    出进行写址数操作时E信号高低变化(RWL)数传入LCDDR
    ② 指令说明
    系统中表4示3条指令:

    指 令 码


    RS
    RW
    D7
    D6
    D5
    D4
    D3
    D2
    D1
    D0
     

    显示
     
    0
    0
    0
    0
    0
    0
    0
    0
    0
    1
    DDRAM填满20H设定DDRAM址计数器(AC)00H
    显示状态开关
    0
    0
    0
    0
    0
    0
    1
    D
    C
    B
    D1 整体显示 ON
    C1 游标ON
    B1游标位置反白允许
    写数RAM
    1
    0

    数D7——D0写入部RAM (DDRAMCGRAMIRAMGRAM)
    表4 LCD指令
    中显示状态开关指令B~D取值指令功指令00001100(0ch)时表示游标整体显示指令00001111(0fh)时表示带游标显示等
    ③8位行写时序图
    系统仅LCD进行写数操作8位行写时序图示:

    图12 LCD8位行模式写时序图
    时序图出RW低电位时E高低电位变化数送入LCDRS区输入指令数
    ④中文显示
    LCD中发两次相应8位字节指令实现字符中文字库具体码值表见相应附件
    中文显示址构成表5示:
    80H
    81H
    82H
    83H
    84H
    85H
    86H
    87H
    90H
    91H
    92H
    93H
    94H
    95H
    96H
    97H
    88H
    89H
    8AH
    8BH
    8CH
    8DH
    8EH
    8FH
    98H
    99H
    9AH
    9BH
    9CH
    9DH
    9EH
    9FH
    表5 字符显示址值
    址值知该LCD显示32字库中文字符设计已足够
    更信息详见附加文档七:12864手册pdf
    (2)驱动程序设计
    LCD机界面总体设计图:

    图13 LCD机界面总体分解图
    系统代码状态机进行描述页面较程序涉状态较状态相似性VHDL程序中行代码:
    when s1>
    cnt_1cnt_1+1 cnt_1适延时保证LCD处理
    if cnt_1<3 then e<'1'rs<'0'rw<'0'state elsif cnt_1<6 then DOUT elsif cnt_1<30 then e<'0'state else cnt_10state end if
    when s2>
    cnt_1cnt_1+1
    if cnt_1<3 then e<'1'rs<'1'rw<'0'state elsif cnt_1<6 then DOUT elsif cnt_1<30 then e<'0'state else cnt_10state end if
    图14VHDL语言编写LCD12864机界面驱动程序综合成原理框图

    图14 LCD12864驱动生成原理图
    中:
    ClkFPGA外部时钟信号50Mhz
    Rst异步复位低电效
    LEFT 控制键左键高电效
    Right控制键右键高电效
    Ok确认键高电效
    LightLCD背光灯高效
    RwrseLCD控制信号端
    Up_endown_en系统传载指令(界面键协产生)
    Play_enrecord_en系统播放录制指令(界面键协产生)
    Erase_en系统擦指令(界面键协产生)
    Spi_rst系统复位指令(界面键协产生)
    DoutLCD接收数IO
    具体VHDL程序说明参见附加文档八:LCD驱动doc
    5UART模块设计
    通异步收发器(Universal Asynchronous Receiver TransmitterUART)数字通信领域流行广泛种接口设备控制符合RS 232C协议计算机串行设备间通信
    (1)UART通信原理
    UART采通RS 232C串行接口标准该协议优点广泛计算机串行外设中置种接口传输距离达15 m实现较简单双连接时少需2条导线实现基通信UART具体帧格式图1示帧数开始位数位奇偶校验位停止位四部分次组成中开始位低电数位长度5678等奇偶校验模式校验奇校验偶校验粘附校验1粘附校验0停止位高电具体长度1位15位2位等选项通UART部线性控制寄存器确定没数发送时发送接收引脚保持高电
    帧格式图示:

    图15 uart帧格式
    (2) UARTFPGA实现
    实现中UART包括接收模块发送模块2部分具体功:

    ①接收模块 具体作接收串行数输入端口RXD送异步数进行串/转换送存储器
    ②发送模块 作存储器送行数进行/串转换串行数TXD输出串口接收模块相
    该模块具体程序说明详见附加文档九:UARTdoc
    6系统整体原理图
    通面模块综合连接出系统整体结构原理图图示:

    图16 系统代码原理图连接图
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于FPGA的温度检测系统设计

    XX学院信息工程学院数字系统与Verilog设计报告题 目: 基于FPGA的温度检测系统设计 姓 名: 学 号: ...

    3年前   
    639    0

    基于FPGA的数字跑表

    基于FPGA的数字跑表学院:物电学院姓名: 学号:班级:班日期:2011年X月X日目录一、实例的主要内容 3二、实验目标: 41初步掌握Verilog HDL语言的设计方法 42、完成一个数字...

    3年前   
    644    0

    基于FPGA的电梯控制系统设计毕业设计论文

    毕 业 设 计 [论 文]题 目: 基于FPGA的电梯控制系统设计 学 院: 电气与信息工程学院 ...

    3年前   
    1319    0

    PARWANCPU状态机设计基于FPGA的数字系统设计

     基于FPGA的数字系统设计 大作业 学号: 姓名: 班级: 题目一:设计Pa...

    1年前   
    330    0

    基于语音识别技术的智能家居控制系统的设计

    21世纪经济快速发展,人们对物质文化的需求也越来越高。在信息科技的支持下,事物在朝着简单化、便捷化、智能化的方向发展。在此背景下应运而生而生的智能家居,正是信息时代的典型产物。

    4年前   
    1234    0

    基于FPGA的IIR滤波器设计

     基于FPGA的IIR滤波器设计摘 要:数字信号处理在科学和工程技术许多领域中得到广泛的应用,与FIR数字滤...

    3年前   
    559    0

    基于语音控制的智能油烟机控制系统设计

    为了提高人们的生活质量,解决传统油烟机在使用过程中需要手动接触设置的问题,将会设计一款功能多样化的智能油烟机控制系统,使用语音指令实现对油烟机工作状态的选择,具备了通过语音控制选择风力大小,照明...

    3年前   
    862    0

    FPGA课程设计基于RAM的十口8位计数器

    FPGA课程设计报告题 目: 基于RAM的十口8位计数器 院 系: 通信与信息工程学院...

    3年前   
    476    0

    基于FPGA的键盘扫描程序的设计毕业设计

    X X 学 院 CHANGSHA UNIVERSITY本科生毕业设计设计(论文)题目: 基于FPGA的键盘扫描程序的设计 ...

    4年前   
    903    0

    通信工程基于FPGA的图像数据处理FIFO核设计论文

     基于FPGA的图像数据处理 FIFO核设计 院 系:信息科学与工程学院 专 业 班:通信1201 姓 名: 学 号: 指导教师:...

    5年前   
    1110    0

    基于FPGA的FSK数字调制解调器设计

    等级:课 程 设 计课程名称专业课程设计课题名称基于FPGA的FSK数字调制解调器设计专 业电子信息工程班 级学 号姓 名指导老师2016年X月X日电气信息学院专业设计...

    2年前   
    369    0

    基于FPGA的多路彩灯控制器的设计课程设计

     FPGA课程设计报告 学院: 信息工程学院班 级: 信息级班姓 名: 学 号: 完成时间: 2015年X月X日 评阅意见: 题目...

    3年前   
    565    0

    基于FPGA的计数器设计电子技术课程设计

    XX学院电子技术课程设计 题 目 _基于FPGA的计数器设计___ __________...

    1年前   
    349    0

    基于通信的系统的影响

    基于通信的系统的影响如上文所述,信息服务的趋势正朝着分散和分布式数据处理(DDP)方向发展。分散的信息服务工作并不意味着数据通信,但是多数是基于通信的。依照定义,所有分布式数据处理(DDP)系...

    12年前   
    755    0

    智能语音电子秤系统的设计与实现

    随着社会的不断进步和科学技术的革新,电子秤已经广泛应用到生活的各个领域。电子秤里面包含了电子技术、传感器技术,不仅缩小了称重误差,而且也相对精准和智能。称重技术的创新,给人们的生活带来便捷。

    3年前   
    1389    0

    基于单片机的语音门铃设计毕业设计

    在现代电子产品中, 由于电子音乐门铃具有悦耳动听,价格低廉,耗电少等优点,在现代家居中的应用越来越流行。本毕业设计是基于单片机的“叮咚”门铃,通过单片机控制输出频率,由音频功率放大器LM386放...

    4年前   
    1323    0

    基于MATLAB的语音倒谱分析毕业设计

    XX 大 学毕 业 论 文(设计)题 目:基于MATLAB的语音倒谱分析学 号: 姓 名 ...

    4年前   
    633    0

    基于Linux的广告机系统

    基于Linux的广告机系统基于Linux的广告机系统摘 要一般来说,广告系统,被称为广告系统是在网络信息技术时代的飞速发展中产生的新类型的网络多媒体信息发布系统。在这个系统的基础上,用户可以...

    2年前   
    673    0

    基于安卓系统的点餐系统毕业设计

     本科毕业论文(设计) 题 目: 基于安卓系统的点餐系统 专 业: 姓 名: 指导教师: ...

    5年前   
    1737    0

    基于BS的在线考试系统

     摘 要传统考试方式一直都是C/S结构,即客户机和服务器结构。随着互联网技术的飞速发展,C/S结构已经不足以满足用户的需求,基于B/S(浏览器/服务器)结构的在线考试系统随之出现。基于浏...

    3年前   
    844    0