您的位置 首页 分销

根据Verilog HDL的SDX总线与Wishbone总线接口转化的规划与完成

针对机载信息采集系统可靠性、数据管理高效性以及硬件成本的需求,介绍了基于硬件描述语言Verilog HDL设计的SDX总线与Wishbo ne总线接口转化的设计与实现,并通过Modelsim进行功能仿

跟着微电子规划技能与工艺的迅速发展,数字集成电路逐渐发展到专用集成电路(ASIC),其间超大规模、高速、低功耗的新式FPGA的呈现,降低了产品的本钱,进步了体系的可靠性。一起,各种电子产品的复杂度和现代化程度的要求也逐渐进步,文中针对机载信息收集体系的可靠性、数据管理的高效性以及硬件本钱的需求。规划完结了与Wishbone总线SDX总线的接口转化,完结了数据收集功用模块与SDX总线协议之间的数据传输。

该规划首要选用硬件描绘言语Verilog HDL在可编程逻辑器件FPGA上完结,因为数据收集功用模块繁复,而Wishbone总线能够与任何类型的ROM或RAM相连,因而需在SDX总线与数据收集模块中嵌入Wishbone总线,使得全体规划简略、灵敏,且数据能够高效、快速的传输。

  1 SDX总线协议

1.1 SDX总线结构

SDX总线归于非平衡装备的点对点和多点链路,站点类型分为主站和从站,其数据传输方法为非平衡装备的指令/呼应方法。与国际规范化安排ISO拟定的开放体系互联模型OSI/RM比较,参阅模型只分为3层:物理层、数据链路层和应用层,如图1所示。

图1 SDX参阅模型与OSI/RM的对应联系

  1.2 字格局及其各位场的意义

SDX总线选用面向音讯的传输操控规程作为通讯协议,选用曼彻斯特Ⅱ双相电平编码,总线最大传输速率20 Mbit·s-1,字长为20位。总线传输速率20 Mbit·s-1时,每字占1μs.规则每次传输一个音讯的进程应包含指令字、数据字和状况字几个部分。每种字的字长为20位,有用信息位为16位,每个字的前3位为单字的同步字头,而最终一位是奇偶校验位。同步字头的效果是标识每个字的开端,起字同步效果。奇偶校验选用奇校验,在发送端对16位有用位补齐,而在接纳端进行奇校,用于查验字传输中有无过错。需求指明的是:无论是何种字类型,各场的数据总是高位(MSB)传输在先。

(1)指令字结构。
指令字只能由主站发送,它的内容指明主站要与哪个从站对话,规则了该次数据传输的地址方向和服务类型。其格局如图2所示。

图2 数据传输的地址方向和服务类型格局

方向和服务类型
1~3位:同步字头(SYN),前1.5位为101,后1.5位为000时标识指令字或状况字。
4~13位:10 bit长途模块地址(RA[9:0]),全0时为播送地址,其他为各长途模块地址。
14位:读写操控位R.该位为1时,标明主站要从被寻址的从站中读取数据;为0时,标明主站要从被寻址的从站中写入数据。
15~18位:当RA[9:0]为非全0时,EP[3:0]有用。需求着重的是:当RA[9:0]为非全0,端点地址为全0时,该地址为从站的体系管理拜访地址。
19位:状况字指示位S,当该位为0时,标明有用字为指令字;当该位为1时,标明有用字为状况字。
20位:奇偶校验位(P),该字的奇偶校验位,奇校验有用。

(2)数据字结构。

数据字既能够由主站传送到从站,也能够由从站传送到主站。数据字的格局如图3所示。

图3 数据字格局

1~3位:前1.5位为101,后1.5位为111时标识数据字。
4~19位:16 bit长数据(DATA[15:0]),高位(MSB)传输在先。
20位:奇偶校验位(P),该字的奇偶校验位,奇校验有用。

(3)状况字结构。

状况字只能由从站宣布,是对主站宣布的有用指令的应证性信号,是通讯中进行过失操控和流量操控的重要手法。状况字格局如图4所示。

图4 状况字格局
1~3位:同步字头(SYN),前1.5位为101,后1.5位为000时标识指令字或状况字。

4~13位:10 bit从站的地址(RA[9:0])。
14~18位:状况代码,表明呼应模块的通讯状况。
19位:状况字辨认位(S),当有用字为状况字时,该位为1.
20位:奇偶校验位(P),该字的奇偶校验位,奇校验有用。

表1 状况代码描绘

注释1,只要满意下列判据才以为传输中不存在过错:(1)字有用,这是指都以有用的同步字头开端,并且除掉同步字头之外其他的都是有用的双相码,有用信息是16位,奇偶校验位一位,且奇校验。(2)音讯有用,这是指在一次传输中,假如存在一个数据块,那么在指令字与数据字之间,在数据字与数据字之间,音讯是接连的,不存在任何开裂的状况。(3)指令有用,这是指在指令字和数据字各场中不存在不合法数据,一起宣布的数据块长度应与设置长度持平。假如以上3个判据中有任何一个得不到满意,则音讯过错方位位。

注释2,因为播送音讯格局要求制止从站发回状况字,为了解上一个播送指令是否已被从站有用接纳,可运用专门的指令类型让某个从站发回状况字,如此方位成1,并且忙方位成0,即阐明上一个指令的确是播送指令,已被该从站有用接纳。

  2 Wishbone总线协议

Wishbone总线是一种内部总线协议。它能够将片内的各部分以及IP核等衔接在一起,用来规范化各个独立部分的接口,以愈加方便地架构SOC(Syctem-on-Chip)体系。其特点是结构简略、灵敏,只需求少数的逻辑门即可完结,一起完全免费、揭露。

Wishbone总线规范中,运用Master/Slave结构完结灵敏的体系规划,MaSTer/Slave有4种互连方法,分别为点对点、数据流、同享总线和穿插互连。且Master和Slave之间运用握手协议,当准备好数据传输时,Master使STB_O有用,且一向坚持到Slave的呼应信号ACK_O,ERR_O,或RTY_O之一有用。Master在每个时钟的上升沿对呼应信号采样,若该信号有用,则置低STB_O,如图5所示。

图5 握手时序

2.1 Wishbone总线根本传输周期

Wishbone总线支撑完好的一般数据传输协议,包含单个读写周期、块读写周期等。数据总线宽度为8~64位,地址总线宽度最高可达64位。Wishbone数据总线和地址总线别离,在传输上,坚持一个地址、一个数据的传输结构。以下为Wishbone总线单次读、写时序图。图6为单次读周期时序,图7为单次写周期时序。

图6 单次读周期时序

图7 单次写周期时序

3 体系规划与完结

体系一切操控逻辑均在Altera的CycloneⅢ系列FPGA(EP3C40F)上完结。FPGA的信号线只要体系时钟、串行输入数据,因为SDX总线中传输数据为曼彻斯特码型,因而需将曼彻斯特码解码为BCD码一起将串行输入数据转化为并行数据,将转化后规范的16位并行BCD码输入SDX模块对SDX协议呼应,将需求数据读、写的音讯呼应一起发生数据读、写以及地址信号并建议Wishbone总线操作,完结在Wishbone总线上高效的数据传输。Wishbone总线首要运用点对点的互联方法,将Wishbone总线中Master模块中的输出信号直接衔接到Slave模块,其长处是多个数据能够并行处理,然后进步体系的全体数据处理才能。体系的全体规划框图如图8所示。

图8 体系的全体规划框图

  4 仿真成果剖析

为验证规划体系的功用,运用Modelsim6.2仿真软件对体系功用进行了仿真测验。

图9为Wishbone总线写操作,且为单字写传输,在时钟上升沿,Master将DAT_O、ADR_O信号放到数据、地址总线上,将CYC_O、STB_O、WE_O置高表明写传输开端,鄙人一个时钟沿抵达之前,Slave检测到Master建议的操作,将ACK_O、ERR_O、RTY_O之一置高并传输到Master中,若Master检测到ACK_I为高时,鄙人一个时钟的上升沿将CYC_O、STB_O置低表明操作完结,若ERR_I为高,则表明该操作过错,撤销此操作,进行下一步操作,若RTY_I表明Slave总线忙,则重试。

图9 Wishbone写操作仿真图

图10为Wishbone总线读操作,且为单字读传输,在时钟上升沿,Master将ADR_O信号放到地址总线上,WE_O坚持为低,一起将CYC_O、STB_O置高表明读传输开端,鄙人一时钟沿抵达之前,Slave检测到Master建议的操作,将ACK_O、ERR_O、RTY_O之一置高并传输到Master中,一起将恰当的数据传输到Master的DAT_I中,若Master检测到ACK_I为高时,鄙人一个时钟的上升沿将CYC_O、STB_O置低表明该次读操作完结,若ERR_I为高,则表明该操作过错,则撤销此操作,进行下一操作,若RTY_I表明Slave总线忙,则重试。

图10 Wishbone读操作时序图

  5 结束语

评论了根据FPGA的SDX总线与Wishbone总线的接口转化,并介绍了不同总线的接口规范与时序,经过在Modelsim下的仿真,Quartus中归纳,可下载到FPGA中进行调试,完结了体系的全体功用,然后确保了体系快速、高效的传输。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/195455.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部