Firmware for 7i80 +SSI +7i48 +7i84

More
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)

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

More
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

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

More
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
The following user(s) said Thank You: bobobo

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

More
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:
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.

More
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?
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.

More
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 :blush:

Thanks!

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

More
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.

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

More
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)
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.

More
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:
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"
hal file:
# 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.

More
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
[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.

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