Secondary FIFO Registers

Operation

Register (address)

Value

 

 

 

 

 

 

 

 

 

Read

N+2

Data Byte

 

Read

N+3

Status Byte bit 0 = busy

 

 

bit 1

= freeze

 

 

bit 2

= not empty

Write

N+2

Any Value - clears freeze bit

Write

N+3

Any Value - sets freeze bit

Bit 0 (Busy Bit) - A ‘1’ signifies that the controller is still sending data to the FIFO. The controller sets this bit to 0 when it is done.

Bit 1 (Freeze Bit) - When any value is written to the register N+3, this bit will be set to ‘1’ and the controller will send the rest of the current record then stop sending data to the FIFO. When any value is written to the register N+2, the freeze bit will be set to ‘0’ and the controller will resume its updates to the FIFO. The record must be frozen while reading the record so that it does not change during the read.

Bit 2 (Not Empty Bit) - When this bit is set to ‘1’ by the controller, there is data in the FIFO to be read. After the entire record has been read, the controller changes the bit to “0”.

Polling FIFO Mode Read Procedure:

1.First, write any data to N+3 to “freeze” the data record. This sets bit 1 of N+3

2.Before the data record can be read, wait until the controller finishes updating the last data record by checking the status of the busy bit (bit 0 of N+3) When bit 0 is 0, then the data record can be read.

3.Read a byte at address N+2. This is the data.

4.Repeat step 3 until all bytes of the data record have been read. Read each byte from N+2 while monitoring the “Not Empty” bit (bit 2 of N+3). When Bit 2 is 0, the data record has been read completely.

5.After the entire record has been read, write any data to address N+2. This clears the freeze bit and allows the controller to resume updating the data record with current data.

Communications with the DMC-1800

For main bi-directional communication, the DMC-1800 features a 512 character write FIFO buffer, and a 512 character read buffer. This permits sending multiple commands at high speeds ahead of their actual processing by the DMC-1800. The DMC-1800 also provides a secondary FIFO, for access to the data record. Additionally, the DMC-1800 provides Dual Port RAM (DPRAM), which also allows access to the data record structure (DPRAM available on board Rev E and greater DMC-1850 to 1880’s, and Rev H and greater DMC-1810 to 1840’s).

Note: This chapter provides an in-depth look at how the controller communicates over the PCI bus at the register interface level. For most users, we recommend using the drivers supplied by Galil to provide the necessary tools for communicating with the controller.

Determining the Base Address

The base address “N” is assigned its value by the BIOS and/or Operating System. The FIFO address N is referenced in the PCI configuration space at BAR2 (offset 18H). The following PCI information (HEX) can be used to identify the DMC-1800 controller:

70 • Chapter 4 - Software Tools and Communications

DMC-1700/1800

Page 78
Image 78
Galil DMC-1800, DMC-1700 Secondary Fifo Registers, Polling Fifo Mode Read Procedure, Determining the Base Address

DMC-1800, DMC-1700 specifications

The Galil DMC-1700 and DMC-1800 are advanced motion controllers widely recognized for their high performance and versatility in the automation and robotics industries. These controllers are designed to meet the demands of complex motion control applications, providing users with enhanced features and innovative technologies that optimize motion precision and efficiency.

One of the main features of the Galil DMC-1700 is its ability to handle up to 8 axes of motion control. This capability makes it suitable for a range of applications, from simple point-to-point movements to intricate trajectories in multi-axis systems. In contrast, the DMC-1800 extends this functionality, supporting up to 64 axes, making it ideal for large-scale automation environments.

Both models leverage Galil's powerful programming interface, which simplifies the development of motion control applications. The DMC-1700 and DMC-1800 controllers utilize a high-level programming language that supports advanced motion commands, including linear interpolation, circular interpolation, and complex motion profiles. This feature allows users to implement sophisticated motion sequences seamlessly.

In terms of connectivity, the Galil DMC series offers multiple communication options, including Ethernet, RS-232, and CAN bus, ensuring compatibility with various hardware and enabling easy integration into existing systems. The controllers also come equipped with digital and analog I/O ports, providing flexibility for sensor feedback and actuator control.

The advanced technology incorporated into both the DMC-1700 and DMC-1800 includes on-board PID control, which ensures precise motion control through closed-loop feedback. This results in improved stability and accuracy, particularly in high-speed applications. Additionally, the controllers offer extensive diagnostics and monitoring capabilities, allowing for real-time performance analysis and troubleshooting.

Another notable characteristic of these motion controllers is their compact design, which offers space-saving advantages while maintaining high processing power. Their robust construction and ability to operate in challenging environments make them suitable for a wide range of industrial applications, from CNC machining to assembly lines.

In conclusion, the Galil DMC-1700 and DMC-1800 motion controllers stand out due to their high-performance capabilities, advanced programming features, and flexibility in connectivity. With their ability to handle complex motion control tasks efficiently, these controllers are invaluable tools for engineers and manufacturers looking to enhance their automation processes. By integrating Galil's innovative motion control technology, industries can achieve greater precision, speed, and reliability in their operational workflows.