基于多CF接口系统的总线设计与实现
址线上的计数值与请求总线的设备地址相一致时,该设备把总线状态设为占用,获得了总线使用权,同时中止计数查询。该方式的特点是计数灵活,既保证了仲裁的公平,也突出了重点。 这种方式很好决了总线冲突和“死锁”的问题。对于紧急占用的问题,可以通过中断广播的方法来实现。即当有一个CF卡需要紧急服务时,它向所有的设备发出占用总线的中断请求,其它设备检查自己是否占用总线,如果占用,就马上释放;没有占用,就继续执行自己的操作。当紧急任务完成后,该CF卡再把总线控制权交给原来控制总线的设备。这样就可以使各设备的优先权得到保证。 4.具体的设计实现 本系统中的多CF卡采用INTEL公司的PD6722作为主控。它是一个专门的从ISA总线扩展出两个符合PCMCIA标准的芯片,不需要其它任何控制电路。它能直接管理地址在64K到16M之间,通过一个地址偏移量寄存器(存有所管理的地址的起始位置)把它映射到一个64M的地址上。通过扩展,可以方便地控制四个CF接口。而且它自身包含了仲裁逻辑电路,所以基本不需要另外的仲裁电路,这为设计带来了很大的方便。 设计本系统的主要工作是对如何更加有效地种用总线。要使多个CF接口能够协同工作,我们不但要做好硬件的设计,还要选择良好的总线仲裁策略。设计示意图如下: 这个系统直接连到系统的总线上,在加电的同时,总线首先由主控占用,并由主控对各个接口进行初始化的配置,把相应的工作模式配置到各个端口,并为它们分发时间片和优先级,然后用计数器定时查询方式进行工作。 由于本系统用了集中仲裁方式来控制总线,解决了总线冲突、“死锁”和紧急服务的问题,能够保证系统的正常工作,达到了设计的要求。当然本系统也有脆弱的一面,主要体现在对主控的存赖度较高,如果主控芯片出了问题,对本系统的打击是致命的,这一点我们会在以后的工作中加以改进。
- 高带宽嵌入式应用中SoC微控制器的总线设计(02-15)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)