这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 头文字D的CPLD_DIY进程帖

共15条 1/2 1 2 跳转至

头文字D的CPLD_DIY进程帖

助工
2013-06-14 22:35:00     打赏
此帖是头文字D在本次CPLD DIY活动的进程帖。

6月14号拿到PCB板和套件,并已经全部焊接完成。各功能模块的软件编写、调试及相关问题也就会在本帖持续更新,望广大网友及版主多提宝贵建议及意见。
    技术分享:
    焊接篇……..........................................................6楼

    焊接测试篇 …………………………………............……..7楼

    Quartus II 使用篇...............................................8楼

    LED流水灯篇.....................................................9楼

    数码管篇..........................................................10楼

    串口篇.............................................................11楼

    LM75使用篇.....................................................12楼

    1602显示篇.....................................................13楼

    LM75+1602.....................................................14楼

    。。。。。。未完待续




关键词: CPLD     进程    

菜鸟
2013-06-14 22:59:37     打赏
2楼
佩服你的干劲,自己只能上班时间搞。

高工
2013-06-14 23:12:35     打赏
3楼
焊接的不错,加油哦!

助工
2013-06-16 21:40:19     打赏
4楼
嘿嘿,学生一枚,自由时间比较多呀

助工
2013-06-16 21:40:45     打赏
5楼
嗯,谢谢

助工
2013-06-16 21:57:28     打赏
6楼

焊接篇

今天下午终于等到了快递小哥的短信,拿到了梦寐以求的DIY套件,上图先

话说,黑色的板子的确是挺好看的,就是看不清上面的走线,都不好测一下板子,不过应该没多大问题。下面就要开始焊接啦,其实应该先焊电源的,不然电源弄错了,后面焊好的芯片全白搭了,不过,看着100脚的CPLD挺有挑战性的,还是忍不住先焊CPLD了

花了一个晚上的时间终于都焊完了,期间还把LM75和那个时钟芯片给丢了,最后还是在51FPGA同学提醒下把书桌给找了个遍。焊CPLD的时候用松香吸焊锡时,我发现用那种里面包了很多铜线的那种线沾上松香,那它来吸焊锡,感觉挺好使的,嘿嘿。焊接的时候要注意以下一些问题:

1. 电阻值要注意分别,有些麻烦;

2. 发光二级管中有绿点的那一边是负极,钽电容有深色横杠的是正极;

3. 有源晶振判断1脚:字正对着自己,左下角为一脚,而且1脚上有一个小实心点,比较好分辨;

4. 芯片1脚判断:一般来说字正对着自己,左下角为1脚,然后逆时针转一圈分别为2,3,4.......脚;

5. “α1”字样的是自恢复保险丝,焊接时不分正负哦;

6. 稳压二极管是有“SS34”字样的,有深色横杠的是阴极,要焊在电源正极上哦,因为它是反向稳压用的哦,从PCB也可以看出来,D1的封装是不是倒了个个呀;

7. 无源蜂鸣器有正负哦,上面有标记哦,注意看就行啦;

其他的就比较好焊了啦,明天在拿测试程序测一下,希望没问题吧,焊接结束,睡觉咯。


助工
2013-06-16 22:12:50     打赏
7楼

焊接测试篇:

最近老师项目催的紧,今天才把板子测了一下,先上图

1.这是流水灯的程序,之前焊LED的时候焊反了,幸好提前发现了改了过来,这个LED是有绿点的一边是负极哦,正极连正极,负极连限流电阻。


 

2.这是动态数码管的显示,焊接的时候也有一些波澜,一个三极管的脚虚焊,导致“1”没显示出来

 


 

3.这是LCD1602的测试效果,大伙儿千万别插反了呀,是朝着外面的插的呀,我也是确认了好久才插上去的,不知道是

   不是因为朝里面插不好布线还是有那个串口插座挡着不好插才这样处理。还有就是1602要调对比度只能换那个1K的电阻

  那个蓝色的电位器是给12864调对比度的哦,嘿嘿。


 

都演示完毕啦,接下来就要开始真正的编程啦,嘿嘿,最近有考试,可能要过段时间更新咯,嘿嘿,很期待哦

 


助工
2013-06-16 22:14:20     打赏
8楼

Quartus II使用篇

 昨天考完试,今天就马不停蹄的更新进程贴啦。

 所谓工欲善其事必先利其器,之前一直使用的是Xilinx的ISE,这次用的Altera的CPLD,当然还是要熟悉QuartusII的编译环境啦,大家一定会问到底是装QuartusII9.0还是11或12,我认为够用就好,而且9.0还自带仿真哦,更高的版本就不带了呢,自带的仿真对我们初学者来说就已经足够的啦,我使用的主要还是逻辑仿真,时序仿真没有涉及过。所以我选择安装了9.0。安装和破解的步骤就不重复啦,我把从新建工程到烧录程序的过程写出来,还有期中遇到的问题也一并写出来,嘿嘿。

步骤1:新建工程:菜单栏中 File-New Project Wizard,然后出现以下的界面,注意:实体名要和工程名一致,不然编译不通过的哦。


步骤2:出现下面这个界面,选择我们使用的CPLD芯片EPM240T100C5,这里应该没什么问题


步骤3:点 File-New,选择Verilog HDL File 或者VHDL File,看个人习惯吧,我使用的Verilog


步骤4:开始敲代码咯。敲完代码,保存。然后 Compile,完成后,进行管脚分配,点击Assignment-Pins,出现下面界面,根绝原理图选择好管脚,关闭此界面,回到主界面后再编译一次。


步骤5:下程序:Tools-Programmer,然后点击左上角的Hardware Setup,出现如下界面,连上开发板和下载线,选择 USB Blaster




步骤6:开发板上电,保证与下载线相连,并与电脑相连,单击左侧的Auto Detect,然后双击编辑区的File,选择下载文件,是.pof文件哦,然后勾选Program和Verify,如图所示,最后点击左侧的Start,就开始下载啦,进度条到100%就好啦。


有一个问题值得我们注意,这是流水灯的实验,但结果中数码管全亮,这是没有配置未使用的管脚状态。

在Assignment-Device,出现如下界面,单击Device and Pin Options


选择Unused Pins,电机如下图的选项,再编译试试,数码管是不是不亮了呀。




助工
2013-06-16 22:14:43     打赏
9楼


LED流水灯篇

首先先上图看一下效果


流水灯实验属于最简单的时序控制程序。

控制流水灯的间隔时间:晶振50MHz,那么时钟的周期就是1/50000000s, 例如间隔为1s,那么我们需要计数计到1/(1/5000000)然后点亮LED就好啦。

注意:这里点亮LED是让引脚为低电平。




助工
2013-06-16 22:15:23     打赏
10楼

数码管篇

  在本篇中,利用按键和数码管完成了计数器的暂停与继续的功能:按下S1时,计数暂停,按下S2时,计数继续。

  这里主要是数码管如何动态扫描,我觉得CPLD/FPGA在动态数码管的编程要比单片机方便的多,因为它是并行处理的,即使CPLD /FPGA在执行其他语句时,数码管仍然不受打扰的在动态扫面,而单片机由于是顺序执行语句,必须得执行其他语句后再动态扫描数码管,这样使得执行比较大的程序时数码管会一闪一闪的,这就是扫描速度不够,超出我们眼睛的视觉暂留时间咯,,所以以前编单片机的时候宁可用1602也不想用数码管。好啦,言归正传。

  这里写了一个计数器,计数值用count表示,判断count某一位或某两位的值,分别对应的送段选值和位选值。比如:显示2位数码管A,B,那么判断count[11],是1:位选选择数码管A,同时段选送数码管A要显示的值;是0:位选选择数码管B,段选送数码管B要显示的值,这样,扫描周期为0.04ms,远远小于人眼的视觉暂留时间的啦。

  暂停和继续功能:判断按键值后,只要将count值停止或开始计数就行啦。

  将0-9的段选值写成parameter型的常数,方便以后直接使用,如“0”是11000000,从高到低是dp,G,F,E,D,C,B,A,这个顺序与你管脚分配时的管脚要对应。

  最后一定要把未使用的引脚设成“弱上拉”,不然数码管啥也看不清哦。

  视频:






视频地址:http://union.bokecc.com/flash/single/290666218ACBA694_D026AABAD72DEC0B9C33DC5901307461_false_EEA982EE6B20F4D1_1/player.swf


共15条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]