原创 CPLD/FPGA EPM3128ATC-100CN 入门开发平台 硬件描述语言 VHDL VER

2009-2-23 21:49 4755 5 5 分类: FPGA/CPLD

点击开大图


CPLD EP3128atc-100是altera公司的一款高速cpld芯片,宏单元有2500个,共100个管脚,资源逻辑单元和宏单元比较多,正真的IO引脚多达80多个,编程单元足已够用。该开发板便于初学者上手,又便于2次开发,可以利用短路帽把系统板上的各个模块屏蔽掉,相当于一个最小系统开发板,便于二次开发。


具体特点如下:


 


1.板载ALTERA MAX 3000A系列的EPM3128ATC100-10N芯片,主频最大为227.3Mhz


2.两路电源接口,既可以采用电脑USB供电,又可以采用5-9V稳压电源供电,配置贴片的全局时钟输入为20mhz,可以方便的替换为更高频率的有源晶振,方便实用。


3.利用具有边界扫描功能的并口JTAG下载线方便的烧写熔丝程序


4.8个流水灯,4*4按键,2路独立按键,方便的接口


5.标准PS2键盘接口,模拟键盘输入,数码管显示


3硬件CD4060得到32768HZ-2HZ的分频器,避免软件分频浪费过多的资源。


46位数码管,8**点阵,蜂鸣器,8路拨码开关


5.串行通讯口,方便与上位机交互数据。


6.AD0804模拟完成AD转换功能。


7红外接受头HS0038,可以配以电视遥控器,实现解码


8时钟日历芯片DS1302,可以完成时钟日历系统。


9具有I2C总线的EEPROMAT24C02,可以存储掉电保存的数据等。


10.具有LCD1602的接口,方便CPLD对液晶的读写。


 


 


主芯片IO全部引出,便于与其他系统级联和通讯


配送实验代码


 



1 跑马灯
2 拨码开关
3 蜂鸣器
4 pwm控制
5 状态机控制彩灯
6 数码管静态显示
7 数码管动态显示
8 6位计数器
9 按键识别
10 按键计数
11 点阵动态显示和静态显示
12 PS2键盘识别
13 ADC0804模拟量转化数字量实验
14 串口连续发送数据实验
15 按键控制串口发送拨码开关状态
16 串口接收数据显示
17.多路彩灯控制器(分层设计)
18.篮球比赛进攻24秒倒计时器(分层设计2)


学习心得:


   EPM3128A学习开发板说明
   当今社会电子产品的发展日新月异,应用也更加的广泛,从家庭娱乐电子如DVD播放机,电视机遥控器等到工业电子产品如仪器仪表,各种数控机床等,再到航天军事应用等,比比皆是。而当你看到别人设计出的电子产品时,你是否有一丝丝的萌动?是不是感到想做而又无从下手?是否心有余而力不足?其实我们可以从最简单的cpld学起,慢慢的积累,最终我们也可以独立制作自己的小产品。
  现在工业产品的研发,如51,avr,pic,heteck等系列的低频单片机价格便宜,满足工业低频场合的要求;而对于高频信号的处理,譬如高频信号的检测,接口部分,低频的单片机很难胜任了,这时DSP+fpga已经越来越成为主流,当然ARM的工作频率更高,很多手机产品中如诺基亚的手机中arm9嵌操作系统,应用也比较广泛。
  单片机是软件操作硬件执行的方式编程;而对于cpld/fpga的设计,是软件直接硬件化的设计思路,因此对于cpld/fpga设计而言,真正的高手可以编写一个51单片机内核在cpld/fpga里面,而且现在可以在网上购买代码在fpga里面生产dsp的内核,相当于在fpga里面有了一个dsp单片机,可以看出,cpld/fpga的设计空间比较大。
  而cpld对于入门了解单片机的工作原理来说很有必要学习,而且入手相对比较容易,只要有数字电路和模拟电路基础,尤其是数字电路基础,上手还是比较容易的。
  cpld是英文Complex Programmable Logic Device的缩写,即复杂可编程逻辑器件,CPLD基于EEPROM工艺(掉电不丢失),集成度相对fpga较低,以MicroCell(包括组合部分与寄存器)为基本单元。具有非挥发特性,可以重复写入。
   FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,fpga是基于SRAM的架构,集成度高,以LE(包括查找表、触发器及其他)为基本单元,有内嵌Memory、DSP等,支持IO标准丰富。具有易挥发性,需要有上电加载过程。在实现复杂算法、队列调度、数据处理、高性能设计、大容量缓存设计等领域中有广泛应用。
  结合本人理解,实际上fpga和cpld编程上没有什么区别。cpld掉电数据不丢失,芯片比较便宜,硬件设计成本比较低;而fpga掉电数据丢失,硬件设计时要而外加配置flash芯片,或者单片机负责上电时把程序写到fpga里面,(如果程序较大,灵活的方案为fpga+单片机+大容量的flash);cpld一般做的门数和宏单元比较少,集成度比较低,算法处理远不如fpga,而对于初学者而言从CPLD入手,硬件相对比较容易;要想做复杂的算法时候,cpld逻辑单元太少,一般不能胜任,用到复杂的乘除运算,这时要用到fpga,可以简单的理解为:cpld比较简单,主要是逻辑运算能力,fpga=cpld+算法处理模块。


   本学习开发板是cpld EPM3128A-10学习开发板,配套的编程语言采用VHDL语言,开发环境采用quartus2 6.0,外围学习实验简单的20多个,复杂的8个,所有的IO全部留出,便于二次开发。


详情请参考:


http://item.taobao.com/auction/item_detail-0db1-3a94908086c1465e63e699edb582ba7e.htm

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /2 下一条