Welcome to the Industrial Automation website!

NameDescriptionContent
XING-Automation
E-mail  
Password  
  
Forgot password?
  Register
当前位置:

ADLINK cPCI/PCI-8554/R: A Complete Guide from Architecture to Application

F: | Au:FANS | DA:2026-08-12 | 356 Br: | 🔊 点击朗读正文 ❚❚ ▶ | Share:



ADLINK cPCI/PCI-8554/R: A Complete Guide from Architecture to Application

In the fields of industrial automation, data acquisition, and testing measurement, multifunctional counters/timer cards play a crucial role. They are not only the cornerstone of event counting, frequency measurement, and pulse width capture, but also the key components for building complex measurement and control systems. The cPCI/PCI-8554/R series multifunctional counter/timer card launched by ADLINK Technology occupies a place in many industrial applications with its flexible architecture, powerful feature set, and reliable PCI/CompactPCI interface. This article aims to deeply analyze the hardware architecture, core configuration, key application modes, and software development points of this series of boards, providing engineers with a detailed guide from theory to practice.


Hardware Architecture Overview: The Powerful Combination of Four Core 8254

The core competitiveness of cPCI/PCI-8554/R comes from its onboard four 8254 programmable interval timer/counter chips. 8254 is an industry standard counter chip, which contains three independent 16 bit subtraction counters inside each chip. Four chips work together to provide users with a total of 12 counters (numbered 1 to 12).

These 12 counters are not simply connected in parallel, but have achieved highly flexible interconnection through careful hardware design and software configuration. The flexibility of its architecture is mainly reflected in the following aspects:

Counter type classification: Counter 1 to 10 are designed as "independent counters". This means that their clock sources and gate signals can be independently configured through software, with diverse sources. Counter 11 and 12 are defaulted to be "cascaded counters", where the output of counter 11 (COUP11) serves as the clock input of counter 12, forming a 32-bit cascaded structure, mainly used in situations where large frequency division coefficients or long timing are required. Of course, users can also change counters 11 and 12 to independent mode through onboard jumpers (JP12, JP13), allowing their clock sources to choose between internal 8MHz or external inputs (ECLK11, ECLK12).

Flexible clock system: The clock source (CLKn) of each independent counter (1-10) can be freely switched among four sources through software:

External clock source (ECLKn): An external TTL signal from a connector, suitable for synchronizing with external events.

Front stage counter output (COUPn-1): Implement cascading between counters to build 32-bit, 48 bit, or even higher resolution counter chains.

Internal clock CK1: A programmable internal clock signal that can be divided by an 8MHz fundamental frequency or the output of counter 11 (COUP11), providing additional flexibility.

Counter 10 output (COUP10): Provides a clock option for feedback from a specific counter.

Intelligent gate control and debounce: The gate control signal (GATEn) of each independent counter (1-10) can be selected as internal default enable (high level) or external signal from the connector (ExtG n). External gating is the foundation for applications such as pulse width measurement and frequency measurement. Of particular importance, the board provides optional debounce circuits for external input clocks (ECLK 1-10) and external interrupt signals (E_INT). By using onboard jumpers (JP1~JP11) and software configuration (selecting the debounce clock DB_CK), common signal jitter and spike pulses in industrial sites can be effectively filtered out, ensuring measurement accuracy and system stability. The debounce principle requires the signal to maintain a stable state for at least four DB_CK cycles in order to be recognized as an effective level change.

Dual Interrupt System: This board supports dual interrupt sources, namely the output of counter 12 (COUP12) and external interrupt input (E_INT). These two interrupt sources share an interrupt number (INT A) on the PCI bus, but can be distinguished by software querying the status register (reading _8554_Get_iRQ_Status). This design is highly suitable for complex applications that require handling both periodic timed tasks (such as watchdog) and external emergency events simultaneously.

Digital I/O and power output: In addition to powerful timing/counting functions, the board also provides 8 TTL compatible digital inputs and 8 digital outputs for basic status monitoring and control. In addition, through the 100 pin SCSI-II connector, the board also provides+12V and+5V power outputs (with a current limit of 500mA per circuit), which can directly supply power to external sensors or low-power circuits, simplifying system design.


Detailed explanation of core configuration and jumper settings

The correct configuration is a prerequisite for the stable operation of the board. The configuration method of cPCI/PCI-8554/R combines hardware jumpers and software programming.

Hardware jumpers (JP1~JP15):

JP1~JP11: Enable the debounce function corresponding to external clocks ECLK1~ECLK10 and external interrupt E_INT, respectively. When the jumper is set to 1-2 (Enable), enable debounce; When set to 2-3 (Bypass), the bypass debounce circuit is used and the signal passes directly through. The default factory setting is bypass (without debounce function).

JP12: Select the clock source for counter 11. When set to 1-2, select the external clock ECLK11; When set to 2-3 (default), select the internal 8MHz clock.

JP13: Select the clock source for counter 12. When set to 1-2, select the external clock ECLK12; When set to 2-3 (default), select the output COUP11 of counter 11.

JP14, JP15 (only cPCI-8554/R): Used to select the voltage source for the gate control signals (GATE11, GATE12) of counter 11 and counter 12, connected by default to VCC (high-level enable).

Software configuration (key API functions):

_8554Initialize: The card initialization function must be called first. It is responsible for obtaining the base address and interrupt number allocated by the PCI BIOS, and returning the number of cards present in the system.

_8554_SET_cntCLK: Select clock sources (ECLKn, COUPn-1, CK1, COUP10) for counters 1-10.

_8554_SET-CK1: Configure the source of the internal clock CK1 (8MHz baseband or COUP11).

_8554_SET-DBCLK: Configure the sampling clock DB_CK (COUP11 or 2MHz) for the debounce circuit. Note that the DB_CK frequency cannot exceed 2MHz.

_8554-Write_Counter: Write the count value to the specified counter and set its working mode (modes 0-5, corresponding to the six working modes of 8254, such as mode 2 as a frequency divider and mode 3 as a square wave generator).

_8554_Set-INT_Control: Independently enable or disable two interrupt sources (INT1 from COUP12, INT2 from E_INT).

Typical application scenarios and case analysis

This chapter will combine examples from the manual to deeply analyze several typical engineering applications, helping engineers quickly get started.

1. High precision frequency generator

Requirement: Generate an accurate, low-frequency square wave signal, such as a pulse with a period of 1 hour.

Challenge: A single 16 bit counter has a minimum output frequency of 8MHz/65536 ≈ 122Hz at an 8MHz clock, which is much higher than 0.000278Hz (1/3600).

Solution: Adopt counter cascading. In the manual example DEMO2, cascade counters 1, 2, and 3 together. Set the clock of counter 1 to internal 8MHz and the count value to 4000; The clock of counter 2 comes from COUP1, and the count value is set to 2000; The clock of counter 3 comes from COUP2, and the count value is set to 3600.

Total frequency calculation: 8000000/4000/2000/3600=1/3600 Hz. That is, COUP3 generates a pulse every 3600 seconds (1 hour).

Implementation points: In the software, it is necessary to first set the clock source of counter 2 to COUP1 and the clock source of counter 3 to COUP2 through _8554_SET-cntCLK. Then call _8554_Srite_Counter separately to set the mode and initial value of each counter (usually using mode 2 or mode 3). Gate control signal suspended (internal pull-up enabled).

2. Pulse width measurement

Requirement: Accurately measure the duration of high or low levels of an external TTL signal.

Principle: Use the gate control signal GATE to enable the counter. During the validity period of GATE, the counter counts the internal clock of a known frequency, and the pulse width is obtained by multiplying the count value by the clock period.

Solution: Taking manual DEMO3 as an example, connect the test signal to GATE1. Select an internal 2MHz clock as the clock source for counter 1. This clock can be obtained by dividing the internal 8MHz frequency by counter 2 (for example, counter 2 is set to divide by 4). At this time, the counting range of the counter is 1/2MHz=500ns, and the maximum measurable pulse width is 500ns * 65535 ≈ 32.8ms.

Implementation points: Configure counter 2 to be in frequency divider mode, generate a 2MHz clock, and use it as the clock source for counter 1 (via _8554_SET_cntCLK). Configure counter 1 as mode 0 (end of count interrupt) or mode 2 (frequency divider), with its gate source being external GATE1. When GATE1 is high, the counter starts counting; When GATE1 goes low, the counter stops. The software reads the current count value of counter 1 (_8554_ Read_Sunter), and then subtracts the current value from the initial value to obtain the count during the high-level period.

3. Frequency measurement

Requirement: Measure the frequency of an external TTL signal ranging from 1KHz to 100KHz.

Principle: The "frequency measurement method" is used, which measures the number of rising edges of the signal to be measured within a known precise time interval (gate time). Frequency=count value/gate time.

Solution: Two counters are required. A counter (such as counter 3) is used to generate accurate gate time, and its output serves as the gate signal for another counter (such as counter 1). As shown in manual DEMO4, use a cascaded or independent counter to generate a gate signal with a low pulse width of less than 0.65 seconds (ensuring that counter 1 does not overflow at a maximum frequency of 100KHz). Connect the test signal to the external clock ECLK1 of counter 1 and suggest enabling the debounce function. Counter 1 counts the rising edge of ECLK1 during the validity period of the gate signal.

Key points of implementation: Counter 3 operates in monostable or square wave mode, generating a negative pulse with precise width as GATE1. The clock source of counter 1 is set to ECLK1, and the gate source is set to external GATE1. After the gate signal ends, the software reads the count value of counter 1 and calculates the frequency to be measured based on the gate time.

4. Event counting and watchdog timer

Requirement: Count the number of internal and external events that occur within one second.

Solution: This application combines a frequency generator and an event counter. Use counters 11 and 12 (cascaded by default) as 32-bit timers, and generate a 1-second timing signal using their precise 8MHz clock. Meanwhile, using counter 1 as the event counter, the clock source is the external event signal ECLK1, and the gate signal is controlled by COUP12 (enabled within 1 second). When COUP12 outputs a high level with a width of 1 second, counter 1 starts counting external events. After 1 second, the gate control signal goes low and counter 1 stops counting. At this time, the value of counter 1 is read, which is the total number of events in that second. This mechanism can be extended to a watchdog timer: if the system does not "feed the dog" within the set time (such as resetting counter 12 through software), counter 12 will generate an interrupt (INT1), triggering a system reset or alarm. This fully utilizes the dual interrupt system of the board, providing a highly reliable system monitoring method.


Key points of software development and debugging

Initialization process: Any application must first call _8554-INitial (or W_8554-INitial under Windows). This function will fill a PCI-INFO structure, which contains the key base address (for all subsequent register operations) and the assigned IRQ number.

Cascade configuration sequence: When configuring cascade counters in software, they should be set in the order from back to front. For example, when configuring the cascading of counters 1->2->3, the mode and initial value of counter 3 should be configured first, followed by counter 2, and finally counter 1. This can avoid unexpected output jumps during the configuration process.

Interrupt Service Program: In the DOS environment, the Interrupt Service Program (ISR) needs to be written by the user and hooked through _8554-INT_Enable. In ISR, you must call _8554_Get_IRQ_Status to determine which interrupt source triggered the interrupt, and call _8554_CLR_IRQ1 or _8554_CLR_IRQ2 to clear the interrupt status after processing, otherwise the interrupt source cannot be triggered again.

De jitter configuration: When using an external clock or external interrupt in a strong electromagnetic interference (EMI) environment, it is strongly recommended to enable the de jitter function through jumper wires and select the appropriate sampling clock through _8554_S_TDBCLK. Sacrificing small response delays in exchange for system stability and data accuracy is often worthwhile in industrial settings.

  • Promot Micro Design 2x8 Output 2087F
  • Micro Innovation XN-16DO-24VDC-0.5A Output Module
  • Micro Design System 96-002-03/1 Power Supply Board
  • Touch Screen for Moeller XV-252-57CNN-1-10 Digitizer
  • Micro Design Systems 96-002-03/1 Power Supply Board
  • Micropipette Variable Range 100-1000 Microliter
  • Murphy Nerve Hook 9 Inch Neurosurgery Instrument
  • Micro Innovation XN-2DI-24VDC-P Input Module 225169
  • Micro Innovation ST-GF0-57E0D-000 Touch Panel
  • Micro Innovation XN-S4T-SBBC Base Module
  • Micro Innovation XN-2DO-24VDC-0.5A-P Output
  • Micro Innovation XN-PF-24VDC-D 8550225186
  • Eaton Micro Innovation XV-230-57MPN-1-10 Panel
  • Micro Design MC100-BED REV2 ME96049 Board
  • Micro Innovation XN-PF-24VDC-D 85 50 225186
  • Micro Innovation XN-PF-24VDC-D Communication Module
  • Micro Innovation CPC-600M-10 FERAG Panel
  • Micro Design Systems 96-002-05/1 P-Bus Adapter
  • Micro Design System MPB1-TP 97-003-01/4 PCB Card
  • Eaton Micro Innovation XVS-440-12MPI-1-10 HMI
  • Micro Components 900806 Test Circuit Board
  • Promot Micro Design PL59-MOC ME95035
  • Micro Innovation XV-440-10TVB-1-21 Panel
  • Micro Forceps 3003-934 Micro Surgical Instrument
  • Eaton Micro Innovation XN-32DI-24VDC-P Module
  • MICRO INNOVATION AG XN-32DI-24VDC-P Input Module
  • Micro Innovation XN-PLC-CANOPEN 85 50 274124 Controller VN01-01
  • Micro Innovation XN-S4S-SBBS Base Module
  • Micro Innovation XN-2DO-24VDC-0.5A-P Module
  • Micro Design MPB2-TP Module
  • Micro Innovation XN-2DO-120/230VAC-0.5A Module
  • Artesyn NLP40-7629 AC/DC Converter
  • Micro Design Systems 96-002-10/1 Adapter
  • Micro Design 975 Microfiche Rubber Feet
  • Micro Innovation XN-32DI-24VDC-P Input Module
  • Micro Design MCVP 5/16 Control Module
  • Micro Innovation GF0-57SQD-000 Display Panel
  • Micro Design Systems 96-002-05/1 P-Bus Adapter
  • Micro Innovation Micro Panel GF1-10TVD-102
  • Micro Design MC100MA/V10 Board Microfiche Reader
  • Micro Design Systems AI0486 CPU Card Circuit Board
  • Micro Design System 96-002-01/2 GF-1 CPU Board
  • Micro Innovation MC2-440-12TSB-1-1K Touch Panel Glass
  • Micro Innovation CAN Bridge 85 51 224177
  • MICRO INNOVATION AG XN-32DO-24 Output Module
  • Micro Innovation XVS-430-10MPI-1-10 Panel 24VDC
  • Micro Innovation XV-440-12TSB-1-10 Display Panel
  • Romaco Micro Innovation MC2-442-57CQB-1-2A Panel
  • Micro Innovation XVS-430-10MPI-1-1AC HMI
  • Micro Innovation MC2-440-10TVB-1-2I Display Panel
  • Micro Innovation XV-442-57CQB-1-50 Display Panel
  • Micro Innovation XN-4DI-24VDC-N Input Module
  • Palmscan P2000 FP Pachymeter
  • Micro Innovation CAN-32DO/P-2X16 Output Module
  • Micro Innovation XV-460-84TVB-1-10 Display Panel
  • Eaton Micro Innovation XVS-460-15MPI-1-10 HMI
  • Micro Innovation GF2-15TXA-00 Operator Panel
  • Micro Innovation XN-4DO-24VDC-0.5A-P Output Module
  • Micro Innovation WINBLOC CAN-16DI-P Input Module
  • MICRO INNOVATION GF2-15TXA-000 Micro Panel
  • Micro Innovation XVS-460-57PMI-1-10 Touch Panel
  • Micro Innovation XV-102-B5-35TQR-10 HMI Panel
  • Micro Design MC100MA Microfiche Reader
  • MICRO INNOVATION XN-PLC-CANopen 85 50 274124 Controller
  • MICRO INNOVATION CAN-4AI/UI Analog Input Module
  • MICRO INNOVATION XVC-101-C192K-K82 Panel
  • Micro Innovation GF1-10TVA-100 Touch Panel
  • Micro Innovation GSO-57EQD-000 Operator Panel
  • Micro Innovation XN-2AI-U Analog Input Module
  • Micro Innovation CAN-4AI/UI Analog Input Module
  • Micro Innovation ZSB-1.5/8-S/S/-/PE Base Terminal
  • Micro Innovation AG XVH-340-57CAN-1-10 HMI Panel
  • Micro Innovation GSO-57EQD-000 Micro Panel
  • Micro Innovation XN-2AI-PT/NI-2/3 Input Module
  • Micro Innovation AG GF0-57SQD-000 Display Panel
  • MICRO INNOVATION AG XN-16DI-24VDC-P Input Module
  • Micro Innovation XN-2AI-PT/NI-2/3 Input Module
  • Micro Innovation MC2-442-57CQB-1-2G Display Panel
  • Micro Innovation XN-16DO-24VDC-0.5A-P Module
  • Micro Design MC200PROFI Programmable Module
  • Micro Innovation XV-252-57MPN-1-10 Micro Panel
  • Micro Innovation CAN-4AI/UI Analog Input Module
  • Micro Innovation GT1-MPI-A000 Panel
  • Micro Innovation MC2-440-10TVB-1-21 Display Panel
  • Micro Innovation XVS-430-57MPI-1-1S 6" HMI
  • Micro Innovation XV-442-57CQB-1-1AB Monitor
  • Micro Innovation ZSB-1.5/8-S/S/-/PE Base Terminal
  • Micro Design 895A Microfiche Reader
  • MICRO INNOVATION XNE-8DI-24VDC-P Input Module 8550100794
  • MICRO INNOVATION MICRO PANEL GF0-10CVD-002
  • Micro Innovation XN-PLC-CANopen Controller 85 50 274124
  • Micro Innovation Display Panel GS0-57E0D-000
  • MICRO INNOVATION CAN-32DI/P2X16 Input Module
  • MICRO INNOVATION XN-2DO-R-NO Relay Output Module
  • MICRO INNOVATION XNE-16DI-24VDC-P Input Module
  • Micro Innovation AG XN-2AI-U Analog Input Module
  • Micro Innovation XN-BR-24DC-D Power Supply
  • Micro Innovation MH2-342-57EIB-1-20 Panel
  • Micro Innovation XV-252-57MPN-1-10 Micro Panel
  • Micro Innovation Display Card EIB2-TP
  • Micro Innovation XV-252-57MPN-1-10 6" HMI
  • Micro Innovation XN-B3T-SBC 16x DO Base Module
  • Micro Innovation XVH-330-57MPI-1-10 Panel
  • Micro Innovation XN-BR-24VDC-D Power Module
  • Micro Innovation EIB2-TP EIB2TP Module
  • Micro Innovation GF0-10CVD-100 Touch Panel
  • MICRO INNOVATION XV-230-57CNN-1-10 HMI-PLC
  • MICRO INNOVATION XN-2DO-R-CO Relay Output Module
  • KMK MICRO INNOVATION GS2-90EMD-000 Micro Panel
  • Micro Innovation XN-2AO-U Analog Output Module
  • Micro Innovation XN-1AO-I Analog Output Module
  • Micro Innovation CAN-32DI/P-2x16 Rack Module
  • Eaton Micro Innovation MC2-440-10TVB-1-11 HMI
  • Micro Innovation AG CAN Bridge 8551224177
  • Micro Innovation XN-2AI-I Analog Input Module Set
  • Micro Innovation XN-4DI-24VDC-P Input Module
  • Micro Innovation Winbloc CAN-16DO/0.5A-PK Module
  • Micro Innovation Micro Panel GFO-10SVD-002 HMI
  • Micro Innovation CAN-24DI/8DO/0.5A-PK Module
  • Micro Innovation DP-24DI/8DO/0.5A-PK I/O Module
  • Weidmuller Micro Innovation CAN-BRIDGE ZSFA 1,5R
  • Micro Innovation CAN-3AI/1AO-UI Profibus Module
  • Micro Innovation PDP-TP Profibus DP Module
  • Micro Innovation CAN-3AI/1AO-UI Analog Module
  • Micro Innovation MC2-430-12TSB-10 HMI Panel
  • Micro Innovation XNE-8DO-24VDC-0.5A-P I/O Module
  • MICRO INNOVATION AG WINBLOC CAN-32DI/P-2x16 85 51 224182
  • MICRO INNOVATION AG WINBLOC CAN-4AO/UI 85 51 224195