找回密码
 注册
关于网站域名变更的通知
查看: 186|回复: 1
打印 上一主题 下一主题

基于FPGA的HSDI接口设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-28 10:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

摘要 HSDI是一种可配置的高速数据指挥通道。本文首先介绍两种高速数据接口HSDI A和HSDI B的硬件结构,随后介绍两种HSDI接口上信号的时序和功能操作,最后结合实例重点介绍如何采用FPGA实现HSDI接口的设计。
% I/ J) M- D# O: v. o# I  关键词 HSDI FPGA VHDL

引 言
' S3 f8 a4 [# n, X  z+ a    HSDI(High Speed Direct Injection)是一种可配置的高速数据接口。例如,德州仪器公司生产的集成式1394a链接层控制器与舣端口物理层控制器TSB43DA42和TSB43DB42分别包括3个高速数据端口(HSDI)。每个端口均支持数据I/O,能专门负责一个同步数据路径,所有端口都支持与各种编解码器的无缝连接,能够根据IEC61883标准实现压缩的A/V数据与数字音频的传输。还有就是Freescale公司计划开发的UWB系列产品。这些UWB网卡符合美国联邦通讯委员会(FCC)现行拟定的UWB标准,支持多种操作系统;同时,这些产品将拥有mini-PCI和SDIO模组外形结构,并且,还将具有PCI、mini-PCI、HSDI、PCI-Express、USB 2.0和IEEEl394等各种界面。下面就Freescale公司的一种UWB网卡上的HSDI接口作一介绍。+ ?! c' q8 H/ a' v0 o- k. ^
4 r1 m( w( z3 j' }- W$ {& x
  MC270143 MAC是Freescale公司UWB网卡XSllO上的一部分。它直接与基带控制器MC270123相连,当和MC270123控制器以及MC270113 RF发送器结合使用时,可以提供一种完全端到端的WPAN/WLAN芯片集解决方案,并具备低成本、低功耗和高速数据传输速率。" |# ^' s- y3 r5 [8 Q; {
6 L+ _) o0 ~" l
  由于Freescale公司的UWB网卡遵循IEEE 802.15.3网络层协议标准,那么对于其上的HSDI接口,从主机来说,遵循IEEE 802.15.3协议标准的请求和响应消息是从HSDI的A口输入的,而确认和指示消息是从HSDI的B口输出给当地主机的;通过空中链路去往另一个UWB设备的数据信息,从HSDI的A口进入,另一个UWB设备从B口输出。在HSDI并行接口中,是以字节为单位来传输数据的,并且字节与字节之间没有延时。

1 HSDI接口硬件结构
; y5 h6 C' ^, @3 r! r9 V# Z  
图1为Freescale公司XSIlO网卡上MC270143模块的HSDI接口硬件结构框图。


; O3 P7 M; v: c# H0 q% x. i, E! T

  ①HSDI A和HSDI B用于传输高速数据流或者命令和控制信号,它们支持传输同步或异步的数据流以及命令消息和相关的响应消息。HSDI A只能配置成输入接口,HSDI B只能配置成输出接口。HSDIA和HSDI B都是由8位并行端口和输入时钟以及相关控制信号组成的。/ ^5 f% {( X& ~% |" d- X, F
  ②每个FIFo的容量为512×32位。
2 J- Q. D! {$ r8 N  ③O_hsdiahalt信号用来阻止数据从HSDI A接口输入,O_hsdiahaltxin信号产生后MC270143最多还可以接收16字节的数据。也就是说,外部时钟必须在16个时钟周期之前产生O_hsdiahalt。
; _3 K  J4 e0 c, h2 [$ c( s  ④任何从MC270143接收输出数据的设备必须能够在产生I_hsdibhalt后再接收至少1 6字节的数据,也可配置MC270143上的HSDI B模块忽略产生I_hsdibhalt信号。

2 HSDl接口信号描述
( ], o0 F7 f' z6 Z1 v  
整个XSll0模块的外部接口主要为:输入是天线部分,输出是HSDI接口。接口(相对UWB网卡而言)说明如表l所列。


9 o' f* P. y. K6 g

  HSDI接口可以配置成发送和接收定长/可变长度的数据包。定长数据包模式包括HSDI输入模式(HSDI A)和HSDI输出模式(HSDI B):所有输入到HSDI接口的数据都是在hsdiclk的上升沿采样输入;输出数据在hsdi-clk的下降沿输出。相应的时序图如图2和图3所示。

& q7 M: M. H7 q- g: o4 N" H% b4 ^

  说明:在定长和可变长数据包类型下,HSDI接口信号描述是相同的;惟一的不同在于,在可变长模式下,hsdisync信号与最后一个有效字节对齐,而在定长模式下与第一个有效字节对齐。
5 ?9 c+ D- y  T! e

3 基于FPGA实现HSDI接口的设计
  q+ j$ f( u# \! s" e2 o" A# K  
利用FPGA硬件处理速率高的特点,通过普通数据包的发送可实现发送端HSDI接口的设计,并把数据通过HSDI接口发送到UWB网卡,再由UWB网卡发送出去,随后由另外的UWB网卡接收相应的数据。; w* u" X' R, M$ Y3 G

- P: y1 `" e  ]) H/ R  发送端FPGA负责把数据打包并生成相应的数据有效信号和同步信号,然后通过HSDI接口发送给UWB网卡。FPGA与HSDI的接口定义如图4所示。

4 打包发送模块程序设计
& W; A  t, T- z( s  
由于USB网卡遵循IEEE 802.15.3网络层协议标准,考虑到发送端和接收端.做简单的应用层协议如下:

% i6 J- o$ j! c2 ~, X

  Data flg:数据段标志位,标志随后的为数据字节,以便对数据进行处理。
4 [$ K" s/ b+ d2 |. I, `  首先,把包头信息定义好固化在1个11字节的表中,程序为:

    8 V8 d5 X; W4 ], G$ Z0 ?
  其中:dataflg为x“FF”标志,随后的为数据信息,同时也说明数据信息的长度。
: y# M# Z) |& Z3 m- p+ m# F  其次,按照HSDI传输格式,可以确定的是在发送hsclivalid、hsdisync、hsdidata信号的时候要用lasdiclk的下降沿送出,以保证网卡的正确采样。(VHDL程序见本刊网站www.mesnet.com.cn——编者注)
4 h  @% C0 `4 M" D' ^  P4 X  ①hsdidata数据信号的生成:将发送包的包头信息存放在一个固化的小表里(内部的自建存储器)。数据的打包发送主要由2个与时钟同步的计数器datacntl和datacnt2(hsdiclk下降沿产生)控制。datacntl为4位,控制发送11位包头信息,根据不同计数器的值决定发送包头信息位数据。发送到最后1位包头信息时。启动datacnt2计数,开始发送包数据,且发送的数据和计数器datacnt2的值是相等的,以确保接收端检测数据传输的正确性。" v& M; O8 w7 p! Y
  ②hsdivalid信号的生成:由datacnt2来控制。hsdi-valic初始化为0,在计数器datacnt2记到x“FF”时为0,其他情况下为l即可标志一个包的有效数据位。; v- Y) ?* f6 V' F* e
  ③hsdisync信号的生成:由datacntl来控制。hsdi-sync韧始化为0,由于采用的是定长数据包模式,所以在计数器记到x“00”时为1,标志包数据的第1位,其他情况下为0。modelsim仿真得到的时序如图5所示。QuartusⅡ仿真结果如图6所示。

5 结论% Y8 I$ |9 e9 H3 m& T/ d
  
本文详细讨论了HSDI接口的硬件结构以及接口信号的时序和功能操作。结合FPGA高处理速度的特点,实现了基于FPGA的HSDI接口设计,最后结合实例成功地进行了仿真和验证,并在实际硬件平台上实现了发送和接收解析数据包。

  信息:单片机嵌入式系统应用


& m$ w7 u5 n. U) M4 j% R
2 a( w8 R! g1 f4 |$ D7 Q+ w" d6 Y+ G' q  ?) o  D$ S) z1 H

该用户从未签到

2#
发表于 2020-4-28 13:55 | 只看该作者
HSDI A和HSDI B用于传输高速数据流或者命令和控制信号,它们支持传输同步或异步的数据流以及命令消息和相关的响应消息。HSDI A只能配置成输入接口,HSDI B只能配置成输出接口。HSDIA和HSDI B都是由8位并行端口和输入时钟以及相关控制信号组成的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-21 08:09 , Processed in 0.109375 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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