首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

CPLD器件的在系统动态配置

CPLD器件的在系统动态配置

引言
随着应用的不断深入,嵌入式系统升级的问题摆在了人们面前。在这种背景下ISP技术应运而生。
在系统可编程ISP(In Ststem Programmability)技术是指能对器件、电路甚至整个系统进行现场升级和功能重构的技术。这种重构可以在实验开发过程中、制造过程中,甚至是在交付用户使用之后进行;而整个在系统可编程设计的最后一个步骤,也是最关键的步骤,也是最关键的步骤,就是器件的配置。配置过程加载设计规定的编程数据到器件中,以定义器件内部功能块及其互连,从而实现器件功能的重构升级。
当然ISP配置方式是多种多样的,其中计算机加下载线就是最常见的配置器件的方法;但是这个方法需要计算机配合,对嵌入式系统来说不太实用,因此需要一个更加方便灵活的配置方案。Lattice公司CPLD器
件不仅具有ISP功能,同时融合引脚锁定功能和JTAG技术,使得抛弃计算机而使用微控制器在系统配置、修改、升级CPLD器件成为可能。特别是引脚锁定功能,实现了真正意义上的“动态”配置。采用引脚锁定技术,将配置前引脚状态锁定,配置完成以后各个引脚仍能保持配置前状态。本文介绍一个用微控制器在系统配置Lattice MACH4000系列CPLD器件的方案。
1 原理
ISP器件要实现配置,除了ISP器件的硬件系统中要提供正确的ISP接口以外,还需要有配置文件和配置工具。
(1)配置接口
Lattice公司为器件提供了ISP接口和JTAG接口。
ISP接口是Lattice公司自行开发设计的,具有如下引脚定义:
SDI——数据输入和状态机控制;
MODE——和SDI一起控制状态机;
MODE——和SDI一起控制状态机;
SCLK——时钟输入;
SDO——数据输出,可选引脚;
IspEN——工作模式和配置模式选择,同时还有一个ISP状态机,包含3个状态,由MODE和SDI控制状态机所处技术,在Shift状态通过SDI移入命令,在Execute状态执行命令。
联合测试行动小组JTAG(Joint Test Action Group)在20世纪80年代中期制定了边界扫描技术,在1990年被修改后成为IEEE的一个标准——IEEE1149.1-1990。这个标准即为JTAG。边界扫描技术最初发展盐业,是为了测试电路各个IC器件之间的互边是否正确。随着ISP发展,许多生产厂商利用JTAG规定的四条引脚的测试存取口作为ISP的开发平台,使得ISP也变得有标准可循,给用户带来了极大方便,于是JTAG在其权限内把ISP性能扩充到了IEEE1149.1中。发展到现在可以这样说,IEEE1149.1标准为我们提供了一条简单的串行接口,将那些具有JTAG接口的器件串接在一打扫描链中。通过这个接口既能实现ISP又能实现测试。
IEEE1149.1标准对边界扫描结构的定义包括4个基本单元:4个引脚的测试存取口TAP(Test Access Port)、数据寄存器、指令寄存器和TAP控制器。TAP引脚定义如下:TCK为测试时钟输入,TDI为测试数据输入,TDO为测试数据输出,TMS为测试模式选择。数据寄存器包含两种BYPASS寄存器和BSR(Boundary Scan Register)寄存器,其中BSR由BSC(Boundary Scan Cell)串联而成,正是通过BSC才把来自于TAP的数据移入ISP芯片内部逻辑。另外TAP控制器作为一个有限状态机,共有16个状态。它控制着测试存取口、指令寄存器和数据寄存器。TAP控制器如图1所示。
返回列表