VMIVME-5565 External Endian Conversion

Description

By default, the VMIVME-5565 responds in Little Endian format to VMEbus accesses of 16 bit Words or 32 bit Lwords. Changing the VMIVME-5565 VMEbus response to Big Endian format is possible, but the byte swapping capabilities are limited.  

Resolution

The Endian Conversion Hardware section in the product manual refers to “External Endian Conversion Logic”. This is a referral to an undocumented register that controls the external endian conversion logic. This register is located at offset $2000 from the base address of the register set. The VMIVME-5565 firmware initializes this register at power up or after reset to a value of $0C03. Bit 0 of this register is an endian conversion enable for Master mode. Bit 1 is an endian conversion enable for Slave mode. In either case Little Endian=1 and Big Endian=0. Setting this register to a value of $0C00 will enable the big endian conversion logic for both Master and Slave modes.

The attached file Endian_Conversion_5565.txt is a VMEbus trace that shows 8 bytes of reflective memory read as 8-bit Bytes, 16-bit Words, and 32-bit Lwords directly after power up and then read again after clearing bits 0 and 1 at offset $2000 from the base address of the register set. In this example the memory begins at base address $40000000, and the registers begin at base address $10000000.

Note: Disabling the endian conversion logic in slave mode will effect accesses to both the memory and the registers. Any change to the register value at offset $2000 is not retained after reset or power is cycled.

Caution: The initial value of all other bits (other than bits 0 and 1) in this register at offset $2000 must be maintained. Altering the value of these bits can disable the VMIVME-5565 from the VMEbus.