FIFO Control Register at N+4

Status Bit

Read/Write

Meaning

 

 

 

 

 

 

7

Read Only

If 1, Secondary FIFO empty

 

 

 

6

Read/Write

IRQ enable: Write 1 to enable IRQ

 

 

Write 0 to disable IRQ

 

 

Read 1 = IRQ enabled

 

 

 

5

Read/Write

IRQ status: Write 1 to clear IRQ

 

 

Read 1 = IRQ pending

 

 

 

4

Read/Write

Freeze Status of Secondary FIFO:

 

 

Write 1 to freeze 2nd FIFO

 

 

Write 0 to clear freeze of 2nd FIFO

 

 

Read 1 = 2nd FIFO frozen

3

Read Only

If 1, Secondary FIFO is busy updating

 

 

 

2

Read Only

If 1, DMC to PC Buffer empty, No data to be read

 

 

 

1

Read Only

If 0, PC to DMC buffer not half full. Can write at least 255 bytes.

 

 

If 1, buffer is more than half full.

 

 

 

0

Read Only

If 1, PC to DMC Buffer full, Do not write data

 

 

 

Half Full Flag

The Half Full flag (Bit 1 of the control register) can be used to increase the speed of writing large blocks of data to the controller. When the half full bit is zero, the write buffer is less than half full. In this case, up to 255 bytes can be written to the controller at address N without checking the buffer full status (bit 0 of the control register).

Reading the Data Record from the Secondary FIFO

To read the data record from the secondary FIFO, first the “freeze” bit (bit 4 of N+4) of the control register must be set, Then wait for the controller to finish updating the data record by monitoring the “busy status bit (bit3 of N+4), when bit

3 is “0” the data record can be read. Since the Secondary FIFO at N+C is 4 bytes wide, data may be read in 1 byte, 2 byte or 4 byte increments. Read the data at N+C until bit 7 of N+4 is 1, signifying that the FIFO is empty. After the data has been read, un-freeze the secondary FIFO by setting bit 4 of N+4 to “0”, which allows the controller to continue to refresh the data record at the defined rate specified by the DR command.

Enabling and Reading IRQ’s

In order to service interrupts from the IRQ line, the IRQ control register (Status Byte) must first be enabled. This is done by setting bit 6 of the control register (N+4) equal to “1”.

When interrupted, a device driver’s interrupt service routine must verify that the interrupt originated from the DMC- 1800 controller. This is done by checking that the IRQ enable and IRQ status bits (bit 5 and 6 of N+4) are high. The Status Byte can then be read by reading the register at N+8. The returned Status Byte indicates what event generated the interrupt (for more information on specific interrupt events, see the EI and UI commands in the Command Reference or the previous section “Controller Event Interrupts…” in this chapter).

Once the Status Byte has been read, the interrupt must be cleared by writing a “1” to bit-5 of N+4. Note: to preserve values of other bits, the interrupt service routine should read N+4, set bit 5, and write this value back to N+4 to clear the interrupt.

72 • Chapter 4 - Software Tools and Communications

DMC-1700/1800

Page 80
Image 80
Galil DMC-1800, DMC-1700 Fifo Control Register at N+4, Half Full Flag, Reading the Data Record from the Secondary Fifo

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.