用CPLD实现单片机读写模块

发布者:火箭飞人最新更新时间:2011-12-28 关键字:可编程逻辑电路  微处理器  在系统编程  现场可编程门阵列 手机看文章 扫描二维码
随时随地手机看文章

1 概述

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

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


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

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

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

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

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

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

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

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

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

3 CPLD同单片机接口设计

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

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

表1 Xilinx XC9500t系列器件

项  目 XC9536 XC9572 XC95108 XC95144 XC95216 XC95288
寄存器/个 36 72 108 144 216 288
可用门数/个 800 1600 2400 3200 4800 6400
宏单元数/个 36 72 108 144 216 288
fPD/ns 5 7.5 7.5 7.5 10 10
tSU/ns 3.5 4.5 4.5 4.5 6.0 6.0
tCO/ns 4.0 4.5 4.5 4.5 6.0 6.0
fCNT/MHz 100 125 125 125 111.1 111.1
fSYSTEM/MHz 100 83.3 83.3 83.3 66.7 66.7

注:fCNT=16位计数器最高工作频率;fSYSTEM=整个系统的最高工作效率。

ALE:地址锁存信号。

CS:片选信号。

RD:读信号。

WR:写信号。

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

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

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



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

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

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

//MCU和XC95216接口程序

//目的:MCU读写XC95216

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

module mcurw(MCU_DATA,ALE,CS,RD,WE,CONREG1,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)) LAMCU_DATA

<=CONREG1; //从地址为0的CONREG1寄存器读数据

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接口信号;CONREG1和CONREG2的内部寄存器;ADDRESSREG是内部地址锁存寄存器。



    图3是CONREG1写过程。首先,在ALE信号的下降沿,锁存MCU_DATA的数据到ADDRESSREG内部地址锁存寄存器。然后,在WE信号的上升沿,把MCU_DATA(0XAA)的数据锁存到寄存器CONREG1。

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

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

结语

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

关键字:可编程逻辑电路  微处理器  在系统编程  现场可编程门阵列 引用地址:用CPLD实现单片机读写模块

上一篇:SPCE061A在语音识别机器人中的应用
下一篇:串行DataFlash存储器及其与单片机的接口

推荐阅读最新更新时间:2024-03-16 12:49

XILINX推出针对最新TI DSP的高速互通接口
  赛灵思公司日前宣布,推出两种针对德州仪器DSP的接口。赛灵思Serial RapidIO接口适用于Virtex-4和Virtex-II Pro FPGA,可向TI高性能TMS320C6455 DSP提供10 Gbps的串行链路。这种高速工业标准链路使面向TI DSP的设计者能够使用赛灵思FPGA来进行DSP加速、总线桥接、逻辑合并或实现新外设。新的VLYNQ接口在赛灵思低成本的Spartan-3与Spartan-3E FPGA上提供了一种到CoreConnect总线的桥接电路,允许设计者使用FPGA来扩展其基于达芬奇(DaVinci)技术的TMS320DM644x数字媒体处理器或其他任何带有VLYNQ接口的TI DSP的外设数
[嵌入式]
Altera发布Quartus Prime Pro设计软件,加速大容量FPGA设计
2016年5月10号,北京 Altera,现在已属英特尔公司,今天发布新的产品版Quartus Prime Pro设计软件,进一步提高了FPGA设计性能和设计团队的效率。Quartus Prime Pro软件设计用于支持英特尔下一代高度集成的大容量FPGA,这将推动云计算、数据中心、物联网及其连网等领域的创新。内置在最新版软件中的功能前所未有的缩短了编译时间,提供通用设计输入方法,简化了知识产权(IP)的集成,从而加速了大规模FPGA设计流程。 英特尔的FPGA软件和IP市场营销总监Bernhard Friebe评论说: Quartus Prime Pro设计软件构建在数十年的软件创新之上,让我们的工具使用起来更加简单方便,帮助缩短
[嵌入式]
基于FPGA的通用数控分频器的设计与实现
1.引言 分频器是数字系统中非常重要的模块之一,被广泛应用于各种控制电路中。在实际中,设计人员往往需要将一个标准的频率源通过分频技术以满足不同的需求。常见的分频形式主要有:偶数分频、奇数分频、半整数分频、小数分频、分数分频。在某些严格的情况下,还有占空比的要求。其中非等占空比的偶数分频器和奇数分频器其实现比较容易,但对于半整数分频器和占空比为50%的奇数分频器实现比较困难。 本文首先介绍了各种分频器的实现原理,并结合VHDL硬件描述语言对其进行了仿真,最后提出一个可控的通用分频器的设计方法,该方法可实现任意分频,资源消耗低,具有可编程等优点。 2.偶数分频器 偶数分频器比较简单,即利用计数器对需要分频的原始时钟信号进行计数翻转。
[电源管理]
基于<font color='red'>FPGA</font>的通用数控分频器的设计与实现
设计灵活、高性能的嵌入式系统——软处理和IP定制同时确保灵活性和性能
您的下一个嵌入式系统设计项目需要的是什么:是可以让您轻松地定制设计的灵活的系统元件,还是额外的性能空间,以便您在设计周期中加入更多的功能?为什么要让自己承受过度的开发压力,并且只能舍此取彼呢?软处理和IP定制能够为同时确保灵活性和高性能提供了最佳的解决方案,将定制设计的概念和协处理带来的性能加速结合起来。 分立处理器只能提供固定的外设选择,并且一些性能受到时钟频率的限制。在嵌入式FPGA所提供的平台上,您可以创建一个具有大量定制处理器核、灵活的外设、甚至协处理减负引擎的系统。现在,您能设计出一个不折不扣的定制处理系统——不仅满足最具挑战性的项目要求,而且能够冲破性能极限,与此同时,通过使用FPGA硬件实现加速的软件指令最大限度地
[嵌入式]
FPGA内植入嵌入式软核的电容在线测试电路
PCB在焊接完成后,需要对其元器件进行测试,传统的方法是将其焊离PCB板后测试,但该方法不仅麻烦、效率低,并且容易损伤电路板而极不实用;另一方法就是人工结合机器进行测试,但这需要测试人员有一定的经验,也给测试带来了一定的不确定性,使得测试结果的精准度无法达到现代电路板的可靠性要求。所以,本文研究了一种可行的、简单实用及高精度的 电容 在线测试电路。另外,随着EDA技术的快速发展, FPGA 以其高集成度、高可靠性及灵活性等特点正在快速成为数字系统开发平台,在多种领域都有非常广阔的应用前景。本设计结合上述两特点,设计了一种基于向 FPGA 内植入Nios II嵌入式软核作为控制器的电容在线测试电路。 1.测试原理 在线测试的基本
[电源管理]
向<font color='red'>FPGA</font>内植入嵌入式软核的电容在线测试电路
基于FPGA的单片机外围接口电路设计
0 引言 单片机具有性价比高、功能灵活、易于人机对话、数据处理能力强等特点。单片机应用系统通常由键盘、显示器、通信接口、存储器、A/D、D/A电路等部分组成。传统的单片机系统经常要用标准的逻辑电路或专用的接口芯片来组成外围电路,如地址译码、I/O扩展等功能通常由标准的TTL/COMS逻辑电路或各种专用接口芯片实现,这样就会使系统的芯片数增多,接线复杂,从而使电路板面积增大、可靠性和 EMI性能减低,难以实现设计的小型化、集成化和高可靠性。而可编程门阵列FPGA的LCA结构和它丰富的内部资源可以用来设计各种组合逻辑和时序逻辑电路,因此使用FPGA设计单片机的外围电路能够大大简化系统硬件结构,使系统的设计、修改和扩展都变的十分灵活方
[单片机]
基于<font color='red'>FPGA</font>的单片机外围接口电路设计
莱迪思将参加2023年上海国际嵌入式大会,带来最新的FPGA技术进展
中国上海——2023年6月7日—— 莱迪思半导体公司 ,低功耗可编程器件的领先供应商,今日宣布将参加在 中国上海举办的2023年国际嵌入式展会 ,展示其最新的技术进展。公司将举办关于网络边缘AI计算的会议,还将在展台上展示基于莱迪思器件的嵌入式视觉、AI、安全、功能安全和互连演示。这些解决方案可以帮助工程师设计面向未来的网络边缘汽车、工业和安全应用。 • 参展方:莱迪思半导体 • 内容/时间: o 莱迪思展台和方案演示:6月14日 – 16日;3号展厅#A086展台 o 大会会议日程:北京时间6月14日(13:45-14:05) • 嵌入式AI会议:通过低功耗FPGA为智能PC带来
[嵌入式]
基于ARM的可定制MCU可承担FPGA的工作
  如今的产品生命周期可能短至六个月,因此在这种情况下要想取得定制ASIC的低成本、低功耗和高性能优势几乎是不可能的。定制ASIC的设计周期通常要一年左右,这通常要比终端产品的生命周期还要长。另外,标准单元ASIC还具有NRE费用(非重复工程成本),对于基本的0.13微米设计,该成本约为30万美元,而对于具有复杂IP内容的90nm设计将超过100万美元。因而当每年的批量小于10万片时,从经济角度看就不具有可行性。   为此人们研发出了平台化或结构化ASIC,它们具有预设计的IP块和可编程的ASIC门,可显著降低成本并缩短设计周期。这种方案将设计周期从一年甚至更长的时间缩短到几个月,还将NRE成本降低到大约15万美元,不过与门阵列
[单片机]
基于ARM的可定制MCU可承担<font color='red'>FPGA</font>的工作
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved