background image

SERIES IOS-440 I/O SERVER MODULE                                32-CHANNEL ISOLATED DIGITAL INPUT MODULE 
_________________________________________________________________________________________

 

- 10 - 

Acromag, Inc.  Tel:248-295-0310  Fax:248-624-9234  Email:[email protected]  http://www.acromag.com 

 

control circuitry to obtain “glitch-free” edge detection of incoming 
signals. 
 

To program events, determine which input lines are to have 

events enabled and which polarity is to be detected, high-to-low 
level transitions (negative) or low-to-high level transitions 
(positive).  Set each half-port (nibble) to the desired polarity, and 
then enable each of the event inputs to be detected.  Optionally, if 
interrupt requests are desired, load the interrupt vector register 
and enable the interrupt request line.  Note that all event inputs 
are reset, set to positive events, and disabled after a power-up or 
software reset has occurred. 

 
Change-Of-State Detection 
 

Change-of-State signal detection requires that both a high-to-

low and low-to-high signal transition be detected.  On the IOS-
440, if change-of-state detection for an input signal is desired, 
two channels connected to the same input signal would be 
required--one sensing positive transitions, one sensing negative 
transitions.  Since channel polarity is programmable on a nibble 
basis (group of four), the first nibble of a port could be configured 
for low-to-high transitions, the second nibble for high-to-low 
transitions.  As such, up to 16 change-of-state detectors may be 
configured. 
 

Debounce Control 
 

Debounce is available in Enhanced Mode only. With 

debounce, an incoming signal must be stable for the entire 
debounce time before it is recognized as a valid input or event at 
the FPGA input.  Note that the debounce time applies at the 
FPGA input and does not include the opto-coupler delay.  You 
can combine debounce with event sensing to obtain “glitch-free” 
edge detection of incoming signals for all 32 channels.  That is, 
the debounce circuitry will help filter out “glitches” or transients 
that can occur on received signals, for error-free edge detection 
and increased noise immunity. 

 
The debounce circuitry uses the 8MHz carrier clock to derive 

the debounce times.  With the 8MHz carrier clock, a debounce 
value of 4us, 64us, 1ms, or 8ms may be selected (see the 
Debounce Duration Register).  As such, an incoming FPGA 
signal must be stable for the debounce time before it is 
recognized as a valid input or event. 

 
Upon initialization of the debounce circuitry, be sure to delay 

by at least three times the programmed debounce time before 
reading any of the input ports or event signals to ensure that the 
input data is valid prior to being used by the software. 

 
Interrupt Generation 
 

This model provides control for generation of interrupts on 

positive or negative events, for all 32 channels.  Interrupts are 
only generated in the Enhanced Mode for event channels when 
enabled via the Event Sense/Status Register.  Writing 0 to the 
corresponding event sense bit in the Event Sense/Status 
Register will clear the event sense flip/flop.  Successive interrupts 
will only occur if the event channel has been reset by writing a 1 
to the corresponding event sense bit in the Event Sense/Status 
Register (after writing 0 to clear the event sense flip/flop).  
Interrupts may be reflected internally and reported by polling the 
module, or optionally reported to the carrier by enabling control of 

the Interrupt Request line (Intreq0).  Control of this line is initiated 
via Bit 0 of the Interrupt Enable Register (IER). 
 

After pulling the IntReq0 line low and in response to an 

Interrupt Select cycle, the module will read (serve) the 8-bit 
interrupt vector stored in the Interrupt Vector Register.  The 
IntReq0 line will be released as soon as the conditions generating 
the interrupt have been cleared or return to normal, and the event 
sense flip/flop has been cleared by writing 0 to the corresponding 
bit position of the Event Sense Status Register, or until the 
Interrupt Enable Register bit is cleared.  Zero wait states are 
required to complete an interrupt select cycle. 

 
Note that the state of the inputs (on/off) is determined by 

reading the corresponding port address while in bank 0 of the 
Enhanced Mode.  However, the event sense status can only be 
read by reading the corresponding port address while in bank 1 of 
the Enhanced Mode.  Remember, the event sense status is a flag 
that is raised when a specific positive or negative transition has 
occurred for a given input point, while the state refers to its 
current level. 

 
Note that the Interrupt Enable Register and Interrupt Vector 

Register are cleared following a power-up or bus initiated 
software reset, but not a software reset initiated via writing a one 
to bit 1 of the Interrupt Enable Register.  Keep this in mind when 
you wish to preserve the information in these two registers 
following a reset. 
 

Programming Example 

 

The following example outlines the steps necessary to 

configure the IOS-440 for Enhanced Mode operation, to setup 
event-generated interrupts, configure debounce, and read and 
write inputs.  It is assumed that the module has been reset and 
no prior (non-default) configuration exists. 

 
For this example, we will configure port 0 input points as a 

four-channel change-of-state detector.  For change-of-state 
detection, both positive and negative polarities must be sensed 
and thus, two channels are required to detect a change-of-state 
on a single input signal.  IN00-IN03 will be used to detect positive 
events (low-to-high transitions); IN04-IN07 will be used to detect 
negative events (high-to-low transitions).  IN00 and IN04 will be 
tied to the first input signal, IN01 & IN05 to the second, IN02 & 
IN06 to the third, and IN03 & IN07 to the fourth.  Any change-of-
state detected on these input signal lines will cause an interrupt 
to be generated. 

 

1.    After power-up or reset, the module is always placed in the 

Standard Operating Mode.  To switch to the Enhanced Mode, 
execute four consecutive write cycles to port 7 with the 
following data: 07H first, followed by 0DH, followed by 06H, 
then 12H. 

 

At this point, you are in Enhanced Mode bank 0.  Port 7 
would now be used to access register banks 1 & 2. 
 

2.   Write 80H to the port 7 address to select register bank 2 

where debounce will be configured for our port 0 input 
channels. 

 

At this point, you are in Enhanced Mode Bank 2 where 
access to the debounce configuration registers is obtained. 
 

Summary of Contents for IOS-440

Page 1: ...ANUAL ACROMAG INCORPORATED Tel 248 295 0310 30765 South Wixom Road Fax 248 624 9234 P O BOX 437 Wixom MI 48393 7037 U S A solutions acromag com Copyright 2009 Acromag Inc Printed in the USA Data and specifications are subject to change without notice 8500 839 B11C007 retired ...

Page 2: ...C The inputs normally function as independent input level detectors without interrupts However each input line includes built in event sense circuitry with programmable polarity debounce and interrupt support Inputs also include hysteresis for increased noise immunity The IOS 440 utilizes state of the art Surface Mounted Technology SMT to achieve its wide functionality and is an ideal choice for a...

Page 3: ...ed keep the carton and packing material for the agent s inspection For repairs to a product damaged in shipment refer to the Acromag Service Policy to obtain return instructions It is suggested that salvageable shipping cartons and packing material be saved for future use in the event the product must be shipped This board is physically protected with packing material and electrically protected wi...

Page 4: ...ual inputs also include selectable hardware debounce in Enhanced Mode For event sensing the Enhanced Mode allows a specific input level transition High to Low Low to High or Change of State to be detected and optionally generate an interrupt Memory is organized and addressed in separate banks of eight registers or ports eight ports to a bank The Standard Mode of operation addresses the first group...

Page 5: ... Register IN08 IN15 02 05 Not Driven1 READ4 Port 2 Register IN16 IN23 04 07 Not Driven1 READ4 Port 3 Register IN24 IN31 06 09 Not Driven1 READ2 Port 4 NOT USED 08 0B Not Driven1 READ2 Port 5 NOT USED 0A 0D Not Driven1 READ2 Port 6 NOT USED 0C 0F Not Driven1 READ Port 7 READ MASK REGISTER Also Current Bank Status 0E 0F Not Driven1 WRITE Port 7 WRITE MASK REGISTER Also Bank Select Register 0E Table ...

Page 6: ... return the status of the mask in bits 0 3 Standard Mode Write Mask Register Port 7 BIT WRITE TO REGISTER READ FROM REGISTER 0 Port 0 Write Mask Port 0 Write Mask 1 Port 1 Write Mask Port 1 Write Mask 2 Port 2 Write Mask Port 2 Write Mask 3 Port 3 Write Mask Port 3 Write Mask 4 7 NOT USED NOT USED Bits 4 7 of this register are not used On power up reset all bits are set to 0 To switch to Enhanced ...

Page 7: ... the carrier board see Interrupt Enable Register Event Interrupt Status Register for Ports 0 3 BIT READ EVENT STATUS REGISTER 0 Port 0 Interrupt Status IN00 IN07 1 Port 1 Interrupt Status IN08 IN15 2 Port 2 Interrupt Status IN16 IN23 3 Port 3 Interrupt Status IN24 IN31 4 6 NOT USED 7 Interrupt Status Flag Event Polarity Control Register For Ports 0 3 Enhanced Mode Bank 1 Port 6 Write Only A write ...

Page 8: ...OS clock for debounce The IOS 440 always uses the 8MHz clock for debounce and this register is only provided to facilitate backwards compatibility with the IOS 440 This register is cleared following a reset Bank Select Write Status Read Register 2 Enhanced Mode Bank 2 Port 7 Read and Write Bits 0 5 of this register are not used Bits 6 7 of this register are used to indicate read or select write th...

Page 9: ... input lines 0 31 Additionally ports are grouped eight to a bank There are four banks of ports used for controlling this module Standard Mode plus Enhanced Mode Banks 0 1 and 2 plus 2 additional registers for enabling the interrupt request line generating a software reset and storing the interrupt vector Each port input line is bipolar and accepts both positive and negative input voltages in two r...

Page 10: ... channel has been reset by writing a 1 to the corresponding event sense bit in the Event Sense Status Register after writing 0 to clear the event sense flip flop Interrupts may be reflected internally and reported by polling the module or optionally reported to the carrier by enabling control of the Interrupt Request line Intreq0 Control of this line is initiated via Bit 0 of the Interrupt Enable ...

Page 11: ...or while writing a 0 clears the event sensed without enabling further event sensing 9 Write 00H to the port 7 address to select register bank 0 where the port 0 input channels may be write masked Note that the port 7 address bank selection only operates from bits 6 7 of this register Likewise this register has a dual function depending on whether a read or write is executed As such the polarity se...

Page 12: ...en a board is first produced and when any repair is made it is tested placed in a burn in room at elevated temperature and retested before shipment Please refer to Acromag s Service Policy Bulletin or contact Acromag for complete details on how to obtain parts and repair PRELIMINARY SERVICE PROCEDURE Before beginning repair be sure that all of the procedures in Section 2 Preparation For Use have b...

Page 13: ...with no digital upsets Conducted RF Immunity CRFI Complies with EN61000 4 6 3V rms 150KHz to 80MHz and European Norm EN50082 1 with no digital upsets Electromagnetic Interference Immunity EMI No digital upset under the influence of EMI from switching solenoids commutator motors and drill motors Electrostatic Discharge Immunity ESD Complies with EN61000 4 2 Level 3 8KV enclosure port air discharge ...

Page 14: ...ebounce times are programmable and derived from the 8MHz system clock in combination with the debounce duration register value Debounce times are applied at the FPGA input and do not include opto coupler delay time Debounce values of 4us 64us 1ms and 8ms may be configured Each debounce time has an error of up to 375ns Interrupts Each channel has configurable interrupts They may be configured for h...

Page 15: ...LE 32 CHANNEL ISOLATED DIGITAL INPUT MODULE _________________________________________________________________________________________ 15 Acromag Inc Tel 248 295 0310 Fax 248 624 9234 Email solutions acromag com http www acromag com ...

Reviews: