Another possibility is the 8 Bits from the National Instruments PCI-6110
card connected to the board the MAX9939 will be on. I see there is no
maximum spec for the tCSS parameter of the SPI bus. Does this mean the
timing of the SCLK does not have to be a regular cycle so all three SPI
lines can be driven by the PCI-6110 digital output lines?
--
To reply directly remove the sj. from my email address. This is a spam
jammer.
Won't be easy, you need a clock, RS-232 doesn't supply one. You are
better off using a parallel port if you still have one.
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
Have you though of dumping the MAX3110 and using a picaxe-28x for the
interfacing. It is a microprocessor, but it supports both rs-232 (using
either a rs232 driver chip or its own 0-5volt rs-232) and spi, programs
in BASIC using a three wire interface and your existing serial port (no
dedicated programmer needed). Or you could use one of the cheaper picaxe
chips and use the provided source code to do the spi portion (see
shiftin/spiin shiftout/spiout) but this is slower.
I forgot
www.picaxe.co.uk
Just one more - programming and simulation software is free - so your up
for a total of $5 to $10
The serial port has two async lines, but you need three. Lets say you
have async control over DTR and RTS, and use them to generate clock
and data. I can see some hacks where you could generate the CS signal
based on the clock signal not moving in a given time period. You could
sense the inactivity of the clock signal with a one shot. This is just
a sketch. You need to work out the details.
Actually, with a little luck in the data to be sent and some clever
passives and a diode, it's possible to drive a 3-wire SPI interface
using just a single wire.
See http://img29.imageshack.us/img29/3462/ds0000.jpg for a better
picture but here's the general idea:
__________________ ___________________
DI__| |_________________| |______...
________ _______ __ __________ _________
CK__| || |________||_______||| || |_______...
________________________________________________________________
EN__| ...
CK (clock) is the only driven signal. The target reads data on the
falling edge of the clock, so a "1" bit drives the clock high
immediately and fills the bitcell except for a falling edge right at the
end. A "0" bit stays low until almost to the end of the cell and then
pulses high-low.
Enable charges directly from clock but a diode blocks it from
discharging through that same path, so its falling time constant is much
longer than its rising one. A long run of zeros could definitely be a
problem, though. The slow ramp on the trailing edge might also make some
peripherals unhappy.
Still, I thought it was a pretty nifty hack. Saw it used on the DAC
control lines for a Flashy 100 Msps ADC board from KNJN
<http://www.knjn.com/Flashy.html>. Wondered how the heck they were
controlling the DAC's SPI with only one pin on the header. Now I know!
--
Rich Webb Norfolk, VA
From the DOS system you can, if the target device is happy with slower
SPI speeds (most are). From a "modern" Windows system I believe
bit-banging isn't truly possible, IIRC the OS is too slow (latency), but
I leave that up to SW experts. It certainly isn't possible with
USB-Parallel adapters but people have sucessfully done it with
PCMCIA-Parallel cards.
> Another possibility is the 8 Bits from the National Instruments PCI-6110
> card connected to the board the MAX9939 will be on. I see there is no
> maximum spec for the tCSS parameter of the SPI bus. Does this mean the
> timing of the SCLK does not have to be a regular cycle so all three SPI
> lines can be driven by the PCI-6110 digital output lines?
>
Personally I wouldn't use Maxim chips but that's up to you. May be ok if
no production qties needed. Otherwise check LTC, they've got chips like
this but I don't know if useful to you:
http://cds.linear.com/docs/Datasheet/12516fa.pdf
--
Regards, Joerg
http://www.analogconsultants.com/
"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Here is an idea. You have two lines to bit bang I2C, so use a ic2 to
spi converter: Perhaps
<http://www.standardics.nxp.com/products/sc18/datasheet/
sc18is602.sc18is602b.sc18is603.pdf>
Of course, when is the last time you used a Maxim chip in a design?
Perhaps the problems have cleared up. I noticed a certain VP has
retired, and the replacement has got to be better. The Peter Principle
is real life. So is Dilbert.
Regarding bit-banging, I don't see a latency issue since SPI is all
static logic. When I was at Maxim, we would bit-bang SMB (similar to
i2c) using the cheesy DOS mode of win98 and the parallel port.
However, you could load any number of free versions of DOS these days.
[DrDOS, FreeDOS, OpenDOS]
There was a library that would work in win98 that would allow you do
program the registers of the UART directly, which you could set the
handshake lines. It didn't work in anything more advanced.
One thing to investigate is DOSBOX. It plays old DOS games, something
I never thought could be done. I'm playing Redneck Rampage on X64. It
might have better latency than using a modern windows OS.
Never. But I designed a lot of them out.
> Perhaps the problems have cleared up. I noticed a certain VP has
> retired, and the replacement has got to be better. The Peter Principle
> is real life. So is Dilbert.
>
So far it doesn't seem to me that it has cleared up. The last time I
designed out several Maxim chips was about a month ago. The usual, they
had become unobtanium for the client.
On a positive note, this creates revenue for me :-)
> Regarding bit-banging, I don't see a latency issue since SPI is all
> static logic. When I was at Maxim, we would bit-bang SMB (similar to
> i2c) using the cheesy DOS mode of win98 and the parallel port.
> However, you could load any number of free versions of DOS these days.
> [DrDOS, FreeDOS, OpenDOS]
>
> There was a library that would work in win98 that would allow you do
> program the registers of the UART directly, which you could set the
> handshake lines. It didn't work in anything more advanced.
>
Yes, usually it's static. But not always. I've seen memory chips of the
EEPROM kind that really did not like excessive procrastination on the
SPI bus.
> One thing to investigate is DOSBOX. It plays old DOS games, something
> I never thought could be done. I'm playing Redneck Rampage on X64. It
> might have better latency than using a modern windows OS.
True, DOS is not dead at all. Not by a long shot.
> There was a library that would work in win98 that would allow you do
> program the registers of the UART directly, which you could set the
> handshake lines. It didn't work in anything more advanced.
>
> One thing to investigate is DOSBOX. It plays old DOS games, something
> I never thought could be done. I'm playing Redneck Rampage on X64. It
> might have better latency than using a modern windows OS.
On which OS are you planning on running DOSBox? It can't do any better
than what the OS permits. If you're using any NT-based version of Windows
(NT,2K,XP,Vista,7), direct access to the ports isn't available unless you
write a kernel-mode device driver.
If you need direct port access, DOSEmu on Linux is probably the best
option. Direct access to ports below 0x400 can be enabled via the CPU's
io-port bitmap; once enabled, inb/outb instructions will access the port
directly without involving a kernel trap or any kind of emulation.
<mi...@sushi.com> wrote in message
news:62fd0dd9-9e7f-4dd3...@d15g2000prc.googlegroups.com...
Bit banging over the com port control lines should work using the
windows API.
I have used the control lines for slow speed stuff, so I cannot comment
on how fast the windows API would be for this.
Cheers
Well, I was hoping DOSBOX did some magic. The software I generally run
alongside my dos app doesn't work well in wine. I will check out
DOSEmu. I see the documentation is nonexistent.
I gather I'd have to chown the port to the user running DOESEmu to get
direct access.
Maxim lost Micrel as a foundry, so many old chips are not available.
This would not be the case for products designed in their captive
manufacturing facilities. I've noticed one or two of my really old
chips getting new layout for SO packaging, so clearly somebody is
buying product in volume.
Trust me, I could write a book on this VP that is retiring as far as
the person being a cog in the system. If I ever had the access to
money to become a corporate raider, I'd find employees that quit of
their own accord. These are the people that know where the bodies are
located, that is, bodies that need to be dislocated. ;-)
There was/is a forum on yahoo where people followed Maxim stock. The
insiders there were so much on the money it was uncanny. Even people
who joined after I left figured out who in management is the problem.
It's really a shame board members never get to talk to the people
doing the work. It is so easy to snow these dumb ass members of the
board considering must are friends of management and don't want to see
evil, hear evil, and certainly not speak of evil regarding
management. .
>> If you need direct port access, DOSEmu on Linux is probably the best
>> option. Direct access to ports below 0x400 can be enabled via the CPU's
>> io-port bitmap; once enabled, inb/outb instructions will access the port
>> directly without involving a kernel trap or any kind of emulation.
>
> Well, I was hoping DOSBOX did some magic. The software I generally run
> alongside my dos app doesn't work well in wine. I will check out
> DOSEmu. I see the documentation is nonexistent.
>
> I gather I'd have to chown the port to the user running DOESEmu to get
> direct access.
I/O ports don't have individual device files. DOSemu uses ioperm() to
grant port access. DOSemu is normally installed setuid-root to allow
hardware access (hence the dosemu.users file to control who is allowed to
use it).
I was thinking of /dev/ttyS0, etc. when I mentioned device file.
Can I ask why you have a preference away from maxim (I have some designs
where I used/am using maxim chips)
Because there were way, way too many occasions where Maxim could deliver
a few sample but the first order of bulk quantities bombed. Lots of
line-stop situations at clients and that is not a good situation at all.
OTOH these materials management problems at Maxim have brought me some
business, to design tem out :-)
I wish you good luck with the long term availability of you MAX chips.
But I wouldn't bet on it.
The best thing would be for a Texas Instruments or raider to buy Maxim
and shit can the vast majority of Maxim management. Maxim has good
engineering, but the people on the top are really cogs in the system.
The Peter Principle is shockingly real life, but probably worse at
Maxim than most companies. Jack Gifford had this habit of not only
promoting someone to their level of incompetency, but actually beyond
their level of incompetency. Mostly what Jack liked were tall people.
He was a little bit shorter than average, and I guess he liked bossing
around tall people.
Then there were the jocks. I would have never believed this if I
didn't see it with my own eyes, but he would give jobs to burnt out
athletes, generally minor leaguers, though I did work with one guy who
was a Dallas Cowboy (OK engineer). A few of the minor league baseball
players were good, but some of the jocks you would never hire on merit
alone.
I can't tell you how many times in life I've seen people get fucked
over by hiring people from the "old country" or their church, or even
based on race.
Anyway, Jack Gifford is dead, the old timers that are cogs are
retiring, so maybe things will get cleaned up. I still own a fair
amount of their stock.
Thanks to both. I see my potential the problem.
This board will not be mass produced. Only one board is to be made.
I have decided the SPI bus functions can be done with repeated writes to
the digital IO port of the PCI-6110. There will be no RS232 to SPI
conversion.
How recent have the line stop situations happened because of Maxim
delivery problems?
I have decided to avoid Maxim parts for another reason. Unlike most
other manufacturers they do not include footprints for their parts on
many if not all of their spec sheets. They only give the package
dimensions and leave it to the engineer to find the right IPC-7351 land
pattern to use for it. It cost me some time to figure out how to find
out that the IPC-7351 pattern SOP50P490X95-10N is the one to use for
this chip. This is not something I should have had to do.
I am using the MAX9939 because of the wide variety of gains it can be
programmed to and the very convenient feature that it can accept analog
inputs below ground, down to -2.5V if the power supply is 5V. This
eliminated the need for a level shifting op amp. I would have liked to
find a programmable gain amplifier that can have a +5V to -5V dual
supply but all the ones I found could not have much more than +5V across
the power pins.
>> > I gather I'd have to chown the port to the user running DOESEmu to get
>> > direct access.
>>
>> I/O ports don't have individual device files. DOSemu uses ioperm() to
>> grant port access. DOSemu is normally installed setuid-root to allow
>> hardware access (hence the dosemu.users file to control who is allowed to
>> use it).
>
> I was thinking of /dev/ttyS0, etc. when I mentioned device file.
You can configure DOSemu to redirect serial/parallel I/O the /dev/* files
(or e.g. lpr for parallel), or you can allow it to access the ports
directly. If you configure it to allow direct access, the /dev/ttyS* file
doesn't come into it; "out 3f8h,al" will cause the CPU to write to the
port without the kernel getting involved.
Then don't worry about it. You can use Maxim, their engineers and
products are generally good, it's upper management where the problems
seem to be rooted. However, make sure you have some of the Maxim chips
_in_ your hands before designing them in. Not just on order.
> I have decided the SPI bus functions can be done with repeated writes to
> the digital IO port of the PCI-6110. There will be no RS232 to SPI
> conversion.
>
> How recent have the line stop situations happened because of Maxim
> delivery problems?
>
Among my clients the last one was end of May 2009.
> I have decided to avoid Maxim parts for another reason. Unlike most
> other manufacturers they do not include footprints for their parts on
> many if not all of their spec sheets. They only give the package
> dimensions and leave it to the engineer to find the right IPC-7351 land
> pattern to use for it. It cost me some time to figure out how to find
> out that the IPC-7351 pattern SOP50P490X95-10N is the one to use for
> this chip. This is not something I should have had to do.
>
> I am using the MAX9939 because of the wide variety of gains it can be
> programmed to and the very convenient feature that it can accept analog
> inputs below ground, down to -2.5V if the power supply is 5V. This
> eliminated the need for a level shifting op amp. I would have liked to
> find a programmable gain amplifier that can have a +5V to -5V dual
> supply but all the ones I found could not have much more than +5V across
> the power pins.
>
There's this one but expensive:
http://focus.ti.com/lit/ds/symlink/ths7001.pdf
In the old days we used to do that with regular amps plus
current-steering DACs where we used their R2R ladder. That way we had
digital gain control on the cheap.
It is too late to have one in hand first. The board is already being
fabricated. The Maxim website says they are in stock. All I can do now
is order and see what happens. I have already requested samples of this
four days ago. I got a message back saying the order needed approval. I
have not heard from them since.
The PGA you suggest does not have enough gain. I needed gains from 1 to
100 V/V. For noise reasons it needs to be done in one stage.
[...]
>>> I am using the MAX9939 because of the wide variety of gains it can be
>>> programmed to and the very convenient feature that it can accept
>>> analog inputs below ground, down to -2.5V if the power supply is 5V.
>>> This eliminated the need for a level shifting op amp. I would have
>>> liked to find a programmable gain amplifier that can have a +5V to
>>> -5V dual supply but all the ones I found could not have much more
>>> than +5V across the power pins.
>>>
>>
>> There's this one but expensive:
>>
>> http://focus.ti.com/lit/ds/symlink/ths7001.pdf
>>
>> In the old days we used to do that with regular amps plus
>> current-steering DACs where we used their R2R ladder. That way we had
>> digital gain control on the cheap.
>>
>
> It is too late to have one in hand first. The board is already being
> fabricated. The Maxim website says they are in stock. All I can do now
> is order and see what happens. I have already requested samples of this
> four days ago. I got a message back saying the order needed approval. I
> have not heard from them since.
>
Not heard from since? Oh, oh ...
> The PGA you suggest does not have enough gain. I needed gains from 1 to
> 100 V/V. For noise reasons it needs to be done in one stage.
>
Well, that could be debatable but since the layout is done it's too
late, for now.