首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2025泰克杭州测试论坛
2025中国低空经济产业创新发展大会
【直播】芯片设计工艺仿真全解析
西门子数字化工业软件资源中心
嵌入式设计资源库
智能楼宇/家电控制应用全解析
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
用户66522
修改
文章:
40
阅读:
167556
评论:
36
赞:
402
好友
私信
个人主页
文章
40
原创
0
阅读
167556
评论
36
赞
402
原创
CPLD(初级编)林珍文
2006-11-20 20:35
4313
8
8
分类:
MCU/ 嵌入式
最近好几位网友在问我有没有一些关于CPLD的资料,正好年末了没什么事就跟大家一起谈谈我曾经的CPLD历。现在想想过去还是用两个字形容“好玩”。嘿嘿!至于怎么好玩呢?那就看你怎么玩她了你可以用她来做CPU或者用她RAM或将你板上所有的74xx的芯片一同替代掉。其实,CPLD在我们平时使用中很有多,比如用来扩展ARM7的TFT接口和VGA接口这点很容易就实现了。或者你也可以用她来做PCI卡跟ARM7的时序转换等等。
接下来我们从最初一步步走起吧。
首先,先看看她长什么样子吧。
那,看到了吧!还是一只大螃蟹。别急!别急!不要害怕。可以直接将她看成只有VCC、GND、IO只有这3类脚。这下就不会担心怎么用这些脚了吧。我不会担心你还会直接将VCC或GND接到你的MCU的I/O上用吧。
接下来再说说她的工作方式。通常我们在使用的时候已经习惯了流程是一步步的进行下去。但在CPLD里要改一改这种观念了。CPLD的Symbol可是并行运行的哦,哇!哪不是等于有好多个CPU在一起执行了。嘿嘿!对了,就是这样的。想想她如果不这样的话怎么代替其他的芯片工作呢?比如就用她来模拟成二个 74LS138等等之类的。所以她的工作模式是并行的,当然也有串行执行的。这下明白了吧。
看过了她的长像知道了工作模式,接下来再该是什么呢!再来说说她的运行环境吧。我想迫不及待的你一定想搞一个CPLD来玩吧。不要急,咱慢慢来。玩过51的朋友一定都知道想要让51工作起码要二个零件,一个复位电容,一个晶振就可以让一个51跑起来了。CPLD呢就更直接了。什么都不需要直接加上电就开始运行了,而且速度一定会吓死你。想想简单吧。哦!对了对了,还要搞一个ISP的下载线这样才能下载程序是不!我怎么将这给忘了,大意啊。怎么样比51简单吧,连编程器也省了。关于下载线网上有好朋自制的图随便去搞一个接接就行了,很简单的。
好了,看来该是说软件的时候了,我用的软件是ALTERA公司的Quartus II 这个软件我个人感觉比Max+PLUS应该是更人性化许多了。
同样,来看看她的样子吧。
赶快去下一个Trial版本来试用一把吧。装完了就动手吧。在File菜单里有一个New Project Wizard,创建一个新的工程,我这里工程名叫PortCopy。那是因为接下来我要跟大家做一个端口复的Demo。创建完工程后就会出现上述的画面。当然这时候你还不能在这工程里做任务事。还要在 New一个文件。
同样通过File菜单我们来New一个Block Diagram/Schematic File,好了File New好了。出现如下画面。
看到了没,New出来的File缺省名是Block1.bdf这时要做的第一件事就是存盘了。
保存的时候会自动将你的名字改成当前工程的名字。记住哦是用Save as…不是Save嘿嘿。奇怪吧,千万不要问我,我也不知道。只知道是怎么用的了。
一点Save as..名字自动会变成PortCopy不要改他直接点OK吧。然后工程就开始生效了。
好咯。开始干活了。
在空白地方双击鼠标选择出现Symbol窗口。
选择/primitives/pin/input 加一个引脚。我在这再啰嗦二句。这个pin呢就是最后对应的芯片外部的引脚,看到pin下的列表没,有三个选择
Bidir 是代表双向的I/O
Input 只做为输入
Output 只做为输出
这些端口你可以随便用吧,不要担心芯片的引脚会不直持。(附:还真有一些引脚不支持但没关系,你一般不会碰到这种情况的,要是碰到了你可以去买个彩票来。嘿嘿!起码在这里我不会让你将input放到只output的引脚上,或将output放到只input的引脚上)
少啰嗦一下说了这么多,sorry!快点OK吧。将将选择的input 放到工程里。
放好后再双击她,将名字改成myInputPin(注意大小写啊)Quartus II是对大小写敏感的。同上述的方法再加一个output pin将名字定成myOutputPin
最后用鼠标在将两个pin连接起来。(鼠标慢慢在在pin旁边动你就会知道怎么做了)
上面的逻辑你应该是一看就明白了吧。就是直接将myInputPin的值直接复制给myOutputPin了。
连接好后点击processing菜单里的Start Compilation 编译一下工程。
恭喜恭喜。编译成功了。
嘿嘿!别急还有事没做呢!问你一个问题,你知道那个myInputPin和myOutputPin在芯片在你应该接哪2个引脚吗??哈哈。傻眼了吧。
我们通过Quartus II来看看吧。点菜单Assignments再点Timing Closure Floorplan
啊哎哎!出事了出事了。我们将面忘了选择芯片了。这里出来的芯片跟我们想要的不一样啊。怎么办呢?好办。点左右工程的Entity栏里的第一个根就是芯片了。
右键点她在弹出菜单里选择Devie。
再将Famliy改成MAX7000S系列的。
这里我们用MAX7000S系列里的芯片型号为EPM7128SLC84-15。找到后确定就OK了。
改完后记得要重新编译一下哦。
然后再点点菜单Assignments再点Timing Closure Floorplan吧。
看看有什么不一样。
这下对了。这才是我们想要的芯片。使用放大镜找找看myInputPin和myOutputPin被放在哪里了。
我看到一个咯。我的被放在12个引脚上了。你的被放在哪我就不知道了哈哈。注意哦。当你没有定义的时候这些引脚是随机放的。我也不知道她被放在哪了。刚快在你搭起来的电路上下载测试一下效果吧。下载不下去别怪我哦。因为我这里还没开始说怎么下载。嘿嘿!
算了,先不下载吧,我们再来做一件事吧,就是指令引脚,说完了我们再来说配置下载器。在上面的图中找出二个类型为(I/O)的引脚来用吧。将近吧。先11做myInputPin,12做myOutputPin。记住了。
点菜单Assigments里的Assigments Editors或按快捷键Ctrl+Shift+A
选择PIN在下面的列表中定义所需的引脚就OK了。别忘了要编译的哦。
友情提示:将你在To所在的栏里不出现你所要找到的引脚描述建议编译一次工程再找就会有了。
编译完再看看引脚定义吧。
变过来了吧。
好咯。来说最后一步了。配置下载器,将原理图下载到芯片上。
打开菜单Tools单击Programmer
在下面画面中点按钮Hardware Setup添加一个ByteBlaster(LPT1)的驱动。
然后在项目名称PortCopy后面将Program/Configure打个√然后点按钮Start就OK了。
赶快动作吧。
写原创有奖励!2025面包板原创奖励正在进行中
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
点赞(
8
)
收藏
分享到:
上一篇:
基于S3C2410的RTC模块应用设计
下一篇:
arm学习资料
PARTNER CONTENT
换一换>
更多>
ST移动安全解决方案:构建全场景安全连接生态
赵明灿
2025-05-12
文章评论
(
0
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
用户66522
修改
文章:
40
阅读:
167556
评论:
36
赞:
402
好友
私信
个人主页
文章
40
原创
0
阅读
167556
评论
36
赞
402
最新评论
更多
https://www.techinasia.com/companies/52-klmtm-telefon-que-se-puede-hacer-para-llamar-a-klm-telefono-mexico https:// ...
用户1749121 ...
评论博文
2025-6-5
OTA(空口)测试的分集与支持MIMO的终端 ...
https://www.techinasia.com/companies/52-klmtm-telefon-que-se-puede-hacer-para-llamar-a-klm-telefono-mexico https:// ...
用户1749121 ...
评论博文
2025-6-5
LED是Light Emitting Diode 的缩写
https://www.techinasia.com/companies/52-klmtm-telefon-que-se-puede-hacer-para-llamar-a-klm-telefono-mexico https:// ...
用户1749121 ...
评论博文
2025-6-5
【Milk-V Duo 开发板】+初用体验
最新
博文
深入解析Wi-Fi 7 Multi-Link Operatio ...
技术干货 | ADC静态参数全解析:从偏 ...
功率差10W设计有哪些区别?新款15W Ma ...
资料下载
本周热帖
PWM控制技术的最新科技成果-介绍ISL67 ...
ISL6752全桥芯片资料
BOOST电感、BUKC电感电感计算表 ...
用单运放实现全波整流电路 ...
IGBT RC吸收
【资料下载-第一季】开关电源、KiCad ...
【Milk-V Duo 开发板】+初用体验 ...
E币兑换迟迟未兑现
保障电路安全:稳压二极管并联应用技 ...
解读LED车灯因高温引起的光衰问题 ...
最新资讯
芯语最新
低空经济赋能未来:成都领航产业创新 ...
低空经济赋能未来:成都领航产业创新 ...
筑牢安全性能双基石,守护万亿低空通 ...
10BASE-T1S以太网:连接物理世界和数 ...
新型功率器件的老化特性:HTOL高温工 ...
索泰RTX 5060 XGAMING OC显卡评测:不 ...
8GB显卡 果然没人要了!
双向DCDC直流电源_DAB工作原理及仿真 ...
软件架构实现的思路
突发!大规模裁员!
EE直播间
更多
常用电测仪表的校准展示
直播时间: 06月20日 10:00
Keysight World Tech Day 线上直播-AI 驱动的超高速传输测试分论坛
直播时间: 06月26日 13:30
材料介电常数的精确表征和测试
直播时间: 07月03日 10:00
在线研讨会
更多
ADI人形机器人解决方案
ST 在大功率热管理系统中的电机控制系统方案(AI 数据中心/暖通空调/电池储能系统/变频制冷)
Mercury基于展频技术的医疗时钟EMI抑制方案
AI 巨型芯片,性能越强,测试越难,如何破局?
热门
推荐
万亿市场风口怎么抓?5场研讨会解锁3D IC设计“通关秘籍”
UCIe 2.0协议“死磕指南”!Avery VIP如何实现0缺陷互连?
【技术公开课】四大精密仪器方案,破解电子研发“速度与成本”难题
如何通过半导体技术提升光伏与储能系统的效率?
我要评论
0
8
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/2
2025第1期拆解活动:赢示波器、运动相机、热像仪等!
示波器、影石运动全景相机、大疆无人机、高清红外热成像仪;树莓派5等等
【2025面包板社区内容狂欢节】发帖/回帖赢25万E币!
活动时间:即日起——2025年全年(发完20万E币为止!)
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2025泰克杭州测试论坛
2025中国低空经济产业创新发展大会
【直播】芯片设计工艺仿真全解析
西门子数字化工业软件资源中心
嵌入式设计资源库
智能楼宇/家电控制应用全解析
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
文章评论(0条评论)
登录后参与讨论