工控机技术中的VICbus犹如一条高速公路为各个系统的数据交换提供了高效畅通的交通线路
它是由欧洲核子中心(CERN)和瑞士CES计算机公司联合发展的总线标准,于1993年形成国际标准(ISO/IEC 26.11458)。VICbus不仅可以连接VMEbus,还能与Sbus、NuBus、EISA bus、FASTBUS及CAMAC智能机箱等多种总线进行互联。
VICbus采用32位地址/数据复用设计,每次数据传输先后有地址信号周期和数据周期。它支持两种不同的同步传输协议:NC1协议和NC2协议。其中,NC1协议主要用于主设备向从设备的写操作,而NC2则更为灵活,可以实现读或写操作,并且能够使用延迟响应,从而提高了通信效率。
在仲裁方面,VICbus采取旋转仲裁方式,以避免单点故障对整个系统造成影响。此外,它还采用了菊花链结构来管理总线请求与允许信号。在中断处理上,VICbus利用多路复用的技术,将32个中断请求信号映射到8条中断线上,这大大减少了所需的物理信号量。
在实际应用中,我们需要开发接口模块来实现不同总线之间的桥接。这就要求我们深入理解每个模块的功能以及它们如何协同工作。在笔者参与的一项项目中,我们开发了一款名为VIC8251的接口模块,该模块既可以作为主设备,也可以作为从设备,使得VMEbus与VICbus之间能够无缝对话。
为了使这款模块更加有效地工作,我们必须精心设计其寄存器空间,以及内存管理单元MMU所使用的大量页描述字PD0/PD1区。这不仅需要深厚的地图知识,也需要对硬件资源分配有着清晰的人类理解。通过这样的努力,我们最终成功地将VME环境下的程序代码移植到了新的VIc8251环境下,这对于提升工控机系统整体性能至关重要。