Inhaltszusammenfassung für Addi-Data ADDICOUNT APCI-1710
Seite 1
DIN EN ISO 9001:2000 zertifiziert ADDI-DATA GmbH Dieselstraße 3 D-77833 OTTERSWEIER +49 (0)7223 / 9493 – 0 Funktionsbeschreibung ADDICOUNT APCI-/CPCI-1710 Pulse Width Modulation PWM 2. Ausgabe 12/2004...
Seite 2
Drucklegung. Der Inhalt dieses Handbuchs und die technischen Daten des Produkts können ohne vorherige Ankündigung geändert werden. Die ADDI-DATA GmbH behält sich das Recht vor, Änderungen bzgl. der technischen Daten und der hierin enthaltenen Materialien vorzunehmen. Gewährleistung und Haftung Der Nutzer ist nicht berechtigt, über die vorgesehene Nutzung der Karte hinaus Änderungen des...
WARNUNG Bei unsachgemäßen Einsatz und bestimmungswidrigem Gebrauch der Karte können: ♦ Personen verletzt werden, ♦ Baugruppe, PC und Peripherie beschädigt werden, ♦ Umwelt verunreinigt werden. ♦ Schützen Sie sich, andere und die Umwelt! ♦ Sicherheitshinweise unbedingt lesen. Liegen Ihnen keine Sicherheitshinweise vor, so fordern Sie diese bitte an.
Bestimmungsgemässe Verwendung APCI-/CPCI-1710 BESTIMMUNGSGEMÄSSE VERWENDUNG Bestimmungsgemäßer Zweck Die Karte APCI-1710 eignet sich für den Einbau in einen PC mit PCI 5V/32 Bit Steckplätzen, der für elektrische Mess-, Steuer-, Regel- und Labortechnik im Sinne der EN 61010-1 (IEC 61010-1), eingesetzt wird. Die Karte CPCI-1710 eignet sich für den Einbau in einen CompactPCI-System mit PCI 5V/32 Bit Steckplätzen, der für elektrische Mess-, Steuer-, Regel- und Labortechnik im Sinne der EN 61010-1 (IEC 61010-1), eingesetzt wird.
APCI-/CPCI-1710 Bestimmungsgemässe Verwendung Je nach verwendeter Funktion finden Sie die notwendigen Belegungs- und Programmierinformationen in den einzelnen Handbüchern. Tabelle 1-1: Mitgelieferte Funktionshandbücher Funktion PDF Datei Funktionsbezeichnung (CD2 technical manuals) in SET1710 Datei deutsch englisch Inkrementalzähler Inkr_zähler_d.pdf incr_counter_e.pdf Incremental counter inc_cpt.cfg SSI_d.pdf SSI_e.pdf ssi.cfg...
Pulse width modulation (PWM) APCI-/CPCI-1710 PULSE WIDTH MODULATION (PWM) Funktionsbeschreibung Die Funktion "PWM" ist eine Schnittstelle zur Pulsbreitenmodulation. Sie erzeugt eine Frequenz und legt die Zeitdauer des Low und High Pegels fest. Für diese Funktion stehen zur Verfügung: ein 32-Bit Frequenzgenerator für die Einstellung des LOW und HIGH Pegels, 2 digitale Eingänge als Start oder Stop-Trigger 2 digitale Ausgänge für die Frequenzausgabe.
Pulse width modulation (PWM) APCI-/CPCI-1710 Pinbelegung der PWM WICHTIG! Die Funktionsmodule weisen unterschiedliche Bezeichnungen in der Hardware- bzw. Software-Beschreibungen auf. Für die Steckerbelegung (Hardware) werden die Module von 1 bis 4 nummeriert. Für das SET1710 Programm oder die Softwarefunktionen (Software) BEGINNT die Modulnummerierung mit 0.
Pulse width modulation (PWM) APCI-/CPCI-1710 Beschreibung der E/A Funktionen Die Funktion "PWM" ist eine abgemagerte Version der Funktion Zähler/Timer für die APCI-/CPCI-1710. Als Funktion kann der PCI Takt/4 -zeugt Rechtecksignale. Die Ausgangsimpulse aus dem Timer generieren die Pulsbreitenmodulation. PWM Generator Der Low/High Zeit-Teilerfaktor wird in den Timer geschrieben und legt die Ausgangsfrequenz fest.
APCI-/CPCI-1710 Pulse width modulation (PWM) 2.6.3 PWM status register Write: DQ0: Deaktiviert die PWM Aktiviert die PWM DQ4: Kein Funktion Setzt die PWM Initialisierung zurück Read: DQ0: PWM Software-Gate nicht gesetzt PWM Software-Gate gesetzt DQ4: PWM nicht initialisiert PWM initialisiert DQ5: PWM nicht gestartet PWM im Laufen...
APCI-/CPCI-1710 Standardsoftware STANDARDSOFTWARE Define-Werte Tabelle 3-1: Define-Tabelle Define Name Dezimal Hexadezimal Wert Wert DLL_COMPILER_C DLL_COMPILER_VB DLL_COMPILER_PASCAL DLL_LABVIEW DLL_COMPILER_VB5 APCI1710_30MHZ APCI1710_33MHZ APCI1710_40MHZ Interruptmaske Jeder PWM Timer kann einen Interrupt generieren, nachdem der Periodenzyklus abgelaufen ist. Um diesen Interrupt zu bekommen: sollen Sie den Interrupt mit "i_APCI1710_EnablePWM" freigeben und die Interruptroutine mit der Funktion "i_APCI1710_SetBoardIntRoutineX"...
APCI-/CPCI-1710 Standardsoftware Tabelle 3-3: Zeitwert-Tabelle Clock selection b_TimingUnit ul_TimingInterval ul_TimingInterval minimal value maximal value 4294967295 µs 571230650 APCI1710_30MHZ 571230 4294967295 µs 519691043 APCI1710_33MHZ 519691 4294967295 µs 429496729 APCI1710_40MHZ 429496 Aufgabe: Konfiguriert den ausgwählten PWM Generator (b_PWM) auf das ausgewählte Modul (b_ModulNbr). ul_LowTiming, ul_HighTiming und ul_TimingUnit legen die Zeitdauer des Low/High Pegels fest.
Seite 18
Standardsoftware APCI-/CPCI-1710 Funktionsaufruf: ANSI C: i_ReturnValue; unsigned char b_BoardHandle; unsigned long ul_RealLowTiming; unsigned long ul_RealHighTiming; i_ReturnValue = i_APCI1710_InitPWM (b_BoardHandle, APCI1710_40MHZ, 100, 500, &ul_RealLowTiming, &ul_RealHighTiming); Return Wert: 0: Kein Fehler -1: Handle Parameter der Karte ist falsch -2: Die ausgewählte Modulnummer ist falsch -3: Das ausgewählte Modul ist kein "PWM"-Modul.
Seite 19
APCI-/CPCI-1710 Standardsoftware Eingabe b_BoardHandle ul_LowTiming b_ModulNbr ul_HighTiming b_PWM pul_RealLowTiming b_ClockSelection pul_RealHighTiming b_TimingUnit Funktion i_APCI1710_InitPWM Begin If b_BaordHandle OK ? Test if PWM module? Input parameter OK? Initialise the i_APCI1710_InitPWM i_APCI1710_InitPWM Error Ausgabe pul_RealLowTiming pul_RealHighTiming <Return Wert>...
Standardsoftware APCI-/CPCI-1710 i_APCI1710_EnablePWM (...) Syntax: <Return Wert> = i_APCI1710_EnablePWM (BYTE b_BoardHandle, BYTE b_ModulNbr, BYTE b_PWM, BYTE b_StartLevel, BYTE b_StopMode, BYTE b_StopLevel, BYTE b_ExternGate, BYTE b_InterruptEnable) Parameter: - Eingabe: BYTE b_BoardHandle Handle der Karte APCI-/CPCI_1710 BYTE b_ModulNbr Nummer des zu konfigurierenden Moduls (0 bis 3) BYTE b_PWM...
Seite 21
APCI-/CPCI-1710 Standardsoftware Aufgabe: Aktiviert den ausgewählten PWM Generator (b_PWM) des angegebenen Moduls (b_ModulNbr). Rufen Sie die Funktion "i_APCI1710_InitPWM" auf, bevor Sie auf eine andere Funktion zugreifen. Falls der PWM Interrupt aktiviert wird, generiert der PWM einen Interrup nach jeder Periode. Siehe Funktion "i_APCI1710_SetBoardIntRoutineX"...
Seite 22
Standardsoftware APCI-/CPCI-1710 Eingabe b_BoardHandle b_StopMode b_ModulNbr b_StopLevel b_PWM b_ExternGate b_StartLevel b_InterruptEnable Funktion i_APCI1710_EnablePWM Begin If b_BaordHandle OK ? Test if PWM module? Input parameter OK? Interrupt routine Interrupt enabled? installed? Enable the interrupt Enable the i_APCI1710_EnablePWM i_APCI1710_EnablePWM Error Ausgabe <Return Wert>...
APCI-/CPCI-1710 Standardsoftware i_APCI1710_SetNewPWMTiming (...) Syntax: <Return Wert> = i_APCI1710_InitPWM (BYTE b_BoardHandle, BYTE b_ModulNbr, BYTE b_PWM, BYTE b_TimingUnit, ULONG ul_LowTiming, ULONG ul_HighTiming) Parameter: - Eingabe: BYTE b_BoardHandle Handle der Karte APCI-/CPCI_1710 BYTE b_ModulNbr Nummer des zu konfigurierenden Moduls (0 bis 3) BYTE b_PWM Ausgewählter PWM Generator...
Seite 24
Standardsoftware APCI-/CPCI-1710 -5: PWM nicht initialisiert. Siehe Funktion "i_APCI1710_InitPWM" -6: Die ausgewählte Zeiteinheit ist falsch -7: Eingestellte "Low" Basiszeit ist falsch -8: Eingestellte "High" Basiszeit ist falsch Eingabe b_BoardHandle b_TimingUnit b_ModulNbr ul_LowTiming b_PWM ul_HighTiming Funktion i_APCI1710_SetNewPWMTiming Begin If b_BaordHandle OK ? Test if PWM module? Input parameter OK? Set the new...
APCI-/CPCI-1710 Standardsoftware i_APCI1710_DisablePWM (...) Syntax: <Return Wert> = i_APCI1710_DisablePWM (BYTE b_BoardHandle, BYTE b_ModulNbr, BYTE b_PWM) Parameter: - Eingabe: BYTE b_BoardHandle Handle der Karte APCI-/CPCI_1710 BYTE b_ModulNbr Nummer des zu konfigurierenden Moduls (0 bis 3) BYTE b_PWM Ausgewählter PWM Generator (0 oder 1) - Ausgabe: Es erfolgt keine Ausgabe Aufgabe:...
Seite 26
Standardsoftware APCI-/CPCI-1710 Eingabe b_BoardHandle b_PWM b_ModulNbr Funktion i_APCI1710_DisablePWM Begin If b_BaordHandle OK ? Test if PWM module? Interrupt enabled? Disable the PWM interrupt Disable the i_APCI1710_DisablePWM i_APCI1710_DisablePWM Error Ausgabe <Return Wert>...
Seite 28
Standardsoftware APCI-/CPCI-1710 PBYTE pb_ExternGate External gate action selection 0: External gate signal not used. 1: External gate signal used. PBYTE pb_InterruptEnable Aktiviert or Deaktiviert the PWM interrupt. APCI1710_ENABLE: Aktiviert the PWM interrupt. An interrupt occurs after each period APCI1710_DISABLE: Deaktiviert the PWM interrupt PBYTE pb_Enable...
Seite 29
APCI-/CPCI-1710 Standardsoftware Eingabe b_BoardHandle pb_StartLevel b_ModulNbr pb_StopMode b_PWM pb_StopLevel pb_TimingUnit pb_ExternGate pul_LowTiming pb_InterruptEnable pul_HighTiming pb_Enable Funktion GetPWMInitialisation Begin If b_BaordHandle OK ? Test if PWM module? Get PWM initialisation GetPWMInitialisation GetPWMInitialisation Error Ausgabe pb_TimingUnit pul_LowTiming pul_HighTiming pb_StartLevel pb_StopMode pb_StopLevel pb_ExternGate pb_InterruptEnable pb_Enable <Return Wert>...
Standardsoftware APCI-/CPCI-1710 3.3.2 PWM Status i_APCI1710_GetPWMStatus (...) Syntax: <Return Wert> = i_APCI1710_GetPWMStatus (BYTE b_BoardHandle, BYTE b_ModulNbr, BYTE b_PWM, PBYTE pb_PWMOutputStatus, PBYTE pb_ExternGateStatus) Parameter: - Eingabe: BYTE b_BoardHandle Handle der Karte APCI-/CPCI_1710 BYTE b_PWM Ausgewählter PWM Generator (0 oder 1) BYTE b_ModulNbr Nummer des zu konfigurierenden Moduls (0 bis 3)
Seite 31
APCI-/CPCI-1710 Standardsoftware Eingabe b_BoardHandle pb_PWMOutputStatus b_ModulNbr pb_ExternGateStatus b_PWM Funktion i_APCI1710_GetPWMStatus Begin If b_BaordHandle OK ? Test if PWM module? if PWM initialised ? Get the PWM status i_APCI1710_GetPWMStatus i_APCI1710_GetPWMStatus Error Ausgabe pb_PWMOutputStatus pb_ExternGateStatus <Return Wert>...
Standardsoftware APCI-/CPCI-1710 3.3.3 Windows NT/95 interrupt kernel functions IMPORTANT! These functions are only available for the Windows NT and Windows 95/98 user interrupt routine in the synchronous mode. See function "i_APCI1710_SetBoardIntRoutineWin32" i_APCI1710_KRNL_GetPWMStatus (...) Syntax: <Return Wert> = i_APCI1710_KRNL_GetPWMStatus (UINT ui_BaseAddress, BYTE b_ModulNbr, BYTE...
Seite 33
APCI-/CPCI-1710 Standardsoftware Return Wert: 0: Kein Fehler -1: Module selection wrong -2: The module is not a PWM module -3: PWM Auswahl ist falsch -4: PWM nicht initialisiert. Siehe Funktion_APCI1710_InitPWM" -5: PWM nicht aktiviert. Siehe Funktion "i_APCI1710_EnablePWM" Eingabe ui_BaseAddress pb_PWMOutputStatus b_ModulNbr pb_ExternGateStatus b_PWM...
Standardsoftware APCI-/CPCI-1710 i_APCI1710_KRNL_SetNewPWMTiming (...) Syntax: <Return Wert> = i_APCI1710_KRBL_InitPWM (UINT ui_BaseAddress, BYTE b_ModulNbr, BYTE b_PWM, BYTE b_ClockSelection, BYTE b_TimingUnit, ULONG ul_LowTiming, ULONG ul_HighTiming) Parameter: - Eingabe: UINT ui_BaseAddress Basisadresse der APCI-/CPCI-1710 BYTE b_ModulNbr Nummer des zu konfigurierenden Moduls (0 bis 3) BYTE b_PWM Ausgewählter PWM Generator (0 oder 1).
Seite 35
APCI-/CPCI-1710 Standardsoftware Funktionsaufruf: ANSI C: i_ReturnValue; unsigned int ui_BaseAddress; i_ReturnValue = i_APCI1710_InitPWM (ui_BaseAddress, APCI1710_40MHZ, 100, 500); Return Wert: 0: Kein Fehler -1: Handle Parameter der Karte ist falsch -2: Die ausgewählte Modulnummer ist falsch -3: Das ausgewählte Modul ist kein "PWM"-Modul. -4: PWM Auswahl ist falsch -5: PWM nicht initialisiert.
Seite 36
Standardsoftware APCI-/CPCI-1710 Eingabe ui_BaseAddress b_TimingUnit b_ModulNbr ul_LowTiming b_PWM ul_HighTiming b_ClockSelection Funktion i_APCI1710_KRNL_SetNewPWMTiming Begin Test if PWM module? Input parameter OK? Set the new PWM timing i_APCI1710_KRNL_SetNewPWMTiming i_APCI1710_KRNL_SetNewPWMTiming Error Ausgabe <Return Wert>...