- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机及CPLD通信系统设计
单片机及CPLD通信系统设计摘要:单片机与CPLD以总线接口方式实现译码、数据和控制信号锁存的功能,采用这种通信方式,数据传输准确、高速,电路结构简单、体积小,1片CPLD芯片足够,并且控制方便,实时性强,通信效率高。
关键词:单片机 CPLD通信设计
中图分类号:TN402文献标识码:A文章编号:1672-3791(2011)09(c)-0022-01
当前,电力系统正在向大规模、集成化和高速方向发展。大电路、逻辑功能的调试逐渐被EDA中的仿真取代。复杂可编程逻辑器件CPLD其内部有大量的门电路,组合逻辑的功能很强,能完成任何数字器件的功能。集成度非常高的CPLD器件可以很方便地实现外部逻辑功能的扩展,故笔者设计了STC89LE52RC单片机与CPLD的通信系统。其优越性体现在CPLD可实现高速率的采样控制,在线编程修改,系统实现灵活,而单片机可以实现多任务操作,两者结合应用广、成本低、实时性好、驱动能力大、性价比高等。在此系统设计中,CPLD也可以直接作为一个独立的可编程的逻辑处理电路工作。
CPLD器件具有速度快、功耗低、保密性好、程序设计灵活、抗干扰能力强、与外围电路接口方便等特点,同时单片机非常适合应用于需要复杂的控制算法的场合。选择两者通信的优点在于单片机可以专注于处理输入信号与输出信息之间的转换等复杂的算法,不必占用过多的CPU资源去直接控制,也减小了由此引入干扰的可能性;CPLD只需把单片机传送过来的信息转换成控制信号即可。
1硬件系统设计
MARS-3256系列是针对CPLD、FPGA的初、中级学习者设计,帮助用户降低学习成本和加快用户快速进入可编程逻辑器件设计开发领域,提供一个帮助用户快速开始可编程逻辑器件学习之旅的硬件平台。针对FPGA的初、中级学习者设计,该板可以配合其扩展板进行相应的试验,也可作为相关FPGA研发的原型。CPLD选用的是Altera公司生产的MAX7000系列EPM3256ATC144-7,该CPLD有144个自定义的I/O口,支持ISP技术,对器件逻辑功能的修改和升级非常方便。
单片机选用的是实验板上的STC89LE 52RC单片机,系统在软件和硬件完善方面具有较强的灵活性。
在硬件连接方面,STC89LE52RC的ALE、WR、RD与EPM3256ATC144-7的107、106、105三个引脚相连,P0接口作为数据总线进行传递,将数据传给EPM3256ATC144-7并控制流水灯,使其点亮或熄灭。设置拨码开关的值,流水灯点亮的状态与拨码开关的值一致。
2系统综合设计
EPM3256ATC144-7与STC89LE52RC建立通信,采用三总线的接口方式,即地址总线(AB)、数据总线(DB)和控制总线(CB),数据总线宽度为8位,由P0接口提供;地址总线宽度为16位,低8位由P0接口提供,高8位由P2接口提供;由于P0口是数据、地址分时复用的,所以P0接口输出的低8位地址必须用锁存器进行锁存,EPM3256ATC144-7实现的就是地址锁存的功能。
STC89LE52RC的地址锁存允许信号线ALE接EPM3256ATC144-7的JP2-5引脚,当ALE发生负跳变时,P0接口将低8位地址锁存于EPM3256ATC144-7中,若接下来是读操作,则P0接口变为数据输入方式,在读信号RD有效时,EPM3256ATC144-7的RAM中的相应单元的内容出现在P0接口线上,由CPU读入累加器中A;若接下来是写操作,则P0接口变为数据输出方式,在写信号WR有效时,将P0接口线上出现的累加器A中的内容写入到EPM3256ATC144-7的RAM中的相应单元。
设置拨码开关值,EPM3256ATC144-7实现地址锁存的功能,将拨码开关值锁存起来,STC89LE52RC在读信号有效时,通过数据总线从P0接口将数据读入,在写信号有效时,通过数据总线从P0接口将数据写出,送到EPM3256ATC144-7,EPM3256ATC144-7将数据处理后用流水灯的状态将拨码开关的值表现出来。
3程序设计
硬件描述语言Verilog HDL是一种用于进行电子系统硬件设计的计算机高级语言,是EDA技术的重要组成部分,具有简洁、高效、易用的特点,是目前应用最广泛的硬件设计语言之一。Verilog HDL可以用来进行各种层次的逻辑设计,也可以用它进行数字逻辑系统的仿真验证、时序分析和逻辑综合等。用Verilog HDL所完成的设计,其信号参数是很容易改变的,可以任意对它进行修改,以适应不同规模的应用。本次设计CPLD部分采用Verilog HDL语言编写。
参考文献
[1]赵晓安.单片机接口原理及应用[M].天津:
文档评论(0)