Expanding 7i97 Smart Serial Ports using SP491 chip

More
04 May 2022 12:00 - 04 May 2022 12:02 #241975 by ContinenteCNC
My current setup is 1x 7i97 + 2x 7i84. However, as 7i97 has only one RS-422 port available, I was able to wire only one of the 7i84 boards.

The ideal approach would be to employ, for example, a 7i44 to expand 7i97 smart serial ports. But I’m in a tight schedule and nowhere near the US or Europe to easily find a mesa supplier.

I might be able to get a 7i47s (waiting for the seller to check if he still has the board). Would it work to expand 7i97 smart serial ports? If so, how to wire its 50 pin connector to 7i97 J1 (26 pin connector)? Will it be recognized automatically? Will it require firmware change?

If it doesn’t work I’ll need to move to an alternative way to wire up my second 7i84 with what a can find in my town.

I’ve just read some post from PCW saying it is possible to expand Smart Serial Ports using simply SP491 chip, but it is not clear for me how to do the wiring. Is to possible to wire the chip directly to P1 pins (IO34 to IO41)? Will it be recognized automatically? Will it require firmware change?

Thanks in advance, folks.

Bruno
Last edit: 04 May 2022 12:02 by ContinenteCNC.

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

More
04 May 2022 15:22 #241983 by andypugh
You might need a firmware change. Which firmware do you currently have?

I have attached the VHD files that define the pinout for the 4 normal firmwares.

The _7i78D firmware has smart-serial pins on expansion port pins 8/9/10 (TX/En/RX)
_7i76D has two sserial ports, on 7/8 and 9/10 (RX/RXX?RX ... no En?)
_7i74 has a full header of Smart-Serial (so is probably your best bet if you want to reflash firmware) 
The _51 firmware has nothing on the expansion port (GPIO only) so is likely to be no good for you. 
Attachments:

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

More
04 May 2022 15:24 #241984 by andypugh
Oh, the link for the firmware and source code is www.mesanet.com/software/parallel/7i97.zip

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

More
05 May 2022 01:39 - 05 May 2022 02:01 #242017 by ContinenteCNC
Hi, Andy!

Thanks for your quick answer!

I’ve just downloaded the files!

This is one of my first times working with mesa cards. I have very little experience with them. I was able to setup 1x 7i97 + 1x 7i84, but I’m yet to learn these more advanced topics, like firmware change.

Please, correct me if I’m wrong, but to check the current firmware in my 7i97 I have o issue the following command:

mesaflash --device 7I97 --addr 10.10.10.10 –readhmid

I’ll check it tomorrow when I get to the machine and comeback with the answer.

Regarding the _7i74 firmware, what do you mean by “full header of Smart-Serial”?

My last doubt is regarding the card<=>chip wiring. SP491 has 14 terminals:

1 NC No connect
2 R Receiver output
3 REB Receiver output enable active LOW
4 DE Driver output enable active HIGH
5 D Driver input
6 GND Ground connection
7 GND Ground connection
8 NC No connect
9 Y Non-inverting driver output
10 Z Inverting driver output
11 B Inverting receiver input
12 A Non-Inverting receiver input
13 NC No connect
14 VCC Positive supply

What would be a typical application circuit? (wiring betwen SP491 and 7i84's J1 connector)

SP491 / 7i84 (J1)
Z=>RXA
Y=>RXB
A<=TXA
B<=TXB

SP491 / 7i97 (P1)
D<=TX
R=>RX
REB/ DE<=EN

Am I close?

Will it require terminating resistors something besides power?

Thanks in advance!

Bruno
 
Last edit: 05 May 2022 02:01 by ContinenteCNC.

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

More
05 May 2022 09:48 #242027 by andypugh

Regarding the _7i74 firmware, what do you mean by “full header of Smart-Serial”?


I mean that almost every pin on the expansion header belongs to a smart-serial channel (8 of them).
The other firmwares have, at most, two smart-serial channels on the expansion header.


Sorry, I can't really help on the chip pin assignments.

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

More
05 May 2022 13:58 #242040 by ContinenteCNC
The result from mesaflash --device 7I97 --addr 10.10.10.10 --readhmid

Configuration Name: HOSTMOT2

General configuration information:

  BoardName : MESA7I97
  FPGA Size: 9 KGates
  FPGA Pins: 144
  Number of IO Ports: 3
  Width of one I/O port: 17
  Clock Low frequency: 100.0000 MHz
  Clock High frequency: 200.0000 MHz
  IDROM Type: 3
  Instance Stride 0: 4
  Instance Stride 1: 64
  Register Stride 0: 256
  Register Stride 1: 256

Modules in configuration:

  Module: DPLL
  There are 1 of DPLL in configuration
  Version: 0
  Registers: 7
  BaseAddress: 7000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: WatchDog
  There are 1 of WatchDog in configuration
  Version: 0
  Registers: 3
  BaseAddress: 0C00
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: IOPort
  There are 3 of IOPort in configuration
  Version: 0
  Registers: 5
  BaseAddress: 1000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: MuxedQCount
  There are 6 of MuxedQCount in configuration
  Version: 4
  Registers: 5
  BaseAddress: 3600
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: MuxedQCountSel
  There are 1 of MuxedQCountSel in configuration
  Version: 0
  Registers: 0
  BaseAddress: 0000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: SSerial
  There are 1 of SSerial in configuration
  Version: 0
  Registers: 6
  BaseAddress: 5B00
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 64 bytes

  Module: PWM
  There are 6 of PWM in configuration
  Version: 0
  Registers: 5
  BaseAddress: 4100
  ClockFrequency: 200.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: SSR
  There are 1 of SSR in configuration
  Version: 0
  Registers: 2
  BaseAddress: 7D00
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: InMux
  There are 1 of InMux in configuration
  Version: 0
  Registers: 5
  BaseAddress: 8000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: LED
  There are 1 of LED in configuration
  Version: 0
  Registers: 1
  BaseAddress: 0200
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

Configuration pin-out:

IO Connections for TB1/TB2/TB3
Pin#  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

 1      0   IOPort       PWM              0        PWM             (Out)
14      1   IOPort       PWM              1        PWM             (Out)
 2      2   IOPort       PWM              2        PWM             (Out)
15      3   IOPort       PWM              3        PWM             (Out)
 3      4   IOPort       PWM              4        PWM             (Out)
16      5   IOPort       PWM              4        /Enable         (Out)
 4      6   IOPort       PWM              5        PWM             (Out)
17      7   IOPort       PWM              5        /Enable         (Out)
 5      8   IOPort       PWM              0        /Enable         (Out)
 6      9   IOPort       MuxedQCount      0        MuxQ-A          (In)
 7     10   IOPort       MuxedQCount      0        MuxQ-B          (In)
 8     11   IOPort       MuxedQCount      0        MuxQ-IDX        (In)
 9     12   IOPort       MuxedQCount      1        MuxQ-A          (In)
10     13   IOPort       MuxedQCount      1        MuxQ-B          (In)
11     14   IOPort       MuxedQCount      1        MuxQ-IDX        (In)
12     15   IOPort       MuxedQCount      2        MuxQ-A          (In)
13     16   IOPort       MuxedQCount      2        MuxQ-B          (In)

IO Connections for TB4/TB5
Pin#  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

 1     17   IOPort       MuxedQCount      2        MuxQ-IDX        (In)
14     18   IOPort       MuxedQCountSel   0        MuxSel0         (Out)
 2     19   IOPort       SSR              0        Out-00          (Out)
15     20   IOPort       SSR              0        Out-01          (Out)
 3     21   IOPort       SSR              0        Out-02          (Out)
16     22   IOPort       SSR              0        Out-03          (Out)
 4     23   IOPort       SSR              0        Out-04          (Out)
17     24   IOPort       SSR              0        Out-05          (Out)
 5     25   IOPort       SSR              0        AC Ref          (Out)
 6     26   IOPort       InMux            0        Addr0           (Out)
 7     27   IOPort       InMux            0        Addr1           (Out)
 8     28   IOPort       InMux            0        Addr2           (Out)
 9     29   IOPort       InMux            0        Addr3           (Out)
10     30   IOPort       InMux            0        Data0           (In)
11     31   IOPort       SSerial          0        RXData0         (In)
12     32   IOPort       SSerial          0        TXData0         (Out)
13     33   IOPort       SSerial          0        TXEn0           (Out)

IO Connections for P1
Pin#  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

 1     34   IOPort       None           
14     35   IOPort       None           
 2     36   IOPort       None           
15     37   IOPort       None           
 3     38   IOPort       None           
16     39   IOPort       None           
 4     40   IOPort       None           
17     41   IOPort       None           
 5     42   IOPort       None           
 6     43   IOPort       None           
 7     44   IOPort       None           
 8     45   IOPort       None           
 9     46   IOPort       None           
10     47   IOPort       None           
11     48   IOPort       None           
12     49   IOPort       None           
13     50   IOPort       None  

This is probably the standard firmware, isn't it?

There P1 connector is indeed empty.

I'm going to load the firmware you've recommended me.

Just to make sure it will work for me, the _7i74 firmware will only add connections to P1, the remaining pins will remain just the  same, won't it?

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

More
05 May 2022 14:37 #242042 by andypugh

Just to make sure it will work for me, the _7i74 firmware will only add connections to P1, the remaining pins will remain just the  same, won't it?

Yes. Any 7i97 firmware will leave the 7i97 part of the system configured the same. 

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

More
05 May 2022 15:54 #242046 by ContinenteCNC
Thanks, Andy!!

I will flash the firmware and then come back with the outcome.

By the way, is the _51 firmware the generic one?

Just in case I have to flash it back to standard.

Does LinuxCNC 2.8 (from live CD) have full support to 7i97 firmware? I mean, I am not supposed to have any problem related to version as I try to flash the new firmware?

Anyway, I'll read a little more about firmware flashing and give it a try.

Thanks!

Bruno

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

More
05 May 2022 16:44 #242049 by andypugh
The 2.8 config tools might not know how to configure for the 7i97, but the system itself does not care about the firmware, the driver is very flexible that way.

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

More
05 May 2022 16:57 #242050 by ContinenteCNC
You mean the Pnconf Wizard?

If so, I'm writing my own hal/ini files from basic7i97.

But mesaflash will work just fine to flash firmware, won't it? No need to upgrade to 2.9 to flash it?

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

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