通信领域采用FPGA芯片嵌入式系统分析方案

来源:元器件交易网 作者:—— 时间:2011-12-16 14:34

       1.引言

  由于FPGA 良好的可编程性和优越的性能表现,当前液晶拼接屏幕采用FPGA 芯片的嵌入式系统数量呈现迅速增加的趋势,特别是在需要进行大规模运算的通信领域。目前FPGA 配置数据一般使用基于SRAM 的存储方式,掉电后数据消失,每次上电后都要重新写入。配置数据的写入方式有3 种,即使用JTAG 仿真器、使用专用芯片以及使用微处理器。JTAG仿真器的方式在调试的时候使用较多,能随时修改,但缺点是FPGA 芯片必须与电脑主机连接,失去了灵活性。使用专用芯片的方式可以将配置数据事先存储在非易失性存储介质中,为大规模升级提供了方便,但不利之处在于专用芯片往往价格较高,并且也必须采用特定的存储介质,提升了系统成本,而且没有利用到板上的现有资源,需要为配置芯片设置出专用的空间,占用了电路板上的空间资源。而第三种方式可以利用当前嵌入式系统中一般都存在的微处理器,同时液晶拼接屏幕也可以自行选择合适的存储介质。下面就这种配置方案进行说明。

  2. 系统介绍

  2.1 系统工作原理

  本配置方案中使用的微控制器是Philips 公司生产的ARM7 处理器LPC2468。FPGA 则 是Xilinx 公司的Virtex SX95T。存储配置数据的介质是成本较低而且使用广泛的SD 卡。

  系统的工作原理是上电时微控制器LPC2468 从SD 卡中读取FPGA 的配置文件,然后通过其通用IO 管脚模拟FPGA 的某种配置模式的时序,将配置文件写入到FPGA 的配置RAM 中。Virtex 系列FPGA 有几种不同的配置模式,每种配置模式使用到的管脚以及配置信号的时序都是不同的,因此对配置模式需要作出合适的选择。

  2.2 Viretex 系列FPGA 的配置模式

  Viretex 系列FPGA 的配置模式是由上电时其专用配置管脚的状态决定的,对应的关系 如下表所示:

  因在系统中使用微处理器作为主控制器,因此FPGA 的模式需选择Slave 方式,所以有 2 种模式可以选择,即Slave SelectMap 和Slave Serial。这2 种模式的区别在与数据管脚的数 目不同,Slave Serial 模式只有1 个管脚用于数据传输,属于串行传输,而Slave SelectMap 模式有8 个管脚用于数据传输,属于并行传输。这2 种模式可以任意选择,本文选择的是 Slave SelectMap 模式。

  2.3 Slave SelectMap 配置模式

  Slave SelectMap 配置模式在管脚信号功能、配置流程、配置数据等方面有自己的特点, 在进行电路板设计以及程序编写时需要注意。下面对其主要特点进行说明。

  2.3.1 Slave SelectMap 模式使用的管脚信号:

  SelectMap 模式下使用的FPGA 管脚为:

  根据上表,可以将微控制器的通用IO 管脚与上述FPGA 管脚连接起来,连接电路图如图1 所示:

  2.3.2 Slave SelectMap 模式的配置流程

  Slave SelectMap 模式下提供时钟的是外部器件,本方案中的液晶拼接屏幕时钟信号是CCLK 使用ARM 芯片的通用IO 进行模拟。同时,该模式下数据管脚有8 个,因此在每个CCLK 的上 升沿,FPGA 可以读入1 个字节的数据。需要注意的是这1 字节的最高位是D0,而不是一 般微处理器默认的D7,在电路板布线和编写配置程序时应给予相应改变。

  配置过程的具体流程如图2 所示。

  接收完配置数据后,DONE 管脚会被拉高。但这并不是表示配置过程已经结束,系统仍 需要时钟来进行后续的上电启动工作。为保证上电配置过程的正确进行,最好的办法是将配 置文件中的所有数据写入FPGA 中之后,然后继续输出CCLK 信号,直到DONE 管脚被拉高。之后,再输出8 个周期的CCLK,保证配置能正常完成。

  根据上述流程,配置程序的主要函数的伪码如下。

  1.初始化函数SelectMAP_Init,在其它函数之前运行。

  SelectMAP_Init(){

  将ARM 通用IO 设置为对应的SelectMap 管脚信号;

  设置 PROGRAM#,CS#和WRITE#管脚为低电平;

  延时至少300ns;

  设置 PROGRAM#为高电平;

  循环检查INIT#是否变为高电平;

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子