搜索
bottom↓
回复: 1

增加DE1开发板音频采集与播放程序的功能

[复制链接]

出0入0汤圆

发表于 2011-4-15 09:13:15 | 显示全部楼层 |阅读模式
求助修改DE1开发板的音频采集与输出的功能,以下就的程序。
module DE1_i2sound
        (
                ////////////////////        Clock Input                 ////////////////////         
                CLOCK_24,                                                //        24 MHz
                CLOCK_27,                                                //        27 MHz
                CLOCK_50,                                                //        50 MHz
                EXT_CLOCK,                                                //        External Clock
                ////////////////////        Push Button                ////////////////////
                KEY,                                                        //        Pushbutton[3:0]
                ////////////////////        DPDT Switch                ////////////////////
                SW,                                                                //        Toggle Switch[9:0]
                ////////////////////        7-SEG Dispaly        ////////////////////
                HEX0,                                                        //        Seven Segment Digit 0
                HEX1,                                                        //        Seven Segment Digit 1
                HEX2,                                                        //        Seven Segment Digit 2
                HEX3,                                                        //        Seven Segment Digit 3
                ////////////////////////        LED                ////////////////////////
                LEDG,                                                        //        LED Green[7:0]
                LEDR,                                                        //        LED Red[9:0]
                ////////////////////////        UART        ////////////////////////
                UART_TXD,                                                //        UART Transmitter
                UART_RXD,                                                //        UART Receiver
                /////////////////////        SDRAM Interface                ////////////////
                DRAM_DQ,                                                //        SDRAM Data bus 16 Bits
                DRAM_ADDR,                                                //        SDRAM Address bus 12 Bits
                DRAM_LDQM,                                                //        SDRAM Low-byte Data Mask
                DRAM_UDQM,                                                //        SDRAM High-byte Data Mask
                DRAM_WE_N,                                                //        SDRAM Write Enable
                DRAM_CAS_N,                                                //        SDRAM Column Address Strobe
                DRAM_RAS_N,                                                //        SDRAM Row Address Strobe
                DRAM_CS_N,                                                //        SDRAM Chip Select
                DRAM_BA_0,                                                //        SDRAM Bank Address 0
                DRAM_BA_1,                                                //        SDRAM Bank Address 0
                DRAM_CLK,                                                //        SDRAM Clock
                DRAM_CKE,                                                //        SDRAM Clock Enable
                ////////////////////        Flash Interface                ////////////////
                FL_DQ,                                                        //        FLASH Data bus 8 Bits
                FL_ADDR,                                                //        FLASH Address bus 22 Bits
                FL_WE_N,                                                //        FLASH Write Enable
                FL_RST_N,                                                //        FLASH Reset
                FL_OE_N,                                                //        FLASH Output Enable
                FL_CE_N,                                                //        FLASH Chip Enable
                ////////////////////        SRAM Interface                ////////////////
                SRAM_DQ,                                                //        SRAM Data bus 16 Bits
                SRAM_ADDR,                                                //        SRAM Address bus 18 Bits
                SRAM_UB_N,                                                //        SRAM High-byte Data Mask
                SRAM_LB_N,                                                //        SRAM Low-byte Data Mask
                SRAM_WE_N,                                                //        SRAM Write Enable
                SRAM_CE_N,                                                //        SRAM Chip Enable
                SRAM_OE_N,                                                //        SRAM Output Enable
                ////////////////////        SD_Card Interface        ////////////////
                SD_DAT,                                                        //        SD Card Data
                SD_DAT3,                                                //        SD Card Data 3
                SD_CMD,                                                        //        SD Card Command Signal
                SD_CLK,                                                        //        SD Card Clock
                ////////////////////        USB JTAG link        ////////////////////
                TDI,                                                          // CPLD -> FPGA (data in)
                TCK,                                                          // CPLD -> FPGA (clk)
                TCS,                                                          // CPLD -> FPGA (CS)
            TDO,                                                          // FPGA -> CPLD (data out)
                ////////////////////        I2C                ////////////////////////////
                I2C_SDAT,                                                //        I2C Data
                I2C_SCLK,                                                //        I2C Clock
                ////////////////////        PS2                ////////////////////////////
                PS2_DAT,                                                //        PS2 Data
                PS2_CLK,                                                //        PS2 Clock
                ////////////////////        VGA                ////////////////////////////
                VGA_HS,                                                        //        VGA H_SYNC
                VGA_VS,                                                        //        VGA V_SYNC
                VGA_R,                                                   //        VGA Red[3:0]
                VGA_G,                                                         //        VGA Green[3:0]
                VGA_B,                                                  //        VGA Blue[3:0]
                ////////////////        Audio CODEC                ////////////////////////
                AUD_ADCLRCK,                                        //        Audio CODEC ADC LR Clock
                AUD_ADCDAT,                                                //        Audio CODEC ADC Data
                AUD_DACLRCK,                                        //        Audio CODEC DAC LR Clock
                AUD_DACDAT,                                                //        Audio CODEC DAC Data
                AUD_BCLK,                                                //        Audio CODEC Bit-Stream Clock
                AUD_XCK,                                                //        Audio CODEC Chip Clock
                ////////////////////        GPIO        ////////////////////////////
                GPIO_0,                                                        //        GPIO Connection 0
                GPIO_1                                                        //        GPIO Connection 1
        );

////////////////////////        Clock Input                 ////////////////////////
input        [1:0]        CLOCK_24;                                //        24 MHz
input        [1:0]        CLOCK_27;                                //        27 MHz
input                        CLOCK_50;                                //        50 MHz
input                        EXT_CLOCK;                                //        External Clock
////////////////////////        Push Button                ////////////////////////
input        [3:0]        KEY;                                        //        Pushbutton[3:0]
////////////////////////        DPDT Switch                ////////////////////////
input        [9:0]        SW;                                                //        Toggle Switch[9:0]
////////////////////////        7-SEG Dispaly        ////////////////////////
output        [6:0]        HEX0;                                        //        Seven Segment Digit 0
output        [6:0]        HEX1;                                        //        Seven Segment Digit 1
output        [6:0]        HEX2;                                        //        Seven Segment Digit 2
output        [6:0]        HEX3;                                        //        Seven Segment Digit 3
////////////////////////////        LED                ////////////////////////////
output        [7:0]        LEDG;                                        //        LED Green[7:0]
output        [9:0]        LEDR;                                        //        LED Red[9:0]
////////////////////////////        UART        ////////////////////////////
output                        UART_TXD;                                //        UART Transmitter
input                        UART_RXD;                                //        UART Receiver
///////////////////////                SDRAM Interface        ////////////////////////
inout        [15:0]        DRAM_DQ;                                //        SDRAM Data bus 16 Bits
output        [11:0]        DRAM_ADDR;                                //        SDRAM Address bus 12 Bits
output                        DRAM_LDQM;                                //        SDRAM Low-byte Data Mask
output                        DRAM_UDQM;                                //        SDRAM High-byte Data Mask
output                        DRAM_WE_N;                                //        SDRAM Write Enable
output                        DRAM_CAS_N;                                //        SDRAM Column Address Strobe
output                        DRAM_RAS_N;                                //        SDRAM Row Address Strobe
output                        DRAM_CS_N;                                //        SDRAM Chip Select
output                        DRAM_BA_0;                                //        SDRAM Bank Address 0
output                        DRAM_BA_1;                                //        SDRAM Bank Address 0
output                        DRAM_CLK;                                //        SDRAM Clock
output                        DRAM_CKE;                                //        SDRAM Clock Enable
////////////////////////        Flash Interface        ////////////////////////
inout        [7:0]        FL_DQ;                                        //        FLASH Data bus 8 Bits
output        [21:0]        FL_ADDR;                                //        FLASH Address bus 22 Bits
output                        FL_WE_N;                                //        FLASH Write Enable
output                        FL_RST_N;                                //        FLASH Reset
output                        FL_OE_N;                                //        FLASH Output Enable
output                        FL_CE_N;                                //        FLASH Chip Enable
////////////////////////        SRAM Interface        ////////////////////////
inout        [15:0]        SRAM_DQ;                                //        SRAM Data bus 16 Bits
output        [17:0]        SRAM_ADDR;                                //        SRAM Address bus 18 Bits
output                        SRAM_UB_N;                                //        SRAM High-byte Data Mask
output                        SRAM_LB_N;                                //        SRAM Low-byte Data Mask
output                        SRAM_WE_N;                                //        SRAM Write Enable
output                        SRAM_CE_N;                                //        SRAM Chip Enable
output                        SRAM_OE_N;                                //        SRAM Output Enable
////////////////////        SD Card Interface        ////////////////////////
inout                        SD_DAT;                                        //        SD Card Data
inout                        SD_DAT3;                                //        SD Card Data 3
inout                        SD_CMD;                                        //        SD Card Command Signal
output                        SD_CLK;                                        //        SD Card Clock
////////////////////////        I2C                ////////////////////////////////
inout                        I2C_SDAT;                                //        I2C Data
output                        I2C_SCLK;                                //        I2C Clock
////////////////////////        PS2                ////////////////////////////////
input                         PS2_DAT;                                //        PS2 Data
input                        PS2_CLK;                                //        PS2 Clock
////////////////////        USB JTAG link        ////////////////////////////
input                          TDI;                                        // CPLD -> FPGA (data in)
input                          TCK;                                        // CPLD -> FPGA (clk)
input                          TCS;                                        // CPLD -> FPGA (CS)
output                         TDO;                                        // FPGA -> CPLD (data out)
////////////////////////        VGA                        ////////////////////////////
output                        VGA_HS;                                        //        VGA H_SYNC
output                        VGA_VS;                                        //        VGA V_SYNC
output        [3:0]        VGA_R;                                   //        VGA Red[3:0]
output        [3:0]        VGA_G;                                         //        VGA Green[3:0]
output        [3:0]        VGA_B;                                   //        VGA Blue[3:0]
////////////////////        Audio CODEC                ////////////////////////////
inout                        AUD_ADCLRCK;                        //        Audio CODEC ADC LR Clock
input                        AUD_ADCDAT;                                //        Audio CODEC ADC Data
inout                        AUD_DACLRCK;                        //        Audio CODEC DAC LR Clock
output                        AUD_DACDAT;                                //        Audio CODEC DAC Data
inout                        AUD_BCLK;                                //        Audio CODEC Bit-Stream Clock
output                        AUD_XCK;                                //        Audio CODEC Chip Clock
////////////////////////        GPIO        ////////////////////////////////
inout        [35:0]        GPIO_0;                                        //        GPIO Connection 0
inout        [35:0]        GPIO_1;                                        //        GPIO Connection 1

//        Turn on all display
assign        HEX0                =        7'h00;
assign        HEX1                =        7'h00;
assign        HEX2                =        7'h00;
assign        HEX3                =        7'h00;
assign        LEDG                =        VOL;
assign        LEDR                =        10'h3FF;

//        All inout port turn to tri-state
assign        DRAM_DQ                =        16'hzzzz;
assign        FL_DQ                =        8'hzz;
assign        SRAM_DQ                =        16'hzzzz;
assign        SD_DAT                =        1'bz;
assign        I2C_SDAT        =        1'bz;
assign        GPIO_0                =        36'hzzzzzzzzz;
assign        GPIO_1                =        36'hzzzzzzzzz;
assign        AUD_DACLRCK        =        AUD_ADCDAT;
assign        AUD_XCK                =        CLK_18_4;

wire        CLK_18_4;

PLL                         u0        (        .inclk0(CLOCK_27[0]),
                                                .c0(CLK_18_4)        );
                                               
I2C_AV_Config         u1        (        //        Host Side
                                                .iCLK(CLOCK_50),
                                                .iRST_N(KEY[0]),
                                                .iVOL(VOL),
                                                //        I2C Side
                                                .I2C_SCLK(I2C_SCLK),
                                                .I2C_SDAT(I2C_SDAT)        );

reg        [6:0]        VOL;               
                               
always@(negedge KEY[0])
begin
        if(VOL<68)
        VOL                <=        98;
        else
        VOL                <=        VOL+3;
end

endmodule

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-4-23 16:10:44 | 显示全部楼层
你要改成什么样子?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 15:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表