您现在的位置: 主页 > 嵌入式处理器 > FPGA > 基于DS89C450的Xilinx PROM在系统编 - 简单PLD -
本文所属标签:
为本文创立个标签吧:

基于DS89C450的Xilinx PROM在系统编 - 简单PLD -

来源: 网络用户发布,如有版权联系网管删除 2018-08-11 

 

  可编程逻辑器件(FPGA、CPLD等)广泛用于现代电子设计中,在一个系统中往往会用1片以上的可编程逻辑器件。作为最大的供应商之一,Xilinx公司的器件获得了广泛的应用。基于查找表技术的FPGA在应用时需要外置一个非易失性存储器来存储配置数据。如何方便灵活地对一个系统中多片FPGA的配置数据进行升级是本文讨论的问题。

  1 系统概述

  Xilinx的Platform Flash PROM包括XCFxS和XCFxP系列,它们都是带JTAG接口的PROM,都支持JTAG ISP Programming,本文主要以XCF-01S为例。DS89C450型单片机是一款超高速的高性能单片机,其显著特点是速度快,一个机器周期只需要一个时钟周期;通过使能,可以激活其内部的1 KB数据存储器,来作为数据缓存;同时它具有64KB的内部程序存储器,支持ISP、IAP。

  本设计主要实现的功能是:

  ①DS89C450的在应用编程(IAP)。通过使用IAP,单片机用户代码的更新和修改将十分方便。

  ②使能DS89C450内部1 KB数据存储器,在对Platform Flash PROM编程时,作为数据缓存,这样将无需在片外扩展数据存储器,从而减小了电路板面积,同时提高了访问速度,节省成本。

  ③用DS89C450的P1口的4根线模拟JTAG的时序逻辑,实现与Platform Flash PROM的通信;余下的4根线用来构造片选逻辑,将整个电路设计在背板上,将串口引出到设备面板来与上位机通信。

  ④采用汇编语言开发,使iMPACT下载和单片机下载互不冲突,方便实现插板式机箱结构。

  该设计在设备调试、远程维护、功能扩展和修改等方面将具有很高的灵活性,系统示意图如图1所示。

  

 

  2 DS89C450 IAP的实现

  DS89C450内部集成了64 KB的Flash程序存储器,64 KB Flash分为2部分,低32 KB区(地址范围0000H~7FFFH)和高32 KB区(地址范围8000H~FFFFH)。只有高32 KB区才可以由IAP程序访问,这个空间将存放用户代码。DS89C450内部有一个存储器管理单元(MMU),它实际上就是一个状态机,独立于处理器核心而存在,只需向相应的特殊功能寄存器中写入命令、地址、数据等,将启动MMU,实现对高32 KB区的擦除、编程、校验以及系统复位。而在低32 KB区存的是IAP程序,IAP程序代码是通过烧录器烧写进去的。

  IAP程序将通过串口和上位机通信,在系统上电后,上位机发出是否要更新高32 KB区代码的命令,若不更新,则IAP程序立即跳转至8000H处取指令,执行高32 KB区的用户代码;若上位机发出了更新高32KB区代码的命令,IAP程序将进入工作状态,它将首先擦除高32 KB区,然后准备接收新的用户代码(即对Platform Flash PROM操作的代码),收到新代码数据之后,将其写入高32 KB区;新代码文件全部写入之后,由上位机发出校验命令,IAP程序将高32 KB区按字节读出,并计算出累加和,作为校验和回送上位机。

  上述所有操作都是通过读写2个特殊功能寄存器来实现的,这2个寄存器是FCNTL(地址:D5H)和FDATA(地址:D6H),图2给出了编程的流程。

  

 

 

              查看评论 回复



嵌入式交流网主页 > 嵌入式处理器 > FPGA > 基于DS89C450的Xilinx PROM在系统编 - 简单PLD -
 

"基于DS89C450的Xilinx PROM在系统编 - 简单PLD -"的相关文章

网站地图

围观()