Mesa Card Basics
09 Aug 2019 16:04 - 09 Aug 2019 16:09 #141789
by andypugh
Mesa Card Basics was created by andypugh
Mesa cards are add-on cards that offload the high-speed tasks to an FPGA.
The FPGA runs a firmware known as " Hostmot2 "
The interface between LinuxCNC and the card is in HAL, but at one level above that which you configure with the parallel port.
So, with a parallel port you connect motion to a stepgen, and then choose which physical pin to use for the step output, with a Mesa card you connect motion to a stepgen input pin on the FPGA interface, and the firmware on the card determines which physical pin is step and which direction.
A parallel port configuration which contained:Would look like the following with a Mesa card:Some cards load the firmware at every startup from the /lib/firmware directory. (5i20, 5i21, 7i43) whereas some have it permanently loaded and require it to be changed using the
mesaflash tool
Mesaflash can tell you the physical pin allocation of the installed firmware, but finding a firmware with a specific pin allocation is more difficult. One way is to download the Hostmot2 source file from Mesa and to look through the .vhd files (which are just about human-readable)
Mesa FPGA cards can connect to LinuxCNC through PCI, PCIe , EPP parallel port ( 7i43 , 7i90 ), Ethernet and SPI ( Pi version ) interfaces.
Many FPGA cards can additionally connect to expansion cards using the Mesa "smart serial" interface via CAT5 cables.
The FPGA runs a firmware known as " Hostmot2 "
The interface between LinuxCNC and the card is in HAL, but at one level above that which you configure with the parallel port.
So, with a parallel port you connect motion to a stepgen, and then choose which physical pin to use for the step output, with a Mesa card you connect motion to a stepgen input pin on the FPGA interface, and the firmware on the card determines which physical pin is step and which direction.
A parallel port configuration which contained:
net x-pos joint.0.motor-pos-cmd => stepgen.0.position-cmd
net x-step stepgen.0.step => parport.0.pin-01-out
net net x-pos joint.0.motor-pos-cmd => hm2_5i25.0.stepgen.00.position-cmd
Mesaflash can tell you the physical pin allocation of the installed firmware, but finding a firmware with a specific pin allocation is more difficult. One way is to download the Hostmot2 source file from Mesa and to look through the .vhd files (which are just about human-readable)
Mesa FPGA cards can connect to LinuxCNC through PCI, PCIe , EPP parallel port ( 7i43 , 7i90 ), Ethernet and SPI ( Pi version ) interfaces.
Many FPGA cards can additionally connect to expansion cards using the Mesa "smart serial" interface via CAT5 cables.
Last edit: 09 Aug 2019 16:09 by andypugh.
Please Log in or Create an account to join the conversation.
09 Aug 2019 17:52 #141803
by pl7i92
Replied by pl7i92 on topic Mesa Card Basics
and on a ethernet upgrade like 7i92 to china mach 5axis bob
loadrt hm2_eth board_ip=192.168.1.121 config="num_stepgens=3, num_encoders=0, num_pwmgens=1"
setp hm2_7i92.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_7i92.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_7i92.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_7i92.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_7i92.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_7i92.0.stepgen.00.step_type 0
setp hm2_7i92.0.stepgen.00.control-type 0
setp hm2_7i92.0.stepgen.00.maxaccel [JOINT_0]MAX_ACCELERATION
setp hm2_7i92.0.stepgen.00.maxvel [JOINT_0]MAX_VELOCITY
net x-pos-fb joint.0.motor-pos-fb <= hm2_7i92.0.stepgen.00.position-fb
net x-pos-cmd joint.0.motor-pos-cmd => hm2_7i92.0.stepgen.00.position-cmd
net x-enable joint.0.amp-enable-out => hm2_7i92.0.stepgen.00.enable
Attachments:
The following user(s) said Thank You: Dinuka_Shehan, Dorro1971
Please Log in or Create an account to join the conversation.
Time to create page: 0.096 seconds