收藏 分销(赏)

PCI总线仲裁器的设计与实现演示教学.docx

上传人:精*** 文档编号:3963571 上传时间:2024-07-24 格式:DOCX 页数:8 大小:19.46KB
下载 相关 举报
PCI总线仲裁器的设计与实现演示教学.docx_第1页
第1页 / 共8页
PCI总线仲裁器的设计与实现演示教学.docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述
PCI 总线仲裁器的设计与实现 摘要基于的器件的总线仲裁器设计,实现仲裁器的编程,并结合仿真结果对总线的仲裁进行了论述。关键词仲裁器,仿真总线仲裁器通常是集成在芯片组中。随着计算机应用的深入,尤其是嵌入式系统的不断发展,集成的仲裁器难以满足某些场合的应用。而采用技术实现的独立的总线仲裁器,则较好的适应了这方面的需求。一总线仲裁机制的仲裁是基于设备访问,而不是基于时间分配的。在任一时刻,总线上的一个主设备要想获得对总线的控制权,就必须发出它的请求信号,如果此刻该设备有权控制总线,总线仲裁器就使该设备的总线占用允许信号有效,进而获得总线的使用权。当有多个主设备同时发出总线控制请求时,就必须由仲裁器根据一定的算法判定,当前应该由哪个主设备获得控制权。二、仲裁算法常用的仲裁算法有公平算法、循环算法等。本仲裁器设计采用的是循环算法,设备的优先级预先设定。目前的设计实现对四个设备请求的仲裁,各设备优先级由高到低安排为设备 0设备 1设备 2设备 3。系统启动伊始,没有设备使用总线,也没有设备请求使用总线,仲裁器总是设定设备 0 拥有总线控制权,即将总线停靠于设备 0。此时设备 0 的是有效的。而在此之后,仲裁器总是指定总线的最后一个使用者为总线的停靠设备。当有一个或多个设备提出拥有总线使用权的请求时,仲裁器将按照事先安排的设备优先级顺序逐一查询。对于只有一个设备请求的情况,该设备的请求将会马上得到响应;如果多个设备同时发出请求时,仲裁器裁定首先响应优先等级高的设备的请求,当此设备完成数据传输交出总线使用权后,再由优先等级低的设备使用总线。示意框图见图 2。如果一个设备已获得总线使用权并且正在进行地址、数据传输时,比它优先级别高的设备也发出了占用请求,仲裁器将会撤销优先级别低的设备的总线占用信号,并把总线使用权交给优先级别高的设备,同时还要确保在任一时刻不会出现多个设备同时占用总线的情况。具体见仿真分析。三、编程设计与实现本设计使用语言,在 100 上编译通过,并进行了仿真。1 仲裁器信号定义_-输入-时钟_-复位信号30-总线占用请求信号-数据交易的启动或开始,主设备发出-交易数据准备好,主设备发出-输出&;30-总线占用允许信号和决定了总线的状态,只要两个信号中的一个有效,就表明总线上有数据通过,总线处于忙状态;当两个信号都无效时,则总线处于空闲状态。2 仲裁器状态机定义_2,1,0_0=0,-0#有效,设备 0 拥有总线使用权,总线空闲_0=1,-0#有效,数据在总线上传输,总线处于忙状态_1=2,-以下类同_1=3,_2=4,_2=5,_3=6,_3=7;3 仲裁的实现由于采用循环算法,对每一个设备而言状态的变换都是相同的,下面仅以设备 0 的状态转换为例_0=!#!#&4!11=;_=_1;!22=;_=_2;!33=;_=_3;0=;&;_=_0;0=;_=_0;_0=0=;&_=_0;_=_0;为了避免线上和线上出现时序竞争,一个设备的信号有效和另一个设备的的撤销,如果不是在总线空闲状态,则两者之间至少要有一个时钟的延迟。设计中,将每个设备占用总线的状态分为两部分,_总线空闲和_总线忙;状态机不能从一个设备的_状态直接转到另一个设备的_状态,中间必须经过至少一个时钟的_状态的衔接,这样就避免了总线上竞争的出现。代码中,为一 5 位计数器,对时钟个数进行计数,用来判别设备发出请求信号后是否在规定时间内 16 个时钟,即40=10000 占据了总线,启动了数据的传输;如果超时,则撤销该设备的请求信号,并按预设的优先级顺序,对其余设备总线使用权进行新一轮的裁定。计数器的编程实现 4#0&1&2&3=0;&=+1;=0;四、仿真分析 1 单一设备总线请求情况系统初始化后自动将总线停靠于设备 0 上,总线处于空闲状态,、均为高电平。需要强调的一点是,仲裁所用的控制信号均在时钟信号的上升沿采样而得。如图 3 所示,设备 2 发出总线占用信号,仲裁器在时钟上升沿处采样到该信号,并开始启动计数,此时的、为高电平,设备 0 仍然拥有总线使用权;随后设备 2 驱动使得和有效,在时钟上升沿处,仲裁器采样到和,计数器清零,使设备 2 的 2 信号有效,从而占用总线,设备把地址、数据驱动到总线上,总线处于忙状态。之后,设备 2 撤销其 2 信号,放弃对总线的占用;接着、信号相继无效,表明数据传输的完成,总线变为空闲,仲裁器在处采样后,将总线停靠在设备 2 上。2 多个设备同时请求总线使用权以两个设备为例设备 3 首先发出请求信号,仲裁器在时钟处采样后,计数器开始计数,此时总线仍然为设备 0占用着;在时钟处的采样,检测到有效,表明数据传输的开始,仲裁器使得 3 信号有效,设备 3 获得总线所有权;在随后的一个时钟上升沿,仲裁器采样到设备 2 的总线请求信号,此时由于、依然有效,表明数据传输正在进行中,必须等当前数据传输完成后,设备 2 才能占用总线进行自己的数据传输,此时仲裁器隐含设定设备 2 拥有总线使用权。设备 3 在时钟之前使得、无效,总线进入空闲状态,停靠在设备 3 上。设备 2 检测到总线空闲,驱动自己的、信号,仲裁器在时钟处采样到有效的、信号后,使 2 有效,设备 2 占据总线,开始数据的传输。设备 2 使用完总线后,使总线回到空闲状态,停靠在设备 2 上;设备3 检测到总线空闲,再次驱动、有效,从而再次获得总线使用权时钟上升沿处。所有传输完成后,总线将停靠在设备 3 上。值得一提的是,如果设备 3 在被迫交出总线前不能完成所有数据的传输,它必须使自己的 3 信号持续有效,这样在设备 2 用完总线后,仲裁器能将使用权交回,从而完成剩余数据的传输。图 5 为设备获得总线使用权,在设定的 16 个时钟周期内没有启动传输,仲裁器状态的变换。仍以两个设备为例。五、应用进行总线仲裁器的设计,系统结构简单;配置灵活,可以根据系统的需要,对有关信号进行裁减或者扩展;在线修改方便。本设计采用的 3064 实现,并应用于所设计的系统板中。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服