下载此文档

基于sopc嵌入式卡拉OK机.doc


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
基于sopc嵌入式卡拉OK机.doc基于SOPC的嵌入式实验卡拉OK机设计学号1115108052姓名詹炳鑫班级11电子B班指导老师傅文渊题目一、基于SOPC的卡拉OK机设计()介绍:卡拉OK机是娱乐休闲的一种方式,人们通过唱歌来减轻生活压力的一种方法,已经成为大众娱乐的一种方式。基本功能:用DE2平台的FPGA搭建SOPC系统,利用WM8731音频解码芯片和DE2输入输出接口LINEIN、LINEOUT和麦克风实现卡拉OK机的应用。原理图:提高部分:,音量大小;,进行频谱分析,以及显示功能的通用音频信号处理器。WM873l是一款功能强大的低功耗立体声24位音频编解码芯片,其高性能耳机驱动器、低功耗设计、可控采样频率、可选择的滤波器使得WM8731芯片广泛使用于便携式MP3,CD,PDA的场合。其结构框图如图1所示。 本课题卡拉ok机就是主要根据音频编解码芯片WM8731为前提来设计的。WM8731包含2个线路输入和1路麦克风输入并可以进行音量调节;内置片上ADC(模拟数字转换器)及可选择的高通数字滤波器;采用高品质过采样率结构的DAC(数字模拟转换器);线路输出和耳机输出;内置晶体振荡器以及可配置的数字音频接口和2或3线可选的微处理器控制接口等。控制器可通过控制接口(ControlInterface)对WM8731进行配置,然后通过数字音频接口(DigtalAudioInterface)读写数据音频信号。本文设计了一种基于FPGA的驱动模块,将WM8731的控制接口与数字音频接口转换为控制器通用的总线接口,使控制器可以像读写外部寄存器一样对WM8731芯片进行控制使用。ED2音频部分电路原理图程序运行结果引脚锁定WM8731控制电路的实现总控制模块`程序definerom_size6'd8moduleCLOCK_500( CLOCK, CLOCK_500, DATA, END, RESET, GO, CLOCK_2); inputCLOCK; inputEND; inputRESET; outputCLOCK_500; output[23:0]DATA; outputGO; outputCLOCK_2;reg[10:0]COUNTER_500;wireCLOCK_500=COUNTER_500[9];wireCLOCK_2=COUNTER_500[1];reg[15:0]ROM[`rom_size:0];reg[15:0]DATA_A;reg[5:0]address;wire[23:0]DATA={8'h34,DATA_A}; wireGO=((address<=`rom_size)&&(END==1))?COUNTER_500[10]:1;always@(negedgeRESETorposedgeEND)begin if(!RESET)address=0; else if(address<=`rom_size)address=address+1;endreg[7:0]vol;always@(posedgeRESET)begin vol=vol-1;endalways@(posedgeEND)begin// ROM[0]=16'h1e00; ROM[0]=16'h0c00; //powerdown ROM[1]=16'h0ec2; //master ROM[2]=16'h0838; //soundselect ROM[3]=16'h1000; //mclk ROM[4]=16'h0017; // ROM[5]=16'h0217; // ROM[6]={8'h04,1'b0,vol[6:0]}; // ROM[7]={8'h06,1'b0,vol[6:0]}; //soundvol //ROM[4]=16'h1e00; //reset ROM[`rom_size]=16'h1201;//active DATA_A=ROM[address];endalways@(posedgeCLOCK)begin COUNTER_500=COUNTER_500+1;endendmoduleI2C控制器I2C控制代码modulei2c( CLOCK, I2C_SCLK,//LOCK I2C_SDAT,//I2CDATA I2C_DATA,//DATA:[SLAVE_ADDR,SUB_ADDR,DATA] GO,//GOtransfor END,//ENDtransfor W_R,//W_R ACK,//ACK RESET, //TEST SD_COUNTER, SDO); inputCLOCK; input[23:0]I2C_DATA; inputGO; inputRESET; inputW_R; inoutI2C_SDAT;

基于sopc嵌入式卡拉OK机 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xinsheng2008
  • 文件大小772 KB
  • 时间2019-08-22