java怎么拦截某个对象
257
2022-10-27
基于多CF接口系统的总线设计
1 引言
2 CF卡的应用现状
3 总线操纵题目及解决思路
总线是构成系统的互连机构,是多个系统功能部件之间进行数据传送的公共通路。借助于总线连接,各系统功能部件之间实现地址、数据和控制信息的交换,并在争用资源的基础上进行工作。
3.1 系统中的总线题目
(1)多个CF卡同时占用总线时,如何避免总线的冲突。
(2)当一个操纵占用总线时间过长时,且其请求得不到满足时,如何避免“死锁”题目。
(3)在紧急情况下,有一个操纵要立即占用总线,此时,如何使它在最短的时间内获得总线的控制权。
以上题目在系统上表现为性能不稳定,经常性死机,要解决这些题目,必须选择合适的总线仲裁机制,使其灵活、可靠地完成各种工作。
3.2 多CF卡总线仲裁机制
分布式仲裁不需要中心仲裁器,每个潜伏的功能模块都有自己的仲裁号和仲裁器。共享的仲裁总线上总是保存着当前占用总线模块的仲裁号,当其它模块有总线请求时,各仲裁器将从仲裁总线上得到的号与自己的号进行比较。假如仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保存在仲裁总线上。
分布式仲裁方法固然电路复杂一点,但容错能力强,可扩展性好,当其中一部分出现故障时,不会影响其它的部分的工作。
3.3 本系统仲裁策略的解决方案
本系统采用计数器定时查询的仲裁策略,这是集中式仲裁方式的一种,其基本思想是,总线上的任一设备要求使用总线时,通过共同的请求线向中心仲裁器发出总线请求。仲裁器接到请求信号以后,在总线不忙的情况下,让仲裁地址计数器开始计数,计数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备把总线状态设为占用,获得了总线使用权,同时中止计数查询。该方式的特点是计数灵活,既保证了仲裁的公平,也突出了重点。
这种方式很好决了总线冲突和“死锁”的题目。对于紧急占用的题目,可以通过中断广播的方法来实现。即当有一个CF卡需要紧急服务时,它向所有的设备发出占用总线的中断请求,其它设备检查自己是否占用总线,假如占用,就马上开释;没有占用,就继续执行自己的操纵。当紧急任务完成后,该CF卡再把总线控制权交给原来控制总线的设备。这样就可以使各设备的优先权得到保证。
4. 具体的设计实现
设计本系统的主要工作是对如何更加有效地种用总线。要使多个CF接口能够协同工作,我们不但要做好硬件的设计,还要选择良好的总线仲裁策略。
这个系统直接连到系统的总线上,在加电的同时,总线首先由主控占用,并由主控对各个接口进行初始化的配置,把相应的工作模式配置到各个端口,并为它们分发时间片和优先级,然后用计数器定时查询方式进行工作。
本系统也有脆弱的一面,主要体现在对主控的存赖度较高,假如主控芯片出了题目,对本系统的打击是致命的,这一点我们会在以后的工作中加以改进。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~