Discussion:
[Emc-users] beaglebone fpga with linuxcnc
Josiah Morgan
2014-02-25 13:45:42 UTC
Permalink
I noticed that xylotex has an fpga cape in the works for beaglebone black.
(as well as other similar items from other sources)
I was curious if anyone was looking into the implementation of such fpga
capes into a linuxcnc build.
also, what would be the benefits and drawbacks to the addition of this fpga
module?
has anyone thought about how linuxcnc would be able to actually take
advantage of the fpga capabilities?
I'm just curious because I could see some benefits of possibly allowing the
fpga to house the kinematics functions as well as drive multiple step pins
simultaneously. I just don't know how linuxcnc would command it.
anyway, I just wanted to bring this up for discussion and see what thoughts
people had on it.

thanks.

--
Josiah Morgan, P.E.
Dave Cole
2014-02-25 14:16:55 UTC
Permalink
I'm sure it would depend upon how Xylotex or others are implementing
their cape..

BTW, I'm curious; Does anyone know who came up with the term "cape" ??
That seems totally non-obvious to me, compared to "add-on board",
"daughter board", etc.
Did that arrive out of a language translation? Or was that a TI
invention. I used to work for TI long ago and some of those guys lived
a little over the edge. ;-)

>>I just don't know how linuxcnc would command it.

With the proper driver software it should become fairly transparent to
the user. Otherwise no one is going to want to use it.

Dave


On 2/25/2014 8:45 AM, Josiah Morgan wrote:
> I noticed that xylotex has an fpga cape in the works for beaglebone black.
> (as well as other similar items from other sources)
> I was curious if anyone was looking into the implementation of such fpga
> capes into a linuxcnc build.
> also, what would be the benefits and drawbacks to the addition of this fpga
> module?
> has anyone thought about how linuxcnc would be able to actually take
> advantage of the fpga capabilities?
> I'm just curious because I could see some benefits of possibly allowing the
> fpga to house the kinematics functions as well as drive multiple step pins
> simultaneously. I just don't know how linuxcnc would command it.
> anyway, I just wanted to bring this up for discussion and see what thoughts
> people had on it.
>
> thanks.
>
Charles Steinkuehler
2014-02-25 14:21:51 UTC
Permalink
On 2/25/2014 8:16 AM, Dave Cole wrote:
>
> I'm sure it would depend upon how Xylotex or others are implementing
> their cape..
>
> BTW, I'm curious; Does anyone know who came up with the term "cape" ??
> That seems totally non-obvious to me, compared to "add-on board",
> "daughter board", etc.
> Did that arrive out of a language translation? Or was that a TI
> invention. I used to work for TI long ago and some of those guys lived
> a little over the edge. ;-)

It's a twist on "shield" from the Arduino world. The Beagle folks
wanted a new term to avoid confusion with existing sheilds, and you
apparently can't just call it a daughter-card or add-on-module because
the target audience is creative types who need to be shielded (pun
intended) from such harsh real-world concepts. :)

--
Charles Steinkuehler
***@steinkuehler.net
Dave Cole
2014-02-25 15:09:15 UTC
Permalink
On 2/25/2014 9:21 AM, Charles Steinkuehler wrote:
> apparently can't just call it a daughter-card or add-on-module because
> the target audience is creative types who need to be shielded (pun
> intended) from such harsh real-world concepts.:)

And we wonder why people get confused when they overhear our
conversations...

The line:
"Yeah I just got a new Beagle Bone board and I am about to buy a new Cape! "

The wife's thoughts:
"What ?? ... we don't even have a dog!.. So why do we need a "Bone" for
a "Beagle" ??? And if he starts wearing a "Cape"!?! That's it ...
we are done! " 8-O

;-)

Dave
Gregg Eshelman
2014-02-26 04:26:34 UTC
Permalink
On 2/25/2014 7:21 AM, Charles Steinkuehler wrote:
> On 2/25/2014 8:16 AM, Dave Cole wrote:
>>
>> I'm sure it would depend upon how Xylotex or others are implementing
>> their cape..
>>
>> BTW, I'm curious; Does anyone know who came up with the term "cape" ??
>> That seems totally non-obvious to me, compared to "add-on board",
>> "daughter board", etc.
>> Did that arrive out of a language translation? Or was that a TI
>> invention. I used to work for TI long ago and some of those guys lived
>> a little over the edge. ;-)
>
> It's a twist on "shield" from the Arduino world. The Beagle folks
> wanted a new term to avoid confusion with existing sheilds, and you
> apparently can't just call it a daughter-card or add-on-module because
> the target audience is creative types who need to be shielded (pun
> intended) from such harsh real-world concepts. :)

Remember Underdog? The super flying beagle who wore a cape?
Dave Cole
2014-02-26 14:06:49 UTC
Permalink
On 2/25/2014 11:26 PM, Gregg Eshelman wrote:
> On 2/25/2014 7:21 AM, Charles Steinkuehler wrote:
>> On 2/25/2014 8:16 AM, Dave Cole wrote:
>>> I'm sure it would depend upon how Xylotex or others are implementing
>>> their cape..
>>>
>>> BTW, I'm curious; Does anyone know who came up with the term "cape" ??
>>> That seems totally non-obvious to me, compared to "add-on board",
>>> "daughter board", etc.
>>> Did that arrive out of a language translation? Or was that a TI
>>> invention. I used to work for TI long ago and some of those guys lived
>>> a little over the edge. ;-)
>> It's a twist on "shield" from the Arduino world. The Beagle folks
>> wanted a new term to avoid confusion with existing sheilds, and you
>> apparently can't just call it a daughter-card or add-on-module because
>> the target audience is creative types who need to be shielded (pun
>> intended) from such harsh real-world concepts. :)
> Remember Underdog? The super flying beagle who wore a cape?
>

Oh Yes!

But I was a kid and didn't really consider what breed he was at the time.
Was he really a Beagle?
Underdog was one of my favorite cartoon characters back when I used to
look forward to Saturday morning cartoons!

Dave
Gregg Eshelman
2014-02-26 04:25:00 UTC
Permalink
On 2/25/2014 7:16 AM, Dave Cole wrote:
>
> I'm sure it would depend upon how Xylotex or others are implementing
> their cape..
>
> BTW, I'm curious; Does anyone know who came up with the term "cape" ??
> That seems totally non-obvious to me, compared to "add-on board",
> "daughter board", etc.
> Did that arrive out of a language translation? Or was that a TI
> invention. I used to work for TI long ago and some of those guys lived
> a little over the edge. ;-)

IMHO, it's as silly as "shield" for arduino boards and "sketch" for
arduino programs.

The letters and numbers one types in to make hardware do things other
than consume electricity constitute a program, no matter what anyone
calls it, "sketch", "app" or anything else.
Charles Steinkuehler
2014-02-25 14:28:38 UTC
Permalink
On 2/25/2014 7:45 AM, Josiah Morgan wrote:
> I noticed that xylotex has an fpga cape in the works for beaglebone black.
> (as well as other similar items from other sources)
> I was curious if anyone was looking into the implementation of such fpga
> capes into a linuxcnc build.
> also, what would be the benefits and drawbacks to the addition of this fpga
> module?
> has anyone thought about how linuxcnc would be able to actually take
> advantage of the fpga capabilities?
> I'm just curious because I could see some benefits of possibly allowing the
> fpga to house the kinematics functions as well as drive multiple step pins
> simultaneously. I just don't know how linuxcnc would command it.
> anyway, I just wanted to bring this up for discussion and see what thoughts
> people had on it.

I've got a logi-bone coming from the Kickstarter project, and will try
and play with the Xylotex board when it becomes available. I'm also
looking at modifying one of the parallel port Mesa cards to talk
directly to the BeagleBone (vs. trying to do SPI or parallel port
emulation with the PRU).

With all of these, I suspect the easiest path to working systems will be
to get the hostmot2 VHDL code running on the FPGA and modify the hm2 HAL
driver to talk to them. It's all pretty straight-forward (says the guy
who writes VHDL code for a living and ported the hm2 PCI driver to
user-space).

The general benefits would be the same as switching from software
stepgen to a Mesa card on an x86 system, although perhaps not _quite_ as
dramatic. The PRU can give you a 2-10x improvement over typical x86
software stepgen (1-10 uS threads vs. 10-25 uS or so), where the Mesa
card is about a 500x improvement (or 20 nS "thread") assuming a 50 MHz
clock.

--
Charles Steinkuehler
***@steinkuehler.net
Josiah Morgan
2014-02-25 15:07:43 UTC
Permalink
I have the logi-bone on order as well. that is what made me think of how I
could use it for linuxcnc as well of other projects of course.
I don't write vhdl for a living so all that is still slightly foreign but
fascinating to me.
keep us in the loop on your efforts with the logi-bone as well as the mesa
card and let me know if you need anyone to help with testing with the
logi-bone stuff.


On Tue, Feb 25, 2014 at 8:28 AM, Charles Steinkuehler <
***@steinkuehler.net> wrote:

> On 2/25/2014 7:45 AM, Josiah Morgan wrote:
> > I noticed that xylotex has an fpga cape in the works for beaglebone
> black.
> > (as well as other similar items from other sources)
> > I was curious if anyone was looking into the implementation of such fpga
> > capes into a linuxcnc build.
> > also, what would be the benefits and drawbacks to the addition of this
> fpga
> > module?
> > has anyone thought about how linuxcnc would be able to actually take
> > advantage of the fpga capabilities?
> > I'm just curious because I could see some benefits of possibly allowing
> the
> > fpga to house the kinematics functions as well as drive multiple step
> pins
> > simultaneously. I just don't know how linuxcnc would command it.
> > anyway, I just wanted to bring this up for discussion and see what
> thoughts
> > people had on it.
>
> I've got a logi-bone coming from the Kickstarter project, and will try
> and play with the Xylotex board when it becomes available. I'm also
> looking at modifying one of the parallel port Mesa cards to talk
> directly to the BeagleBone (vs. trying to do SPI or parallel port
> emulation with the PRU).
>
> With all of these, I suspect the easiest path to working systems will be
> to get the hostmot2 VHDL code running on the FPGA and modify the hm2 HAL
> driver to talk to them. It's all pretty straight-forward (says the guy
> who writes VHDL code for a living and ported the hm2 PCI driver to
> user-space).
>
> The general benefits would be the same as switching from software
> stepgen to a Mesa card on an x86 system, although perhaps not _quite_ as
> dramatic. The PRU can give you a 2-10x improvement over typical x86
> software stepgen (1-10 uS threads vs. 10-25 uS or so), where the Mesa
> card is about a 500x improvement (or 20 nS "thread") assuming a 50 MHz
> clock.
>
> --
> Charles Steinkuehler
> ***@steinkuehler.net
>
>
>
> ------------------------------------------------------------------------------
> Flow-based real-time traffic analytics software. Cisco certified tool.
> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
> Customize your own dashboards, set traffic alerts and generate reports.
> Network behavioral analysis & security monitoring. All-in-one tool.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>
>


--
Josiah Morgan, P.E.
Ron Ginger
2014-02-25 16:05:16 UTC
Permalink
The Arduino has shields as the add-om board, so I guess a cape was sort
of the other side of the shield.

ron ginger


On 2/25/2014 9:19 AM, emc-users-***@lists.sourceforge.net wrote:
> Dave Cole<***@gmail.com>
> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc
> To:emc-***@lists.sourceforge.net
> Message-ID:<***@gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
>
> I'm sure it would depend upon how Xylotex or others are implementing
> their cape..
>
> BTW, I'm curious; Does anyone know who came up with the term "cape" ??
> That seems totally non-obvious to me, compared to "add-on board",
> "daughter board", etc.
> Did that arrive out of a language translation? Or was that a TI
> invention. I used to work for TI long ago and some of those guys lived
> a little over the edge. ;-)
Dave Cole
2014-02-25 17:25:50 UTC
Permalink
I guess that... almost makes sense to me.. ;-)

Dave

On 2/25/2014 11:05 AM, Ron Ginger wrote:
> The Arduino has shields as the add-om board, so I guess a cape was sort
> of the other side of the shield.
>
> ron ginger
>
>
> On 2/25/2014 9:19 AM, emc-users-***@lists.sourceforge.net wrote:
>> Dave Cole<***@gmail.com>
>> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc
>> To:emc-***@lists.sourceforge.net
>> Message-ID:<***@gmail.com>
>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>
>>
>> I'm sure it would depend upon how Xylotex or others are implementing
>> their cape..
>>
>> BTW, I'm curious; Does anyone know who came up with the term "cape" ??
>> That seems totally non-obvious to me, compared to "add-on board",
>> "daughter board", etc.
>> Did that arrive out of a language translation? Or was that a TI
>> invention. I used to work for TI long ago and some of those guys lived
>> a little over the edge. ;-)
>
> ------------------------------------------------------------------------------
> Flow-based real-time traffic analytics software. Cisco certified tool.
> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
> Customize your own dashboards, set traffic alerts and generate reports.
> Network behavioral analysis & security monitoring. All-in-one tool.
> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
Jon Elson
2014-02-25 17:44:50 UTC
Permalink
On 02/25/2014 11:25 AM, Dave Cole wrote:
> I guess that... almost makes sense to me.. ;-)
>
> Dave
>
> On 2/25/2014 11:05 AM, Ron Ginger wrote:
>> The Arduino has shields as the add-om board, so I guess a cape was sort
>> of the other side of the shield.
>>
>>
The name comes from the shape of the board, rounded at one
end, with a notch in the other. They described the origin a
long
time ago on the beagle board list.

Jon
Len Shelton
2014-02-25 17:53:53 UTC
Permalink
I read somewhere that it came from Wonder Dog who wore a cape and was a
beagle.

>Len


On 2/25/2014 11:44 AM, Jon Elson wrote:
> On 02/25/2014 11:25 AM, Dave Cole wrote:
>> I guess that... almost makes sense to me.. ;-)
>>
>> Dave
>>
>> On 2/25/2014 11:05 AM, Ron Ginger wrote:
>>> The Arduino has shields as the add-om board, so I guess a cape was sort
>>> of the other side of the shield.
>>>
>>>
>
Jeff
2014-02-25 18:37:38 UTC
Permalink
Peter C. Wallace
2014-02-25 19:17:36 UTC
Permalink
On Tue, 25 Feb 2014, Jeff wrote:

> Date: Tue, 25 Feb 2014 10:37:38 -0800
> From: Jeff <***@hotmail.com>
> Reply-To: "Enhanced Machine Controller (EMC)"
> <emc-***@lists.sourceforge.net>
> To: "Enhanced Machine Controller (EMC)" <emc-***@lists.sourceforge.net>
> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc
>
> Hi,
>
>  Some info about the FPGA boards on my site: At this point, the FPGA boards
> I have listed don't have any released software support to go with them.  I'm
> going to work on making a library for simple I/O. This version of the board
> uses the same BBB I/O pins that Charles's MachineKit uses for STEP/DIR, etc.
> as I had read negative comments on the internet about using the BBB's eMMC
> data path.  Thus the data/control to the FPGA is currently done with
> "bit-bang" type control.  To mask all of that I'll simply have a library
> with 4 basic functions: SelectRead and SelectWrite which set an address and
> do a byte read or write.  Then there would be the ReadMore and WriteMore
> type functions which get/set the next byte using auto increment feature
> built in to FPGA firmware.  I have all of this tested and working so far.
> These are used to have a psuedo simulation of a PC EPP parallel port.  This
> basically means address register read/write and data register read/write,
> with auto increment on the data register R/W using 8 data bits, and 4
> control lines (ASTROBE, DSTROBE RD_WRn and RDY).
>
>    I've also written a small program that will take a Xilinx BIN file and
> dump it to the FPGA to program that device.  The software manipulates the
> bytes individually so no "bit swapping" is necessary. This version of board
> does not read any data stream out of the FPGA it simply dumps the firmware
> data to the FPGA and waits for the DONE to be properly set.  Programing of
> the FPGA firmware using the BBB is very quick (much faster than my parallel
> port JTAG progamming port).
>
>   At first I attempted to configure the setup with Hostmot2 and hm2_7i43
> software.  After a bit I was able to get both hostmot2 and hm2_7i43 working
> on the BBB side.  Then I started looking in to the FPGA side and had to back
> off (whoa!).  While I was able to get that whole suite to compile for the X9
> part I couldn't run it properly.  I think that there are some differences
> that might need changing, for example the X9 does not use the DCM like the
> Spartan3 series does (though it interestingly enough compiled).  There may
> be some other dialects between parts that need a bit of code modification as
> well; I was seeing warning about how RAM blocks were being used.

The 7I43 FPGA code should run fine in a Spartan6, but note that because of the
way the driver does the startup sequence and the VHDLs dependence on its
helper CPLD, its not likely to work as-is

The 7i90 branch VHDL source (TopEPPSHostMot2) is designed to work with a
pre-configured FPGA with no helper CPLD (the 7I43 has a helper CPLD to allow
USB bootstrap). TopEPPSHostMot2 source code is more suited for Spartan6 , and
should allow the use of MesaFlash utility to program both user and fallback
FPGA configurations into an attached SPI flash chip.


>
>   As mentioned, I decided to back off, so what I did next was to modify the
> PPMC code.  I've written a simple VHDL program to generate the encoders and
> PWM registers to do some simple tests.  Using Hostmot/7i43 might be a final
> solution, but I'm still learning the way LinuxCNC (and Linux in general)
> works. Anyway, right now I'm adapting the PPMC software to work with a small
> I/O board I made.  As can be seen on my web pages, the FPGA board has two
> 50-pin IDC headers, each with 24 pins of I/O from the FPGA.  These signals
> are routed through FET bus switches, which are enabled with the MachineKit
> BB_IO_RDY# signal.  All FPGA I/O must be 3.3V logic (no 5V at all).  Each
> signal has a GND pin associated with it (pin 1-signal, pin 2-GND, and so on,
> with pin 49 being 3V3 and pin 50 again GND).  I've made a mating I/O board
> that uses one of these ports.  The I/O board routes a FPGA signal past a
> diode from GND to signal,and from signal to 3.3V, then through a 47 ohm
> resistor to be used on-board.  The I/O board has 4 encoder set ports
> (singled ended A, B, I, 5V and GND on each of the four) which are RC
> buffered and logic level shifted through LVC541 buffers.  It also has four
> discrete inputs set per axis (16 total discrete inputs on four 6-pin
> headers).  It also has 4 outputs ports (Signal A, Signal B and an ENA#
> signal, along with 5V and GND).  The Signal A and B could be used for
> STEP/DIR or PWM/DIR.  The ENA# is common to all four ports.  These outputs
> are driven by LVC06, open collector buffers to the 5 pin headers (5V S1, S2,
> ENA#, GND).  I also have a single 10 pin header with 8 discrete output
> signals on it also buffered through LVC06's.  7 main outputs lines, and the
> same ENA# that is used on the other outputs.  The discrete I/O are sent SPI
> fashion from the FPGA to the I/O board which has a XC2C64A CPLD to do
> translation.  This allowed my to have all of the I/O and still only use the
> 24 pins available on one port of the FPGA board.  Anyone who's interest can
> see a quick photo of the I/O board mentioned here:
>
> http://xylotex.netfirms.com/OSCommerce/catalog/product_info.php?cPath=27&products_id=64
>
>   I hope to have the I/O board and firmware on the FPGA board talking with
> the modified PPMC software some time before the daylight savings time kicks
> in. 
>
> Jeff
>
>  
>
>
>
>    
> ----------------------------------------
>> Date: Tue, 25 Feb 2014 07:45:42 -0600
>> From: ***@gmail.com
>> To: emc-***@lists.sourceforge.net
>> Subject: [Emc-users] beaglebone fpga with linuxcnc
>>
>> I noticed that xylotex has an fpga cape in the works for beaglebone black.
>> (as well as other similar items from other sources)
>> I was curious if anyone was looking into the implementation of such fpga
>> capes into a linuxcnc build.
>> also, what would be the benefits and drawbacks to the addition of this fpga
>> module?
>> has anyone thought about how linuxcnc would be able to actually take
>> advantage of the fpga capabilities?
>> I'm just curious because I could see some benefits of possibly allowing the
>> fpga to house the kinematics functions as well as drive multiple step pins
>> simultaneously. I just don't know how linuxcnc would command it.
>> anyway, I just wanted to bring this up for discussion and see what thoughts
>> people had on it.
>>
>> thanks.
>>
>> --
>> Josiah Morgan, P.E.
>> ------------------------------------------------------------------------------
>> Flow-based real-time traffic analytics software. Cisco certified tool.
>> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
>> Customize your own dashboards, set traffic alerts and generate reports.
>> Network behavioral analysis & security monitoring. All-in-one tool.
>> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Emc-users mailing list
>> Emc-***@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/emc-users
> ------------------------------------------------------------------------------
> Flow-based real-time traffic analytics software. Cisco certified tool.
> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
> Customize your own dashboards, set traffic alerts and generate reports.
> Network behavioral analysis & security monitoring. All-in-one tool.
> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>

Peter Wallace
Mesa Electronics

(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
(")_(") signature to help him gain world domination.
Peter C. Wallace
2014-02-25 19:29:58 UTC
Permalink
I forgot one detail: for EPP interfaced hostmot2 on preconfigured FPGA cards
you want to use the hm2-7i90 branch. Im hoping the features in hm2_7i90
can be merged with the hm2_7i43 driver so there is a common hm2_epp driver
for all EPP interfaced HostMot2 cards.

Peter Wallace
Mesa Electronics

(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
(")_(") signature to help him gain world domination.
Jeff
2014-02-25 20:00:00 UTC
Permalink
Hi,

   Thanks, I'll look in to the 7i90 branch and see what I can do with that.  I'm pretty (very) new at both LinuxCNC internals and VHDL, so a base to start from is greatly appreciated.

Thanks,

Jeff


   While I do have a flash SPI on the FPGA board, I haven't populated it (or tested it), as the main goal is to download software dynamically from the BBB, since the port is pretty specific (BBB P8 and P9 pinout rather than a generic EPP paralel port), it can't really be used as a stand-alone board, but has to be mated with the BBB.

----------------------------------------
> Date: Tue, 25 Feb 2014 11:29:58 -0800
> From: ***@mesanet.com
> To: emc-***@lists.sourceforge.net
> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc
>
> I forgot one detail: for EPP interfaced hostmot2 on preconfigured FPGA cards
> you want to use the hm2-7i90 branch. Im hoping the features in hm2_7i90
> can be merged with the hm2_7i43 driver so there is a common hm2_epp driver
> for all EPP interfaced HostMot2 cards.
>
> Peter Wallace
> Mesa Electronics
>
> (\__/)
> (='.'=) This is Bunny. Copy and paste bunny into your
> (")_(") signature to help him gain world domination.
>
>
> ------------------------------------------------------------------------------
> Flow-based real-time traffic analytics software. Cisco certified tool.
> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
> Customize your own dashboards, set traffic alerts and generate reports.
> Network behavioral analysis & security monitoring. All-in-one tool.
> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
Sebastian Kuzminsky
2014-02-25 20:45:20 UTC
Permalink
On 2/25/14 12:29 , Peter C. Wallace wrote:
> I forgot one detail: for EPP interfaced hostmot2 on preconfigured FPGA cards
> you want to use the hm2-7i90 branch. Im hoping the features in hm2_7i90
> can be merged with the hm2_7i43 driver so there is a common hm2_epp driver
> for all EPP interfaced HostMot2 cards.


To merge the 7i43 and 7i90 drivers we'd need a way to probe the EPP port
and ask the board there which kind it is, so we know how many IO
connectors it has, and which FPGA.

We could start by hoping there's a configured board there and try to
read the IDROM. If that works we're done. If we dont succeed at
reading the IDROM i guess we would assume it's a 7i43 without a firmware
loaded.

Seem reasonable?


--
Sebastian Kuzminsky
Peter C. Wallace
2014-02-25 21:14:35 UTC
Permalink
On Tue, 25 Feb 2014, Sebastian Kuzminsky wrote:

> Date: Tue, 25 Feb 2014 13:45:20 -0700
> From: Sebastian Kuzminsky <***@highlab.com>
> Reply-To: "Enhanced Machine Controller (EMC)"
> <emc-***@lists.sourceforge.net>
> To: "Enhanced Machine Controller (EMC)" <emc-***@lists.sourceforge.net>
> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc
>
> On 2/25/14 12:29 , Peter C. Wallace wrote:
>> I forgot one detail: for EPP interfaced hostmot2 on preconfigured FPGA cards
>> you want to use the hm2-7i90 branch. Im hoping the features in hm2_7i90
>> can be merged with the hm2_7i43 driver so there is a common hm2_epp driver
>> for all EPP interfaced HostMot2 cards.
>
>
> To merge the 7i43 and 7i90 drivers we'd need a way to probe the EPP port
> and ask the board there which kind it is, so we know how many IO
> connectors it has, and which FPGA.
>
> We could start by hoping there's a configured board there and try to
> read the IDROM. If that works we're done. If we dont succeed at
> reading the IDROM i guess we would assume it's a 7i43 without a firmware
> loaded.
>
> Seem reasonable?

Yes though it may be even easier (if no firmware is specified, jump ahead to
IDROM read)

>
>
> --
> Sebastian Kuzminsky
>
> ------------------------------------------------------------------------------
> Flow-based real-time traffic analytics software. Cisco certified tool.
> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
> Customize your own dashboards, set traffic alerts and generate reports.
> Network behavioral analysis & security monitoring. All-in-one tool.
> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>

Peter Wallace
Mesa Electronics

(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
(")_(") signature to help him gain world domination.
Peter C. Wallace
2014-02-25 21:17:29 UTC
Permalink
On Tue, 25 Feb 2014, Peter C. Wallace wrote:

> Date: Tue, 25 Feb 2014 13:14:35 -0800 (PST)
> From: Peter C. Wallace <***@mesanet.com>
> Reply-To: "Enhanced Machine Controller (EMC)"
> <emc-***@lists.sourceforge.net>
> To: "Enhanced Machine Controller (EMC)" <emc-***@lists.sourceforge.net>
> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc
>
> On Tue, 25 Feb 2014, Sebastian Kuzminsky wrote:
>
>> Date: Tue, 25 Feb 2014 13:45:20 -0700
>> From: Sebastian Kuzminsky <***@highlab.com>
>> Reply-To: "Enhanced Machine Controller (EMC)"
>> <emc-***@lists.sourceforge.net>
>> To: "Enhanced Machine Controller (EMC)" <emc-***@lists.sourceforge.net>
>> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc
>>
>> On 2/25/14 12:29 , Peter C. Wallace wrote:
>>> I forgot one detail: for EPP interfaced hostmot2 on preconfigured FPGA cards
>>> you want to use the hm2-7i90 branch. Im hoping the features in hm2_7i90
>>> can be merged with the hm2_7i43 driver so there is a common hm2_epp driver
>>> for all EPP interfaced HostMot2 cards.
>>
>>
>> To merge the 7i43 and 7i90 drivers we'd need a way to probe the EPP port
>> and ask the board there which kind it is, so we know how many IO
>> connectors it has, and which FPGA.
>>
>> We could start by hoping there's a configured board there and try to
>> read the IDROM. If that works we're done. If we dont succeed at
>> reading the IDROM i guess we would assume it's a 7i43 without a firmware
>> loaded.
>>
>> Seem reasonable?
>
> Yes though it may be even easier (if no firmware is specified, jump ahead to
> IDROM read)

(should mention this works with flash configured 7I43s also)


>
>>
>>
>> --
>> Sebastian Kuzminsky
>>
>> ------------------------------------------------------------------------------
>> Flow-based real-time traffic analytics software. Cisco certified tool.
>> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
>> Customize your own dashboards, set traffic alerts and generate reports.
>> Network behavioral analysis & security monitoring. All-in-one tool.
>> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Emc-users mailing list
>> Emc-***@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/emc-users
>>
>
> Peter Wallace
> Mesa Electronics
>
> (\__/)
> (='.'=) This is Bunny. Copy and paste bunny into your
> (")_(") signature to help him gain world domination.
>
>
> ------------------------------------------------------------------------------
> Flow-based real-time traffic analytics software. Cisco certified tool.
> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
> Customize your own dashboards, set traffic alerts and generate reports.
> Network behavioral analysis & security monitoring. All-in-one tool.
> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>

Peter Wallace
Mesa Electronics

(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
(")_(") signature to help him gain world domination.
Jeff
2014-02-25 23:22:05 UTC
Permalink
Hi Peter,

  Not being a LinuxCNC developer, I know little about "branches" etc.  I went to git.linuxcnc.org where I figured stuff might be, but couldn't find anything related to hm2_7i90.  Right now, I'm basically using the software provided with the MachineKit, and it doesn't seem to have 7i90 related stuff either (unless I'm totally lost - which could be.....).

  Can you provide a link to where I would be able to download the hm2_7i90.c code?

Thanks,

Jeff


----------------------------------------
> Date: Tue, 25 Feb 2014 11:29:58 -0800
> From: ***@mesanet.com
> To: emc-***@lists.sourceforge.net
> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc
>
> I forgot one detail: for EPP interfaced hostmot2 on preconfigured FPGA cards
> you want to use the hm2-7i90 branch. Im hoping the features in hm2_7i90
> can be merged with the hm2_7i43 driver so there is a common hm2_epp driver
> for all EPP interfaced HostMot2 cards.
>
> Peter Wallace
> Mesa Electronics
>
> (\__/)
> (='.'=) This is Bunny. Copy and paste bunny into your
> (")_(") signature to help him gain world domination.
>
>
> ------------------------------------------------------------------------------
> Flow-based real-time traffic analytics software. Cisco certified tool.
> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
> Customize your own dashboards, set traffic alerts and generate reports.
> Network behavioral analysis & security monitoring. All-in-one tool.
> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
Michał Geszkiewicz
2014-02-26 01:32:57 UTC
Permalink
Hi,

http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=commit;h=39db4d1f16be2a3715d95c72eec8fa180bc91233

regards,
Michael

W dniu 26.02.2014 00:22, Jeff pisze:
> Hi Peter,
>
> Not being a LinuxCNC developer, I know little about "branches" etc. I went to git.linuxcnc.org where I figured stuff might be, but couldn't find anything related to hm2_7i90. Right now, I'm basically using the software provided with the MachineKit, and it doesn't seem to have 7i90 related stuff either (unless I'm totally lost - which could be.....).
>
> Can you provide a link to where I would be able to download the hm2_7i90.c code?
>
> Thanks,
>
> Jeff
>
>
> ----------------------------------------
>> Date: Tue, 25 Feb 2014 11:29:58 -0800
>> From: ***@mesanet.com
>> To: emc-***@lists.sourceforge.net
>> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc
>>
>> I forgot one detail: for EPP interfaced hostmot2 on preconfigured FPGA cards
>> you want to use the hm2-7i90 branch. Im hoping the features in hm2_7i90
>> can be merged with the hm2_7i43 driver so there is a common hm2_epp driver
>> for all EPP interfaced HostMot2 cards.
>>
>> Peter Wallace
>> Mesa Electronics
>>
>> (\__/)
>> (='.'=) This is Bunny. Copy and paste bunny into your
>> (")_(") signature to help him gain world domination.
>>
>>
>> ------------------------------------------------------------------------------
>> Flow-based real-time traffic analytics software. Cisco certified tool.
>> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
>> Customize your own dashboards, set traffic alerts and generate reports.
>> Network behavioral analysis & security monitoring. All-in-one tool.
>> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Emc-users mailing list
>> Emc-***@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/emc-users
> ------------------------------------------------------------------------------
> Flow-based real-time traffic analytics software. Cisco certified tool.
> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
> Customize your own dashboards, set traffic alerts and generate reports.
> Network behavioral analysis & security monitoring. All-in-one tool.
> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>
>
Jeff
2014-02-26 22:52:52 UTC
Permalink
unknown
1970-01-01 00:00:00 UTC
Permalink
Hi=2C=0A=
=0A=
=A0Some info about the FPGA boards on my site: At this point=2C the FPGA bo=
ards I have listed don't have any released software support to go with them=
.=A0 I'm going to work on making a library for simple I/O. This version of =
the board uses the same BBB I/O pins that Charles's MachineKit uses for STE=
P/DIR=2C etc. as I had read negative comments on the internet about using t=
he BBB's eMMC data path.=A0 Thus the data/control to the FPGA is currently =
done with "bit-bang" type control.=A0 To mask all of that I'll simply have =
a library with 4 basic functions: SelectRead and SelectWrite which set an a=
ddress and do a byte read or write.=A0 Then there would be the ReadMore and=
WriteMore type functions which get/set the next byte using auto increment =
feature built in to FPGA firmware.=A0 I have all of this tested and working=
so far. These are used to have a psuedo simulation of a PC EPP parallel po=
rt.=A0 =0A=
This basically means address register read/write and data register =0A=
read/write=2C with auto increment on the data register R/W using 8 data bit=
s=2C and 4 control lines (ASTROBE=2C DSTROBE RD_WRn and RDY).=0A=
=0A=
=A0=A0 I've also written a small program that will take a Xilinx BIN file a=
nd dump it to the FPGA to program that device.=A0 The software manipulates =
the bytes individually so no "bit swapping" is necessary. This version of b=
oard does not read any data stream out of the FPGA it simply dumps the firm=
ware data to the FPGA and waits for the DONE to be properly set.=A0 Program=
ing of the FPGA firmware using the BBB is very quick (much faster than my p=
arallel port JTAG progamming port).=0A=
=0A=
=A0 At first I attempted to configure the setup with Hostmot2 and hm2_7i43 =
software.=A0 After a bit I was able to get both hostmot2 and hm2_7i43 worki=
ng on the BBB side.=A0 Then I started looking in to the FPGA side and had t=
o back off (whoa!).=A0 While I was able to get that whole suite to compile =
for the X9 part I couldn't run it properly.=A0 I think that there are some =
differences that might need changing=2C for example the X9 does not use the=
DCM like the Spartan3 series does (though it interestingly enough compiled=
).=A0 There may be some other dialects between parts that need a bit of cod=
e modification as well=3B I was seeing warning about how RAM blocks were be=
ing used.=0A=
=0A=
=A0 As mentioned=2C I decided to back off=2C so what I did next was to modi=
fy the PPMC code.=A0 I've written a simple VHDL program to generate the enc=
oders and PWM registers to do some simple tests.=A0 Using Hostmot/7i43 migh=
t be a final solution=2C but I'm still learning the way LinuxCNC (and Linux=
in general) works. Anyway=2C right now I'm adapting the PPMC software to w=
ork with a small I/O board I made.=A0 As can be seen on my web pages=2C the=
FPGA board has two 50-pin IDC headers=2C each with 24 pins of I/O from the=
FPGA.=A0 These signals are routed through FET bus switches=2C which are en=
abled with the MachineKit BB_IO_RDY# signal.=A0 All FPGA I/O must be 3.3V l=
ogic (no 5V at all).=A0 Each signal has a GND pin associated with it (pin 1=
-signal=2C pin 2-GND=2C and so on=2C with pin 49 being 3V3 and pin 50 again=
GND).=A0 I've made a mating I/O board that uses one of these ports.=A0 The=
I/O board routes a FPGA signal past a diode from GND to signal=2Cand from =
signal to 3.3V=2C then through a 47 ohm resistor to be used on-board.=A0 Th=
e I/O board has 4 encoder set ports (singled ended A=2C B=2C I=2C 5V and GN=
D on each of the four) which are RC buffered and logic level shifted throug=
h LVC541 buffers.=A0 It also has four discrete inputs set per axis (16 tota=
l discrete inputs on four 6-pin headers).=A0 It also has 4 outputs ports (S=
ignal A=2C Signal B and an ENA# signal=2C along with 5V and GND).=A0 The Si=
gnal A and B could be used for STEP/DIR or PWM/DIR.=A0 The ENA# is common t=
o all four ports.=A0 These outputs are driven by LVC06=2C open collector bu=
ffers to the 5 pin headers (5V S1=2C S2=2C ENA#=2C GND).=A0 I also have a s=
ingle 10 pin header with 8 discrete output signals on it also buffered thro=
ugh LVC06's.=A0 7 main outputs lines=2C and the same ENA# that is used on t=
he other outputs.=A0 The discrete I/O are sent SPI fashion from the FPGA to=
the I/O board which has a XC2C64A CPLD to do translation.=A0 This allowed =
my to have all of the I/O and still only use the 24 pins available on one p=
ort of the FPGA board.=A0 Anyone who's interest can see a quick photo of th=
e I/O board mentioned here:=0A=
=0A=
http://xylotex.netfirms.com/OSCommerce/catalog/product_info.php?cPath=3D27&=
products_id=3D64=0A=
=0A=
=A0 I hope to have the I/O board and firmware on the FPGA board talking wit=
h the modified PPMC software some time before the daylight savings time kic=
ks in.=A0 =0A=
=0A=
Jeff=0A=
=0A=
=A0 =0A=
=0A=
=0A=
=0A=
=A0 =A0 =0A=
----------------------------------------=0A=
> Date: Tue=2C 25 Feb 2014 07:45:42 -0600=0A=
> From: ***@gmail.com=0A=
> To: emc-***@lists.sourceforge.net=0A=
> Subject: [Emc-users] beaglebone fpga with linuxcnc=0A=
>=0A=
> I noticed that xylotex has an fpga cape in the works for beaglebone black=
.=0A=
> (as well as other similar items from other sources)=0A=
> I was curious if anyone was looking into the implementation of such fpga=
=0A=
> capes into a linuxcnc build.=0A=
> also=2C what would be the benefits and drawbacks to the addition of this =
fpga=0A=
> module?=0A=
> has anyone thought about how linuxcnc would be able to actually take=0A=
> advantage of the fpga capabilities?=0A=
> I'm just curious because I could see some benefits of possibly allowing t=
he=0A=
> fpga to house the kinematics functions as well as drive multiple step pin=
s=0A=
> simultaneously. I just don't know how linuxcnc would command it.=0A=
> anyway=2C I just wanted to bring this up for discussion and see what thou=
ghts=0A=
> people had on it.=0A=
>=0A=
> thanks.=0A=
>=0A=
> --=0A=
> Josiah Morgan=2C P.E.=0A=
> -------------------------------------------------------------------------=
-----=0A=
> Flow-based real-time traffic analytics software. Cisco certified tool.=0A=
> Monitor traffic=2C SLAs=2C QoS=2C Medianet=2C WAAS etc. with NetFlow Anal=
yzer=0A=
> Customize your own dashboards=2C set traffic alerts and generate reports.=
=0A=
> Network behavioral analysis & security monitoring. All-in-one tool.=0A=
> http://pubads.g.doubleclick.net/gampad/clk?id=3D126839071&iu=3D/4140/ostg=
.clktrk=0A=
> _______________________________________________=0A=
> Emc-users mailing list=0A=
> Emc-***@lists.sourceforge.net=0A=
> https://lists.sourceforge.net/lists/listinfo/emc-users =
unknown
1970-01-01 00:00:00 UTC
Permalink
Hi=2C=0A=
=0A=
=A0 Got it.=0A=
=0A=
Thanks=2C=0A=
=0A=
Jeff=0A=
----------------------------------------=0A=
> Date: Wed=2C 26 Feb 2014 02:32:57 +0100=0A=
> From: ***@wp.pl=0A=
> To: emc-***@lists.sourceforge.net=0A=
> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc=0A=
>=0A=
> Hi=2C=0A=
>=0A=
> http://git.linuxcnc.org/gitweb?p=3Dlinuxcnc.git=3Ba=3Dcommit=3Bh=3D39db4d=
1f16be2a3715d95c72eec8fa180bc91233=0A=
>=0A=
> regards=2C=0A=
> Michael=0A=
>=0A=
> W dniu 26.02.2014 00:22=2C Jeff pisze:=0A=
>> Hi Peter=2C=0A=
>>=0A=
>> Not being a LinuxCNC developer=2C I know little about "branches" etc. I =
went to git.linuxcnc.org where I figured stuff might be=2C but couldn't fin=
d anything related to hm2_7i90. Right now=2C I'm basically using the softwa=
re provided with the MachineKit=2C and it doesn't seem to have 7i90 related=
stuff either (unless I'm totally lost - which could be.....).=0A=
>>=0A=
>> Can you provide a link to where I would be able to download the hm2_7i90=
.c code?=0A=
>>=0A=
>> Thanks=2C=0A=
>>=0A=
>> Jeff=0A=
>>=0A=
>>=0A=
>> ----------------------------------------=0A=
>>> Date: Tue=2C 25 Feb 2014 11:29:58 -0800=0A=
>>> From: ***@mesanet.com=0A=
>>> To: emc-***@lists.sourceforge.net=0A=
>>> Subject: Re: [Emc-users] beaglebone fpga with linuxcnc=0A=
>>>=0A=
>>> I forgot one detail: for EPP interfaced hostmot2 on preconfigured FPGA =
cards=0A=
>>> you want to use the hm2-7i90 branch. Im hoping the features in hm2_7i90=
=0A=
>>> can be merged with the hm2_7i43 driver so there is a common hm2_epp dri=
ver=0A=
>>> for all EPP interfaced HostMot2 cards.=0A=
>>>=0A=
>>> Peter Wallace=0A=
>>> Mesa Electronics=0A=
>>>=0A=
>>> (\__/)=0A=
>>> (=3D'.'=3D) This is Bunny. Copy and paste bunny into your=0A=
>>> (")_(") signature to help him gain world domination.=0A=
>>>=0A=
>>>=0A=
>>> -----------------------------------------------------------------------=
-------=0A=
>>> Flow-based real-time traffic analytics software. Cisco certified tool.=
=0A=
>>> Monitor traffic=2C SLAs=2C QoS=2C Medianet=2C WAAS etc. with NetFlow An=
alyzer=0A=
>>> Customize your own dashboards=2C set traffic alerts and generate report=
s.=0A=
>>> Network behavioral analysis & security monitoring. All-in-one tool.=0A=
>>> http://pubads.g.doubleclick.net/gampad/clk?id=3D126839071&iu=3D/4140/os=
tg.clktrk=0A=
>>> _______________________________________________=0A=
>>> Emc-users mailing list=0A=
>>> Emc-***@lists.sourceforge.net=0A=
>>> https://lists.sourceforge.net/lists/listinfo/emc-users=0A=
>> ------------------------------------------------------------------------=
------=0A=
>> Flow-based real-time traffic analytics software. Cisco certified tool.=
=0A=
>> Monitor traffic=2C SLAs=2C QoS=2C Medianet=2C WAAS etc. with NetFlow Ana=
lyzer=0A=
>> Customize your own dashboards=2C set traffic alerts and generate reports=
.=0A=
>> Network behavioral analysis & security monitoring. All-in-one tool.=0A=
>> http://pubads.g.doubleclick.net/gampad/clk?id=3D126839071&iu=3D/4140/ost=
g.clktrk=0A=
>> _______________________________________________=0A=
>> Emc-users mailing list=0A=
>> Emc-***@lists.sourceforge.net=0A=
>> https://lists.sourceforge.net/lists/listinfo/emc-users=0A=
>>=0A=
>>=0A=
>=0A=
>=0A=
> -------------------------------------------------------------------------=
-----=0A=
> Flow-based real-time traffic analytics software. Cisco certified tool.=0A=
> Monitor traffic=2C SLAs=2C QoS=2C Medianet=2C WAAS etc. with NetFlow Anal=
yzer=0A=
> Customize your own dashboards=2C set traffic alerts and generate reports.=
=0A=
> Network behavioral analysis & security monitoring. All-in-one tool.=0A=
> http://pubads.g.doubleclick.net/gampad/clk?id=3D126839071&iu=3D/4140/ostg=
.clktrk=0A=
> _______________________________________________=0A=
> Emc-users mailing list=0A=
> Emc-***@lists.sourceforge.net=0A=
> https://lists.sourceforge.net/lists/listinfo/emc-users =
Loading...