集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 924|回复: 0

source硬件抽象层连接接口

[复制链接]
dzyjc7 发表于 2012-5-4 16:27:41 | 显示全部楼层 |阅读模式
SCA规范中使用了两种类型的接口:“provides”和“uses”。其中“provides”接口用来提供服务,“uses”接口用来使用这种服务。这种思想可被扩展应用到FPGA的组件级。也就是把一个由HAL-C基层结构向组件提供数据的接口定义为HAL-C基层结构的“provides”端口,然后由组件利用HAL-C基层结构的“uses”端口给其它组件提供数据。HAL-C API希望HC通过通用接口来发送和接收数据。在FPGA上,可使用source和sink来定义SCA中的这两种端口。这些接口通常以线路和信号的形式存在。 source接口

source接口用于从HC向HAL-C基层结构传递数据,它可根据硬件平台的实现来确定信息被发送到指定的HC中。source接口应当实现的信号如下:

clock:接口的同步时钟,所有信号均应与该时钟同步;
data:数据总线,其宽度可以是1,8,16,32,64位;
channel:与数据传输相关的逻辑通道号;
length:定义数据缓冲区中要传输的字节数,可用MAXBUFFERSIZE描述数据的最大长度;
write:传输数据的使能信号;
socketRequest:宽度为MAXSOURCESOCK-ETS的矢量,用于描述一个指定的逻辑信道接口正在请求访问sink的逻辑信道;
socketReady:宽度为MAXSINKSOCKETS的矢量所包含的一个流控制信号,用以应答source接口的请求信号。
sink接口

sink接口主要用于从HAL-C基层结构接收数据并送给HC。sink接口应当接收source接口输出的信号,它应当接收大小由length信号确定的数据。socketReady表示当sink接口从source接口接收数据时的宽度,该宽度为MAXSINKSOCKETS的矢量所包含的一个流控制信号,是为source端口应答的信号。
source和sink的典型应用模型

FPGA是硬件可编程设备,FPGA的内部功能模块可通过直接线路或总线相互连接。这意味着一个包含多个功能模块的FPGA内部体系可以被分解成分散的子模块,这些子模块可通过外部连接机制相互连接。图4所示是FPGA内部使用sink和source的典型模块图。

在FPGA上运行的波形组件,在设计时只需要按照HAL-C所定义好的格式设计好波形组件与HAL-C的交互即可。数据与其他模块间交互的具体过程可交给HAL-C去完成,即将与具体接口相关的工作交由HAL-C去完成。也就是说,在进行软件设计时不需要关心底层硬件模块能为软件设计提供怎样的具体端口形式,而只要硬件抽象层模块能够满足软件模块设计所需的数据传输速率就行。

在硬件平台上实现HAL-C应用

为实现SCA规范下的数字信号处理功能,可以设计一个通用硬件平台,其结构如图5所示。该方案以FPGA、DSP为信号处理平台的算法核心,以CPLD为结构的控制核心,从而构造一个具有通用性、可扩充、易升级的多功能信号处理平台。

本设计中的FPGA采用Xilinx公司Virtex 5系列的2200万门器件XC5VLX220-1FF1760I以及500万门器件XC5VSX95T-lFF1136I。DSP选用TI公司的TMS320C6416T,该DSP具有的丰富的集成外设,可适应各种不同的应用需求。通用FLASH采用Spansion公司的S29GL512N10TAI高密度NOR型FLASH。S9GL512N的容量高达512Mbit,可以存储多个版本的DSP和FPGA程序。NOR型FLASH的读操作时序和EEPROM相同,读/写操作最短周期为100ns,可以直接用于DSP的BOOT引导。TMS320C6416T与CPLD配合,可以控制FPGA配置文件的下载过程。FPGA芯片通过高速并行接口可与AD和DA直接相连,以进行高速的数字处理。DSP芯片可通过EMIFA(外部存储器接口)接口与FPGA进行通信。

在实际应用中,平台需以多模式的方式工作,并应根据需要实时更新功能程序。因此,用户可在FLASH芯片中划分区域,以将多种功能程序分别存储在不同区域,并确定区域首地址。系统上电复位后,DSP和FLASH芯片先完成初始化,之后DSP会按照默认方式访问默认首地址并加载默认DSP和FPGA功能程序,以便系统工作在默认模式下;当需要更新模式时,主控设备先发送指令,DSP检测到指令后,DSP便按照指令要求查到对应首地址,并从新功能的首地址开始为DSP和FPGA加载新的功能程序,系统即工作在新模式下。如此便可在同一个硬件平台上,通过动态调用不同的软件程序来实现多功能、多模式的工作。

利用此硬件平台还可实现MSK数字调制解调功能。FPGA的硬件抽象层的实现可将FPGA与外部接口在FPGA内,用一个专用的小模块来实现对外交互,并在这个特定模块里定义好HC与外部交互的接口形式(如数据总线,相关的时钟信号、控制信号等)。然后根据功能需要在FPGA内为AD、DA、DSP、CPLD以及互连的FPGA抽象出独立的标准通信接口模块ADHAL、DAHAL、DSPHAL、CPLDHAL和FPGAHAL,另外,还需要设计MSK调制和解调的HC模块,其中调制部分包括DDS和数字正交上变频两个子模块。数字正交上变频可采用AD9779来实现。解调部分主要包括数字正交下变频、基带解调、中值滤波和位同步四个子模块。这些HC模块均为独立的文件,而且各个模块的参数均可配置。这样便可利用上述编制好的文件来实现MSK调制解调功能。事实上,只需要在一个工程中把用到的文件包含进来,并在顶层文件中实例化各个模块,同时根据实际硬件连接约束FPGA的引脚,最后通过综合实现并生成FPGA配置文件,再用DSP和CPLD来完成配置,即可实现如图6所示的FPGA内部抽象层。也可以通过主机动态配置各个模块的参数以及连接关系,以实现不同频段的调制和解调。如果要完成其它方式的数字调制解调,只需要把MSK调制和解调的HC模块替换为其他数字调制解调算法,并通过主机发送指令重新对FPGA进行配置即可。这样就可提高软件模块的可移植性、可重用和可互操作性。

通过HAL-C提供的平台,不但可使波形应用开发者从底层硬件的细节处理中脱离出来,专注实现组件的算法功能,而且,基于FPGA硬件抽象层连接设计的软件,还具有很好的可移植性,因而能有效缩短系统开发周期,提高系统开发效率.
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-6-25 13:49 , Processed in 0.059907 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表