资源简介
非常非常难得,可以说网上都没有;这是我花了非常大的力气找到的,MP3的verilog硬件实现_完整工程;可以在ISE综合生成下载文件。还有说明文档。

代码片段和文件信息
#include “basic_io.h“
#include “LCD.h“
#include “SD_Card.h“
//#include “Open_I2C.h“
#include “Test.h“
#include
int Status;
UINT32 i j;
int write_block_count;
int write_addr;
BYTE Buffer[1024]={0};
void System_init() {
char Text1[16] = “SD MP3 Player!! “;
char Text2[16] = “Initializing....“;
char Text3[16] = “Press button now“;
unsigned char codec_ready;
printf(“Please wait while system is being initialized...\n“);
Status = 0;
init_button_irq();
printf(“Button initialized...\n“);
SD_card_init();
printf(“SD card initialized...\n“);
LCD_Test();
printf(“LCD initialized...\n“);
LCD_Line1();
// Show Text to LCD
LCD_Show_Text(Text1);
// Change Line2
LCD_Line2();
// Show Text to LCD
LCD_Show_Text(Text2);
IOWR(LED_RED_base00x0);
IOWR(LED_GREEN_base00x0);
IOWR(SEG7_DISPLAY_base00);
IOWR(DP_RAM_WRITE_IDLE_base 0 1);
IOWR(DP_RAM_WRITE_DATA_base 0 0);
IOWR(NIOS_CONTROL_SIGNALS_base 0 0x0);
// remove the reset signal from NIOS to hardware
IOWR(NIOS_CONTROL_SIGNALS_base 0 0x8);
printf(“Waiting for audio codec...\n“);
do {
codec_ready = IORD(CODEC_READY_base 0);
} while (codec_ready == 0);
printf(“Audio codec is now ready...\n“);
LCD_Line1();
// Show Text to LCD
LCD_Show_Text(Text1);
LCD_Line2();
// Show Text to LCD
LCD_Show_Text(Text3);
// Read the first block from SD card
SD_read_lba(Buffer 0 2);
j = 2;
i = 0;
write_addr = 0;
write_block_count = 0;
printf(“System is ready now...\n“);
printf(“Please push button 0 to start...\n“);
}
int main(void)
{
int write_request;
System_init();
while(1)
{
if (Status == 1) {
write_request = IORD(DP_RAM_WRITE_REQUEST_base 0);
if (write_request == 1) {
// printf(“write requested...\n“);
write_block_count++;
IOWR(DP_RAM_WRITE_IDLE_base 0 0);
// Read 1024 bytes from SD card
while (i < 1024) {
// printf(“j=%u i=%d block=%d Wdata %d: %04x\n“ j i write_block_count write_addr Tmp1);
IOWR(DP_RAM_WRITE_DATA_base 0 ((write_addr & 0x3FF) << 17) | ((((Buffer[i]<<8)|(Buffer[i+1])) & 0xFFFF) << 1) | (1 & 0x1));
if (write_addr < 1023) ++write_addr;
else write_addr = 0;
i += 2;
}
// Clear the write-enable signal
IOWR(DP_RAM_WRITE_DATA_base 0 0);
// printf(“write finished: block %d addr=%d\n“ write_block_count write_addr);
IOWR(DP_RAM_WRITE_IDLE_base 0 1);
IOWR(SEG7_DISPLAY_base0 (write_block_count & 0xFFFF) << 16 | ((j / 2048) & 0xFFFF));
// Prepare data for next write
SD_read_lba(Buffer j 2);
j+=2;
i = 0;
}
// printf(“write: b=%d wc=%d i=%d wa=%d wd=%04X\n“ write_block_count write_counter i write_addr Tmp1);
} else {
msleep(500);
}
}
return 0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2007-03-30 18:15 MAC_MP3_Hardware\DE2_SD_Card_MP3\
文件 5344 2007-03-31 20:44 MAC_MP3_Hardware\DE2_SD_Card_MP3\audio.v
文件 3499 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\AUDIO_PLL.bsf
文件 9917 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\AUDIO_PLL.v
文件 11264 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\AUDIO_PLL2.v
文件 9476 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\AUDIO_PLL2_bb.v
文件 114 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\AUDIO_PLL2_inst.v
文件 2392 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\bht_ram.mif
文件 4148 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\button_pio.v
文件 1596 2007-03-31 20:44 MAC_MP3_Hardware\DE2_SD_Card_MP3\clock_gen.v
文件 4885 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\codec_ready.v
文件 808 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\cpu_0.ocp
文件 373312 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\cpu_0.v
文件 11362 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\cpu_0_jtag_debug_module.v
文件 9543 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\cpu_0_jtag_debug_module_wrapper.v
文件 5218 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\cpu_0_mult_cell.v
文件 5878 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\cpu_0_ociram_default_contents.mif
文件 37422 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\cpu_0_test_bench.v
目录 0 2007-03-25 19:36 MAC_MP3_Hardware\DE2_SD_Card_MP3\db\
文件 136 2007-03-25 19:35 MAC_MP3_Hardware\DE2_SD_Card_MP3\db\DE2_SD_Card_Audio.db_info
文件 6745 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\dc_tag_ram.mif
文件 78214 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\DE2_SD_Card_Audio.pin
文件 952 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\DE2_SD_Card_Audio.qpf
文件 24030 2007-03-05 20:06 MAC_MP3_Hardware\DE2_SD_Card_MP3\DE2_SD_Card_Audio.qsf
文件 2643 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\DE2_SD_Card_Audio.qws
文件 841117 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\DE2_SD_Card_Audio.sof
文件 17046 2007-03-25 19:10 MAC_MP3_Hardware\DE2_SD_Card_MP3\DE2_SD_Card_Audio.v
文件 308 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\DE2_SD_Card_Audio_time_limited.cdf
文件 841139 2007-03-25 20:22 MAC_MP3_Hardware\DE2_SD_Card_MP3\DE2_SD_Card_Audio_time_limited.sof
目录 0 2007-03-11 23:06 MAC_MP3_Hardware\DE2_SD_Card_MP3\DE2_SD_MP3\
文件 1762 2006-05-21 02:19 MAC_MP3_Hardware\DE2_SD_Card_MP3\DE2_SD_MP3\.cdtbuild
............此处省略497个文件信息
- 上一篇:synopsys DC的官方培训教程.rar
- 下一篇:so加固--加密函数
相关资源
- 基于FPGA的sdi视频传输工程(k7_sdi_rx
- FPGA彩条显示
- Xilinx-FPGA-引脚功能详细介绍.doc
- 基于xilinx FPGA的PCIe设计实战
- 基于PCIe的FPGA动态配置设计与实现
- 为什么工程师要掌握FPGA开发知识?
- 数字频率合成dds正弦波基于FPGA的DDS产
- 基于MIPS指令集的32位CPU设计与Verilog语
- Verilog FPGA UART串口控制器
- gmsk调制在FPGA上实现
- mp3解析文档及其分析工具
- 一个简单的verilog编写的DMA IP CORE,和
- FPGA在步进电机驱动上的应用实例及代
- MP3文件ID3v2ID3v2APEv2标签读取
- 硬件课程设计—流水灯(quartus软件
- Verilog按键代码
- verilog的PCI源代码,非常详细,顶层模
- fpga实现频率测量
- FPGA开发-ChipScope教程
- 红外循迹小车VHDL程序
- CPLD Verilog数字密码锁 源码
- verilog 实现任意分频方法
- 基于FPGA的USB接口设计
- DE2模拟的交通红绿灯
- SPI Master 的Verilog源代码
- 一种抗SEU存储器电路的FPGA设计
- Cyclone 10LP Remote Update Intel FPGA IP 官方工
- nRF24L01无线模块在单片机与FPGA上的应
- 基于FPGA多协议转换网关设计
- 基于VGA的Flappy Bird的Verilog实现(源码
评论
共有 条评论