giftFPGA1 发表于 2011-6-24 19:10:46

【原创】Cyclone III FPGA开发板 相关实验例程 持续更新

软件 Quqartus10.0SP1硬件FPGA礼物开发板A3 mini
首先实验一个Nios2 读取SD卡中的内容,文件系统为fat16,暂时不支持4GB以上的高速卡
只支持最大2G
会用到一个老外写的IP,源码已经上传,可以下载研究
注意有些旧卡如果时钟太高,会读不出来,需要降低ip的时钟,
如果ip编译通不过,可以修改相关头文件
先实验一个简单功能,读取sd卡中文件个数并列出文件名
主要需要sdram和sdcardIP
以下是源码
include <stdio.h>
#include <system.h>
#include <string.h>
#include "altera_avalon_pio_regs.h"
#include "sd_controller.h"
int main()
{

          alt_u8 filelist_buffer;
                   int offset, num_files, i;
          int filesize = -1;
sd_fat_mount_all();
          num_files = sd_list( "/", filelist_buffer );
          printf( "Nios2读写SD卡程序\n");
          printf( "找到 %d 个 文件\n", num_files );
          offset = 0;
      for(i=0;i<num_files;i++)
          {
             printf("文件名: %s\n",filelist_buffer+offset);
             offset+=( strlen( filelist_buffer )) + 1;
          }

return 0;
}
实验显示效果如下:

Nios2读写SD卡程序
找到 3 个 文件
文件名: x.txt
文件名: y.txt
文件名: z.txt
SD card IP下载
点击此处下载 ourdev_651785SPH2CN.zip(文件大小:2.07M) (原文件名:sd_card_component.zip)

sweetgirl 发表于 2011-6-25 22:23:52

MARK

largeboss 发表于 2011-6-26 00:05:27

MARK

jetimchen 发表于 2011-6-26 00:33:47

MARK

giftFPGA1 发表于 2011-6-27 14:53:48

贡献fpga礼物开发板 a3 mini 原理图
Cycllone iii fpga开发板原理图
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_652659QRVLK8.JPG
(原文件名:a3m2s6.JPG)

点击此处下载 ourdev_652660KMNHBS.pdf(文件大小:98K) (原文件名:A3_mini.pdf)

yangshuhe33 发表于 2011-6-27 15:21:37

顶起!

giftFPGA1 发表于 2011-6-28 08:45:07

完成你的第一FPGA项目 图文教程
http://www.eefocus.com/giftFPGA/blog/11-05/222340_b84ab.html

40130064 发表于 2011-6-28 09:25:54

顶个

giftFPGA1 发表于 2011-6-28 12:37:46

建议大家在设计CylconeIII的板子时有几个文档是必看
1.Cyclone III Device Handbook
这个是CycloneIII 的官方手册,不必说,肯定是要看的
2.an466 Cyclone III Design Guidelines
这是Cyclone的设计指南,也很重要
3.Cyclone® III Device Family Pin Connection Guidelines
这个是引脚连接指南,设计硬件时最重要了,设计硬件的朋友一定多看几遍,特殊引脚如何处理上面都写清楚了

【电源】
CycloneIII的最大不同就是增加了2.5v pll电压
只要记住一点就行 VCCA接2.5V,VCCD_PLL接1.2V就行
一定记住VCCA是模拟电源,一定要用LDO啊

giftFPGA1 发表于 2011-7-3 09:25:48

用FPGA实现3-8译码器,适合FPGA初学者A礼物礼物教程】用FPGA实现3-8译码器,适合FPGA
译码器是组合逻辑电路的一个重要的器件,其可以分为:变量译码和显示译码两类。 变量译码一般是一种较少输入变为较多输出的器件,一般分为2N次方译码和8421BCD码译码两类。
74138是一种3线—8线译码器 ,三个输入端CBA共有8种状态组合(000—111),可译出8个输出信号Y0—Y7。3-8译码器的详细说明请参考相关资料,本文使用Verilog实现一个简单的3-8译码器,并在硬件上验证,供FPGA初学者参考。
所用软件:Quartus 10.0 SP1
硬件:FPGA礼物开发板A3 mini核心芯片为CycloneIII EP3C5
3-8译码器有3个输入,8个输出,和3个使能位。
FPGA礼物开发板A3 mini上有四个滑动开关,可以选择三个作为译码器输入,为了简化,使能位我们只用一个,使用第四个滑动开关作为使能位输入。开发板上有四个LED,作为译码器输出的高四位,使用数码管的四个小数点做为译码器输出的低四位。参照下图。


Verilog代码
module decoder3_8(dout,din,de,dp,);
output dout;
inputdin;   
input       de;   
output      dp;   
    reg    dout_r;
    always @(de)
      begin
            if(de==0) dout_r=8'b11110000;
            else
                begin
                  dout_r=8'b00000001<<din;
                  dout_r=~dout_r;
                  dout_r=((~dout_r)|8'b11110000)&(dout_r|8'b00001111);
                end
            
      end
   assign dout=dout_r;
   assign dp=1;
endmodule

其中,dout为译码器输出,din为译码器输入,de为使能端。dp为数码管小数点,因为fpga礼物开发板上使用的是共阴数码管,dp需要一直保持高电平,通过给数码管选择位低电平来点亮数码管小数点。而点亮led需要给高电平,为了保持显示效果一致,我们在相应位需要取反。
if(de==0) dout_r=8'b11110000;本来输出应该为8’b11111111,为了显示效果,第四位取反
dout_r=8'b00000001<<din;
dout_r=~dout_r;
这两行代码实现了3-8译码器逻辑,不清楚的可以参照3-8译码器真值表。
dout_r=((~dout_r)|8'b11110000)&(dout_r|8'b00001111);也是为了显示效果需要,低四位取反。
3-8译码器是组合逻辑的典型,初学者可以自己动手,练练其他的组合逻辑,练习多了,自然就掌握了。

giftFPGA1 发表于 2011-7-4 11:51:47

ep3c5 引脚列表
点击此处下载 ourdev_654497PN1SYT.pdf(文件大小:52K) (原文件名:EP3C5.pdf)

pangfen 发表于 2011-7-6 11:26:03

mark
页: [1]
查看完整版本: 【原创】Cyclone III FPGA开发板 相关实验例程 持续更新