Hardinge CHNC Issues- 7i43 / 7i49 / 7i37

More
09 Sep 2012 19:59 - 09 Sep 2012 20:01 #24101 by jsflanagan
After the turret stopped indexing on my old Hardinge CHNC I decided to go ahead and upgrade to LinuxCNC. I've been running linuxcnc on my old Milltronics Partner mill with much success. So I decided to duplicate my hardware (except for the 7i33) and use a 7i43 (200k), 7i37 for io, and a 7i49 for interfacing with the resolvers. I can get the 7i37 to communicate properly, linuxcnc boots inputs work no problem as long as I only hook the 50-pin cable up to the 7i37 board and leave the resolver board disconnected. If i try and hook up the 7i49 daughtercard to the FPGA linux cnc won't load. It reports back that I have a 400k board but am trying to load 200k firmware. I checked the FPGA p/n and it is indeed the 200k board, and I've even tried to swap to the to loading 400k firmware would help but of course it didn't.

[ 152.819587] hm2_7i43.0: firmware: requesting hm2/7i43-2/SVST4_4.BIT
[ 152.924380] hm2/hm2_7i43.0: board has FPGA '3s400tq144', but the firmware in hm2/7i43-2/SVST4_4.BIT is for FPGA '3s200tq144'
[ 152.924391] hm2_7i43.0: board at (ioaddr=0x0378, ioaddr_hi=0x0778, epp_wide ON) not found!

Reading through the man page on hostmot2 I looks like I'm going to have to change some things around in hal for my resolvers (I just copied my working mill configuration to begin with). I'll work on that once I get the board firmware to load. Any ideas on why I get the 200k vs 400k error when loading w/ the 7i49 connected? After further reading it looks like I should be using the SV8 (been wrong on my mill all along) but I just tried that and it didn't fix anything same error. I've even tried my old 7i43 (out of my mill) and I get the same error. This is all with the same computer I'm using on my mill, wanted to minimize the number of variables to start with.

As a side note the way this machine was wired makes it very clean to port over to the new control. Will finally migrate it all to the back of the lathe once I get everything working, then I can free up some space and get rid of the huge control cabinet that comes with the hadinge machine.

Thanks,
-Scott

*Some relevant lines from hal file:

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hostmot2
loadrt hm2_7i43 config="firmware=hm2/7i43-2/SVST4_4.BIT num_resolvers=4 num_pwmgens=4 num_3pwmgens=0 num_stepgens=0 "
setp hm2_7i43.0.pwmgen.pwm_frequency 240000
setp hm2_7i43.0.pwmgen.pdm_frequency 6000000
setp hm2_7i43.0.watchdog.timeout_ns 10000000
loadrt pid names=pid.x,pid.z,pid.s


*Output from linuxcnc when starting (or trying to)

Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.5
LINUXCNC - 2.5.0
Machine configuration directory is '/home/cnc/linuxcnc/configs/lathe2'
Machine configuration file is 'lathe2.ini'
INIFILE=/home/cnc/linuxcnc/configs/lathe2/lathe2.ini
PARAMETER_FILE=linuxcnc.var
TASK=milltask
HALUI=halui
DISPLAY=axis
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
Killing task linuxcncsvr, PID=1451
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
insmod: error inserting '/usr/realtime-2.6.32-122-rtai/modules/linuxcnc/hm2_7i43.ko': -1 Invalid parameters
lathe2.hal:9: exit value: 1
lathe2.hal:9: insmod failed, returned -1
See the output of 'dmesg' for more information.
1451
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[ 152.480330] I-pipe: Domain RTAI registered.
[ 152.480338] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 152.480341] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 152.480348] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 152.480351] PIPELINE layers:
[ 152.480355] faaebe20 9ac15d93 RTAI 200
[ 152.480358] c085cb20 0 Linux 100
[ 152.520845] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 152.520947] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 152.520953] RTAI[sched]: hard timer type/freq = APIC/12500398(Hz); default timing: periodic; linear timed lists.
[ 152.520957] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 3200088000 hz.
[ 152.520960] RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
[ 152.521039] RTAI[usi]: enabled.
[ 152.595291] RTAI[math]: loaded.
[ 152.807428] hm2: loading Mesa HostMot2 driver version 0.15
[ 152.817436] hm2_7i43: loading HostMot2 Mesa 7i43 driver version 0.3
[ 152.819547] hm2_7i43: /DONE is not low after CPLD reset!
[ 152.819587] hm2_7i43.0: firmware: requesting hm2/7i43-2/SVST4_4.BIT
[ 152.924380] hm2/hm2_7i43.0: board has FPGA '3s400tq144', but the firmware in hm2/7i43-2/SVST4_4.BIT is for FPGA '3s200tq144'
[ 152.924391] hm2_7i43.0: board at (ioaddr=0x0378, ioaddr_hi=0x0778, epp_wide ON) not found!
[ 153.429067] hm2: unloading
[ 153.506047] RTAI[math]: unloaded.
[ 153.556685] SCHED releases registered named ALIEN RTGLBH
[ 153.572264] RTAI[malloc]: unloaded.
[ 153.672025] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 153.675103] I-pipe: Domain RTAI unregistered.
[ 153.675114] RTAI[hal]: unmounted.

File Attachment:

File Name: lathe2.hal
File Size:8 KB
Attachments:
Last edit: 09 Sep 2012 20:01 by jsflanagan. Reason: shrink image

Please Log in or Create an account to join the conversation.

More
09 Sep 2012 20:22 #24105 by PCW
A couple of things:

1. The likely reason things wont load when the 7I49 is connected is insufficient power to run the 7I49. It takes at least a 2A capable 5V supply.

2. You need to have the correct bitfile for a 7I49. SVST4_4.BIT is for encoders and 4 axis cards and will not work with the 7I49 and could possible damage the 7I49 and 7I43 if it did load and continue.

3. I dont think a 7I49 config will fit in a 200K 7I43 It has a 32 bit DSP and uses lots of BlockRAM

Please Log in or Create an account to join the conversation.

More
10 Sep 2012 02:25 #24111 by jsflanagan
Thanks for the feedback, I do have enough power, running a healthy benchtop power supply. What would be the correct bitfile for this application and how would I know if it would fit in the 200k version? I will probably just get a 400k board, I can use this 200k along w/ an extra 7i37 for more I/O.

-Scott

Please Log in or Create an account to join the conversation.

More
10 Sep 2012 02:44 #24112 by jmelson
jsflanagan wrote:

Thanks for the feedback, I do have enough power, running a healthy benchtop power supply. What would be the correct bitfile for this application and how would I know if it would fit in the 200k version? I will probably just get a 400k board, I can use this 200k along w/ an extra 7i37 for more I/O.

-Scott

It's not just a matter of fitting, the bitfile must be compiled for the specific chip.
Fortunately, at the beginning of a bitfile, Xilinx tools put the chip part number
and the date/time it was compiled. So, if you give this command :

od -c bitfile.bit | more

(where "|" is the vertical bar over the "" key on US keyboards, the "pipe"
command) you will get a character dump of the beginning of the file.
It will give the part name, like this :

0000000 \0 \t 017 360 017 360 017 360 017 360 \0 \0 001 a \0 \v
0000020 P E R T E C . n c d \0 b \0 \v 2 s
0000040 5 0 e t q 1 4 4 \0 c \0 \v 2 0 1 2
0000060 / 3 / 2 9 \0 d \0 \t 2 0 : 2 6 :
0000100 2 0 \0 e \0 001 3 244 377 377 377 377 252 231 U f


Where 2s50etq144 is the part number, in this case a Xilinx Spartan 2E
size 50 FPGA in the thin-quad 144 package. (This is from one of my
projects, not a Mesa one, but all the bitfiles should have this info.)
If the bitfile does not match the correct part #, it will not load, to avoid
possibly damaging the FPGA.

Jon

Please Log in or Create an account to join the conversation.

More
10 Sep 2012 02:53 #24113 by PCW
Yes whether it fits or not means whether or not I can compile a resolver
interface bitfile for the 7I43-200, I think I tried and failed at this but am not sure
(I know it will not fit the the 5I20s 200K Spartan2) I can test this tomorrow.

There should be no reason for the 7I49 causing the 7I43 to not load however
I still think this must be power supply related since thats really the only thing that
a connected 7I49 could affect on a unconfigured 7I43

The bit file name you need would be a RMSV6_6.BIT specifically compiled for the 7I43

Please Log in or Create an account to join the conversation.

More
10 Sep 2012 19:44 #24132 by PCW
Well it just fits in a 200 K part:

Number of occupied Slices: 1,918 out of 1,920 99%

freeby.mesanet.com/RMSV6_6S.BIT

Please Log in or Create an account to join the conversation.

More
11 Sep 2012 01:20 #24142 by jsflanagan
Thanks for the help, I copied the file to my firmware directory and tried to load it using the following line in my hal file. But no luck, it said it timedout while sending the firmware. Any ideas of what to try from here? Thanks,

-Scott


loadrt hm2_7i43 config="firmware=hm2/7i43-2/RMSV6_6S.BIT num_resolvers=4 num_pwmgens=4 num_3pwmgens=0 num_stepgens=0 "

[ 534.246543] hm2: loading Mesa HostMot2 driver version 0.15
[ 534.251365] hm2_7i43: loading HostMot2 Mesa 7i43 driver version 0.3
[ 534.253649] hm2_7i43.0: firmware: requesting hm2/7i43-2/RMSV6_6S.BIT
[ 534.444540] hm2_7i43.0: EPP Timeout while sending firmware!
[ 534.444550] hm2/hm2_7i43.0: failed to program fpga, aborting hm2_register
[ 534.444557] hm2_7i43.0: board at (ioaddr=0x0378, ioaddr_hi=0x0778, epp_wide ON) not found!
[ 534.761345] hm2: unloading
[ 534.808055] RTAI[math]: unloaded.
[ 534.857751] SCHED releases registered named ALIEN RTGLBH
[ 534.872768] RTAI[malloc]: unloaded.
[ 534.972018] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 534.975082] I-pipe: Domain RTAI unregistered.
[ 534.975093] RTAI[hal]: unmounted.

File Attachment:

File Name: error-6069...5aab.txt
File Size:3 KB
Attachments:

Please Log in or Create an account to join the conversation.

More
11 Sep 2012 01:42 - 11 Sep 2012 01:51 #24144 by PCW
Did you try with nothing but the 7I43 connected? (no 7I49, no 7I37)
An error at this point is probably not related to the firmware
but rather power or cabling and could be related to why you had
problems with the SVST4_4 firmware as well (wrong size reported)
Last edit: 11 Sep 2012 01:51 by PCW. Reason: clarify

Please Log in or Create an account to join the conversation.

More
14 Sep 2012 01:12 #24257 by jsflanagan
I think I put ~7 volts to my 7i43 when I slipped on the benchtop power supply knob. That might be why I couldn't talk to it, no LEDs light up on the board. So I managed to dig up a fixed 5v power supply and hook up my 7i43 (200k) from my mill. It appears to have gotten farther, this is the error it puts out. It did this with the 7i37 and 7i49 connected or disconnected. Can my 7i43 be repaired, is there a component on the board that is sacrificial? I looked over the board and couldn't see anything that looked burned. I also had my 7i37 and 7i49 connected at the same time think they are ok?

-Scott


RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.5
LINUXCNC - 2.5.0
Machine configuration directory is '/home/cnc/linuxcnc/configs/lathe2'
Machine configuration file is 'lathe2.ini'
INIFILE=/home/cnc/linuxcnc/configs/lathe2/lathe2.ini
PARAMETER_FILE=linuxcnc.var
TASK=milltask
HALUI=halui
DISPLAY=axis
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
Killing task linuxcncsvr, PID=1713
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
lathe2.hal:78: parameter or pin 'hm2_7i43.0.resolver.01.filter' not found
1713
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[ 333.813748] I-pipe: Domain RTAI registered.
[ 333.813757] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 333.813760] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 333.813767] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 333.813770] PIPELINE layers:
[ 333.813773] fb19ce20 9ac15d93 RTAI 200
[ 333.813776] c085cb20 0 Linux 100
[ 333.839983] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 333.840257] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 333.840264] RTAI[sched]: hard timer type/freq = APIC/12500398(Hz); default timing: periodic; linear timed lists.
[ 333.840268] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 3200397000 hz.
[ 333.840271] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[ 333.840348] RTAI[usi]: enabled.
[ 333.913746] RTAI[math]: loaded.
[ 333.999378] hm2: loading Mesa HostMot2 driver version 0.15
[ 334.004274] hm2_7i43: loading HostMot2 Mesa 7i43 driver version 0.3
[ 334.006308] hm2_7i43.0: firmware: requesting hm2/7i43-2/RMSV6_6S.BIT
[ 334.269026] hm2/hm2_7i43.0: 48 I/O Pins used:
[ 334.269033] hm2/hm2_7i43.0: IO Pin 000 (P4-01): PWMGen #0, pin Not-Enable (Output)
[ 334.269038] hm2/hm2_7i43.0: IO Pin 001 (P4-03): Resolver #0, pin NC (Output)
[ 334.269042] hm2/hm2_7i43.0: IO Pin 002 (P4-05): Resolver #0, pin SPIDO0 (Input)
[ 334.269046] hm2/hm2_7i43.0: IO Pin 003 (P4-07): Resolver #0, pin SPIDO1 (Input)
[ 334.269050] hm2/hm2_7i43.0: IO Pin 004 (P4-09): Resolver #0, pin AMUX2 (Output)
[ 334.269055] hm2/hm2_7i43.0: IO Pin 005 (P4-11): Resolver #0, pin AMUX1 (Output)
[ 334.269059] hm2/hm2_7i43.0: IO Pin 006 (P4-13): Resolver #0, pin AMUX0 (Output)
[ 334.269063] hm2/hm2_7i43.0: IO Pin 007 (P4-15): Resolver #0, pin SPICLK (Output)
[ 334.269067] hm2/hm2_7i43.0: IO Pin 008 (P4-17): Resolver #0, pin SPICS (Output)
[ 334.269071] hm2/hm2_7i43.0: IO Pin 009 (P4-19): Resolver #0, pin REFPDM- (Output)
[ 334.269076] hm2/hm2_7i43.0: IO Pin 010 (P4-21): Resolver #0, pin REFPDM+ (Output)
[ 334.269080] hm2/hm2_7i43.0: IO Pin 011 (P4-23): PWMGen #0, pin Out0 (PWM or Up) (Output)
[ 334.269084] hm2/hm2_7i43.0: IO Pin 012 (P4-25): PWMGen #0, pin Out1 (Dir or Down) (Output)
[ 334.269088] hm2/hm2_7i43.0: IO Pin 013 (P4-27): PWMGen #1, pin Out0 (PWM or Up) (Output)
[ 334.269093] hm2/hm2_7i43.0: IO Pin 014 (P4-29): PWMGen #1, pin Out1 (Dir or Down) (Output)
[ 334.269097] hm2/hm2_7i43.0: IO Pin 015 (P4-31): PWMGen #2, pin Out0 (PWM or Up) (Output)
[ 334.269101] hm2/hm2_7i43.0: IO Pin 016 (P4-33): PWMGen #2, pin Out1 (Dir or Down) (Output)
[ 334.269105] hm2/hm2_7i43.0: IO Pin 017 (P4-35): PWMGen #3, pin Out0 (PWM or Up) (Output)
[ 334.269109] hm2/hm2_7i43.0: IO Pin 018 (P4-37): PWMGen #3, pin Out1 (Dir or Down) (Output)
[ 334.269113] hm2/hm2_7i43.0: IO Pin 019 (P4-39): IOPort
[ 334.269117] hm2/hm2_7i43.0: IO Pin 020 (P4-41): IOPort
[ 334.269120] hm2/hm2_7i43.0: IO Pin 021 (P4-43): IOPort
[ 334.269123] hm2/hm2_7i43.0: IO Pin 022 (P4-45): IOPort
[ 334.269127] hm2/hm2_7i43.0: IO Pin 023 (P4-47): PWMGen #0, pin Not-Enable (Output)
[ 334.269130] hm2/hm2_7i43.0: IO Pin 024 (P3-01): IOPort
[ 334.269133] hm2/hm2_7i43.0: IO Pin 025 (P3-03): IOPort
[ 334.269136] hm2/hm2_7i43.0: IO Pin 026 (P3-05): IOPort
[ 334.269140] hm2/hm2_7i43.0: IO Pin 027 (P3-07): IOPort
[ 334.269143] hm2/hm2_7i43.0: IO Pin 028 (P3-09): IOPort
[ 334.269146] hm2/hm2_7i43.0: IO Pin 029 (P3-11): IOPort
[ 334.269149] hm2/hm2_7i43.0: IO Pin 030 (P3-13): IOPort
[ 334.269152] hm2/hm2_7i43.0: IO Pin 031 (P3-15): IOPort
[ 334.269156] hm2/hm2_7i43.0: IO Pin 032 (P3-17): IOPort
[ 334.269159] hm2/hm2_7i43.0: IO Pin 033 (P3-19): IOPort
[ 334.269162] hm2/hm2_7i43.0: IO Pin 034 (P3-21): IOPort
[ 334.269165] hm2/hm2_7i43.0: IO Pin 035 (P3-23): IOPort
[ 334.269168] hm2/hm2_7i43.0: IO Pin 036 (P3-25): IOPort
[ 334.269171] hm2/hm2_7i43.0: IO Pin 037 (P3-27): IOPort
[ 334.269175] hm2/hm2_7i43.0: IO Pin 038 (P3-29): IOPort
[ 334.269178] hm2/hm2_7i43.0: IO Pin 039 (P3-31): IOPort
[ 334.269181] hm2/hm2_7i43.0: IO Pin 040 (P3-33): IOPort
[ 334.269184] hm2/hm2_7i43.0: IO Pin 041 (P3-35): IOPort
[ 334.269187] hm2/hm2_7i43.0: IO Pin 042 (P3-37): IOPort
[ 334.269190] hm2/hm2_7i43.0: IO Pin 043 (P3-39): IOPort
[ 334.269194] hm2/hm2_7i43.0: IO Pin 044 (P3-41): IOPort
[ 334.269197] hm2/hm2_7i43.0: IO Pin 045 (P3-43): IOPort
[ 334.269200] hm2/hm2_7i43.0: IO Pin 046 (P3-45): IOPort
[ 334.269203] hm2/hm2_7i43.0: IO Pin 047 (P3-47): IOPort
[ 334.269256] hm2/hm2_7i43.0: registered
[ 334.269260] hm2_7i43.0: board at (ioaddr=0x0378, ioaddr_hi=0x0778, epp_wide ON) found
[ 334.605383] hm2_7i43.0: releasing board
[ 334.605412] hm2/hm2_7i43.0: unregistered
[ 334.605440] hm2_7i43: driver unloaded
[ 334.608244] hm2: unloading
[ 334.657933] RTAI[math]: unloaded.
[ 334.706593] SCHED releases registered named ALIEN RTGLBH
[ 334.720312] RTAI[malloc]: unloaded.
[ 334.820020] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 334.822990] I-pipe: Domain RTAI unregistered.
[ 334.823001] RTAI[hal]: unmounted.

Please Log in or Create an account to join the conversation.

More
14 Sep 2012 02:04 - 14 Sep 2012 03:12 #24258 by PCW
Dont know if the 7I43 can be repaired but most common casualty of excess PS voltage is the 3.3V regulator,
Probably best to send it to Mesa and see if its reparable

dmesg looks OK There is no resolver filter pin so that makes sense
Whether the 7I49/7I37 are OK or not is unknown at this point
Last edit: 14 Sep 2012 03:12 by PCW.

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 1.081 seconds
Powered by Kunena Forum