Spartan 6 LX9 dev board as Mesa 7c81

More
19 Dec 2023 10:26 #288565 by Mehta_123
Hello,
I have spartan 6 LX9 mini dev board and i want my board to work same as mesa 7c81. Is that possible ??  
As i go through the manual of mesa 7c81, communication between Linuxcnc (Raspoberry pi) and mesa 7c81 has been done via SPI but in which form FPGA receives data, what data FPGA receives its not mentioned here. 
 

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

More
19 Dec 2023 11:16 #288572 by cornholio
Ok please don't start another thread on the same subject.

Like I said in the previous thread you will need to lower the spi clock rate when loading the driver as the dupont cables are not the best for high speed spi comms.

I've played with a few different Spartan 6 boards and was able to get 7i90 & 7c81 working, either with SPI on a RPi4 ( not the five) or EPP via the parallel port on a x86 PC.

Another thing to look for is that the reconfig isn't on a pin that is pulled high or low via resistor.

Also I found I got best results was with the :
COM_SPICLK, COM_SPIIN, COM_SPIOUT & COM_SPICS are on the same half of a bank.
This file www.xilinx.com/content/dam/xilinx/suppor...s/6slx9tqg144pkg.txt will have the pins & banks, I'm almost sure that COM_SPICLK needs to be on a GCLOCK pin.

The DONE pin can also be probed to see if a config has loaded.
The following user(s) said Thank You: tommylight

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

More
19 Dec 2023 17:19 #288601 by Mecanix
If a new design/implementation do go and emphasize on an ethernet interface rather. SPI is a short propagation/tight clock sync performing protocol, therefore engineered for very short distance and within a controlled comm. 

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

More
19 Dec 2023 23:58 - 20 Dec 2023 00:09 #288628 by cornholio
The majority of dev boards don't have an ethernet interface, and if they do the chances of the chip being the same as Mesa's choice is very rare. SPI\EPP is very easy to implement on spartan 6 boards. The difficulty in getting ethernet going is writing the softcore driver working with the various ethernet chips out in the wild. I had a bit of a project modding the ssremote firmware to customise the 7i90 ssremote firmware. The source is in assembly, as per Pete's comment "not very well documented" and there is not a lot of documentation on the instruction set. Then once you get to know the instruction set you have to work out how it interacts with the rest of the FPGA firmware.If you want to help thats great, but before you opine about which interface to use, understand that the ethernet option is more involved......then add on top of routing the ethernet portion on a pcb. Yes the Litex eco system does have a driver for the ethernet chip on the RV901T board. So for those banging away at home, for whatever reason, SPI & EPP is an easier option.
All the OP is trying to do is get a version of the 7c81 firmware running on a Spartan 6 dev board, which is a very doable thing.
The trick is when loading the hm2_rpspi driver is to choose the correct spi clock signal to gt it all working.
Actually there are quite a few non mesa derived projects that use SPI, remora is one and there are a number of Litex based projects and projects using the ice40 fpgas & yosys tools that run with SPI. And yes I have experimented with these projects as well.

Pete form Mesa is very supportive in getting the hostmot2 firmware running on various dev boards, his help has been invaluable in my endeavours.
Last edit: 20 Dec 2023 00:09 by cornholio.
The following user(s) said Thank You: tommylight, Mecanix

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

More
20 Dec 2023 03:58 #288638 by Mecanix
Really can't recommend enough the ColorLight 5A-75E (or 5A-75A) 1Gb ethernet and fpga board. They cost less than a pound of chicken meat each and utterly easy to hack up (both firmware & hardware-wise). Pretty affordable and already made high-performance hardware stuff with almost an unlimited amount of in/out interfaces, considering 96 IOs if you swap only 6 buffers on them (an hour or two job max).

github.com/Peter-van-Tol/LiteX-CNC

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

More
20 Dec 2023 05:23 #288640 by cornholio
I'm well familiar with the project you linked to, I've helped with a bit of the coding.
Swapping the buffers isn't the only thing you need to do, you also have to watch the levels you are feeding to the fpga. The 5 volts from the main supply feeds those buffers. Pete has also developed a version to use over spi with a RPi4, the RPI image linked to on his github with all the dev tools is the one I made to help others to get up & going.

There are a couple of choices, use 74lvc245 for the inputs, make sure to get the DIR pin correct and supplying the VCC pin with 3.3v as although these are 3.3v parts the inputs are 5v tolerant.

Use SN74cbt3245 and supply the board with 4.2v, with a 5v input this will give you about 3.2 - 3.3v on the FPGA side, though it is an idea the pull the "world side" up to 5.v via 3k3 resistors. If you replace all the buffers, accept those that double up, you have absolute freedom with regards to which pin is used as input or output. This is the option I've gone with on the RV901T board.

Beware the costs, these projects add up, especially for the developers, if Mesa had any stock of the 7i90 I would have gone that way, it would have been way way cheaper.

Linsin used to sell a MINI901 which was basically a RV901T type controller on a DDR2 module. I managed to reverse engineer the FPGA pin to edge connector pins, this would have been a great platform, but alas they are almost impossible to get hold of.
Mimas Spartan 6 boards are a decent platform, tho almost impossible to get, the OMDAZZ spartan 6 board available on aliexpress works, so much so that I've developed a couple of boards to go with it, targeting SPI & EPP interfaces.

Once you get the hang of it working with the hostmot2 firmware is pretty easy, mesaflash can be modded to support new boards with a name of your choice and connector options. As are the hm2_rpspi, and hm2_7i90 drivers.

And the great thing about the 7i90 is that it can be loaded with firmware to work as a Smart Serial remote, I used a RV901T & configured with 56 I\O pins and support for 4 encoders for use as MPGs. Unfortunately with the abuse the PCB has had I need to make a few repairs.
Actually I think using the EPP route and a 7i90 (or firmware running on a spartan 6 board) isn't a bad upgrade for a old PC with a parallel port.

I know some of our members in South America & India do have a little trouble getting Mesa hardware due to delivery & import charges.
The following user(s) said Thank You: Mehta_123

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

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