design help

D'oh! Finger problem! Good catch.

Reply to
Greg Neill
Loading thread data ...

In software (as opposed to firmware) development, there usually isn't an "end". If the product is any good, there will be another version. If the programmer is any good, they will be responsible for developing it.

Making code "work" is just a small piece of the puzzle. Making it maintainable is often at least as important, and invariably much more complex. This is where abstraction and modularity become particularly important.

Reply to
Nobody

I did two. One, many years ago using 7400 style logic gates -- simulated only. I think I may still have that one laying around someone on disk. The other was on a Xilinx 4000 series and was written in VHDL and tested on a demo board that didn't cost too much and included ram and some visual peripherals like 7-segment displays and LEDs, so that I could write programs and see them work. Mostly, that one was to help self-teach VHDL. I bought a few books on the subject but needed a "real project" to make sure I could actually learn enough of it to be useful, once in a while. Both were 8-bit.

Neither were professional -- it's not my area and I don't ever expect to sell my feeble skills in this area. My earliest interest had come about because I'd paid a visit to MIPS back when the R2000 was released (1986ish, I think), when it was located about a block away from Weitek. I had a day-long attention from one of the principals there -- Hennessey -- and I got an ear-full about the 68020 cpu (they had a huge wall-sized mural of it) and their approach to design. I learned a lot from that day and decided that I really liked knowing the internals better. (Many years before that day -- perhaps 15 -- I had been programming the HP 21MX microstore to create instructions there, so I had had some earlier experiences that helped prepare me for the day's education, years later.) Anyway, I just enjoyed digging into the details and took my chances when I had them.

Both instruction sets were focused on providing me with ways to play with the ALU, more than much else. For example, I learned about doing simple lane changes for the shifter section and considered (but did not implement) a combinatorial barrel shifter. The shifter I used was applied _after_ the ALU (on its output) and simply allowed me to select one of four choices -- left, right, normal, and status (the status bits were fetchable, that way.) The logic section provided the obvious logic options, plus for the two input paths into the ALU I could select either the Q or /Q outputs of the latches there. The ALU provided addition and that's all. The carry-in plus inversion of an input provided negation, for example. I played around with having a separate "R" register that latched the ALU/Shifter output before the tri-stating buffer to the bus and separately with the idea of not doing that, only having the buffer instead, and just using one of the input latches as an "accumulator."

One of the harder parts to cope with was the execution engine -- getting all the outgoing control signals figured out and arranged to arrive at the right clock and phase -- and the program counter, where it needed access to either the bus (I did a two-step latching process, since it was 16 bits and the internal bus was 8) or the ALU (I eventually caved in and did up a separate ALU for the program counter rather than use the existing one for this other purpose) and I had to include a kind of shadow or temporary PC for indirect addressing needs. Eventually, it started looking like real work and I stopped. I can't recall exactly what the instruction set looked like in the end. If you are really curious (it's not very interesting, really), I can go find the last "reasonable state" of the docs on it and pass them on. But it's nothing of professional caliber.

However, I did learn a lot. And I've grown to like almost every cpu I see in the process. The PIC most especially, because it practically exposes everything I know about how things work on the inside out into the open where anyone can see it. I like that, in a way.

The 7400 version I did in simulation-only would have taken something on that order, though perhaps twice that many SSI chips, I think. I didn't use the 74181 in it, as I was trying to build up the entire ALU from scratch (your basic full-adder using ripple carry.) But I'd have to dig out the thing from where it sits on an old laptop on a shelf somewhere to get a closer figure. (I used a simulated LCD display to let it play simple games with me.) And because I was enjoying the ALU/logic/shift part of the learning experience, it had plenty more instructions than just two.

I think the experience of actually sitting down and seeing how muxes, registers/latches, ALUs, T-bufs, etc., all work together.. and having to fight with various choices one might make this way or that, develops earnest respect for what actually gets designed and made and teaches one how and when to appreciate both minimalist and extravagant design approaches. (Rather than being a back-seat driver, kibitzing without having a real clue about the matter.)

Jon

Reply to
Jon Kirwan

This thinking is the very problem that Microsoft and other long-time computer companies are facing: Windows XP and Office 2000 already served the needs of the vast majority of users, and it's difficult to find many new features to add that a large percenteage of people are willing to pay for.

Granted, sometimes there are chicken-and-egg problems that take awhile to get going... everyone appreciates the value of a web browser today, yet back in the early '90s when they were just getting started your average person couldn't have cared less. Even Microsoft once made a formal statement something along the lines of, "Microsoft is not interested in pursuing Internet technologies."

Reply to
Joel Koltner

--
The arc formed when the contacts open slowly will have more time to
erode the contacts before it\'s quenched.
Reply to
John Fields

But do the contacts open more slowly if the coil current tapers off slowly? A spring accelerates the contact assembly in the opening direction.

John

Reply to
John Larkin

And since it will be revved and re-shipped forever, there's no strong incentive to get all the bugs out. Maybe it's economically advantageous to leave some bugs in, to annoy users and encourage them to upgrade. Our embedded products are rarely field-upgraded, so we want to ship them right the first time.

That's where minimal abstraction and maximal flatness become particularly important. It's easier to understand and maintain if everything is in plain sight.

I just a few minutes shipped the first article of my new digital delay generator to a customer in Europe. 6714 lines of bare-metal assembly, including a reflash manager, fpga loader, RS232/Ethernet/megabit isochronous SPI interfaces, ascii command parser, HELP system, lots of math. It has 145 distinct serial commands.

You can pre-load delays and widths on all four pulse outputs and load

8192 such setups into ram. Then, every trigger, the next set is installed, glitch-free, allowing delay sweeps, radar target simulation, stroboscopic photography, whatever. That part works up to 15 KHz trigger rate, limited by the original architecture (slow dacs!) and the pokey 20 MHz CPU.

John

Reply to
John Larkin

--
I\'d expect that the presence of the magnetic field, even though
insufficient to keep the armature in contact with the pole piece would
still fight against the spring and slow down the acceleration of the
contact.

Aromat (Nais, Matsushita) seem to agree with me:

news:qtugq49954qasb38h05eggcb0tqp2nlnl8@4ax.com

See "Snap Action".

JF
Reply to
John Fields

--
Yes.
Reply to
John Fields

Not just astronomers. AIUI, FORTRAN still has the best complex number support, though APL has to be in there.

So is COBOL.

Reply to
krw

FORTRAN also has a limitation in passed arrays such that they cannot occupy overlapping memory, unlike c and c++. As a result, the optimizers can do better than c and c++ where this cannot be assumed. This difference is enough that the standards teams for c, at least, went back and forth about it.

Jon

Reply to
Jon Kirwan

Probably not within a certain fairly big window.

They are made to snap off as you stated.

Bringing one up with incremental voltage steps will show that the turn on 'snap', however, can be slower right as the operation actually starts working. Nothing that one could use though.

HV relays have even more rules. Best to engage or disengage it with the supply in standby mode or off as far as HV output goes. Even a proper HV relay will not last long when operated while voltage is on the contacts.

Reply to
Archimedes' Lever

Were you not one of those on the arc plasma is bad bandwagon a couple weeks back?

Think about a slow opening contact that is still passing current. What happens at that time that could be detrimental to the contact surfaces in a short period of time?

Reply to
StickThatInYourPipeAndSmokeIt

The description PNP and the term 'vcc' is used. You 'do the math', Larkin.

Tell us which one the collector is.

Reply to
Archimedes' Lever

All of my circuits (no and nc switch versions) will work well for the OP's application. As drawn, first time.

None of yours will.

John

Reply to
John Larkin

But do the contacts open substantially slower if the coil current tapers off slowly?

John

Reply to
John Larkin

Hey, Turd! I didn't submit any drawings... I've just been watching and amusing myself ;-)

You're the "hen".

...Jim Thompson

--
| James E.Thompson, P.E.                           |    mens     |
| Analog Innovations, Inc.                         |     et      |
| Analog/Mixed-Signal ASIC\'s and Discrete Systems  |    manus    |
| Phoenix, Arizona  85048    Skype: Contacts Only  |             |
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  |
| E-mail Icon at http://www.analog-innovations.com |    1962     |
             
With all this hope and change, all you need is a dab of mayonaisse
and you\'ll have a tasty lunch on which you will choke to death.
Reply to
Jim Thompson

Pretty vague, (No Good) versus (Good.) The OFF ON graphs are clearly wrong. The text is incoherent.

As far as breaking DC goes, if the current is such that it can sustain an arc when the contacts are fully open, it's not going to make a lot of difference how fast they open... it's going to arc. The ions and electrons move zillions of times faster than the contact.

This is actually interesting. At some point, we'll need some facts.

John

Reply to
John Larkin

Armchair quarterback.

Can't even invent your own insults, much less something hard like a relay driver circuit.

John

Reply to
John Larkin

Then don't use flyback diodes!

John

Reply to
John Larkin

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.