Firmware for 7i80 +SSI +7i48 +7i84
16 Jul 2014 18:02 #48840
by bobobo
Firmware for 7i80 +SSI +7i48 +7i84 was created by bobobo
Hi
I am retrofitting a Leadwell VMC.
I have bought the following mesa cards:
7i80HD-16
7i48
7i44
3pcs 7i84
I have also bought 3pcs SSI/gray encoders that I plan to connect to the 7i44.
I think I have had success in following this guide how to make the 7i80 working with the ubc3 branch: linuxcnc.org/index.php/english/forum/27-...nd-7i77?limitstart=0
Next step is to get a suitable firmware into the card. Is there any ready firmware for above combo? If not, which one is best to start modifying?
Is there any guide how to make a bit-file adapted to your needs?
(PCW: regarding the resolver excitation we discussed in email, I have now got a function generator to make that signal all separately from Mesa-cards but I have not tested yet)
I am retrofitting a Leadwell VMC.
I have bought the following mesa cards:
7i80HD-16
7i48
7i44
3pcs 7i84
I have also bought 3pcs SSI/gray encoders that I plan to connect to the 7i44.
I think I have had success in following this guide how to make the 7i80 working with the ubc3 branch: linuxcnc.org/index.php/english/forum/27-...nd-7i77?limitstart=0
Next step is to get a suitable firmware into the card. Is there any ready firmware for above combo? If not, which one is best to start modifying?
Is there any guide how to make a bit-file adapted to your needs?
(PCW: regarding the resolver excitation we discussed in email, I have now got a function generator to make that signal all separately from Mesa-cards but I have not tested yet)
Please Log in or Create an account to join the conversation.
16 Jul 2014 20:57 #48844
by PCW
Replied by PCW on topic Firmware for 7i80 +SSI +7i48 +7i84
The basic way to make a new bitfile is to edit a PIN_XXXX.vhd file to make one with the required pinout
and included modules, add this new pinfile to the project, include it in the top level file and re-compile
Tom has a nice tutorial here:
tom-itx.no-ip.biz:81/~webpage/emc/xilinx...14_install_index.php
I'm pretty sure theres a pinout for a 7I44 with 4x SSI and 4x SSerial.
so its just a matter of copy-pasting some per connector sections together
from a couple of existing pinout files
If I get a chance today I can cobble together a bitfile
You might want to build the jepler/uspace-hm2-eth branch instead of ubc3-7i80
because its a little newer and the DPLL support works.
(the DPLL is needed for SSI interfaces to generate the pre-read data request)
(If you already built ubc3-7i80, building jepler/uspace-hm2-eth just requires checking out the branch and rebuilding
and included modules, add this new pinfile to the project, include it in the top level file and re-compile
Tom has a nice tutorial here:
tom-itx.no-ip.biz:81/~webpage/emc/xilinx...14_install_index.php
I'm pretty sure theres a pinout for a 7I44 with 4x SSI and 4x SSerial.
so its just a matter of copy-pasting some per connector sections together
from a couple of existing pinout files
If I get a chance today I can cobble together a bitfile
You might want to build the jepler/uspace-hm2-eth branch instead of ubc3-7i80
because its a little newer and the DPLL support works.
(the DPLL is needed for SSI interfaces to generate the pre-read data request)
(If you already built ubc3-7i80, building jepler/uspace-hm2-eth just requires checking out the branch and rebuilding
Please Log in or Create an account to join the conversation.
19 Jul 2014 07:35 #48927
by PCW
Replied by PCW on topic Firmware for 7i80 +SSI +7i48 +7i84
sorry I didn't get to this earlier:
freeby.mesanet.com/svsiss.zip has bit and pinout files
freeby.mesanet.com/svsiss.zip has bit and pinout files
The following user(s) said Thank You: bobobo
Please Log in or Create an account to join the conversation.
22 Jul 2014 19:36 #49011
by bobobo
Replied by bobobo on topic Firmware for 7i80 +SSI +7i48 +7i84
Thanks for the bit-file.
After you posted the link to the guide for making bit-files I was looking forward to start with it but didn't get time to it until now. And now it seems to better using the bit-file you made to exclude one source of beginner mistakes
I flashed the new bit-file into my card and I updated my Linuxcnc to the fresh branch jepler/hm2-eth.
When i try to start i get following error:
Any suggestions?
/Mattias
After you posted the link to the guide for making bit-files I was looking forward to start with it but didn't get time to it until now. And now it seems to better using the bit-file you made to exclude one source of beginner mistakes
I flashed the new bit-file into my card and I updated my Linuxcnc to the fresh branch jepler/hm2-eth.
When i try to start i get following error:
Machine configuration directory is '/home/mattias/linuxcnc-dev/configs'
Machine configuration file is 'Leadwell_7i80.ini'
Starting LinuxCNC...
twopass: invoked with <> options
Note: Using POSIX realtime
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: discovered 7I80HD-16
hm2_register_tram_read_region: 1000 - size 12
hm2_register_tram_write_region: 1000 - size 12
hm2_register_tram_read_region: D00 - size 4
hm2_register_tram_read_region: 3800 - size 4
hm2_register_tram_read_region: 3500 - size 24
hm2_register_tram_read_region: 3600 - size 24
hm2_register_tram_write_region: 2000 - size 24
hm2_register_tram_read_region: 2100 - size 24
hm2/hm2_7i80.0: inconsistent Module Descriptor for UART Transmit Channel, not loading driver
hm2/hm2_7i80.0: Version = 0, expected 0
hm2/hm2_7i80.0: NumRegisters = 4, expected 4
hm2/hm2_7i80.0: InstanceStride = 0x00000040, expected 0x00000010
hm2/hm2_7i80.0: MultipleRegisters = 0x0000000F, expected 0x0000000F
hm2/hm2_7i80.0: inconsistent Module Descriptor!
hm2/hm2_7i80.0: failed to parse Module Descriptor 5
board fails HM2 registration
twopass: Error in file Leadwell_hm2.hal:
setting parameter 'hm2_7i80.0.pwmgen.pwm_frequency' to '40000'
parameter or pin 'hm2_7i80.0.pwmgen.pwm_frequency' not found
Shutting down and cleaning up LinuxCNC...
hm2_eth: HostMot2 ethernet driver unloaded
hm2: unloading
Any suggestions?
/Mattias
Please Log in or Create an account to join the conversation.
22 Jul 2014 20:14 - 22 Jul 2014 20:18 #49014
by PCW
Replied by PCW on topic Firmware for 7i80 +SSI +7i48 +7i84
Thats pretty strange, its possible that I somehow copied the wrong bit file but I dont think so.
Are you sure you programed the 7I80 with 7i80_16_svsiss6_4_4.bit and then cycled the 7I80 power?
Can you run mesaflash with the readhmid option and post the results here?
(make sure you have the latest mesaflash)
Are you sure you programed the 7I80 with 7i80_16_svsiss6_4_4.bit and then cycled the 7I80 power?
Can you run mesaflash with the readhmid option and post the results here?
mesaflash --device 7i80 --addr 192.168.1.121 --readhmid
(make sure you have the latest mesaflash)
Last edit: 22 Jul 2014 20:18 by PCW.
Please Log in or Create an account to join the conversation.
22 Jul 2014 20:20 #49015
by bobobo
Replied by bobobo on topic Firmware for 7i80 +SSI +7i48 +7i84
I didn't power cycle after flash
Thanks!
Thanks!
Please Log in or Create an account to join the conversation.
23 Jul 2014 18:40 #49052
by bobobo
Replied by bobobo on topic Firmware for 7i80 +SSI +7i48 +7i84
With loadrt hm2_eth.... I can only set one config variable.
This don't work:
loadrt hm2_eth board_ip="192.168.1.121" board_mac="00:60:1B:11:80:11" config="sserial_port_0=0000 num_encoders=3"
nor:
loadrt hm2_eth board_ip="192.168.1.121" board_mac="00:60:1B:11:80:11" config="num_encoders=3 sserial_port_0=0000"
But this works:
loadrt hm2_eth board_ip="192.168.1.121" board_mac="00:60:1B:11:80:11" config="num_encoders=3"
and also:
loadrt hm2_eth board_ip="192.168.1.121" board_mac="00:60:1B:11:80:11" config="sserial_port_0=0000"
The error i get is: Unknown parameter `num_encoders=3' where it is always the second parameter that is unknown.
I think I don't really need to specify the num_encoders and num_pwmgens with my cards, but I am using it as simple examples before I start experimenting with the more advanced SSI format strings.
This don't work:
loadrt hm2_eth board_ip="192.168.1.121" board_mac="00:60:1B:11:80:11" config="sserial_port_0=0000 num_encoders=3"
nor:
loadrt hm2_eth board_ip="192.168.1.121" board_mac="00:60:1B:11:80:11" config="num_encoders=3 sserial_port_0=0000"
But this works:
loadrt hm2_eth board_ip="192.168.1.121" board_mac="00:60:1B:11:80:11" config="num_encoders=3"
and also:
loadrt hm2_eth board_ip="192.168.1.121" board_mac="00:60:1B:11:80:11" config="sserial_port_0=0000"
The error i get is: Unknown parameter `num_encoders=3' where it is always the second parameter that is unknown.
I think I don't really need to specify the num_encoders and num_pwmgens with my cards, but I am using it as simple examples before I start experimenting with the more advanced SSI format strings.
Please Log in or Create an account to join the conversation.
23 Jul 2014 18:53 #49053
by bobobo
Replied by bobobo on topic Firmware for 7i80 +SSI +7i48 +7i84
Hi again
This is not really a question, but more of general information to the developers. I don't know if it is interesting nor i know the best channel to post this info so i start by posting it here in my "project-thread"
My pc have two ethernet interfaces integrated on motherboard.
The controllers are:
For eth0: Intel 82566DM Gigabit Network Connection
For eth2: Intel 82573L Gigabit Ethernet Controller
I run a RT-preempt kernel 3.10.4-rt1mah
From latency test I get the following "Max jitter" numbers:
When eth0 is connected to internet and eth2 to my 7i80
Base 25us: 19602ns; Servo 1ms: 11882ns
When eth2 is connected to internet and eth0 to my 7i80
Base 25us: 24020ns; Servo 1ms: 10095ns
With eth0 to 7i80 I get following errors when i start Linuxcnc (with SERVO_PERIOD = 1000000)
If I increase cycle time to SERVO_PERIOD = 2000000 then linuxcnc starts fine.
And also if i switch the ethernet interfaces so I connect to 7i80 with eth2 it works fine with SERVO_PERIOD = 1000000
This is not really a question, but more of general information to the developers. I don't know if it is interesting nor i know the best channel to post this info so i start by posting it here in my "project-thread"
My pc have two ethernet interfaces integrated on motherboard.
The controllers are:
For eth0: Intel 82566DM Gigabit Network Connection
For eth2: Intel 82573L Gigabit Ethernet Controller
I run a RT-preempt kernel 3.10.4-rt1mah
From latency test I get the following "Max jitter" numbers:
When eth0 is connected to internet and eth2 to my 7i80
Base 25us: 19602ns; Servo 1ms: 11882ns
When eth2 is connected to internet and eth0 to my 7i80
Base 25us: 24020ns; Servo 1ms: 10095ns
With eth0 to 7i80 I get following errors when i start Linuxcnc (with SERVO_PERIOD = 1000000)
hm2/hm2_7i80.0: registered
board 7I80HD-16 registred succesfully
Unexpected realtime delay on task 0
This Message will only display once per session.
Run the Latency Test and resolve before continuing.
Unexpected realtime delay on task 0
This Message will only display once per session.
Run the Latency Test and resolve before continuing.
hm2/hm2_7i80.0: Smart Serial port 0: DoIt not cleared from previous servo thread. Servo thread rate probably too fast. This message will not be repeated, but the hm2_7i80.0.sserial.0.fault-count pin will indicate if this is happening frequently.
hm2/hm2_7i80.0: Smart Serial port 0: DoIt not cleared from previous servo thread. Servo thread rate probably too fast. This message will not be repeated, but the hm2_7i80.0.sserial.0.fault-count pin will indicate if this is happening frequently.
hm2/hm2_7i80.0: Smart Serial Comms Error: There have been more than 1 errors in 10 thread executions at least 200 times. See other error messages for details.
hm2/hm2_7i80.0: ***Smart Serial Port 0 will be stopped***
hm2/hm2_7i80.0: Smart Serial Comms Error: There have been more than 1 errors in 10 thread executions at least 200 times. See other error messages for details.
hm2/hm2_7i80.0: ***Smart Serial Port 0 will be stopped***
If I increase cycle time to SERVO_PERIOD = 2000000 then linuxcnc starts fine.
And also if i switch the ethernet interfaces so I connect to 7i80 with eth2 it works fine with SERVO_PERIOD = 1000000
Please Log in or Create an account to join the conversation.
23 Jul 2014 20:57 - 23 Jul 2014 23:31 #49055
by PCW
Replied by PCW on topic Firmware for 7i80 +SSI +7i48 +7i84
Are you using ubc3-7i80 or uspace-hm2-eth?
I can try and duplicate the config parsing error on uspace-hm2-eth
I have been using these without error on both ubc3-7i80 and uspace-hm2-eth:
ini file:hal file:
As far as real time delays go some Ethernet chips/drivers are just not going to be suitable
for low latency. I am currently testing with this:
www.newegg.com/Product/Product.aspx?Item=N82E16813128688
Its quite happy at 2 KHz using the on board RTK 8168/8111 GigE MAC
edit:
Other causes of latency may be related to the Ethernet port setup, you want
to make sure that the realtime port is not used for any normal access
I can try and duplicate the config parsing error on uspace-hm2-eth
I have been using these without error on both ubc3-7i80 and uspace-hm2-eth:
ini file:
HOSTMOT2]
DRIVER=hm2_eth board_ip="10.10.10.10" board_mac="00:60:1B:10:40:01"
BOARD=7i76e
CONFIG="num_encoders=1 num_stepgens=3 sserial_port_0=20xxxxxx"
# hostmot2 driver
loadrt hostmot2
# load low-level driver
loadrt [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG)
As far as real time delays go some Ethernet chips/drivers are just not going to be suitable
for low latency. I am currently testing with this:
www.newegg.com/Product/Product.aspx?Item=N82E16813128688
Its quite happy at 2 KHz using the on board RTK 8168/8111 GigE MAC
edit:
Other causes of latency may be related to the Ethernet port setup, you want
to make sure that the realtime port is not used for any normal access
Last edit: 23 Jul 2014 23:31 by PCW.
Please Log in or Create an account to join the conversation.
24 Jul 2014 01:10 - 24 Jul 2014 01:11 #49059
by PCW
Replied by PCW on topic Firmware for 7i80 +SSI +7i48 +7i84
Using your bitfile, this all works for me with uspace-hm2-eth
(and the SSI works!)
[HOSTMOT2]
DRIVER=hm2_eth board_ip="10.10.10.10" board_mac="00:60:1B:10:80:19"
BOARD=7i80
CONFIG="num_encoders=6 num_pwmgens=6 ssi_chan_0=position%24ge"
(and the SSI works!)
Last edit: 24 Jul 2014 01:11 by PCW.
Please Log in or Create an account to join the conversation.
Time to create page: 0.104 seconds