Q\A about VME bus for Vxworks 2

Aditya Amar wrote:
> 1.The VMEbus has 7  levels of prioritized interrupts (IRQ1...IRQ7) . If
> I am generating IRQ4 from our custom designed h/w board then what
> should be the argument in the call to sysIntEnable from within vmeMain

IRQ4 => sysIntEnable(4)

> When I generated an IRQ4 interrupt from our custom board , over the 
> VMEbus and called sysIntEnable(4) to enable the specified bus interrupt
> level, I got a scrolling display of error messages on my debug monitor
> indicating that a wrong VMEbus interrupt :0 was recieved ?????????

That implies the interrupt vector number being returned by the hardware 
was read as a 0.

> 2. Assuming that during the IACK ( interrupt acknowledge) cycle, the 
> interrupting board would send 0x60 as the Interrupt Number/Interrupt 
> Vector  to the the SBC over the VME bus my call to intConnect should be
> 
> intConnect (INUM_TO_IVEC (0x60), myVMEinterruptHandler, 0);   or 
> intConnect (0x60, myVMEinterruptHandler, 0);

The first one, INUM_TO_IVEC(0x60)

> 3. I was under the impression that the intArchLib ( which is the 
> architecture-dependent interrupt library ) will provide the definition 
> of  INUM_TO_IVEC. But from the code snippet above it looks like I have 
> to define it myself. So the question is who provides the definition of 
> INUM_TO_IVEC ? If I have to define it how do I do it ?

Ignore the code snippet (which is for some unknown CPU), it's defined by 
your architecture, you just need to #include <iv.h> to get it (this is 
stated on the Reference Manual page for intArchLib).

> I am NOT using sysBusIntGen()  to simulate the generation of 
> interrupts, rather I am using our custom H/W boards to actually 
> generate interrupts across the VMEbus. We have verified that these 
> interrupts are actually getting generated and being transferred across 
> the VMEbus using probes, but are not able to connect an ISR which will 
> handle this interrupt on the SBC.

Check the cycle timing on the VME interface of the slave boards - even if 
they are known to work with a 680x0-based CPU board they still might not 
work with the Tundra, which meets the VMEbus spec but doesn't produce the 
same typical timings as earlier interface chips used to.  In particular 
check for address rot, as the Tundra can remove the Address Strobe earlier 
than the 68K designs used to, but there can be other similar kinds of 
timing issues leading to the wrong data being seen by the Tundra.

- Andrew
-- 
There are 10 types of people in the world:
Those who understand binary, and those who don't.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VME64 Extension (VME64x)总线规范是一种用于工业自动化、通信设备和嵌入式系统的计算机总线标准。它在VME64标准的基础上进行了扩展和改进,以提供更高的性能和灵活性。 VME64x总线规范支持32位和64位的数据传输,并提供了更高的数据传输率。它还引入了更多的中断和中断优先级,并将总线时钟速度提高到更高的频率。这使得VME64x总线规范能够满足更高性能的应用需求。 VME64x总线规范还引入了新的握手协议和快速传输模式,以提高总线利用率和可靠性。它支持多个主设备和从设备之间的并行操作,允许多个设备同时进行数据传输和访问共享资源。 此外,VME64x总线规范还考虑了系统的兼容性和扩展性。因此,它提供了向后兼容VME64设备的能力,并且可与其他总线标准(如PCI和CompactPCI)进行互连和交互操作。 总之,VME64x总线规范是一种用于工业自动化和嵌入式系统的高性能计算机总线标准。它通过提供更高的数据传输率、更多的中断优先级和更高的总线时钟速度,满足了现代应用对于性能和灵活性的需求。同时,它还具备向后兼容性和可扩展性,可以与其他总线标准互连和交互操作。 ### 回答2: VME64 extension是一种总线规范,用于定义工业控制系统中的模块化电子设备之间的通信和数据传输。VME代表了Versa Module Europa,是一种通用的模块化电子设备架构标准。VME64 extension是对最初的VME规范的扩展和改进。 VME64 extension规范包括了一系列的物理、电气和处理器接口标准,以确保各个模块化设备之间的互操作性。它支持各种不同类型的模块,如处理器模块、存储模块和输入/输出模块,并提供了高速、可靠的数据传输能力。 VME64 extension规范的主要特点包括以下几点: 1. 高带宽:VME64 extension支持高达320 MB/s的数据传输速率,以满足要求高速数据传输的应用场景。 2. 大容量:VME64 extension支持32位和64位的地址线,可寻址的总线容量达16 TB,可以满足大规模的数据存储需求。 3. 高可靠性:VME64 extension规范要求模块化设备具备良好的抗干扰和电磁兼容性能,以确保稳定可靠的数据传输。 4. 易于扩展:VME64 extension规范允许系统在需要时进行扩展,添加新的模块化设备,以满足不断变化的需求。 VME64 extension作为一种通用的总线规范,被广泛应用于工业控制、数据采集和测量系统中。它提供了可靠的数据传输能力和灵活的扩展性,使得不同厂家和型号的设备可以互联互通,为工业自动化领域的应用提供了便利。 ### 回答3: VME64扩展总线规范是一种用于工业计算机和嵌入式系统的电子设备接口标准。它是VME总线的扩展版本,旨在提供更高的性能和更大的灵活性。 VME64扩展总线规范支持32位或64位数据传输,提供了高达160 MB/s的数据传输速率。它还引入了新的功能模块和信号线,以支持更多的设备连接和高级功能。 VME64扩展总线规范定义了总线的物理层和协议。在物理层,它使用Eurocard连接器和标准的硬件插槽布局。总线中的设备通过地址线、数据线和控制线进行通信。协议方面,VME64扩展总线规范定义了传输数据的时序、信号的解释与响应规则等。 VME64扩展总线规范还引入了新的概念,如64位地址空间、64位数据传输和64位主从操作。这些功能使得VME64扩展总线更适合于处理大容量数据、高速数据传输和复杂的控制应用。 总的来说,VME64扩展总线规范是一个为工业计算机和嵌入式系统提供高性能和灵活性的接口标准。它的广泛采用使得设备供应商和用户能够更容易地交换和扩展他们的系统,并且能够支持更多的设备连接和先进的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值