使用DS89C450对Xilinx PROM的在系统编程设计

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

  1 系统概述

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

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

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

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

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

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

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

a.JPG

  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给出了编程的流程。

b.JPG

  3 DS89C450片上1 KB数据存储器的使用

  无论是在IAP程序更新高32 KB区的用户代码时,还是在刷新Platform Flash PROM内的配置数据时,在DS89C450和上位机之间都会有大量的数据传递。DS89C450内部集成了1 KB的数据存储器,它将用作数据的缓存,因此不需要再扩展外部数据存储器。同时,采用汇编语言开发,将有效提高资源的利用率。这1 KB数据存储器在默认情况下是不可用的,需要设置相应的特殊功能寄存器位来激活。将DME0位(PMR.0)置1激活它,激活之后采用MOVX指令访问,相比访问外部扩展的数据存储器速度更快。

  4 DS89C450与Xilinx Platform Flash PROM

  结合Xilinx的器件,先简要介绍JTFAG接口的工作原理。

  JTAG又称为边界扫描(boundary scan),是符合IEEE STD 1149.1的通信标准,它含有一个TAP控制器,也就是一个状态机。所有的指令、数据的输入以及数据的输出都是在状态机的控制下完成的,如图3所示。

c.JPG

  JTAG接口一般用到了下面4根线:

  TMS——模式选择输入,在TCK的上升沿送入TAP控制器,用于状态的转换;

  TDI——输入引脚,指令和数据通过它在TCK的上升沿送入TAP控制器;

  TDO——输出引脚,数据在TCK的下降沿由此输出;

  TCK——输入时钟,为TAP控制器的输入和输出提供时序控制。

  TAP控制器含有1个指令寄存器和若干数据寄存器(数据扫描链),对于Xilinx的可编程逻辑器件,其指令寄存器一般为8位。TAP控制器的工作流程是,通过TMS引脚,使状态机按照图3所示的转换图处于某一状态下,送入特定的指令,TAP控制器对指令进行译码,译码结果将产生相关动作,例如选择一条数据扫描链准备接收数据,或捕获功能引脚信号到数据寄存器等。

  本设计中,硬件连接图如图4所示,每个JTAG接口都与一片74AHCT245相连,DS89C450的P1.0、P1.1、P1.2、P1.3分别对应TMS、TD-I、TDO、TCK的功能;而P1.4、P1.5、P1.6、P1.7通过译码器74HC138构造片选逻辑。当P1.7为低电平时,译码器74HC138所有的输出引脚/Y0~/Y7均为高电平,所有74AHCT245的/0E脚均为高,因此,所有的JTAG接口均未选中,这时,它们都可以通过Xilinx Impact软件进行操作。这个状态作为系统上电之后的默认状态。图4作为示意图,只画出了2个JTAG接口,而最多可以连接8个JTAG接口。

d.JPG

  当需要对某个JTAG连接的Platform Flash PROM编程时,上位机通过串口向DS89C450发出命令,DS89C450收到正确的命令之后,打开译码器的G1门,对8个JTAG接口进行扫描,将扫描到的IDCODE上报上位机,空的JTAG接口将扫描到全“1”码;然后,上位机送出需更新代码的板卡地址,DS89C450根据这个地址选择指定的JTAG接口(即选择了需要更新代码的PlatformFlash PROM),自动升级也就开始了。升级结束,关闭译码器的G1门,回到默认状态。

  一般情况下,具体到某一块板卡,其上的JTAG插针,是将Platform Flash PROM的JTAG和FPGA的JTAG串联起来的菊花链结构。例如,插针的TDI→(TDI,TDO)→(TDI,TDO)→插针的TDO,用括号内的表示XCF01S或FPGA。因此,在图4中的JTAG接口指的是JTAG插针,而非某个具体器件的JTAG口。基于这一点,DS89C450要实现对Platform Flash PROM的操作,需要将菊花链中的FPGA旁路(bypass)。

  要对Platform Flash PROM的内容进行更新,上位机需将新文件(bin格式)按照一定长度的字节数分批次送给DS89C450,DS89C450将本次收到的定长数据写入Platform Flash PROM,写完之后,准备接收下一帧,依此往复,直到将新文件处理完。

  对于XCF01S,其扇区大小为256字节,下面以每次传输256个字节为例,图5给出了操作Platform Flash PROM的指令及编程流程。表1为操作Platform FlashPROM的指令。

f.JPG

e.JPG

  结语

  本设计的优点是低成本、高性能、高灵活性。低成本体现在硬件上,用到的器件少,节省电路板空间;DS89C450是一款高性能的单片机,速度快,工作稳定;高灵活性体现在2个更新——一是可通过IAP程序更新DS89C450内部高32 KB区的用户程序,二是可通过DS89CA50内部高32 KB区的用户程序来更新Platform Flash PROM内的数据。同时,多片Platform Flash PROM的更新实现。这样,整个系统的更新维护将十分方便。

关键字:译码器  串口可编程  逻辑器件

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/0701/article_2241.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于FPGA的变频器惯性输出技术
下一篇:Leon3软核的FPGA SelectMap接口配置设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
译码器
串口可编程
逻辑器件

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved