Laser control via 7i76e - PPI / PPMM / PWM
09 Aug 2019 11:29 #141746
by SjCNC
Replied by SjCNC on topic Laser control via 7i76e - PPI / PPMM / PWM
Full output follows, but PWM lines are here at the top
Pin# I/O Pri. func Sec. func Chan
5 25 IOPort PWM 0 PWM (Out)
6 26 IOPort PWM 0 /Enable (Out)
7 27 IOPort PWM 0 Dir (Out)
So would this be pin 5 at the FPGA?
Would I/O 25 be expansion port 1, HDR pin 09?
I'm basing that assumption on the manual, page 7 or 13/86
HDR PIN P1 Func P2 FUNC
9 IO25 IO42
shawn@hptc:~/Documents/7i76eFW$ mesaflash --device 7i76e --addr 10.10.10.10 --readhmid
Configuration Name: HOSTMOT2
General configuration information:
BoardName : MESA7I76
FPGA Size: 16 KGates
FPGA Pins: 256
Number of IO Ports: 3
Width of one I/O port: 17
Clock Low frequency: 100.0000 MHz
Clock High frequency: 200.0000 MHz
IDROM Type: 3
Instance Stride 0: 4
Instance Stride 1: 64
Register Stride 0: 256
Register Stride 1: 256
Modules in configuration:
Module: DPLL
There are 1 of DPLL in configuration
Version: 0
Registers: 7
BaseAddress: 7000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: WatchDog
There are 1 of WatchDog in configuration
Version: 0
Registers: 3
BaseAddress: 0C00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: IOPort
There are 3 of IOPort in configuration
Version: 0
Registers: 5
BaseAddress: 1000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: PWM
There are 1 of PWM in configuration
Version: 0
Registers: 5
BaseAddress: 4100
ClockFrequency: 200.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: StepGen
There are 9 of StepGen in configuration
Version: 2
Registers: 10
BaseAddress: 2000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: QCount
There are 2 of QCount in configuration
Version: 2
Registers: 5
BaseAddress: 3000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: SSerial
There are 1 of SSerial in configuration
Version: 0
Registers: 6
BaseAddress: 5B00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 64 bytes
Module: LED
There are 1 of LED in configuration
Version: 0
Registers: 1
BaseAddress: 0200
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Configuration pin-out:
IO Connections for on-card
Pin# I/O Pri. Func Sec. Func Chan Pin func Pin Dir
1 0 IOPort StepGen 0 Dir/Table2 (Out)
14 1 IOPort StepGen 0 Step/Table1 (Out)
2 2 IOPort StepGen 1 Dir/Table2 (Out)
15 3 IOPort StepGen 1 Step/Table1 (Out)
3 4 IOPort StepGen 2 Dir/Table2 (Out)
16 5 IOPort StepGen 2 Step/Table1 (Out)
4 6 IOPort StepGen 3 Dir/Table2 (Out)
17 7 IOPort StepGen 3 Step/Table1 (Out)
5 8 IOPort StepGen 4 Dir/Table2 (Out)
6 9 IOPort StepGen 4 Step/Table1 (Out)
7 10 IOPort Sserial 0 TXData0 (Out)
8 11 IOPort Sserial 0 RXData0 (In)
9 12 IOPort Sserial 0 TXData1 (Out)
10 13 IOPort Sserial 0 RXData1 (In)
11 14 IOPort Qcount 0 Quad-IDX (In)
12 15 IOPort Qcount 0 Quad-B (In)
13 16 IOPort Qcount 0 Quad-A (In)
IO Connections for P1
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 17 IOPort StepGen 5 Dir/Table2 (Out)
14 18 IOPort StepGen 5 Step/Table1 (Out)
2 19 IOPort StepGen 6 Dir/Table2 (Out)
15 20 IOPort StepGen 6 Step/Table1 (Out)
3 21 IOPort StepGen 7 Dir/Table2 (Out)
16 22 IOPort StepGen 7 Step/Table1 (Out)
4 23 IOPort StepGen 8 Dir/Table2 (Out)
17 24 IOPort StepGen 8 Step/Table1 (Out)
5 25 IOPort PWM 0 PWM (Out)
6 26 IOPort PWM 0 /Enable (Out)
7 27 IOPort PWM 0 Dir (Out)
8 28 IOPort SSerial 0 TXData2 (Out)
9 29 IOPort SSerial 0 TXEn2 (Out)
10 30 IOPort SSerial 0 RXData2 (In)
11 31 IOPort QCount 1 Quad-IDX (In)
12 32 IOPort QCount 1 Quad-B (In)
13 33 IOPort QCount 1 Quad-A (In)
IO Connections for P2
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 34 IOPort None
14 35 IOPort None
2 36 IOPort None
15 37 IOPort None
3 38 IOPort None
16 39 IOPort None
4 40 IOPort None
17 41 IOPort None
5 42 IOPort None
6 43 IOPort None
7 44 IOPort None
8 45 IOPort None
9 46 IOPort None
10 47 IOPort None
11 48 IOPort None
12 49 IOPort None
13 50 IOPort None
Pin# I/O Pri. func Sec. func Chan
5 25 IOPort PWM 0 PWM (Out)
6 26 IOPort PWM 0 /Enable (Out)
7 27 IOPort PWM 0 Dir (Out)
So would this be pin 5 at the FPGA?
Would I/O 25 be expansion port 1, HDR pin 09?
I'm basing that assumption on the manual, page 7 or 13/86
HDR PIN P1 Func P2 FUNC
9 IO25 IO42
shawn@hptc:~/Documents/7i76eFW$ mesaflash --device 7i76e --addr 10.10.10.10 --readhmid
Configuration Name: HOSTMOT2
General configuration information:
BoardName : MESA7I76
FPGA Size: 16 KGates
FPGA Pins: 256
Number of IO Ports: 3
Width of one I/O port: 17
Clock Low frequency: 100.0000 MHz
Clock High frequency: 200.0000 MHz
IDROM Type: 3
Instance Stride 0: 4
Instance Stride 1: 64
Register Stride 0: 256
Register Stride 1: 256
Modules in configuration:
Module: DPLL
There are 1 of DPLL in configuration
Version: 0
Registers: 7
BaseAddress: 7000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: WatchDog
There are 1 of WatchDog in configuration
Version: 0
Registers: 3
BaseAddress: 0C00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: IOPort
There are 3 of IOPort in configuration
Version: 0
Registers: 5
BaseAddress: 1000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: PWM
There are 1 of PWM in configuration
Version: 0
Registers: 5
BaseAddress: 4100
ClockFrequency: 200.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: StepGen
There are 9 of StepGen in configuration
Version: 2
Registers: 10
BaseAddress: 2000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: QCount
There are 2 of QCount in configuration
Version: 2
Registers: 5
BaseAddress: 3000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: SSerial
There are 1 of SSerial in configuration
Version: 0
Registers: 6
BaseAddress: 5B00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 64 bytes
Module: LED
There are 1 of LED in configuration
Version: 0
Registers: 1
BaseAddress: 0200
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Configuration pin-out:
IO Connections for on-card
Pin# I/O Pri. Func Sec. Func Chan Pin func Pin Dir
1 0 IOPort StepGen 0 Dir/Table2 (Out)
14 1 IOPort StepGen 0 Step/Table1 (Out)
2 2 IOPort StepGen 1 Dir/Table2 (Out)
15 3 IOPort StepGen 1 Step/Table1 (Out)
3 4 IOPort StepGen 2 Dir/Table2 (Out)
16 5 IOPort StepGen 2 Step/Table1 (Out)
4 6 IOPort StepGen 3 Dir/Table2 (Out)
17 7 IOPort StepGen 3 Step/Table1 (Out)
5 8 IOPort StepGen 4 Dir/Table2 (Out)
6 9 IOPort StepGen 4 Step/Table1 (Out)
7 10 IOPort Sserial 0 TXData0 (Out)
8 11 IOPort Sserial 0 RXData0 (In)
9 12 IOPort Sserial 0 TXData1 (Out)
10 13 IOPort Sserial 0 RXData1 (In)
11 14 IOPort Qcount 0 Quad-IDX (In)
12 15 IOPort Qcount 0 Quad-B (In)
13 16 IOPort Qcount 0 Quad-A (In)
IO Connections for P1
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 17 IOPort StepGen 5 Dir/Table2 (Out)
14 18 IOPort StepGen 5 Step/Table1 (Out)
2 19 IOPort StepGen 6 Dir/Table2 (Out)
15 20 IOPort StepGen 6 Step/Table1 (Out)
3 21 IOPort StepGen 7 Dir/Table2 (Out)
16 22 IOPort StepGen 7 Step/Table1 (Out)
4 23 IOPort StepGen 8 Dir/Table2 (Out)
17 24 IOPort StepGen 8 Step/Table1 (Out)
5 25 IOPort PWM 0 PWM (Out)
6 26 IOPort PWM 0 /Enable (Out)
7 27 IOPort PWM 0 Dir (Out)
8 28 IOPort SSerial 0 TXData2 (Out)
9 29 IOPort SSerial 0 TXEn2 (Out)
10 30 IOPort SSerial 0 RXData2 (In)
11 31 IOPort QCount 1 Quad-IDX (In)
12 32 IOPort QCount 1 Quad-B (In)
13 33 IOPort QCount 1 Quad-A (In)
IO Connections for P2
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 34 IOPort None
14 35 IOPort None
2 36 IOPort None
15 37 IOPort None
3 38 IOPort None
16 39 IOPort None
4 40 IOPort None
17 41 IOPort None
5 42 IOPort None
6 43 IOPort None
7 44 IOPort None
8 45 IOPort None
9 46 IOPort None
10 47 IOPort None
11 48 IOPort None
12 49 IOPort None
13 50 IOPort None
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19196
- Thank you received: 6434
09 Aug 2019 12:27 #141757
by tommylight
Replied by tommylight on topic Laser control via 7i76e - PPI / PPMM / PWM
That would be pin 5 at the DB25 connector on the P1 header.
The following user(s) said Thank You: SjCNC
Please Log in or Create an account to join the conversation.
09 Aug 2019 14:14 #141781
by PCW
Replied by PCW on topic Laser control via 7i76e - PPI / PPMM / PWM
Yes mesaflash lists DB-25 pins and GPIO bits, not header pins.
I need to add the DB25 pins (in addition to the header pins) in the 7I76E manual
I need to add the DB25 pins (in addition to the header pins) in the 7I76E manual
The following user(s) said Thank You: SjCNC
Please Log in or Create an account to join the conversation.
11 Aug 2019 12:34 - 11 Aug 2019 12:35 #141909
by SjCNC
Replied by SjCNC on topic Laser control via 7i76e - PPI / PPMM / PWM
I think PWM is now functional on P1 expansion port, DB25 pin 5. Running the elizabeth-hurle.ngc file, there is gradient! Some areas are darker, some are lighter, and it resembles a face.
However, there's no true off state.
M67 E0 Q0
And
setp hm2_7i76e.0.gpio.025.out FALSE
both result in the laser still being on.
Is there an easy fix using the standard DB25 Bob? Maybe a scaling issue, or adding a resistor?
However, there's no true off state.
M67 E0 Q0
And
setp hm2_7i76e.0.gpio.025.out FALSE
both result in the laser still being on.
Is there an easy fix using the standard DB25 Bob? Maybe a scaling issue, or adding a resistor?
Last edit: 11 Aug 2019 12:35 by SjCNC. Reason: Auto correct swapped setp for step
Please Log in or Create an account to join the conversation.
11 Aug 2019 14:41 #141912
by PCW
Replied by PCW on topic Laser control via 7i76e - PPI / PPMM / PWM
Setting the PWM value to 0 will make the output pin 0
I would verify levels after your BOB with a voltmeter
I would verify levels after your BOB with a voltmeter
The following user(s) said Thank You: SjCNC
Please Log in or Create an account to join the conversation.
11 Aug 2019 16:03 #141919
by SjCNC
Replied by SjCNC on topic Laser control via 7i76e - PPI / PPMM / PWM
Correction... the elizabeth-hurle.ngc file I was using ended with M67 E0 Q0.1 which caused the laser to stay active. M67 E0 Q0 does in fact turn off the laser. Simple on/off means the laser is somewhat useful now! I'm pleased to say you've all helped me make progress!
Next on the to do list, the laser is active until LCNC tells it not to be... After that is adjusting the scaling. Oddly enough, all of the Q values in the elizabeth-hurle.ngc file were above scale. The gradient was only due to varied travel speeds. I honed in on that with a hand made 'gradient' file, and found the range in power is between ~ Q0.2 and ~Q0.5.
I'm sure I've seen threads addressing both concerns. Soon, I'll either post a synopsis of issues/solutions, or another question. Hopefully the former
Next on the to do list, the laser is active until LCNC tells it not to be... After that is adjusting the scaling. Oddly enough, all of the Q values in the elizabeth-hurle.ngc file were above scale. The gradient was only due to varied travel speeds. I honed in on that with a hand made 'gradient' file, and found the range in power is between ~ Q0.2 and ~Q0.5.
I'm sure I've seen threads addressing both concerns. Soon, I'll either post a synopsis of issues/solutions, or another question. Hopefully the former
Please Log in or Create an account to join the conversation.
Moderators: snowgoer540
Time to create page: 0.080 seconds