单片机和FPGAWord下载.docx
- 文档编号:19503629
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:87
- 大小:2.66MB
单片机和FPGAWord下载.docx
《单片机和FPGAWord下载.docx》由会员分享,可在线阅读,更多相关《单片机和FPGAWord下载.docx(87页珍藏版)》请在冰豆网上搜索。
实验十三简易存储示波器76
实验十四简易频率计
特点:
“SOPC/MCU电子设计综合实验箱”集众多功能于一体,是SOPC、EDA、51单片机实验教学及科研开发的最佳选择。
实验箱开放性和模块化的设计方便学生进行课程设计及毕业设计。
“SOPC/MCU电子设计综合实验箱”采用核心板加主板的结构。
用户也可以根据开放的接口来设计自己的核心板。
考虑到用户的实用性,FPGA核心板上除设计有FPGA、各类存储器以及用户外扩PACK外还设计有按键、LED(与主板共用I/O口)以及电源插座等。
MCU核心板包含了常用外围器件电路。
一、FPGA核心板硬件资源
●Altera公司FPGA芯片CycloneEP1C12Q240C8
●4x40脚核心模块扩展接口可与其他SOPC板、ARM板、DSP板、单片机板与主板
的无缝结合。
并也可通过扩展口外扩存储器,既能实现数据的大容量存储,又能提
高数据的存取速度
●AM29LV320DT-90EI4MB16位并行总线Flash芯片
●IS61LV512(256)16512(256)K16位并行总线高速SRAM
●K4S641632H64Mb16位并行总线SDRAM
●4个多功能按键
●8个LED用户指示灯
●1个系统复位按键,产生系统复位信号
●1个配置按键,用于重新配置
●CAT1025I2CEEPROM+专用复位芯片
●1个配置电路:
带串行EPCS4芯片
●1个JTAG接口
●1个AS接口
●5V转3.3V,1.5V电源电路
●一个50MHz有源晶振,产生系统时钟
●一个SMA座,可通过屏蔽线将一路PLL信号输出.
●核心板可独立使用
二、MCU板硬件资源
●STC89C58RD+(32kflash、1280字节SRAM、带E2PROM、3个定时器、UART异步串行口、32个IO口、内置复位电路、看门狗电路、)。
●两个四位一体共阳数码管
●8个贴片红色led灯
●12864点阵液晶
●2x816个按键
●2K字节E2PROM(24C16)
●32K字节RAM(HY62256)
●232接口(MAX232)
●485接口(SN75176)
●8位串行AD(TLC549)(可选)
●12位串行DA(TLV5618)(可选)
●模块5V供电
三、高速AD模块硬件资源
●AD922525MSPS12位并行总线AD转换器
●AD8055300MHz高带宽,低功耗运算放大器
●74HC541高速总线驱动器
●2x20脚扩展接口可将AD转换的数字量输出,并从外部引入电源,
方便与其他控制器无缝连接
●3个铜柱子亦可从外部引入电源
●一个SMA座子,可通过屏蔽线从外部引入AD采样时钟
●一个SMA座子,可通过屏蔽线从外部引入模拟信号
四、高速DA模块硬件资源
●AD9752125MSPS12位并行总线DA转换器
●2x20脚扩展接口可引入DA转换所需的数字量,
并从外部引入电源,方便与其他控制器无缝连接
●一个SMA座子,可通过屏蔽线从外部引入DA转换时钟
●一个SMA座子,可通过屏蔽线将DA转换的模拟信号输出
五、高速DDS模块硬件资源
●AD9852300MHz,双12位并行DA,高速高精度多种信号模式的DDS芯片
●AD8055300MHz高带宽,低功耗运算放大器
●2个单刀单掷开关,可以选择时钟模式和编程模式
●1个20MHz的贴片有源晶振和时钟驱动芯片,提供系统时钟
●2个SMA座,可以通过屏蔽线将两个DA转换的模拟信号输出
●3个SMA座,用于DDS不同工作模式下的控制信号输入
●3个SMA座,用于内部高速比较器的输入输出
●5V转3.3V,5V转-5V电源电路
●一个风扇架子和风扇接口用于DDS的散热
●2x20扩展接口可以可以和单片机,FPGA,ARM等控制器进行无缝连接
六、音频模块硬件资源
●WM8731S立体声音24位音频编/解码芯片
●4个音频接口,分别为线路输入,线路输出,耳机输出,麦克风输入
●5V转3.3V电源电路,由一个5V电源插座
●1个18.432MHz晶振,提供系统时钟
●2x16扩展接口可以可以和单片机,FPGA,ARM等控制器进行无缝连接
第二章Quartus软件简介
该部分以跑马灯为列,演示QuartusII9.0的使用全过程。
一、启动QuartusII9.0后,默认界面如图一所示,由标题栏、菜单栏、工具栏、资源管理窗、编译状态显示窗、信息显示窗、工程工作区等部分组成。
图一
二、建立工程:
FILE->
NewProjectWizard掉出新建工程向导窗口,如图二所示
图二
三、按下”NEXT”弹出如图三所示界面,在第一个文本框中选择工程目录,第二个、三个文本框输入工程名。
输入完成后如图四
图三
图四
四、按”NEXT”进入器件选择窗体,在”family”一栏选择”Cyclone”系列,在”AvailableDevice”一栏中选择“EP1C12Q240C8”.如图五所示。
图五
五、按”Finish”完成工程的建立。
进入如图六所示界面。
图六
六、建立顶层文件。
File->
New进入新建文件选择窗体,如图七所示,选择VerilogHDLFile,建立.v文件。
图七
七、保存文件。
SaveAs,保存文件到工程目录。
如图八所示。
注意:
顶层文件名与工程名要保持一致。
图八
八、在led.v文件中输入如下内容。
moduleled(clk,ledkey_d,led_oe);
inputclk;
outputled_oe;
output[7:
0]ledkey_d;
reg[7:
regled_oe;
reg[28:
0]count;
wire[2:
0]fclk;
0]mode;
0]led0,led1,led2,led3,led4,led5,led6,led7;
assignfclk[2:
0]=count[25:
23];
assignmode[2:
0]=count[28:
26];
always@(posedgeclk)
begin
count=count+1;
end
always@(fclk)//mode0
begin
case(fclk)
3'
b000:
led0=8'
b11111110;
b001:
b11111101;
b010:
b11111011;
b011:
b11110111;
b100:
b11101111;
b101:
b11011111;
b110:
b10111111;
b111:
b01111111;
endcase
always@(fclk)//mode1
led1=8'
always@(fclk)//mode2
led2=8'
b01111110;
b10111101;
b11011011;
b11100111;
always@(fclk)//mode3
led3=8'
b11111100;
b11111000;
b11110000;
b11100000;
b11000000;
b10000000;
b00000000;
always@(fclk)//mode4
led4=8'
b00111111;
b00011111;
b00001111;
b00000111;
b00000011;
b00000001;
always@(fclk)//mode5
led5=8'
b11111111;
always@(fclk)//mode6
led6=8'
b01010101;
b10101010;
always@(fclk)//mode7
led7=8'
b11111001;
b11110011;
b11001111;
b10011111;
always@(mode)
led_oe=1'
b0;
case(mode)
ledkey_d=led0;
ledkey_d=led1;
ledkey_d=led2;
ledkey_d=led3;
ledkey_d=led4;
ledkey_d=led5;
ledkey_d=led6;
ledkey_d=led7;
endcase
endmodule
九、在”编译状态显示栏”展开CompileDesign双击Analysis&
Synthesis分析综合工程。
编译状态栏显示成功后,进入下一步。
十、分配管脚:
Assignment->
PinPlanner进入管脚分配界面,如图九所示。
图九
十一、输入管脚号:
在”Location”一栏中输入信号对应的管脚号,如图十所示。
图十
十二:
“编译状态显示栏”如图十一所示,表示综合成功。
图十一
十三、下载执行文件到FPGA:
Tools->
Programmer,或者点击Programmer图标,进入下载界面。
如果在HardwareSetup一栏显示”NoHardWare”如图十二,点击HardwareSetup
进入下载接口选择界面,双击选择,USB-Blaster,如图十三所示。
图十二
图十三
十四、退出图十三所示界面,点击图十二所示界面中的“Start”下载程序到FPGA中。
Progress状态条中显示100%后表示下载成功。
FPGA模块上的LED灯显示跑马灯现象。
第三章.SOPC快速入门
1.实验目的
熟悉NiosII系统的完整开发步骤,建立起实验台的标准硬件测试平台。
2、实验设备
硬件:
PC机
MCU-SOPC电子综合实验箱
MCU-SOPC电子综合实验箱核心板(1C12)
软件:
QuartusII9.0
NiosII9.0
3.实验内容
针对实验箱,搭建Standard硬件平台;
运行简单的软件应用程序。
4.实验预习要求
阅读NiosII开发包中的文档,对NiosII、基本IP核的概念有基本了解。
5.实验原理
1)在搭建硬件平台的过程中,根据实验平台的资源对需要的IP核进行配置和添加,这
里需要熟悉基本IP核的知识和配置方法以及相关的平台器件。
IP核添加后,系统将自动将其
挂接在Avalon总线上,构成片上SOPC系统。
NiosII系统的内部结构图如下所示:
2)针对硬件平台建立软件工程,运行一个简单的HelloLED,主要用来介绍软件开发
的过;
以及测试硬件平台搭建正确,支持软件正常运行。
6.实验步骤
1,搭建硬件平台。
本实验将针对实验箱资源建立一个基本的Standard硬件工程,里面
将包含NiosIICPU、三态桥(tri_state_bridge)、SystemID、时钟、flash存储器接口、
sdram存储器接口、sram存储器接口、LEDPIO、epcs_controller、Jtag通讯接口。
本实验在第三章的基础上进行,因此不再重复介绍建立Quartus工程,只是按照第三章的实验步骤建立Quartus工程添加NiosIICPU的步骤,用户也可直接打开第三章建好的工程,在其基础上完成本实验。
一.生成硬件系统
(1)按照第三章的实验步骤建立Quartus工程,并在其基础上添加一个PLL,在Tool菜单下单击MegaWizardPlugin,如下所示:
点击Next,如下图所示,选择要加入的IP核,器件,硬件语言,安装路径
点击Next,如下图所示,选择Pll核的输入频率,器件速度等级,指定输出为C0
点击第2个标签,设置clkC0,ClkC1输出频率,占空比和相移
点击第四个标签,设置输出文件
点击Finish完成,回到QuartusII主界面,如果出现一个提示窗口,点击复选框,点击确定即可
(2)在原理图编辑窗口中,双击原理图的空白处,在Library中点击Project可以看到刚刚输出的Pll模块
点击OK添加该模块
保持这个顶层文件,在Tool菜单下点击SopcBuilder,打开SOPCBuilder如下图所示:
这里选择语言和系统名字,点击OK进入SopcBuilder主界面,如下图所示:
在ComponentLibrary下双击NiosProcessor,添加并编辑NiosIICPU
选择NiosIIcore为Nios/s即标准型,其他设置不变,点击Finish回到主界面,并将CPU的名字重命名
(3)在ComponentLibrary下双击AvalonMMTristateBridge,添加并编辑三态总线
点击Finish回到主界面
(4)在ComponentLibrary下双击JTAGUART,添加并编辑Jtag通讯接口
(5)按同样的方法,在下图中双击添加并编辑flash存储器接口,
这里地址选择21位,数据16位
在时序标签中做如下设置
点击Finish回到主界面。
(6)添加并编辑SDRAM控制器
在时序标签中选择默认设置,点击Finish回主界面。
(7)添加并编辑SRAM
这个组件是自定义的,软件没有自带
(8)添加并编辑SystemID,
出现一个警告,SystemID的名字必须为sysid。
点击Finish回到主界面并重命名
(9)添加并编辑EPCS控制器
,点击Finish回主界面
(10)添加并编辑定时器
(11)添加并编辑并行IO口
,这里将其设置为输出口,点击Finish回主界面,并重命名为Led。
(12)此时所有组件已经添加完成,但三态桥下没有连接任何组件,所以要将flash和SRAM连接到三态桥
点击图中的空心点,将flash和SRAM连接到三态桥。
(13)双击CPU组件,设置CPU的复位地址为Flash,异常地址为SDRAM,点击Finish回主界面
(14)双击tri_state_bridge_0,在ShareSignal标签中设置Flash核SRAM的地址,读写信号为共享
(15)在设置SRAM的基地址为0x100000,并点击左边的锁,
System菜单下点击AutoassignBase-adress
(15)此时,所有准备工作完毕,点击Generate等待生成系统,系统生成完毕后点击Exit,回到QuartusII主界面
按照第三章将原理图画完并分配管脚
综合产生编程文件。
二.生成软件系统
(1)打开NiosIDE,
(2)在NiosIIC/C++Projects下的空白处右键,选择New->
NiosIIC/C++Aplication,这里新建一个名为HelloLED的空应用工程,存放目录为刚才新建的硬件系统刚才的目录
点击Finish回到NiosIDE主界面
(3)右键
新建源文件,在弹出的对话框指定源文件名称和存放路径
(4)编辑,保存源文件
(5)设置工程属性,右键工程,点击SystemLibraryProperities
点击OK回到主界面。
(6)右键HelloLED,点击BuildProject开始编译工程。
从信息窗口看出,软件编译了Hello_LED.c,并产生elf文件和flash文件
(7)全速运行程序,给实验箱或者核心板通电,下载硬件编程文件到核心板,右键HelloLED->
Runas->
NiosIIhardware,即可以看到核心板上的LED做流水灯显示
第四章MCU部分实验
实验一流水灯实验
一、实验目的
(1)了解二极管与单片机接口。
(2)了解二极管编程方法。
二、实验内容
多种方式循环点亮发光二极管。
三、实验接线图
四、实验步骤
(一)运行KEIL软件
(二)在KEIL中打开waterlight工程
(三)编译链接KEIL工程
(四)运行STC-ISP.EXE软件,下载waterlight.hex文件到MCU
(五)MCU模块发光二极管部分,显示流水灯效果。
五、思考
改变延时常数,使发光二极管闪亮时间改变,修改程序,使发光二极管闪亮移动方向改变。
六、程序清单文件名waterlight.c
#include<
absacc.h>
reg51.h>
#defineucharunsignedchar
#defineuintunsignedin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 FPGA