下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 PLD与AVR总线通信接口VHDL设计与实现 总线:任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路设计、简化系统构造,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。采用总线构造便于部件和设备的扩大,尤其制定了统一的总线标准则容易使不同设备间实现互连。 AVR:ATMEL公司的AVR单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产
2、品设计容易,更新换代方便。AVR单片机采用增强的RISC构造 ,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令。本系统采用的AVR Mega64L还具有:用32个通用工作存放器代替累加器,从而可以防止传统的累加器和存储器之间的数据传送造成的瓶颈现象;一个时钟周期执行一条指令;可直接访问8M字节程序存储器和8M字节数据存储器存放器等特点。 PLD(Programmable Logic Device):PLD分为CPLD(Complex Programmable Logic Device)复杂的可编程逻辑器件和FPGA(Field Programmable Gate Array)现场可编程
3、门阵列两大类。 两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/FPGA。PLD是一种具有丰富的可编程IO引脚的可编程逻辑器件,具有在系统可编程、使用方便灵活的特点;不但可实现常规的逻辑器件功能,还可实现复杂的时序逻辑功能。把PLD应用于嵌入式应用系统,同单片机结合起来更能表达其在系统可编程、使用方便灵活的特点。PLD同单片机接口,可以作为单片机的一个外设,实现单片机所要求的功能。实现了嵌入式应用系统的灵活性,可以大大缩短设计时间,减少PCB面积,也提高了嵌入式应用系统的性能。 VHLD:VHDL的英文全名是Very-High-Spe
4、ed Integrated Circuit Hardware Description Language,一种被IEEE和美国国防部确认为标准硬件描述语言。VHDL主要用于描述数字系统的构造、行为、功能和接口。VHDL的程序构造特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分)和内部(或称不可视部分),涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。 2、PLD同单片机接口设计 系统中采用的MAX II EPM570 芯片有逻辑单元数(LE)570个,等效典型宏单元数44
5、0个,用户I/O管脚数160个,用户Flash存储器比特数8192,tPD1 角对角性能5.5 ns,tPD2快性能3.7 ns。采用100-pin TQFP封装。 EPM570同单片机接口原理如图1所示。 图1 ATmega64L与EPM570接口示意图 EPM570同单片机接口设计中,单片机采用Atmel公司的AVR系列的ATmega64L。ATmega64L通过ALE、CS、RD、WE、P0口(数据地址复用)同EPM570芯片相连接。ALE:地址锁存信号;CS:片选信号;RD:读信号;WR:写信号;AD0AD7:数据地址信号复用数据线。 本系统的设计思想是:在EPM570设置两个内部控制
6、存放器,通过单片机对两个控制存放器的读写来完成对其它通信过程的控制。EPM570设置的两个控制存放器,可以作内部存放器,也可以直接映射为I/O口,根据实际需要而开展设置。 本系统设计的关键是:在EMP570 上实现的存储器的读写时序要满足ATmega64L对外部读写时序的需要,有关ATmega64L对外部读写时序请参考相关资料和ATmega64L的数据手册。 3、PLD同单片机AVR读写接口VHDL实现 PLD的设计流程一般应包括以下几部分: 设计输入。可以采用原理图输入、DHL语言描述、EDIF网表读入或波形输入等方式。 功能仿真。此时为零延时模式,主要检验输入是否有误。 编译。主要完成器件
7、的选取及适配,逻辑的综合及器件的装入,延时信息的提取。 后仿真。将编译产生的延时信息参加到设计中,开展布局布线后的仿真,是与实际器件工作时的情况基本相同的仿真。 编程验证。有后仿真确认的配置文件到PLD相关配置器件中,参加实际激励,开展测试,以检查是否完成预定功能。 以上各步骤若出现错误现象,则需要重新回到设计阶段,修正错误输入或调整电路,在重复上述过程直到其完全满足电子系统需要。 本系统中,使用Altera公司提供的集成开发软件Quartus II 6.0 开展设计,在开展模块实现时请参考ATmega64L的数据手册中关于ATmega64L对外部存储器的读写时序。 本设计实现 的VHDL部分
8、源码如下: 地址锁存: 写数据进程: 读数据进程: 4、仿真验证结果 使用Quartus II 6.0 自带的仿真软件仿真结果如图2和图3所示。图中ale、cs、rd、we、mcu_data 是激励信号,表示ATmega64L 相应接口信号,conreg1和 conreg2 为EPM570 输出信号,其目的是为了观察仿真结果是否正确,而实际应用中应根据项目需求而开展添加或是减少相应的I/O口。 图2是ATmega64L向 EPM570 写数据过程。首先,在片选信号cs为低期间,在ale信号的下降沿,锁存mcu_data上的数据到add内部地址锁存存放器。然后,在we信号低电平时,把mcu_da
9、ta (0XAA)的数据直接写到conreg1(B10101010),通过外接指示灯可以直接观察结果是否正确,当然,在实际应用中可以把数据锁存到内部存放器中。 图2写数据0X“AA”到0地址处 图3是读数据过程。在片选信号为低期间,首先,在ale信号的下降沿,锁存mcu_data(0X01)数据到add内部地址锁存存放器。然后,在rd信号的低电平期间,把内部存放器地址为0X01的数据reg02(0 xAA)读到mcu_data数据线上传回单片机ATmega64L。 图3 读地址为0X“01”上的数据0 x“AA”并传回数据总线 从读写数据图中可以看出,ATmega64L对EPM570内部数据读写过程完全满足ATmega64L数据手册上的时序需要。关于ATmega64L的读写时序可以参考ATmega64L数据手册。 5、结语 本文实现PLD与AVR ATmega64L通信接口设计是笔者设计的一种纺织机械控制设备的一部分,经实际验证完全正确,并已投入生产。简单地修改该读写通信模块,可应用于多个CPLD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 床垫合作协议书
- 建门面的协议书
- 平凡的荣耀协议书
- 兵役登记合同范本
- 征信赔偿协议书
- 延迟转正协议书
- 装潢合伙协议书
- 资金股东协议书
- 赠与房屋协议书
- 征地拆迁协议书
- 小学美术教育活动方案设计
- 喷浆护坡施工方案
- 连云港疫情管理办法
- 专题03 细胞呼吸和光合作用-2025年高考《生物》真题分类汇编
- 柳州巴迪二安宠物医院有限公司项目环境影响报告表
- 大连东软信息学院《Python数据采集与处理课程实验》2024-2025学年第一学期期末试卷
- 不认定为安全生产事故的依据
- DBJ04-T362-2025 保模一体板复合墙体保温系统应用技术标准
- 《中小学跨学科课程开发规范》
- 注塑厂生产安全培训课件
- 根尖囊肿护理课件
评论
0/150
提交评论