中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 传感控制 >>电子行业新闻正文

用CPLD实现单片机读写模块

时间:2008/1/26 11:57:00  作者:  来源:IC72  浏览人数:2608
 
 

      摘要 介绍实现单片机与Xilinx公司XC9500系列可编程逻辑器件的读写逻辑功能模块的接口设计,以及Xilinx公司的XC9500系列可编程逻辑器件的开发流程。

      关键词 可编程逻辑电路、微处理器、现场可编程门阵列

      1概 述

      CPLD(复杂可编程逻辑电路)是一种具有丰富的可编程I/O引脚的可编程逻辑器件,具有在系统可编程、使用方便灵活的特点;不但可实现常规的逻辑器件功能,还可实现复杂的时序逻辑功能。把CPLD应用于嵌入式应用系统,同单片机结合起来,更能体现其在系统可编程、使用方便灵活的特点。CPLD同单片机接口,可以作为单片机的一个外设,实现单片机所要求的功能。例如,实现常用的地址译码、锁存器、8255等功能;也可实现加密、解密及扩展串行口等单片机所要求的特殊功能。实现了嵌入式应用系统的灵活性,也提高了嵌入式应用系统的性能。

      2 Xilinx公司的可编程逻辑器件

      Xilinx公司的XC9500系列可编程逻辑器件是一款高性能、有特点的可编程逻辑器件。它的系统结构如图1所示。从结构上看,它包含三种单元:宏单元、可编程I/O单元和可编程的内部连线。它的主要特点是:

IC72新闻中心

      ①高性能。在所有可编程引脚之间pin-pin延时5 ns;系统的时钟速度可达到100 MHz。

      ②容量范围大。Xilinx公司的XC9500系列可编程逻辑器件的容量范围为36~288个宏单元;可用系统门为800~6400个。

      ③5 V在系统可编程。可以编程10000次。

      ④具有强大的引脚锁定能力。

      ⑤每个宏单元都有可编程低功耗模式。

      ⑥没有用的引脚有编程接地能力。

      Xilinx的XC9500系列可编程逻辑器件的主要性能如表1所列。

IC72新闻中心

      3 CPLD同单片机接口设计

      CPLD同单片机接口原理如图2所示。

IC72新闻中心

      CPLD同单片机接口设计中,单片机采用Atmel公司的AT89C52,CPLD采用Xilinx公司的XC95216。该CPLD芯片的结构及性能见图1和表1。AT89C52通过ALE、CS、RD、WE、PO口(数据地址复用)同XC95216芯片相连接。

      ALE:地址锁存信号。

      CS:片选信号。

      RD:读信号。

      WR:写信号。

      AD0-AD7:数据地址复用信号。

      ALE、CS、RD、WE、

      AD0-AD7的时序关系参见文献[3]。

      本例的设计思想是,在XC95216设置两个控制寄存器,通过单片机对两个控制寄存器的读写来完成对其它过程的控制。

      XC95216设置的两个控制寄存器,可以作为内部寄存器,也可以直接映射为I/O口。

      4 CPLD同单片机接口设计结果

      本例中,使用Xilinx公司提供的Fundation ISE 4.2i+Modelsim 5.5f软件实现设计。实现设计的源文件模块如下:

      /********************/

      // MCU和XC95216接口程序

      // 目的:MCU读写XC95216

      /********************/

      module mcurw(MCU_DATA,ALE,C S,RD,WE,C O N R E G 1,CONREG2);

      inout[7:0]MCU-DATA; //单片机的地址数据复用信号

      output[7:0]CONREG1,CONREG2; //内部控制寄存器

      input ALE; //单片机的地址锁存信号

      input CS; //单片机的片选信号 input RD; //单片机的读信号

      input WE; //单片机的写信号

      reg[7:0] LAMCU-DATA;

      //内部控制寄存器

      reg[7:0] ADDRESSREG;

      //内部地址锁存寄存器

      reg[7:0] CONREG1;

      //内部控制寄存器

      reg[7:0] CONREG2;

      //内部控制寄存器

      assign MCU-DATA=RD?8′

      bzzzzzzzz:LAMCU_DATA;

      initial //寄存器初始化

      begin

      LAMCU-DATA<=0;

      ADDRESSREG<=0;

      CONREG1<=0;

      CONREG2<=0;

      end

      always@(negedge ALE)

      begin

      ADDRESSREG<=MCU-DATA; //地址锁存

      end

      always@(posedge WE)

      begin

      if(!CS && ADDRESSREG[0]==0)CONREG1

      <=MCU-DATA;

      //把数据写入地址0的CONREGl寄存器

      if(!CS && ADDRESSREG[0]==1)CONREG2

      <=MCU_DATA;

      //把数据写入地址1的CONREG2寄存器

      end

      always@(RD)

      begin

      if(!RD)begin

      if(!CS && (ADDRESSREG[0]==0)) LAMCU-DATA

      <=CONREGl;

      //从地址为0的CONREGl寄存器读数据

      else if(!CS && (ADDRESSREG[0]==1))LAMCU DATA

      <=CONREG2;

      //从地址为1的CONREG2寄存器读数据

      else LAMCU-DATA<=8'bzzzzzzzz;

      end

      else

      LAMCU-DATA,<=8' bzzzzzzzz;

      end

      endmodule

      使用Modelsim 5.5f仿真结果如图3和图4所示。图中ALE、CS、RD、WE、MCU-DATA是测试激励源信号,代表AT89C52接口信号;CONREGl和CONREG2是内部寄存器;ADDRESSREG是内部地址锁存寄存器。

      图3是CONREGl写过程。首先,在ALE信号的下降沿, 锁存M C U-D A T A的数据到ADDRESSREG内部地址锁存寄存器。然后,在WE信号的上升沿,把MCU-DATA(0XAA)的数据锁存到寄存器CONREGl。

      图4是CONREGl读过程。首先,在ALE信号的下降沿,锁存MCU-DATA(0X00)的数据到ADDRESSREG内部地址锁存寄存器。然后,在RD信号的低电平期间,把MCU-DATA(0XAA)的数据锁存到寄存器CONREGl。

IC72新闻中心

      从图3和图4可以看出,对CONREGl寄存器的读、写过程完全满足时序要求,CONREG2的读写过程同CONREGl一样,也完全满足时序要求,实现了期望的功能。

      结 语

      本文实现的CPLD与单片机接口设计是笔者设计的高速采样设备的一部分,经实际验证完全正确。简单地修改该模块,笔者已成功地将其应用于多个CPLD或FPGA与单片机接口的项目中。

 
【相关文章】
·用CPLD实现单片机读写模块
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9