北京联华众科科技有限公司 http://www.lianhua-zhongke.com.cn
Abstract 摘 要:联华众科FPGA开发板FA130核心器件为 Altera Cyclone系列的EP1C3,配置芯片为EPCS1,FA130上可以运行SOPC Builder制作的简单的工程。FA130具有丰富的板载资源,由于板载有51单片机,FA130还可以作为51单片机的学习开发板。FA130实现了3.3V系统与5V系统对接功能,具体是通过74LVXC3245(或简称3245)实现的。FA130随板资料中包括丰富的开发实例和制作开发实例的详细步骤说明,以及Quartus II环境下的设计输入,综合,仿真等内容,另外还包括SOPC建立和开发方面内容,如Nios II的建立和Nios II环境下C/C++程序开发等。FA130的EDA开发实例包括VHDL和Verilog两个版本,FA130的51单片机开发实例包括汇编和C语言两个版本。同时FA130还包括详细的使用手册和丰富的配套资料,非常适合FPGA,VHDL,Verilog开发学习者使用。另外FA130随板DVDROM中还包括VS.NET的开发实例,在学习FPGA开发,51单片机开发的同时还可以学习到VS.NET开发环境中C#程序的开发,VS.NET和C#也是WINCE.NET系统上主要的开发环境和编程语言 1 概述
联华众科FPGA开发板FA130核心器件为 Altera Cyclone系列的EP1C3T100,配置芯片为EPCS1,FA130外观如下图所示。
整板为双面PCB,左侧为FPGA芯片Altera EP1C3T100,板载LCD1602液晶屏在调试单片机程序或HDL程序时可作为输出设备使用。
联华众科FPGA开发板FA130具有丰富的板载资源。
* 核心器件包括FPGA芯片Altera EP1C3T100和PLCC封装的单片机STC89LE52。EP1C3可用I/O分4组全部以插针的形式引出,供外部扩展时使用。
* FPGA配置芯片为EPCS1,EPCS1为FLASH类型存储器,存储空间为1M位(1,046,496bits),EPCS1可以工作在5V或3.3V,在本开发板EPCS1与FPGA的IO相同工作电压为3.3V。
* 时钟资源包括频率为66M有源晶振和1个外接有源晶振插座,外接有源晶振插座可直接安装用户自己希望的任何频率有源晶振。
* 复位电路由一个复位按键和一片复位芯片组成,复位芯片为IMP812T,IMP812T输出高电平有效的复位脉冲,脉冲宽度为140ms。IMP812T的复位门限(Reset Threshold)为3.08V,输出的复位信号同时提供给FPGA芯片和单片机使用,FA130上EP1C3和51单片机89LE52均工作在3.3V电源电压。
* 显示资源包括6位共阳七段数码管,8位LED(绿色),1片1602LCD显示屏。
* 键盘资源包括4*4按键阵列,4个独立按键,其中4个独立按键可以作为单片机的中断源使用。
* 接口资源包括串口,PS2接口,VGA接口,I2C总线接口,PWM信号输入输出接口,USB Deivce接口(可作为供电电源使用),9V直流电源接口,以及EP1C3可用I/O接口,JTAG下载接口和Config下载接口。两个串口一个连接到EP1C3,另一个连接到单片机上,串口芯片为MAX3232,工作在3.3V。其中JTAG下载接口和Config下载接口为5*2插座方式,需经ByteBlaster II下载线转接到PC并口,也可以用USB Blaster连接到PC的USB口。开发板随板带有一根ByteBlaster II下载线,用以连接开发板JTAG下载接口和Config下载接口到PC并口,完成编程下载或配置下载工作。
* 音频资源包括1个蜂鸣器。
* 电源部分包括1片LM1085-5.0,1片AS2830-3.3和1片AS2830-1.5,LM1085-5.0提供5V直流电源作为AS2830-3.3,AS2830-1.5输入电源和LCD1602供电电源。AS2830-3.3提供3.3V直流电源,作为FPGA的IO电源和开发板上其他设备电源。AS2830-1.5提供1.5V直流电源,作为FPGA的核心供电电源。
* 存储资源包括1片24C02和1片93C46,24C02连接在I2C总线上,是存储空间为256字节串行E2PROM,24C02的设备地址也可以由板上的3位拨码开关设置。93C46为SPI接口的串行E2PROM,93C46存储空间为128字节。
* 其他资源还包括8位拨码开关,连接到EP1C3上。
包含的配件如下图所示。
FA130及配件清单如下表。
FA130 | 1 | 联华众科FPGA开发板 |
9V直流电源 | 1 | 最大输出电流1000mA |
下载线 | 1 | ByteBlaster II |
串口线 | 1 | 9针串口线 |
USB线 | 1 | USB Device连接线 |
DVDROM | 1 | 包括资料和软件 |
开发板FA130电源的连接,下载线JTAG连接方式下载程序到FPGA芯片内RAM中,FPGA芯片内的程序掉电后无法保存,JTAG下载方式适合调试程序时使用。如下图所示。
如果希望程序永久保存在硬件系统内,则需要通过Config下载接口将程序下载到配置芯片内,配置芯片内的程序掉电可以保存,再次上电后自动装载到FPGA内并由FPGA开始运行。配置按键“CONFIG”按下后,将强制FPGA用配置芯片程序加载到FPGA中。开发板FA130下载线CONFIG连接方式,如下图所示。
开发板FA130单片机下载线连接方式如下图所示。
FA130也可以使用PC USB供电,如下图所示。
开发板FA130运行SOPC程序如下图所示。
FPGA上运行的C程序如下图所示。
开发板FA130数码管显示效果如下图所示。
开发板FA130 LCD屏显示效果如下图所示
PC上位机通过单片机串口控制LCD屏的显示内容,PC上位机发送的内容实时显示在LCD上,如下图所示。
PC上位机读取FA130 24C02,并将数据显示在上位机窗口内图如下所示。
PC读取FA130上24C02存储的数据,并显示数据界面如下图所示。
单片机通过FPGA读取拨码开关状态,并用8位LED显示如下图所示。
VGA口输出光栅效果图如下所示。
上位机控制可调频率和占空比,FPGA输出PWM,如下图所示。
下图为2路PWM信号的波形数据。
FA130开发板包括非常丰富的开发实例,不仅包括FPGA开发实例,还包括单片机开发实例和VS.NET开发实例。FPGA开发实例提供VHDL,Verilog两个版本。单片机开发实例包括汇编和C语言两个版本。VS.NET开发实例编程语言为C#,VS.NET和C#也是WINCE.NET平台支持的开发工具和编程语言。
FPGA开发实例如下:* 流水灯
定时轮流点亮开发板上的8位LED,产生流动的显示效果,定时信号由开发板上有源晶振输出分频得到。
* 6位十进制计数器
计数器的最低(左)位为0.1s,低位与相邻高位间十进制进位,用开发板上的6位七段数码管显示计数器的当前计数值。
* 数字钟
用开发板上的6位七段数码管显示小时,分钟,秒。小时,分钟,秒各占用2位数码管。
* LCD显示
开发板上包括一个16列2行的LCD显示屏,本实例定时显示0~9和A~F在LCD显示屏上面,定时间隔为1s。
* 键盘阵列-数码管显示
定时扫描键盘阵列,延时去抖动后读取按键状态,将当前按键值显示在6位七段数码管的最低位,当有新的按键按下时新按键值进入最低位数码管,原来最低位左移一位成为次低位。可识别的按键值包括0~9和A~F。
* 键盘阵列-LCD屏显示
定时扫描键盘阵列,延时去抖动后读取按键状态,将当前按键值显示在-LCD屏上。可识别的按键值包括0~9和A~F。
* 串口发送
定时发送字符’0’~’9’,以及’A’~’F’到接收方,串口的波特率,数据位数,奇偶位,停止位等参数均可通过外部设置,本实例中这些参数的一部分通过拨码开关来设置。串口的工作时钟为开发板上的有源晶振输出的时钟信号,可以实现常用串口波特率。
* 串口接收-数码管显示
可接收字符’0’~’9’和’A’~’F’并显示在数码管上,串口的波特率,数据位数,奇偶位,停止位等参数均可通过外部设置,本实例中这些参数的一部分通过拨码开关来设置。串口的工作时钟为开发板上的有源晶振输出的时钟信号,可以实现常用串口波特率。
* 串口接收-LCD显示
可接收字符’0’~’9’和’A’~’F’并显示在LCD屏上,串口的波特率,数据位数,奇偶位,停止位等参数均可通过外部设置,本实例中这些参数的一部分通过拨码开关来设置。串口的工作时钟为开发板上的有源晶振输出的时钟信号,可以实现常用串口波特率。
* 蜂鸣器
由拨码开关设置蜂鸣器输入信号的频率,使蜂鸣器发出不同的音调。
* 独立按键
4个独立按键通过两级反向器连接到4位LED上,当有按键按下时对应位LED会被点亮。
* 拨码开关
拨码开关的8位开关通过两级反向器连接到8位LED上,当有开关位拨向“ON”时对应位LED会被点亮。
* 晶振测试
开发板上包括1个66MHz有源晶振和1个可外接有源晶振的插座,在本实例中外接有源晶振为40MHz,分别通过66000000/40000000分频,产生2个独立的周期为1s的方波脉冲信号,用来点亮2位LED,以测试66MHz有源晶振及外接有源晶振工作是否正常。
* PWM信号输出
产生指定周期和占空比的PWM信号,周期和占空比由原理图中参数设置,同时将这些PWM信号参数通过串口发送到PC上显示。
* PWM信号测量
测量开发板上PWM插座输入的PWM信号的频率和占空比,并将测量结果显示在开发板的8位LED上。
* I2C读写
开发板上的I2C设备为1片24C02,本实例实现了24C02的读出和写入时序,同时将读出或写入数据显示在数码管上。
* PS2键盘-数码管显示
FA130上有标准PS2接口,将PS2键盘接在FA130上后,本实例可以将按键对应的字符显示在数码管上,可识别的按键值包括0~9。
* PS2键盘-LCD屏显示
FA130上有标准PS2接口,将PS2键盘接在FA130上后,本实例可以将按键对应的字符显示在LCD屏上,可识别的按键值包括0~9。
* VGA
FA130上有标准VGA接口,将支持VGA接口的显示器接在FA130上后,本实例在显示器上显示彩色方块。
* SPI读写
开发板上的SPI设备为1片93C46,本实例实现了93C46的读出和写入时序,同时将读出或写入数据显示在数码管上。
单片机开发实例如下:
* 流水灯
定时轮流点亮开发板上的8位LED,产生流动的显示效果,定时信号由开发板上有源晶振输出分频得到。
* 第一个程序-P1口输出
将8位2进制数通过单片机P1口输出,FA130上的8位LED绿色发光管连接在单片机P1上,这样LED会按照P1口输出的数据点亮或熄灭。
* 软件定时器流水灯
通过单片机Timer0定时中断方式轮流点亮FA130上的8位LED绿色发光管中的一位,产生流动的效果。Timer0定时中断时间间隔为1s。
* 硬件定时器流水灯
通过软件延时的方式轮流点亮FA130上的8位LED绿色发光管中的一位,产生流动的效果。
* 6位十进制计数器
使用了Timer0和Timer1两个定时器,Timer0用作时间计数,Timer1用于刷新数码管。计数器的最低(左)位为0.1s,低位与相邻高位间十进制进位,用开发板上的6位七段数码管显示计数器的当前计数值。。
* 数字钟
使用了Timer0和Timer1两个定时器,Timer0用作时间计数,Timer1用于刷新数码管。开发板上的6位七段数码管显示小时,分钟,秒。小时,分钟,秒各占用2位数码管。
* LCD显示
开发板上包括一个16列2行的LCD显示屏,本实例定时显示“Welcome to FA130!”字符串在LCD显示屏上面。
* 键盘阵列-数码管显示
定时扫描键盘阵列,延时去抖动后读取按键状态,将当前按键值显示在6位七段数码管的最低位,当有新的按键按下时新按键值进入最低位数码管,原来最低位左移一位成为次低位。可识别的按键值包括0~9和A~F。定时器Timer0用于扫描键盘阵列,定时器Timer1用于刷新数码管。
* 键盘阵列-LCD屏显示
定时扫描键盘阵列,延时去抖动后读取按键状态,将当前按键值显示在LCD屏上。可识别的按键值包括0~9和A~F。定时器Timer0用于扫描键盘阵列。
* 蜂鸣器-按键声
蜂鸣器的驱动脚连接到单片机的P4.0脚,在P4.0上输出一小段脉冲信号,使蜂鸣器发声。按键声听起来象“嘟,嘟”的声音。
* 蜂鸣器-警报声
蜂鸣器的驱动脚连接到单片机的P4.0脚,在P4.0上输出一小段脉冲信号,使蜂鸣器发声。使用定时器Timer2定时调用发声程序产生警报声效果。
* 串口收发-数码管显示
用开发板上的键盘阵列产生并通过串口发送字符’0’~’9’和’A’~’F’,同时也可通过串口接收字符’0’~’9’和’A’~’F’并显示在数码管上。Timer2用作串口波特率时钟。
* 串口收发-LCD显示
用开发板上的键盘阵列产生并通过串口发送字符’0’~’9’和’A’~’F’,同时也可通过串口接收字符并显示在LCD屏上。Timer2用作串口波特率时钟。
* LCD1602控制
运行于PC上的联华众科通信通软件中集成了LCD1602显示屏的测试程序,可以通过串口控制FA130上的LCD屏,实现清屏,显示/关闭光标,写入字符串,移动光标,换行等操作。
* I2C读写
开发板上的I2C设备为1片24C02,运行于PC上的联华众科通信通软件中集成了24C02显示屏的测试程序,可以通过串口到24C02进行读取控制。
* SPI读写
开发板上的SPI设备为1片93C46,运行于PC上的联华众科通信通软件中集成了93C46显示屏的测试程序,可以通过串口到93C46进行读取控制。
* WatchDog
单片机的WatchDog功能用于在程序跑飞或陷于死循环时,自动产生复位操作,以恢复系统功能。使用STC89LE52单片机时,通过读写寄存器WDT_CONTR设置和使用WatchDog功能。
* 外部中断
STC89LE52可用外部中断有4个,分别为INT0~3,可设置成边沿触发或电平触发。FA130开发板上4个独立按键连接到这4个中断引脚,通过按键动作为中断输入信号,中断服务程序中改变P1口0~3的输出电平,从而改变LED的亮灭状态,以便于观察。
* 定时器T0-T1-T2
定时器中断服务程序改变P1.0~P1.2的输出电平,可以用示波器直接观察,或观察LED0~2的亮灭状态表明中断是否到来。
* 软件仿真器
软件仿真器的功能是在PC上实时查看开发板单片机上存储器值,用以辅助调试之用。PC上使用的软件为[联华众科通信通],可以查看单片机的内存地址范围为0x30~0x7F,可查看的外部存储器地址从0x0000开始字节长度可以任意设置。
单片机-FPGA通信开发实例如下:
* 读取拨码开关状态
FA130上的8位拨码开关连接到EP1C3上,与单片机没有直接连接。本实例单片机通过读写FPGA方式得到拨码开关状态,并显示在8位LED上。本实例的通信方式也是单片机与FPGA通信最常见的方式。
* PS2键盘
由FPGA完成PS2键盘信号的分析,单片机读取FPGA中PS2键盘按键值,显示在LCD显示屏上。
* FPGA串口接收-MCU_LCD显示
连接到FPGA上的串口接收PC发来的数据,单片机从FPGA中读到这些数据,并显示在LCD屏上。本实例测试的开发板设备最多,包括FPGA串口,FPGA芯片,单片机,电平转换芯片3245,以及LCD1602显示屏。
* 上位机控制单片机-FPGA输出PWM
上位机设定PWM的频率和占空比,通过单片机串口发送到单片机,单片机驱动FPGA产生指定频率和占空比的PWM信号。
VS.NET开发实例如下:
* Hello World
演示VS.NET 2005环境中新建工程,制作界面,编译,调试运行等,本实例为基于对话框的Windows应用程序,显示“Hello World”字样。
* 文本框TextBox控件示例
演示TextBox控件文本的读取,修改等。
* 列表框ComboBox控件示例
演示列表框ComboBox控件列表项的修改,列表选择项的读取等。
* 串口SerialPort控件示例
演示为应用程序添加串口SerialPort控件,设置串口参数,使用串口SerialPort控件收发数据。
* 绘图GDI+示例
演示VS.NET 2005开发环境,C#编程语言,GDI+绘图包的使用方法,将会在PictureBox控件上绘制一个矩形框,以及一个填充了的圆形。
本节关于开发环境的内容包括两个方面,开发板硬件连接方法和PC上所需的软硬件环境。FA130的供电可以选择9V直流电源外接供电,也可以选择用PC机USB口供电,使用外接电源供电方式的开发板硬件连接方法如下图所示。
上图中的串口连接线用以下载单片机程序。使用USB供电方式的开发板硬件连接方法如下图所示。
上图中的串口连接线用以下载单片机程序。
PC硬件要求至少配备25针打印口(如果PC无打印口,可选购USB Blaster下载线,通过USB完成程序的下载),9针串口,在使用USB为开发板供电时PC硬件需配备USB口。
PC上软件环境包括:
* 操作系统:Microsoft Windows 2000 Professional或其他版本的 Microsoft Windows。
* FPGA开发工具软件:Altera Quartus II 7.2,用于FPGA设计输入,综合,配置,仿真,编程等,Quartuss II界面如下图所示。
* 串口通信软件:联华众科通信通或其他串口通信软件。串口发送,串口接收等开发实例会用到串口通信软件。
3 资料目录结构开发板附1张DVDROM,名称为[联华众科FA130],该DVDROM目录结构如下图所示。
开发实例列表如下图所示。
DVDROM[联华众科FA130]目录说明如下表。
01-用户手册 | FPGA开发板FA130用户使用手册 |
02-工具软件 | 包括联华众科通信通等的工具软件 |
03-源码文件 | FA130配套程序源码 |
04-电原理图 | FA130电原理图 |
05-数据手册 | 开发板上芯片的数据手册 |
06-参考资料 | 一些对学习和开发有帮助的技术资料 |
4 购买及售后技术支持
Keywords 关键词:开发板,FPGA开发板,联华众科FA130,Quartus II,Nios II,SOPC Builder,VS.NET,C#,VHDL,Verilog,EP1C3,联华众科,北京联华众科科技有限公司购买及售后技术支持方法请访问本公司主页:
http://www.lianhua-zhongke.com.cn