7i90 in SPI mode, bitfiles from http://www.mesanet.com/software/parallel/7i90.zi

More
9 years 6 months ago #91150 by rmu
I just got my brand-new 7i90s and managed to hook it up to a raspberry pi via SPI. Secondary config came pre-flashed with SPI config. Compiled mesaflash (got it from github), downloaded www.mesanet.com/software/parallel/7i90.zip (the link is from the store). I noticed that the configuration is for a stepper, I need servo, plus smart serial, so I tried to flash another firmware in the primary location. That seems to have worked, but output from readhmid did not change!

So I tried some different firmware files (justio, the dual 7i48 config etc...) only to find that I always seem to get the same readhmid.

Next thing I diffed the bitfiles (with vbindiff), and it seems, the SPI bitfiles only differ in the build time, the rest is identical. I.e. it is possible to flash the justio bitfile and verify with 7i90_spi_sv12im_2x7i48.bit and it compares OK.

I did not check all SPI bitfiles, but I noticed that e.g. 7i90_epp_justio.bit and 7i90_epp_sv12im_2x7i48.bit are very "different", i.e. they differ not only in the build date/time.

Next thing I will try to rebuild the bitfiles, but it will take some time as I have zero recent experience with anything FPGA, and that beast of xilinx software refused to download completely...

I'm pretty sure something is fishy with the spi bitfiles. Any help appreciated.

EDIT: I did change the jumper from secondary EEPROM to primary after booting.

Please Log in to join the conversation.

More
9 years 6 months ago #91151 by rmu
Update: found ssst8_6.zip on this forum, flashed that, output of readhmid says 6 StepGens on P1 and Smart Serial on P3. So flashing works.

Please Log in to join the conversation.

More
9 years 6 months ago #91158 by PCW
I'll update the batch file and rebuild the bitfiles in case there was an issue with the batch file that built these

Please Log in to join the conversation.

More
9 years 6 months ago #91208 by rmu
So I managed to build SVSS6_8_72 with spi and flash it, readhmid seems to be ok.

I was under the impression that mesaflash --sserial should give some info of connected smart serial boards, but connected 7i90s with factory-flashed SSerial Remote firmware don't show up. /INIT and PWR LEDs are on.

Also tried EPP-version of SVSS6_8_72 as supplied in 7i90.zip, no difference, with multiple different CAT5/6 cables that do work as gigabit patch cables. 50pin cables are former SCSI cables that did work when last in use (a decade ago). With the scope, there is no activity to see on any tx-pins when idle nor when runnig --sserial.

Testing with 7i90_epp_svss6_6.bit I do see some activity on the TX-Pins on the scope, but of course pinout is not suitable for 7i44 breakout board.

Probably I'm missing something trivial, but I don't see it.

Please Log in to join the conversation.

More
9 years 6 months ago #91209 by rmu
halrun:
Code:
halcmd: loadrt hostmot2 Note: Using POSIX realtime hm2: loading Mesa HostMot2 driver version 0.15 halcmd: loadrt hm2_spi spidev_path=/dev/spidev0.0 spidev_rate=32000 probe 32000000 hm2/hm2_7i90.0: Smart Serial Firmware Version 43 hm2/hm2_7i90.0: 72 I/O Pins used: hm2/hm2_7i90.0: IO Pin 000 (P1-01): PWMGen #0, pin Not-Enable (Output) hm2/hm2_7i90.0: IO Pin 001 (P1-03): Muxed Encoder #0, pin Muxed A (Input) hm2/hm2_7i90.0: IO Pin 002 (P1-05): Muxed Encoder #0, pin Muxed B (Input) hm2/hm2_7i90.0: IO Pin 003 (P1-07): Muxed Encoder #0, pin Muxed Index (Input) hm2/hm2_7i90.0: IO Pin 004 (P1-09): Muxed Encoder #1, pin Muxed A (Input) hm2/hm2_7i90.0: IO Pin 005 (P1-11): Muxed Encoder #1, pin Muxed B (Input) hm2/hm2_7i90.0: IO Pin 006 (P1-13): Muxed Encoder #1, pin Muxed Index (Input) hm2/hm2_7i90.0: IO Pin 007 (P1-15): Muxed Encoder #2, pin Muxed A (Input) hm2/hm2_7i90.0: IO Pin 008 (P1-17): Muxed Encoder #2, pin Muxed B (Input) hm2/hm2_7i90.0: IO Pin 009 (P1-19): Muxed Encoder #2, pin Muxed Index (Input) hm2/hm2_7i90.0: IO Pin 010 (P1-21): Muxed Encoder Select #0, pin Mux Select 0 (Output) hm2/hm2_7i90.0: IO Pin 011 (P1-23): PWMGen #0, pin Out0 (PWM or Up) (Output) hm2/hm2_7i90.0: IO Pin 012 (P1-25): PWMGen #0, pin Out1 (Dir or Down) (Output) hm2/hm2_7i90.0: IO Pin 013 (P1-27): PWMGen #1, pin Out0 (PWM or Up) (Output) hm2/hm2_7i90.0: IO Pin 014 (P1-29): PWMGen #1, pin Out1 (Dir or Down) (Output) hm2/hm2_7i90.0: IO Pin 015 (P1-31): PWMGen #2, pin Out0 (PWM or Up) (Output) hm2/hm2_7i90.0: IO Pin 016 (P1-33): PWMGen #2, pin Out1 (Dir or Down) (Output) hm2/hm2_7i90.0: IO Pin 017 (P1-35): PWMGen #3, pin Out0 (PWM or Up) (Output) hm2/hm2_7i90.0: IO Pin 018 (P1-37): PWMGen #3, pin Out1 (Dir or Down) (Output) hm2/hm2_7i90.0: IO Pin 019 (P1-39): PWMGen #4, pin Out0 (PWM or Up) (Output) hm2/hm2_7i90.0: IO Pin 020 (P1-41): PWMGen #4, pin Out1 (Dir or Down) (Output) hm2/hm2_7i90.0: IO Pin 021 (P1-43): PWMGen #5, pin Out0 (PWM or Up) (Output) hm2/hm2_7i90.0: IO Pin 022 (P1-45): PWMGen #5, pin Out1 (Dir or Down) (Output) hm2/hm2_7i90.0: IO Pin 023 (P1-47): PWMGen #0, pin Not-Enable (Output) hm2/hm2_7i90.0: IO Pin 024 (P2-01): IOPort hm2/hm2_7i90.0: IO Pin 025 (P2-03): IOPort hm2/hm2_7i90.0: IO Pin 026 (P2-05): IOPort hm2/hm2_7i90.0: IO Pin 027 (P2-07): IOPort hm2/hm2_7i90.0: IO Pin 028 (P2-09): IOPort hm2/hm2_7i90.0: IO Pin 029 (P2-11): IOPort hm2/hm2_7i90.0: IO Pin 030 (P2-13): IOPort hm2/hm2_7i90.0: IO Pin 031 (P2-15): IOPort hm2/hm2_7i90.0: IO Pin 032 (P2-17): IOPort hm2/hm2_7i90.0: IO Pin 033 (P2-19): IOPort hm2/hm2_7i90.0: IO Pin 034 (P2-21): IOPort hm2/hm2_7i90.0: IO Pin 035 (P2-23): IOPort hm2/hm2_7i90.0: IO Pin 036 (P2-25): IOPort hm2/hm2_7i90.0: IO Pin 037 (P2-27): IOPort hm2/hm2_7i90.0: IO Pin 038 (P2-29): IOPort hm2/hm2_7i90.0: IO Pin 039 (P2-31): IOPort hm2/hm2_7i90.0: IO Pin 040 (P2-33): IOPort hm2/hm2_7i90.0: IO Pin 041 (P2-35): IOPort hm2/hm2_7i90.0: IO Pin 042 (P2-37): IOPort hm2/hm2_7i90.0: IO Pin 043 (P2-39): IOPort hm2/hm2_7i90.0: IO Pin 044 (P2-41): IOPort hm2/hm2_7i90.0: IO Pin 045 (P2-43): IOPort hm2/hm2_7i90.0: IO Pin 046 (P2-45): IOPort hm2/hm2_7i90.0: IO Pin 047 (P2-47): IOPort hm2/hm2_7i90.0: IO Pin 048 (P3-01): Smart Serial Interface #0, pin RxData0 (Input) hm2/hm2_7i90.0: IO Pin 049 (P3-03): IOPort hm2/hm2_7i90.0: IO Pin 050 (P3-05): Smart Serial Interface #0, pin RxData2 (Input) hm2/hm2_7i90.0: IO Pin 051 (P3-07): IOPort hm2/hm2_7i90.0: IO Pin 052 (P3-09): Smart Serial Interface #0, pin TxData0 (Output) hm2/hm2_7i90.0: IO Pin 053 (P3-11): Smart Serial Interface #0, pin TxEn0 (Output) hm2/hm2_7i90.0: IO Pin 054 (P3-13): IOPort hm2/hm2_7i90.0: IO Pin 055 (P3-15): IOPort hm2/hm2_7i90.0: IO Pin 056 (P3-17): Smart Serial Interface #0, pin TxData2 (Output) hm2/hm2_7i90.0: IO Pin 057 (P3-19): Smart Serial Interface #0, pin TxEn2 (Output) hm2/hm2_7i90.0: IO Pin 058 (P3-21): IOPort hm2/hm2_7i90.0: IO Pin 059 (P3-23): IOPort hm2/hm2_7i90.0: IO Pin 060 (P3-25): IOPort hm2/hm2_7i90.0: IO Pin 061 (P3-27): IOPort hm2/hm2_7i90.0: IO Pin 062 (P3-29): IOPort hm2/hm2_7i90.0: IO Pin 063 (P3-31): IOPort hm2/hm2_7i90.0: IO Pin 064 (P3-33): IOPort hm2/hm2_7i90.0: IO Pin 065 (P3-35): IOPort hm2/hm2_7i90.0: IO Pin 066 (P3-37): IOPort hm2/hm2_7i90.0: IO Pin 067 (P3-39): IOPort hm2/hm2_7i90.0: IO Pin 068 (P3-41): IOPort hm2/hm2_7i90.0: IO Pin 069 (P3-43): IOPort hm2/hm2_7i90.0: IO Pin 070 (P3-45): IOPort hm2/hm2_7i90.0: IO Pin 071 (P3-47): IOPort hm2/hm2_7i90.0: registered halcmd:

After this, mesaflash --sserial gives
Code:
SSLBP port 0: SSLBP Version: 1.43 SSLBP Channels: 8 SSLBP Baud Rate: 2500000 sserial device at channel 0: 7I90 GPIO (unit 0x12345678) sserial device at channel 2: 7I90 GPIO (unit 0x12345678)

Please Log in to join the conversation.

More
9 years 6 months ago #91210 by PCW
Those indicate that the 7I90 sserial remotes were found and are working

I believe I fixed the build batchfile and have updated the SPI configs in 7i90.zip

Please Log in to join the conversation.

More
9 years 6 months ago #91211 by rmu

PCW wrote: Those indicate that the 7I90 sserial remotes were found and are working


The strange thing is that mesaflash --sserial shows those boards only after running/connecting with the linuxcnc hostmot2 driver. Directly after power up, no sserial boards are recognized / reported.

Will try new 7i90 builds tomorrow. Thanks.

Please Log in to join the conversation.

More
9 years 6 months ago #91213 by PCW
Its entirely possible that there are _many_ bugs in Mesaflash's SPI interfaced functions
and LinuxCNC's SPI driver (I know there is an interaction between them perhaps the spidev SPI driver state
or something)

I would try a simple hal config and toggle some 7I90-ssremote I/O bits
(halcmd show pin to get a pin list)

Please Log in to join the conversation.

Time to create page: 1.012 seconds
Powered by Kunena Forum