首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 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
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   基于单片机的复杂可编程逻辑器件快速配置方法      ★★★ 【字体: 】  
基于单片机的复杂可编程逻辑器件快速配置方法
收集整理:佚名    来源:本站整理  时间:2009-01-10 22:15:11   点击数:[]    

输入输出口或单行口。使用普通I/O口(如P1口),向PLD发送1Bit数据至少需要4个指令周期。一个指令给DATA0赋值,两个指令产生DCLK时钟,一个指令移位取数据。如果晶振为fosc,一个指令周期为12/fosc,因此它的下载速率为fosc/48。然而如果采用串行口方式0,其下载速率提高为fosc/12。考虑到PLD配置文件数据比较大,通常都在数十千字节以上(其配置文件大小如表2),为了加快配置速度,并适合各种不同规模的PLD,采用了WINBOND78E58单片机。

表1 配置引脚功能说明

DATA0输出配置数据
DCLK输出配置时钟
nCONFIG输出器件复位脚(该信号线的上升沿使配置开始)
CONF_DONE输入状态位(在配置完成后,该信号线为高)
nSTATUS输入状态位(如果该信号线为低,表明在配置过程中出现错误,需重新配置)

表2 各种CPLD配置文件大小

器  件配置数据大小(Bits)配置文件大小(Kbytes)
APEX 0K1000E
APEX 20K600E
APEX 20K400E
APEX 20K300E
APEX 20K200E
APEX20K100
EPF10K100E
EPF10K70
EPF10K40
EPF10K30
EPF10K20
EPF10K10
8,938,000
5,564,000
3,878,000
2,733,000
1,950,000
985,000
1,336,000
892,000
498,000
376,000
231,000
118,000
1,029
680
474
333
238
121
164
109
61
46
29
15

注:配置文件大小由.rbf文件决定

该单片机外接晶振最大频率为40MHz,它在串行口方式0下波特率可设置为fosc/4。另外通过设置特殊功能寄存器CKCON的MD0、MD1、MD2三位,可以将MOVX、MOVC等指令周期缩短至2个机器周期。与普通单片机相比,可使配置时间大为缩短。WINBOND78E58单片机内部拥有32KB FLASH ROM.由配置文件数据表2可知,只需一片单片机就可以对EPF10K20系列以下的PLD进行配置了。本系统中使用了一片APEX20K300E,因此在硬件电路设计中,扩展了一片WINBOND29C040 FLASH存储器(容量为512KB),其电路如图2。DATA0与RXD、DCLK与TXD、nCONF与P15、CONFIG_DONE与P16、nSTATUS与P17分别相连。

3.2 软件设计

在软件编程时,使用了串行口移位寄存器输入输出方式。本系统只需用到输出方式,串行数据通过RXD引脚输出,而在TXD引脚输出移位时钟。当一字节数据写入串行数据缓冲器SBUF时,就开始发送。在此期间,发送控制器送出移位信号,使发送移位寄存器的内容右移一位,直至最高位(D7位)数字移出后,停止发送数据和移位时钟脉冲。RXD、TXD时序如图3。由图3可知,它可以用来模拟配置时序。发送完一字节数据后,硬件置发送标志位TI为1,向CPU申请中断。若CPU响应中断,则从0023H单元开始执行串行中断服务程序。

为了提高配置速度,单片机程序用汇编语言编写。单片机上电后使nCONFIG脚由低到高复位待配置PLD;当判断到nSTATUS为高后,开始从外部FLASH存储器取数据串行移位。配置过程中,查询CONF_DONE。一旦为高,配置完成,但还要送40个DCLK脉冲,PLD才能进入用户工作状态。

用户设计PLD程序经MAXPLUS II或QUARTUS编译后将产生后缀后为.sof的SRAM目标文件。该文件含有除配置数据以外的控制字符,不能直接写入到PLD中去,需要利用软件的编程文件转换功能将文件转换成.rbf(Raw Binary File)十六进制文件。把.rbf文件烧写到存储器中,单片机通过MOVX指令读入后,串行移位到PLD。

    部分asm语言源程序如下:

NCONFIG BIT P1.5

CONFDONE BIT P.6

NSTATUS BIT P1.7

ORG 000h

……

CLR SM0

CLR SM1 ;SM0,SM1为0,串口工作于方式0

CLR SM2 ;串口波特率为fosc/4

CLR REN

ANL 8EH,#0f8h ;地址8EH是CKCON单元,MD0、MD1、MD2清0

CLR EA

WJRESTART:CLR NCONFIG

SETB NCONFIG ;上升沿复位PLD

WAIT:JNB NSTATUS,WAIT ;NSTATUS为高,可进行配置

WJPEIZHI:MOV P1,COUNTER3

MOV DPH,COUNTER2

MOV DPL,COUNTER1 ;配置数据大,需3个单元作地址记数

MOVX A,@DPTA

MOV SBUF,A ;串行移位

NOP

NOP ;采用填充2个空指令,正好使一个字节发送完成,可发送下一个字节

INC COUNTER1 ;地址加

MOV A,COUNTER1

JB CONFDONE,WJEND1

CJNE A,#0,WJPEIZHI

INC COUNTER2

NOV A,COUNTER2

CJNE A,#0,WJPEIZHI

INC COUNTER3

LJMP WJPEIZHI

WJEND1:MOV R0,#60

WJEND:WOV A,#55H

……

MOV SBUF,A ;由此产生40个DCLK时钟

DJNZ R0,WJEND

WERE:LJMP HERE ;配置完成,进入用户工作模式

使用OTP(One Time Programming)器件配置CPLD具有一定的冒险性,一次简单的代码更换就可能意味着更换OTP器件,并重新开始所有的程序。被动串行微处理器(Passive Serial With Processor)配置方式以EEPROM为基础,允许对这些存储器进行多次编程,所有其它芯片都无需从已装配的印制电路板上拆卸下来。高速读写周期的FLASH存储器能确保1万次编程,而且能对任何以SRAM为基础的PLD下载。该方式除了在加电期间能承载配置数据外,还有许多方便之处。例如,用户可以将多个配置文件.rbf分区编程到外部存储器的未用区段,通过单片机读取不同存储区可以将可编程逻辑器件在线配置成多种不同的工作模式。




上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:用PowerPC860实现FPGA配置

  • 下一篇文章:开关电源的PCB设计规范
  • 返回上一页】【打 印】【关闭窗口
    中查找“基于单片机的复杂可编程逻辑器件快速配置方法”更多相关内容 5VAR论文频道
    中查找“基于单片机的复杂可编程逻辑器件快速配置方法”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››基于单片机的等效采样示波器设计
  • ››基于单片机的喷墨打印机控制技术
  • ››基于单片机的实时传真信息监测系统...
  • ››基于单片机的MicroDrive接口设计
  • ››基于单片机C8051F060的智能功率柜
  • ››基于单片机的线阵CCD实时检测系统的...
  • ››基于单片机的电力监控系统交流采样...
  • ››基于单片机控制的数字气压计设计与...
  • ››基于单片机的复杂可编程逻辑器件快...
  • ››基于单片机和大容量存储器组合的特...
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .