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

发布者:guqian999最新更新时间:2012-07-05 来源: 21ic关键字:通信领域  FPGA 手机看文章 扫描二维码
随时随地手机看文章
   

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 所示:

[page]

 

   

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#是否变为高电平;[page]

 

   

2.发送数据的函数SendData_Byte,发送1 字节的数据。

SendData(uint8 data){

拉低CCLK;

将 D0~D7 电平设置为与data 对应的状态;

拉高 CCLK;

3.发送数据的函数SendData_Sector,发送SD 卡中1 个扇区的数据。

void SendData_Sector(uint8 * data){

声明计数器,并将初始值设为0;

调用 SendData_Byte 发送1 个字节的数据,计数器加1;

检查 BUSY 管脚的状态,等待其变为低电平;

检查计数器是否到达规定的数据块大小,达到时函数返回,未到达时继续发送数据;

2.3.3 配置文件的格式

FPGA 支持将配置文件生成为几种不同的格式,但在本方案中不是所有格式都可以使用 的。一般最常用的格式是.BIN 和.BIT 格式。由于.BIT 格式包含头部开销,会增加额外的处 理过程,因此本方案没有支持.BIT 格式的数据,仅推荐使用.BIN 格式。

2.4 文件在SD 卡中的存储

发送数据前,需要先从SD 卡中读取配置文件。所有文件在SD 卡中都是按照一定的格式来组织的,本方案默认文件采用FAT16 格式进行存储。FAT16 格式下,SD 卡的结构如下图所示[3]。

主引导记录中最重要的参数是逻辑扇区的起始地址。液晶拼接屏幕获得该参数后即可以读取BIOS 参数数据块(BPB)。BPB 中存储了扇区(Sector)、簇(Cluster)、文件分配表(FAT)的 大小,以及分区总扇区数等参数,是文件进行操作时必不可少的。文件分配表则是指明了文 件存储的位置,这些位置是以簇为单位的。每个簇包含的扇区数目在BPB 中说明。根文件夹中存储了各不同文件的文件名和起始簇以及文件大小等信息。[page]

 

   

2.5 配置文件的读取和发送

根据上述SD卡存储格式的说明,可以对存储在其中的配置数据进行读取并发送出去。在本方案中,数据的读取和发送是同时进行的。

在对SD卡进行读取时,首先需要读取主引导记录(MBR),获得逻辑扇区的位置,然后根据该位置读取BIOS参数数据块(BPB),得到文件分配表(FAT)的位置以及扇区大 小等参数。在读取文件分配表之前,需要先读取根文件夹来获得文件的起始位置,然后再 通过文件分配表获得后续数据的位置。

得到文件的起始簇号之后,在文件分配表中读取对应该起始簇的字节,获得文件存储的下一个簇的簇号,这样可以连续的进行读取。在读取一个簇后,即将整簇的数据发送出去。如果发现文件分配表中某一簇对应的数值是0xFFFF,则说明是文件最后一个簇,这时该簇的数据可以不足一个整簇,需要对其中的数据进行取舍,以保证发送数据的正确性。

对配置文件读取和发送的函数伪码如下所示。

ReadSD_FAT16(){

读取物理第0 扇区内容,即MBR,获取逻辑0 扇区的位置;

读取逻辑0 扇区的内容,获取每扇区字节数,每簇扇区数,FAT 表占据的扇区数等参数;

读取根文件夹的内容,根据配置文件的文件名获取其起始簇号和文件长度;

将当前簇设置为起始簇;

While(1){

读取FAT 中对应当前簇的内容,获得下一个簇的簇号;

FAT 表中对应当前簇的内容为0xFFFF 时,即说明当前簇是最后一个簇,计算该簇内的有效数据,并进行发送;

读取当前簇内容,进行发送;

当前簇指向下一个簇;

3 结束语

在当前FPGA使用领域日趋广泛的情况下,对现有的液晶拼接屏幕含有FPGA 的嵌入式产品进行升级更新成为了一项比较繁琐的工作,特别是在产品数量较多的情况下。本方案提出了采用SD卡存储配置数据的配置方案,使用了目前嵌入式系统中常见的ARM 微处理器和SD卡,不仅降低了成本,而且利用了现有资源,节省了电路板布线布局的空间。最重要的是使升级 过程更加简洁,在进行调试时也可以灵活使用。本文只给出了对Virtex FPGA 进行配置的情况,该方案也可以适用于液晶拼接屏幕Spartan 系列FPGA。

关键字:通信领域  FPGA 引用地址:通信领域采用FPGA芯片嵌入式系统分析方案

上一篇:基于FPGA的运动估计设计
下一篇:基于FPGA的脑机接口系统方案

推荐阅读最新更新时间:2024-05-02 22:10

ARM/FPGA杜邦线之片间传输--高速数据串扰
片间传输--高速数据串扰 这几天调试一个东东,STM32的FSMC传输数据给Bingo自制的VGA控制器,由于没有直接打板,板间用了杜邦线连接。FMSC传输模式为最快的速度,FSMC写时序如下图所示,最快达到了72M(HCLK)的速度。但是我用了杜邦线,,没办法。。。神奇的事情不断地发生,幽灵一直在身边,以此分享给大家点滴心得,虽然我也只是知道皮毛。 下图是我项目中STM32与FPGA间,杜邦线连接的图,杜邦线20cm,FSMC 最高HCLK=72MHz。从右到左分别为D0-D15,CS,RS,WR,RD 先贴一下贵人相助时的聊天记录,众人经验总结,精华部分,值得分享:
[单片机]
ARM/<font color='red'>FPGA</font>杜邦线之片间传输--高速数据串扰
基于Linux平台的FPGA驱动开发
    Linux操作系统的全称是GNU/Linux,它是由GNU工程和Linux内核两个部分共同组成的一个操作系统。该系统中所有组件的源代码都是自由的,可以有效保护学习成果,因而在嵌入式领域得到了广泛的应用。     FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,该器件是作为专用集成电路ASIC (Application Specific Integrated Circuit)领域中的一种半定制电路而出现的,它的出现既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。在通信行业、传输网、医疗仪器、各种电子仪器、安防监控、电力系统、汽车电子以及消费类电子中都大
[嵌入式]
基于ARM+FPGA处理架构的高性能板卡
ARM+FPGA架构匠心之作,米尔MYC-JX8MMA7新品发布! 关键词:米尔电子、NXP i.MX 8M Mini、核心板、ARM+FPGA、开发板 近几年,工业智能化技术发展迅猛,嵌入式应用场景越来越丰富,对嵌入式技术开发硬件需求也越来越高。虽然ARM的功能越来越强大,但是在高端医疗器械、工业数据采集系统、能源电力等行业,其对高清显示、数据采集双重要求的场景下,ARM+FPGA架构的需求也应运而生,它不但具备了ARM的运算能力,还兼备了FPGA的对数据的高速采集能力。因此,米尔电子研发团队打造了匠心之作:米尔MYC-JX8MMA7核心板及开发板。 米尔MYC-JX8MMA7核心板及开发板,采用ARM+FPGA的
[嵌入式]
基于ARM+<font color='red'>FPGA</font>处理架构的高性能板卡
基于Virtex-5FPGA的Gbps无线通信基站的设计
本文基于Virtex-5FPGA设计面向未来移动通信标准的Gbps无线通信基站系统,具有完全的可重配置性,可以完成MIMO、OFDM及LDPC等复杂信号处理算法,实现1Gbps速率的无线通信。 引言 随着集成电路(IC)技术进入深亚微米时代,片上系统SoC(SySTem-ON-a-Chip)以其显着的优势成为当代IC设计的热点。基于软硬件协同设计及IP复用技术的片上系统具有功能强大、高集成度和低功耗等优点,可显着降低系统体积和成本,缩短产品上市的时间。IP核是SoC设计的一个重要组成部分,已成为目前微电子设计的热点和主要方向 。 UART 核以其可靠性、传送距离远的特点被广泛应该到通信系统和嵌入式微处理器上。利用传统的E
[工业控制]
基于Virtex-5<font color='red'>FPGA</font>的Gbps无线<font color='red'>通信</font>基站的设计
FPGA芯片在高速数据采集缓存系统中的应用
  在高速数据采集方面,FPGA有单片机和DSP无法比拟的优势。FPGA的时钟频率高,内部时延小,全部控制逻辑都可由硬件完成,而且速度快,组成形式灵活,并可以集成外围控制、译码和接口电路。更最主要的是,FPGA可以采用IP内核技术,以通过继承、共享或购买所需的知识产权内核提高其开发进度。而利用EDA工具进行设计、综合和验证,则可加速设计过程,降低开发风险,缩短了开发周期,效率高而且更能适应市场。本数据采集系统就是基于FPGA技术设计的多路模拟量、数字量采集与处理系统。FPGA的IO端口多,且可以自由编程、支配、定义其功能,同时配以verilogHDL语言以及芯片自带的可定制模块,即可进行软件设计。FPGA的最大优点是可在线编程。此
[嵌入式]
<font color='red'>FPGA</font>芯片在高速数据采集缓存系统中的应用
Actel FPGA 协助LYYN AB的可视化增强技术平台大幅提高清晰度
安全性、速度、尺寸和低功耗等优势使ProASIC3 FPGA成为创新性新型视频处理平台的理想选择 Actel 公司宣布专业从事视频增强技术的瑞典LYYN AB公司已经利用Actel的ProASIC3系列现场可编程门阵列 (FPGA) 器件开发出软件和硬件视频处理平台,此举进一步显示了低功耗单芯片FPGA技术所具备的先进创新性。这个解决方案提高了视频录像的清晰度,可在雪、雾、水底淤泥和黑暗环境中提供更好的可见度。LYYN的产品主要用于遥控操作车辆 (ROV) 和飞机 (UAV) 以及便携式设备如水底摄像机和先进的监视系统等。 LYYN常务董事Andreas Ekengren 表示:“我们的创新平台是在人类视觉系统领域进行30多年
[新品]
Microsemi否认其FPGA预留后门存在安全漏洞
    针对日前有报道称FPGA预留后门存在安全隐患,美国美高森美公司已发表声明其ProASIC3 FPGAs开发板的预留后门不存在会被破解或者被黑客攻击的可能。然而,该公司还透露,新一代增强型可编程逻辑器件将会很快公布。 就英国剑桥科学家之前发布的关于他们已经通过使用管道排放分析(PEA)技术从ProASIC3 FPGAs芯片中成功提取安全密钥这一言论,美高森美公司已经发表了严正声明:“研究人员(剑桥科学家们)的断言是敏感的。ProASIC3 FPGAs系列芯片广泛应用于军事系统以及飞行控制,工业和汽车等各个行业,显然是公认的安全产品”。 英国剑桥大学计算实验室研究员Sergei Skorobogatov和库欧.瓦迪
[嵌入式]
Efinix推出车规级集成RISC-V内核的FPGA
Efinix公司针对汽车行业推出了一系列具有32位RISC-V内核的FPGA器件,这些器件在多个方面展现出了其卓越的性能和适应性。 首先,Titanium Ti375 FPGA符合汽车标准,并已通过ISO26262认证,这是汽车制造商所重视的一项安全标准。它采用16纳米工艺制造,拥有高达100万个逻辑元件,以及一个四核32位RISC-V内核。这个内核具有一个强大的CPU,采用了具有多种扩展的ISA RISC-V 32,使得它在处理复杂任务时能够表现出色。此外,它还通过了AEC-Q100 1级认证,进一步证明了其在汽车应用中的可靠性和稳定性。 Titanium Ti375 FPGA还配备了多种接口和控制器,以满足汽车应用中的
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved