OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10117|回复: 0

小梅哥FPGA学习历程之芯航线FPGA学习平台介绍

[复制链接]

40

主题

177

帖子

0

精华

高级会员

Rank: 4

积分
921
金钱
921
注册时间
2013-10-23
在线时间
94 小时
发表于 2015-9-19 14:59:37 | 显示全部楼层 |阅读模式
        上一帖,本人简单介绍了一下FPGA的技术现状以及我们在学习FPGA时遇到的各种问题,最终录制一套优质的视频教程,所以决定开发一套配套的FPGA开发板。

        回顾上帖,请看:http://www.openedv.com/posts/list/59933.htm


        在正式设计这套FPGA开发板之前,那么我也是经历了自学,做项目,参加培训,整理总结,教学授课,工业项目的过程。在自学时,没有一个好的学习方法,学了一年多,没有丝毫起色,当时确实比一般的同学知道的多一点,我也觉得自己已经基本入门了FPGA,于是就承接了老师一个项目,很简单的一个项目,结果花了三个月时间,也没把项目做出来。一向自诩能力不错的我于是遭受了深深的打击,于是决定一定要学好FPGA,学习FPGA,最好的方式就是参加培训。于是我报了某著名培训班的课程,才只学了一个多月,我就明显的感觉到,自己之前的学习方法是多么的愚笨,多么的没有效率。学完之后,便开始总结归纳,总想把自己这段柳暗花明又一村的经历和经验分享出来。于是我活跃于各大论坛网站,分享一些简单的技术帖子供学习者入门学习,并给网友一一解答疑问。然而,最终发现,这样不是长久之计,众多的朋友,遇到问题并不是因为自己对理论有多么不了解,而是因为他们从一开始就没有一个正确的学习方法,所以我决定用视频教程的方式将自己的一些心得感悟分享出来,以供需要的朋友交流学习。

经历过FPGA学习到项目设计,个人感觉在学习和使用FPGA之间,通常存在以下矛盾:
1、学习FPGA时,希望FPGA开发板板载资源越多越好,以学习足够多的知识内容。
2、开发项目,希望FPGA开发板提供足够用户IO,板载外设越少越好,但又不能只单有一块FPGA芯片,为了能够运行NIOS II系统,大容量高速存储器也是必备的。

3、新技术新外设不断出现,以太网、USB、音频处理、视频处理、数字信号处理,FPGA能干的事情越来越多,越来越向大众化迈进。看到各种高端的技术和应用,好想学,可是手头板子没有集成最新出的功能对应硬件,要学还得再买整块板子,好心塞。
        同众多的学习者一样,我曾经在学习时也遇到过这些问题,手头目前还有四块不同厂家的开发板,有的是单核心板,有的则是包含各种外设的全功能板。随着时间的推移,这些开发板也都越来越不值钱,大有食之无味,弃之可惜的感觉。因此,在此次开发芯航线FPGA开发板的过程中,我们也是仔细分析和参考了众多开发板的设计方案,在硬件设计上充分兼顾到学习和开发,以及后期升级三方面需求
开发板主板如下所示:



以下为开发板主板硬件资源一览:

FPGA主芯片EP4CE10F17C8N,拥有10K的逻辑单元,两个独立锁相环,180个用户IO管脚,423936bit嵌入式RAM,46个9位嵌入式硬件乘法器……资源丰富,完全可以满足绝大部分中小型设计的资源需求。

动态刷新随机存取存取存储器(SDRAM)HY57V281620拥有128Mbit的存储器资源,最高运行速度133MHz,即可使用逻辑直接驱动,用来进行大量数据存储(视频图像数据,ADC采集数据),也可作为NIOS II处理器运行内存,用来运行较大的NIOS II软件系统。

静态随机存取存储器(SRAM)IS61LV25616,拥有512K字节的存储容量,10ns获取时间,数据存取效率远超动态刷新随机存取存储器(SDRAM),可作为高速数据缓存或作为NIOS II处理器的运行内存(相较于使用SDRAM作为存储器的NIOS II系统,使用SRAM作为存储器的NIOS II系统性能要高出20%到30%左右)

电可擦除只读存储器(EEPROM)AT24C64拥有64K位的存储容量,使用两线制IIC接口,可读可写,掉电数据不丢失,可用来存储各种配置数据(如触摸屏校准参数)

串行FLASH芯片W25Q16拥有2M字节的存储空间,使用SPI接口,默认作为FPGA芯片的上电配置器件,当使用NIOSII软核时,还可以作为软件代码的存储空间,让NIOS II软件能够畅快运行。同时,在NIOS II中,还可以使用EPCS 控制器,将该存储器当做通用型FLASH进行读写,以存储运行过程中产生的各种数据。

USB转串口芯片CH340,实现USB转串口协议的,使得芯航线开发板能够使用一根普通的USB mini数据线即可与PC进行通信,实现方便灵活的通信和控制。
翠绿色LED灯,LED最为最基础的输出设备,单个LED能够显示两种不同的状态,4个LED组合能够最多显示16种状态,方便设计和调试。

独立按键,三个独立按键,可以作为用户控制按键,实现对系统运行状态的控制

红外遥控接收开发板自带红外遥控接收器,可接收38KHz的红外遥控信号,从而为开发板提供红外遥控功能,另外,当开发板上用户按键不够用时,也可以使用红外遥控来作为开发板的扩展键盘,以提供更加灵活的系统输入方案。
蜂鸣器,当用户有输入请求或者系统有输出请求时,使用一个蜂鸣器发声来提示用户输入或者输出有效。以获得更加直观的输入输出体验。


同时,为了尽量提升板卡的可扩展性和实用性,芯航线开发板上提供了多个通用或专用接插口,用来方便的扩展各种外设模块,接插口主要有:

两个40Pin的排针接口,该接口友晶DE2的单个40Pin接口完全兼容,每个接插口提供36个通用IO口,一个5V供电和一个3.3V供电,芯航线团队设计的扩展模块全部围绕这两个接口展开。

一个CMOS摄像头的摄像头接口该接口兼容市面上主流的CMOS摄像头,方便需要进行图像采集处理的朋友插接摄像头进行项目开发(OV7670,OV7725全兼容)

一个LCD液晶屏的接口接口100%兼容正点原子开发的STM32开发板配套液晶屏方便大家使用手头现有的液晶屏插接到开发板上进行数据显示,同时该接口也可用来插接我们开发的数码管_VGA_PS2摄像头模块,以进行简易逻辑功能设计。我们设开发的4.3寸TFT触摸液晶模组也完美支持该接口,可直接插接在此接口上,进行图像的显示。

三组电源接口,方便喜欢DIY的用户直接从开发板上取电,给外挂模块供电,满足无限创意需求。

这样的设计方案,学习者只需要通过插接不同的模块即可学习不同的功能,例如数码管、VGA、PS2、AD、DA、矩阵键盘、图像采集、USB2.0高速通信。


为了配合开发板主板进行功能学习,到目前为止,我们共设计了5个外设模块,分别为数码管_VGA_PS2学生模块,4*4矩阵按键模块,4通道10位串行ADC和4通道8位串行DAC模块,USB2.0模块以及4.3寸TFT触摸液晶组件。

数码管_VGA_PS2学生模块:
集成8位高亮数码管,8bit VGA驱动电路,PS2键盘鼠标接口电路,方便学生进行本科课程设计和毕业设计。例如数字钟、数字秒表、电梯控制器、出租车计价器、计算器、电子密码锁等本科生课程设计或毕业设计中最常见的题目

4*4矩阵按键模块:
提供16个按键,使用8个通用GPIO口,即可为开发板扩展16个按键输入,使系统有较好的输入体验,方便学生进行本课课程设计和毕业设计,上述提到的很多题目如计算器、电子密码锁都需要用到矩阵键盘

ADDA模块:
4通道10位串行ADC和4通道8位串行DAC模块,ADC使用TI公司生产的TLV1544型模数转换器,该转换器拥有10位分辨率,支持4个外部通道输入以及三个参考电压校准通道,使用标准SPI接口,方便进行模拟数据采集。DAC使用TI公司生产的TLC5620型数模转换器,该转换器拥有8位分辨率,支持4个通道输出,每个通道输出都可支持电压倍增模式。即实际每个通道可达9位分辨率


以下为小梅哥使用该ADDA模块,采用直接数字频率合成(DDS)原理设计的一个双路信号发生器,每个通道输出信号都为100Hz的正弦波,同时两路信号相位相差90度,频率和相位都可以通过上位机软件使用串口更改。


4.3寸的TFT触摸液晶模组:
和很多朋友一样,小梅哥也对视觉效果比较棒的东西有着非常浓厚的兴趣,很早之前就想自己用SOPC设计一台属于自己的示波器或者逻辑分析仪。在没有独立屏幕做显示时,我也曾使用串口,结合上位机软件做过虚拟示波器,但是整体性能受到串口通信速度的限制,因此无法显示频率较高的信号波形,所以为了显示速度较高的信号,因此特意设计了一款4.3寸的TFT触摸液晶模组,该液晶模组使用480*272分辨率的TFT真彩屏,具有16位色彩分辨率,能够显示非常靓丽的图形,该TFT屏的驱动时序与VGA完全一致,只是时间参数稍有不同,因此,想学习VGA驱动的朋友,这个TFT屏绝对是一个绝佳的替代品。虽然在这个720p、1080p都显得有些落后的年代,480*272的分辨率显得非常简陋,但是,进行仪器仪表设计,本身也不需要太高的显示分辨率,因此从整体性价比上来说,这个屏是非常值得用来进行学习和功能开发的。配合电阻触摸屏我们能够实现一些有创意的设计。同时,考虑到很多学校的学生手头有友晶科技DE2系列开发板,因此我们的TFT屏也设计了有兼容DE2开发板通用GPIO的接口,方便学生朋友直接将该屏直接插接到DE2开发板上使用。
以下为小梅哥使用纯Verilog实现的10通道逻辑分析仪工作界面:


USB2.0模块:
在很多时候,我们希望让FPGA与PC机实现高速通信,例如将FPGA使用高速ADC采集到的数据发送到PC机上进行进一步分析处理。为了实现FPGA与PC机实现高速通信,我们特开发了USB2.0通信模块,模块使用经典的USB2.0芯片CY7C68013,与FPGA使用16位slave fifo接口,实现高速USB数据传输。模块通过兼容DE2通用扩展接口的40针接口与FPGA芯片连接,因此,该模块同样适配DE2开发板,方便手头有DE2开发板的同学使用。大家都知道,DE2开发板集成的USB方案是需要使用nios ii软核驱动,这对于时间和经验的同学来说,要想实现,难度太大,而本模块则可以以一个简单fifo的角色存在于电路中,方便用户快速开发。同时,为了满足DIY用户的需求,模块同时将芯片所有IO使用通用排针引出,让用户可以自行发挥扩展。


板卡虽小,创意无限:
数字逻辑片上系统均可学习电压表、示波器、采集卡、逻辑分析仪、频率计、信号发生器、音频分析、视频处理……各种好玩实用项目由你发挥学术验证、电设竞赛、工业控制多种领域,施展拳脚

OK,板卡的设计理念就讲到这里,总之一句话,板卡虽简,创意无限。关于板子的更多信息,请加入芯航线FPGA技术支持群:472607506
下一贴,小梅哥将对板卡的焊接调试过程进行简单介绍。

http://xiaomeige.taobao.com。做最用心的FPGA学习板和教程资料
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 19:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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