585,758 active members*
4,537 visitors online*
Register for free
Login
IndustryArena Forum > Machine Controllers Software and Solutions > LinuxCNC (formerly EMC2) > Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.
Results 1 to 13 of 13
  1. #1
    Join Date
    Jan 2007
    Posts
    209

    Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    Has anyone got a Mesa 6i25 IO card to connect directly up to the Dmm-tech servo breakout board? 6i25 has a parallel port db25 connector.

    Mesa Card I have:
    http://www.mesanet.com/pdf/parallel/6i25man.pdf

    DMM-Tech breakout card I have:
    http://dmm-tech.com/Files/DMB4250-8B...tVer010106.pdf

    I'm trying to avoid creating an adapter to make the pinouts match up. For the 6i25 there's a few configurations that are precompiled but none mach up 1:1 for pinouts of the Dmm-tech board as far as I can tell.

    How much hassle is it to make a custom configuration pinout files for 6i25? The G540 configuration is close to what I need it's just not outputting on the right pins for the DMM board.

    I've not messed with Xilinx programming before but have some experience with low level programming microprocessors including a few different assembly languages.

    I'm using LinuxCNC which works well with Mesa boards and most of the info I've come across doesn't help as most people use the mesa breakouts boards with the mesa I/O breakout boards.

    Right now I have the DMM older version Servo drivers that are STEP/Dir driven with no quadrature feedback and it won't be any performance advantage to replace the DMM-tech breakout board with something else unless I replace the servo drivers as well. I was hoping I could get a bit higher bit rate out of the 6i25 vs a standard parallel port. I'm limited to about 20kHz right now with the parallel port. Later I will swap out the servo drivers to the newer version so I can do closed loop control in LinuxCNC. At that point I would replace the breakout card as well.

    I have a couple pending customer jobs for my machine so I can't take it out of service for too long. Yesterday, I did get the Latest LinuxCNC version installed which caused some issues getting my XHC pendant working again. After some configuration tweaks I'm back up using the parallel port with a working pendant. (Back where I started pretty much)

    Andrew

  2. #2
    Join Date
    Feb 2007
    Posts
    711

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    I would post on the linuxcnc forum on cnczone or at linuxcnc.org
    Peter from mesa monitors both of those and he would be the best to help you.
    If you haven't searched the linuxcnc.org forum, I'd do that I'm sure there is info on setting up custom pins.

    I am in the process of wiring a dyn3 to a 5i25 and 7i77, but not using the dmm breakout board.

  3. #3
    Join Date
    Mar 2011
    Posts
    0

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    If you would like to learn about making custom bit files you can see my page at: http://tom-itx.no-ip.biz:81/~webpage...tall_index.php or the wiki at linuxcnc.org: LinuxCNC Documentation Wiki: Editing MESA Bitfiles

    I must warn: it isn't for the faint of heart.

    Tom

  4. #4
    Join Date
    Feb 2008
    Posts
    644

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    Note that the 6I25 normally mimics a 5i25 so all the 5i25s in the following text are correct

    5i25_dmmbob1x2 should be the correct configuration

    if you download the 5i25.zip support file for the 5i25/6i25 you will find the 5i25_dmmbob1x2.bit and 5i25_dmmbob1x2.pin files

    The pin file is a text file that shows the pinout of that configuration. it should match your breakout

    If its correct you reflash your 6I25 with the new bit file, cycle the power and you should have working hardware

    flashing the 6i25 is done with the mesaflash utility:

    sudo mesaflash --device 5i25 --write 5i25_dmmbob1x2.bit

  5. #5
    Join Date
    Jan 2007
    Posts
    209

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    Now that sounds easier than doing it myself.

    Thanks for the help everyone.

    Andrew

  6. #6
    Join Date
    Jan 2007
    Posts
    209

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    Update:

    I ended up making my own version bit file as the dmmbob1x2.bit had encoder setup on the pins I had the home switches and I am using the charge pump and not the 4th axis.

    Took 2 tries to get the vhd file to compile. Took longer to get the Xilinx IDE setup and the license file installed than it did to modify the pinout.

    I made it through the PnCConf process and got I HAL and INI files that are pretty close to working. No errors but still fighting a bit charge pump as it needs a higher frequency to work than my servo thread is set to. All 3 axis step/dir setup are working in the correct directions, estop works, and spindle will turn on/off but needs to be calibrated to my VFD.

    Andrew

  7. #7
    Join Date
    Feb 2008
    Posts
    644

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    Quote Originally Posted by the_canuck View Post
    Update:

    I ended up making my own version bit file as the dmmbob1x2.bit had encoder setup on the pins I had the home switches and I am using the charge pump and not the 4th axis.

    Took 2 tries to get the vhd file to compile. Took longer to get the Xilinx IDE setup and the license file installed than it did to modify the pinout.

    I made it through the PnCConf process and got I HAL and INI files that are pretty close to working. No errors but still fighting a bit charge pump as it needs a higher frequency to work than my servo thread is set to. All 3 axis step/dir setup are working in the correct directions, estop works, and spindle will turn on/off but needs to be calibrated to my VFD.

    Andrew
    I suspect you are making this a bit harder than neccesary:

    1. The encoder inputs can be used as GPIO so theres no reason to remove them

    2. The A stepgen can be used to feed the chargpump (you set it to quadrature mode and set the frequency to the desired charegpump frequency)

  8. #8
    Join Date
    Jan 2007
    Posts
    209

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    You are probably right but I did manage to get everything working I needed on the 6i25 card. Machine is back to full functionality that I had before.

    With the Mesa Card, seems like things are running a bit smoother with identical steps/in settings that I had on the parallel port. Servos do sound better when moving fast and slow. I'll know more after some test cuts.

    From here I can add resolution if needed and I will no longer be limited by the parallel port limitations.

    Andrew

  9. #9
    Join Date
    Jan 2007
    Posts
    209

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    Working on a new configuration for my machine. I'm now adding linear encoders to the X and Y axis.

    I've purchased a 7I85s breakout board.

    I'm now trying to get 6I25 to work with a DMM breakout on the primary P3 DB25 connector and the 7I85s on the secondary P2 connector. I've taken the 2 VHDL standard files and combined them to get to this stage:

    Code:
    package PIN_DMMBOB1_7I85S_34_ACW is
    	constant ModuleID : ModuleIDType :=( 
    		(WatchDogTag,		x"00",	ClockLowTag,			x"01",	WatchDogTimeAddr&PadT,		WatchDogNumRegs,					x"00",	WatchDogMPBitMask),
    		(IOPortTag,		x"00",	ClockLowTag,			x"02",	PortAddr&PadT,			IOPortNumRegs,						x"00",	IOPortMPBitMask),
    		(StepGenTag,		x"02",	ClockLowTag,			x"08",	StepGenRateAddr&PadT,		StepGenNumRegs,						x"00",	StepGenMPBitMask),
    		(PWMTag,		x"00",	ClockHighTag,			x"01",	PWMValAddr&PadT,		PWMNumRegs,						x"00",	PWMMPBitMask),
    		(MuxedQcountTag,		MQCRev,	ClockLowTag,	x"04",	MuxedQcounterAddr&PadT,		MuxedQCounterNumRegs,x"00",	MuxedQCounterMPBitMask),
    		(MuxedQCountSelTag,	x"00",	ClockLowTag,	x"01",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(SSerialTag,	x"00",	ClockLowTag,	x"01",	SSerialCommandAddr&PadT,	SSerialNumRegs,		x"10",	SSerialMPBitMask),
    		(LEDTag,		x"00",	ClockLowTag,			x"01",	LEDAddr&PadT,			LEDNumRegs,						x"00",	LEDMPBitMask),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000"),
    		(NullTag,		x"00",	NullTag,			x"00",	NullAddr&PadT,					x"00",					x"00",	x"00000000")
    		);
    		
    	
    	constant PinDesc : PinDescType :=(
    -- 	Base func  sec unit sec func 	 sec pin					-- external DB25
    		IOPortTag & x"00" & PWMTag & PWMAOutPin,				-- I/O 00	PIN 1	Spindle DAC PWM
    		IOPortTag & x"00" & NullTag & NullPin,					-- I/O 01	PIN 14 	just GPIO  
    		IOPortTag & x"00" & StepGenTag & StepGenDirPin,		        -- I/O 02	PIN 2        X Dir
    		IOPortTag & x"00" & NullTag & NullPin,					-- I/O 03	PIN 15	just GPIO
    		IOPortTag & x"00" & StepGenTag & StepGenStepPin,	                -- I/O 04	PIN 3	X Step    
    		IOPortTag & x"00" & NullTag & NullPin,					-- I/O 05	PIN 16      just GPIO
    		IOPortTag & x"01" & StepGenTag & StepGenDirPin,		        -- I/O 06	PIN 4	Y Dir
    		IOPortTag & x"00" & NullTag & NullPin,					-- I/O 07	PIN 17	just GPIO
    		IOPortTag & x"01" & StepGenTag & StepGenStepPin,	                -- I/O 08	PIN 5 	Y Step
    		IOPortTag & x"02" & StepGenTag & StepGenDirPin,		        -- I/O 09	PIN 6	Z Dir
    		IOPortTag & x"02" & StepGenTag & StepGenStepPin,	                -- I/O 10	PIN 7	Z Step
    		IOPortTag & x"03" & StepGenTag & StepGenDirPin,		        -- I/O 11	PIN 8	A Dir
    		IOPortTag & x"03" & StepGenTag & StepGenStepPin,	                -- I/O 12	PIN 9	A Step
    		IOPortTag & x"00" & NullTag & NullPin,					-- I/O 13	PIN 10	just GPIO  MOD by ACW
    		IOPortTag & x"00" & NullTag & NullPin,  				        -- I/O 14	PIN 11	just GPIO  MOD by ACW
    		IOPortTag & x"00" & NullTag & NullPin,					-- I/O 15	PIN 12	just GPIO  MOD by ACW
    		IOPortTag & x"00" & NullTag & NullPin,    			                -- I/O 16	PIN 13	just GPIO  MOD by ACW
    
    													--		P2		DB25		26 HDR
    		IOPortTag & x"00" & SSerialTag & SSerialRX0Pin, 				-- I/O 00	PIN 1    PIN 1	
    		IOPortTag & x"00" & SSerialTag & SSerialTX0Pin, 				-- I/O 01	PIN 14   PIN 2	
    		IOPortTag & x"07" & StepGenTag & StepGenStepPin, 				-- I/O 02	PIN 2    PIN 3	
    		IOPortTag & x"07" & StepGenTag & StepGenDirPin, 				-- I/O 03	PIN 15   PIN 4	
    		IOPortTag & x"06" & StepGenTag & StepGenStepPin, 				-- I/O 04	PIN 3    PIN 5	
    		IOPortTag & x"06" & StepGenTag & StepGenDirPin, 				-- I/O 05	PIN 16   PIN 6	
    		IOPortTag & x"05" & StepGenTag & StepGenStepPin, 				-- I/O 06	PIN 4    PIN 7	
    		IOPortTag & x"05" & StepGenTag & StepGenDirPin, 				-- I/O 07	PIN 17   PIN 8	
    		IOPortTag & x"04" & StepGenTag & StepGenStepPin, 				-- I/O 08	PIN 5    PIN 9	
    		IOPortTag & x"04" & StepGenTag & StepGenDirPin, 				-- I/O 09	PIN 6    PIN 11
    		IOPortTag & x"00" & MuxedQCountSelTag & MuxedQCountSel0Pin,	-- I/O 10	PIN 7
    		IOPortTag & x"00" & MuxedQCountTag & MuxedQCountQAPin,		-- I/O 11	PIN 8
    		IOPortTag & x"00" & MuxedQCountTag & MuxedQCountQBPin,		-- I/O 12	PIN 9
    		IOPortTag & x"00" & MuxedQCountTag & MuxedQCountIDXPin,		-- I/O 13	PIN 10
    		IOPortTag & x"01" & MuxedQCountTag & MuxedQCountQAPin,		-- I/O 14	PIN 11
    		IOPortTag & x"01" & MuxedQCountTag & MuxedQCountQBPin,		-- I/O 15	PIN 12
    		IOPortTag & x"01" & MuxedQCountTag & MuxedQCountIDXPin,		-- I/O 16	PIN 13
    
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin, -- added for 34 pin 5I25
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    
    
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin, -- added for IDROM v3
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    					
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
    		emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin);
    
    end package PIN_DMMBOB1_7I85S_34_ACW;
    I'm getting it to compile but with some warnings which is causing me to second guess I'm good to use what I have. Any help would be appreciated as I'm not a Xilinx VHDL expert by any means.

    Andrew

  10. #10
    Join Date
    Feb 2008
    Posts
    644

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    Some warnings are expected. If you want (and this is your first home made bit file),
    you can send your bitfile to mesa and I can test it out without the risk of it bricking your
    6I25 to the extent you need a JTAG reload.

    A wrong or missing pinout ( or ucf file association issue ) can cause this.
    If the ucf file is not associated with the top level file, the tools will cheerfully assign a
    random pinout, this never works :-)

  11. #11
    Join Date
    Feb 2008
    Posts
    644

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    Quote Originally Posted by PCW_MESA View Post
    Some warnings are expected. If you want (and this is your first home made bit file),
    you can send your bitfile to mesa and I can test it out without the risk of it bricking your
    6I25 to the extent you need a JTAG reload.

    A wrong or missing pinout ( or ucf file association issue ) can cause this.
    If the ucf file is not associated with the top level file, the tools will cheerfully assign a
    random pinout, this never works :-)
    Just learned a mesaflash trick that can be useful for first time testing of a home-made
    bitfile that avoids the possibility of bricking the card

    You can write and launch a test bitfile to the fallback area of the Flash memory of the FPGA card with these commands:

    sudo mesaflash --device 5i25 --fallback --write your-untested-bitfile.bit
    sudo mesaflash --device 5i25 --falback --reload

    If the bitfile does not work at all a power cycle will reload the user config

    (just dont break the user config)

  12. #12
    Join Date
    Jan 2007
    Posts
    209

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    Now that's a cool trick. I will try my new file with this trick to see how it goes.

    Andrew

  13. #13
    Join Date
    Jan 2007
    Posts
    209

    Re: Longshot Request for Help: Mesa 6i25 and Dmm-Tech breakout board.

    The FPGA stuff went smooth and I have the machine working again with 6i25 setup for DMM breakout board and a 7I85s connected up to quad. magnetic encoders. I have my HAL and INI files setup like a closed loop stepper using the magnetic linear encoders. HAL scope is making my life much easier now that I can see the actual position.

    I'm slowly learning how LinuxCNC and Mesa board works. I'm more impressed the deeper I dig.

    Andrew

Similar Threads

  1. BREAKOUT BOARD INTERFACE BUFFER BOARD
    By deslee in forum Servo Motors / Drives
    Replies: 1
    Last Post: 08-17-2014, 07:32 PM
  2. DMM Tech Review FEEDBACK request
    By Linghunt in forum Dmm Technology
    Replies: 13
    Last Post: 10-07-2013, 11:43 PM
  3. automation tech c10 breakout board, npn sensors
    By kingkong111 in forum CNC Machine Related Electronics
    Replies: 2
    Last Post: 02-17-2013, 05:29 PM
  4. Breakout board, Relays on board?
    By Cooper in forum Open Source Controller Boards
    Replies: 11
    Last Post: 06-10-2007, 01:55 AM
  5. Has anyone used Axxus Tech. db1v20 pc breakout board?
    By trubleshtr in forum CNC Machine Related Electronics
    Replies: 2
    Last Post: 04-09-2004, 12:43 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •