7i73 custom firmware?

More
04 Jan 2024 10:28 #289750 by blazini36
Replied by blazini36 on topic 7i73 custom firmware?
I've done several PCBs with a SSerial interface, its just an RS422 transceiver. Your post reminded me about the 7i90HD which I could just use instead of the 7i73 since its only $10 more but unfortunately.....out of stock.

That RV901-T looks like a decent idea since they're pretty cheap but I think I pretty much talked myself into just using an Arduino Mega since I'll never have a problem getting one and ArduinoConnector looks pretty easy to deal with.
 

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

More
04 Jan 2024 12:28 #289770 by PCW
Replied by PCW on topic 7i73 custom firmware?

If you use a 7I73 with a 4x8 matrix kb you have 18 outputs available
so it would  be pretty easy do do simple 2x muxing to get 32 LED drives
(18 outputs used for 2 column drive and 16 row drive)
 
Not sure I follow you if using standard firmware. I suppose the matrix keyboard layout isn't special as long as it fits within 32 keys.

Not sure how muxing the outputs would work. Electrically I could use a couple of 74HC4051s but I'm not sure how that would work in HAL without a firmware setup.
 



Muxing the outputs to drive LEDs takes no additional hardware, and reduces wiring. For example, to have 32 LEDs driven from
18 outputs you would chose two outputs for sink (probably OD0 and OD1 on a 7I73 because of their current capability)
and 16 sourcing outputs for the muxed LED data. In hal, outputs 0 and 1 would be made toggle at 500hz (every servo period),
output 0 being inverted from output 1. OD0 connects to 16 LED Cathodes and OD1 connects to the other 16 LED Cathodes.
in hal the 16 bit muxed data that drives all the LED Anodes alternates between the data for the first 16 LEDS and the second 16 LEDS is created with a mux component whose select line toggles with the OUT 0 drive.

One advantage of a 7I73/7I90HD or equivalent is that the I/O is real time and will not hang if the user interface
gets slow. If this just ends up creating key presses this is no advantage, but if this controls things directly in hal
it has the advantage that is independent user interface lags.
The following user(s) said Thank You: besriworld

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

More
04 Jan 2024 14:35 #289782 by blazini36
Replied by blazini36 on topic 7i73 custom firmware?
Wow that sounds like some old school magic right there. I think I understand what you mean but I'll be damned if I didn't fry my brain trying to figure it out.

Another reason I'm sort of leaning towards the Arduino route is it will be a bit easier to offload the ones I don't use if it's compatible with Mach. I don't have any intention of touching Mach or Windows but ya know......people.....I'm sure there's some Arduino firmware that will work with mach.

Either way I'll run the Estop as a separate hardwired output. the "Oh Sh!t" button should never be run over serial IMO.

 

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

More
04 Jan 2024 18:01 #289796 by spumco
Replied by spumco on topic 7i73 custom firmware?
I don't understand where the '16 sourcing outputs' come from.  I thought all the 7i73's outputs were sinking?

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

More
04 Jan 2024 18:28 #289800 by PCW
Replied by PCW on topic 7i73 custom firmware?
The 7I73 outputs are push-pull so can source or sink
(except OD0 and OD1 which are high current open drain MOSFET outputs
that follow OUT0 and OUT1)
The following user(s) said Thank You: spumco

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

More
05 Jan 2024 04:12 #289827 by spumco
Replied by spumco on topic 7i73 custom firmware?

The 7I73 outputs are push-pull so can source or sink
(except OD0 and OD1 which are high current open drain MOSFET outputs
that follow OUT0 and OUT1)
 

Is the sink vs source something that is changed in firmware or one of the modes?

I vaguely recall you mentioning while (I was working out my 4x8) matrix that the columns were inputs and the outputs rows would sink the signal, thus registering on the column inputs.  So I hooked up my LED's to the on-board 5v, added some resistors, and connected the other legs to the remaining 14 3.3v output pins. Works a treat even if they're slightly dim.

I don't think I'll re-wire my mill panel just to get some more LED's on the console, but it'd be handy to know for future reference how to do the multiplexing.

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

More
05 Jan 2024 05:08 #289831 by blazini36
Replied by blazini36 on topic 7i73 custom firmware?

 The 7I73 outputs are push-pull so can source or sink
(except OD0 and OD1 which are high current open drain MOSFET outputs
that follow OUT0 and OUT1)
 
Is the sink vs source something that is changed in firmware or one of the modes?

 

The outputs can sink or source because as they are "Push-Pull". That means each output is tied to 2 transistors and "off" is actually more like "active low" and "on" is more like "active high". An open-drain output will only sink to ground when active, it "floats" when inactive so you use a pull-up resistor to give the output a definate state when it is off. A Sourcing output would work the same way it would just typically be a PNP transistor rather than an NPN (or a set of NPNs). In practice this almost looks the same as push-pull because the output drives one way when active then the pull resistor yanks it the other way when it's off. I think of this as  the output pulling on a  rubber band

The actual difference is that the pull up resistor has to be fairly weak to allow the output to still operate and not consume too much current. So the opposing state can't draw much current. A push-pull will be able to draw a similar amount of current in either state. So basically just setting it to 0 makes it a sinking output and setting it to 1 makes it a sourcing output....there's no firmware magic, he basically just means to treat is as active low vs active high. This is more like rocking a gear lever into a position rather than pulling on a rubber band.
The following user(s) said Thank You: Clive S, spumco

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

More
05 Jan 2024 13:33 #289861 by spumco
Replied by spumco on topic 7i73 custom firmware?
@blazini - 

That may have been the most helpful description of an electronics concept I've ever read.  The two 7i73 IO configurations (matrix and muxing LED's) now make sense.  The push-pull outputs can sink the inputs, and also source to the two sinking outputs.

It's still magic, but less mysterious now.

Thanks so much!
The following user(s) said Thank You: blazini36

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

More
08 Jan 2024 13:57 #290211 by blazini36
Replied by blazini36 on topic 7i73 custom firmware?

I hacked (actually some low level modding of the code for one of the softcores) some 7i90 smart serial remote firmware that can used on a RV901-T board (similar hardware to the above mentioned board but with the same FPGA used by Mesa before the shortage ). Currently it has 56 bits I\0 & 4 MPGS (for jogging, not encoder use). Completely compatiable with Mesa smart serial infrastructure (no extra drivers required), just needs a RS-422 converter board and it will plug into a smart serial interface on any Mesa board.

I've tested with a custom board I'm working on with 2 Smart Serial interfaces with a 7i73 connected to first port and the RV901T board on the second port.
I could almost do it for almost any Spartan 6 based dev board.

May not make a lot of sense but here's a link to a thread where PCW was helping.
forum.linuxcnc.org/27-driver-boards/4995...ccess?start=0#282432
 

This is a cool project BTW. I've got 2 Numato Mimas FPGA boards sitting in a drawer I bought a long time ago. I wanted to do something similar and then I realized I was half retarded. I've been looking for a remote card that can do low performance stepgens. PCW said it's possible but it's not something Mesa can handle now. Is that up your ally?

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

More
08 Jan 2024 14:11 #290217 by blazini36
Replied by blazini36 on topic 7i73 custom firmware?
For some reason it looks like matrix keyboards are popping up around here alot lately. I saw the recent video rotorySMP made using a 7i73. He had some trouble with low current from the 7i73 for powering LEDs. A quick look at the manual and it looks like each output (besides the 1st 2) can only handle 2-4ma?

I was jumping back and forth between the 7i73 and the ArduinoConnector project. It looks like he added an LED multiplex function to compliment matrix keyboards. I whipped up a quick schematic.
 

This browser does not support PDFs. Please download the PDF to view it: Download PDF



I think I did this right. I'll probably have to stick transistors on the LED lines as it's too much current even if I went with an Arduino (20ma  per pin). Any chance this setup would work with a 7i73 if I took care of the current requirements externally? 
Attachments:

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

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