Connect with us

pulse generator

Discussion in 'Electronic Design' started by Michael, Jan 21, 2008.

Scroll to continue with content
  1. Michael

    Michael Guest

    Hi everybody
    I need a test jig that outputs three logic signals and has one logic
    input. Time resolution accuracy is ~500ns.
    It is needed to burn-in test a board (few at a time). We do not want
    to tie up CPU board that usually does this job. Probably something
    that has USB connector, may be set up to run by itself (so we do not
    have to have a PC attached to each of them)
    I have a feeling that somebody should make a plastic box that would do
    the job. Has anybody came across something like this?
    Thank you!
    Michael
     
  2. Mike Silva

    Mike Silva Guest

    I think you need to be more specific about the nature of the outputs,
    how programmable they need to be, etc.
     
  3. Michael

    Michael Guest

    It is very basic,
    I need a logic level to turn a power supply on, wait for few
    milliseconds when "ready" signal arrives, turn power supply off,
    generate ~1us pulse within at the same time (within few hundred ns),
    generate another ~2-5us pulse few hundred microseconds later. Repeat.
    Thing like this (just came across it) http://www.accesio.com/go.cgi?p=../usb/usb-dio-32.html
    would probably do the job. I'd like to find the one that:
    1. Has easy to use GUI
    2. Can run by itself (after USB is unplugged)
     
  4. Frank Buss

    Frank Buss Guest

    Can you trigger your sequence with the ready signal with this device
    without the USB connection?
    You could use a PIC for it. The free MPLAB IDE has a GUI and the serial
    connection of a PIC Start Plus can be connected with a
    USB-to-serial-converter :)
    E.g. with the 16F628 the first pulse can be generated within a few hundred
    ns after the ready signal was received. Your description is not very exact,
    but I assume the following:

    1. PIC starts
    2. power on output = 1
    3. wait for rising edge on the READY input
    4. power on output = 0
    5. generate 1us pulse on pulse output
    6. wait 300ms
    7. generate 2us pulse on pulse output
    8. wait 300ms
    9. goto 2

    The following program implements it, when clocked with 12MHz. If you don't
    need < 1us response time, you could use a cheaper PIC with a 4MHz external
    oscillator (you have to remove some NOPs and adjust the delay loop lower
    clocks)

    LIST P=16F628

    #include "P16F628.INC"

    org 0

    ; destinations
    W EQU D'0'
    F EQU D'1'

    ; port A bits
    READY EQU D'2'
    POWER EQU D'0'
    PULSE EQU D'1'

    ; temporary registers
    TMP1 EQU H'20'
    TMP2 EQU H'21'
    TMP3 EQU H'22'


    ; program start

    ; init
    clrf STATUS
    clrf INTCON
    bcf STATUS, RP0 ; select bank 0
    movlw D'0' ; set levels low
    movwf PORTA ; for port A
    movlw 0x07 ; turn comparators off and
    movwf CMCON ; enable pins for I/O functions
    bsf STATUS, RP0 ; select bank 1
    movlw B'11111100' ; set bit 0 and 1 port A as output
    movwf TRISA - H'80'
    bcf STATUS, RP0 ; select bank 0

    ; power on
    POWER_ON bsf PORTA, POWER

    ; wait for ready signal low
    WAIT_READY1 btfsc PORTA, READY ; skip if ready signal is not set
    goto WAIT_READY1 ; else goto wait

    ; wait for ready signal high
    WAIT_READY2 btfss PORTA, READY ; skip if ready signal is set
    goto WAIT_READY2 ; else goto wait

    ; power off
    bcf PORTA, POWER

    ; 1us pulse
    bsf PORTA, PULSE
    nop
    nop
    bcf PORTA, PULSE

    ; wait 300ms
    movlw D'30'
    call WAIT10MS

    ; 2us pulse
    bsf PORTA, PULSE
    nop
    nop
    nop
    nop
    nop
    bcf PORTA, PULSE

    ; wait 300ms
    movlw D'30'
    call WAIT10MS

    ; repeat
    goto POWER_ON

    ; wait some W*10ms
    WAIT10MS movwf TMP1
    WAIT2 movlw d'100'
    movwf TMP2
    WAIT3 movlw d'74'
    movwf TMP3
    WAIT4 decf TMP3, F
    btfss STATUS, Z
    goto WAIT4
    decf TMP2, F
    btfss STATUS, Z
    goto WAIT3
    decf TMP1, F
    btfss STATUS, Z
    goto WAIT2
    return

    end
     
  5. John Fields

    John Fields Guest

    ---
    Please bottom post.

    1. Where does the "ready" signal come from?
    2. Is the 1µs pulse supposed to be generated when the power supply
    turns on or when the ready signal arrives?
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-