From: RFI-EMI-GUY on
petrus bitbyter wrote:
> "RFI-EMI-GUY" <Rhyolite(a)NETTALLY.COM> schreef in bericht
> news:4b397197$0$4964$9a6e19ea(a)unlimited.newshosting.com...
>> petrus bitbyter wrote:
>>> "RFI-EMI-GUY" <Rhyolite(a)NETTALLY.COM> schreef in bericht
>>> news:4b3815d7$0$4949$9a6e19ea(a)unlimited.newshosting.com...
>>>> John Fields wrote:
>>>>> On Sun, 27 Dec 2009 16:52:22 -0500, RFI-EMI-GUY <Rhyolite(a)NETTALLY.COM>
>>>>> wrote:
>>>>>
>>>>>> I have a device that has a three digit LED display. The chip that
>>>>>> drives the LED also has four Binary Weighted outputs (1,2,4,8) and
>>>>>> three address pins for 100's, 10's and units. I want to drive a FIFO
>>>>>> UART of some sort to output an RS232 stream so that this device can
>>>>>> update a software program. Baud rate 300 to 4800 range would be nice
>>>>>> if possible.
>>>>>>
>>>>>> The updates are about 300/second
>>>>>>
>>>>>> Is there a real simple hardware FIFO UART that can do this without a
>>>>>> lot of extra hardware. I don't want a software fix unless I can do it
>>>>>> in PicAxe and can find code written.
>>>>>>
>>>>>> Off the shelf products OK I don't want to reinvent the wheel.
>>>>> ---
>>>>> The way I'd do it would be to broadside load a 10 bit parallel-in
>>>>> serial-out shift registers with the BCD data, the digit data, a stop
>>>>> and
>>>>> a start bit, and then shift the data out serially to the RS-232 input
>>>>> of
>>>>> whatever's updating your software program.
>>>>>
>>>>> If the broadside data into the shifter is updating at about 300Hz,
>>>>> that's about 3.33ms, so to shift it all out before the next update
>>>>> comes
>>>>> along would require a bit clock at least 10 times faster than that, or
>>>>> about 333�s/3.3kHz.
>>>>>
>>>>> Duck soup, maybe. ;)
>>>>>
>>>>> What's the chip that's driving the display?
>>>>>
>>>>> JF
>>>> Its an ICM7217IJI Common Cathode 4 LED Display/Programmable Up/Down
>>>> Counter. The BCD I/O pins and the segment drivers b, d and f (d1, d2,
>>>> d3) used to select 100's. 10's and units (I may have order reversed).
>>>>
>>>> --
>>>> Joe Leikhim K4SAT
>>>> "The RFI-EMI-GUY"�
>>>>
>>>> "Use only Genuine Interocitor Parts" Tom Servo ;-P
>>>
>>> Hmm... So 300 updates/s * 3 digits * 10 bits makes 9000bps. Even 4800Bd
>>> will not be enough you will need at least 9600Bd.
>>>
>>> Meanwhile, the scanrate is some 2500 digits/s. To send them all you would
>>> need at least 25kbps. There is no need to send them all but you will need
>>> to do some buffering and selection at the transmitting side.
>>>
>>> Another complication is the updating itself. For all I can see there is
>>> no other way to detect an update but finding some digit(s) changed.
>>> That's to say unless you can catch the /STORE signal. But even then there
>>> seems no way to predict at what time during the scanning of the three
>>> digits that signal occurs. So you need to store two sets of digits and
>>> compare them. Only when two successive sets are equal you may have a
>>> valid output. Otherwise one or even both may be deformed.
>>>
>>> I consider the chance to find an of the shelf solution pretty small.
>>> Building a circuit that account for all details mentioned requires quite
>>> a lot of hardware. Today, designers will use some programmable device
>>> like a PLD or an FPGA. But the moment you're going to program a device
>>> you may get a micro as well. A PIC16F628 or a PICAXE-28X2 will do the
>>> job... But yes, it need to be programmed.
>>>
>>> If you want me to do something like that for you, mail me at
>>> petrusdotbitbyterathotmaildotcom.
>>>
>>> petrus bitbyter
>> The device I am talking about is a Doppler Systems DDF4002 doppler
>> direction finder. It is an older modele that once had a serial interface
>> option which is no longer available.
>>
>> Your observation about the update rate is quite correct and is covered in
>> the manual for the DDF4002, The theory section of the manual describes
>> almost exactly the data rate assumptions you have stated but qualifies it
>> with:
>>
>> "However, the message is initiated only when the display is updated. Since
>> this occurs at a maximum rate of 1/1.875 (0.533) seconds, ample time
>> exists between characters and between messages to prevent overrunning.
>>
>> There is also a later hardware mod to raise the 16X clock (4800 Hz from
>> main board) to 38,400 Hz to provide 2400 baud.
>>
>> --
>> Joe Leikhim K4SAT
>> "The RFI-EMI-GUY"�
>>
>> "Use only Genuine Interocitor Parts" Tom Servo ;-P
>
> Found a manual of the DDF1. That's a kits description but two important
> pages i.e.18 and 19 are carefully wiped out. Maybe a predecessor of the
> DDF4002 (or not).
>
> Current information at Doppler Systems Inc. starts at 6000 series. No trace
> of the 4002 ever existed. Does your manual contain a schematic or print
> layout?
>
> petrus bitbyter
>
>
>
I have a hardcopy of the complete manual, theory, schematics, parts
lists. Unfortunately no board layouts.

--
Joe Leikhim K4SAT
"The RFI-EMI-GUY"�

"Use only Genuine Interocitor Parts" Tom Servo ;-P
From: RFI-EMI-GUY on
MooseFET wrote:
> On Dec 29, 8:25 am, Don Lancaster <d...(a)tinaja.com> wrote:
>> MooseFET wrote:
>>> On Dec 28, 6:48 pm, RFI-EMI-GUY <Rhyol...(a)NETTALLY.COM> wrote:
>>>> MooseFET wrote:
>>>> snip
>>>>> I think it would be easier without the FIFO UART. You just want a
>>>>> signal that looks like the RS-232. You don't really need a RS-232
>>>>> receive function at all unless you want to use it to set the Baud
>>>>> rate.
>>>> I need compatibility with software that expects RS232 , I need to send
>>>> the appropriate bits, although the RX could be used to program the PIC I
>>>> guess.
>>> Yes you need to be compatible with software that expects RS-232. This
>>> means that you do not need a UART chip. All a UART chip does is make
>>> a signal wiggle up and down with a certain pattern. It is often
>>> easier to just make the signal you want rather than adapt to some
>>> chip.
>>> Example: A simple counter driving a 4051 MUX or two or three can make
>>> perfectly good RS-232 data out of some small collection of logic
>>> signals.
>> Use a PIC instead of pissing around.
>
> I don't know that RFI-EMI-GUY knows how to program one. Without a
> program they are fairly useless.
>
> The 8051 is better anyway. You can get a nice version from Silabs.
>> --
>> Many thanks,
>>
>> Don Lancaster voice phone: (928)428-4073
>> Synergetics 3860 West First Street Box 809 Thatcher, AZ 85552
>> rss:http://www.tinaja.com/whtnu.xml email: d...(a)tinaja.com
>>
>> Please visit my GURU's LAIR web site athttp://www.tinaja.com
>

I did a tiny bit of PICAXE programming with the help of my son on two
small projects. For this one I would need a head start, but could debug
at my end with the hardware I am sure.

I am impressed to hear the "Guru" weigh in, given he is the CMOS "God",
his opinion to go for PIC means a lot.

--
Joe Leikhim K4SAT
"The RFI-EMI-GUY"�

"Use only Genuine Interocitor Parts" Tom Servo ;-P
From: mike on
RFI-EMI-GUY wrote:
> I have a device that has a three digit LED display. The chip that drives
> the LED also has four Binary Weighted outputs (1,2,4,8) and three
> address pins for 100's, 10's and units. I want to drive a FIFO UART of
> some sort to output an RS232 stream so that this device can update a
> software program. Baud rate 300 to 4800 range would be nice if possible.
>
> The updates are about 300/second
>
> Is there a real simple hardware FIFO UART that can do this without a lot
> of extra hardware. I don't want a software fix unless I can do it in
> PicAxe and can find code written.
>
> Off the shelf products OK I don't want to reinvent the wheel.
>
Implementation details can be interesting, but only if the concept is sound.
Check my math...
300 baud is 30 characters a second, give or take...
You want 3 digits updated 300 times a second.
that's 900 characters a second through a 30 character/second pipe.
4800 baud is about half of what you need for throughput.
You can almost get there if you mux two digits into one RS232 character.
What am I misunderstanding?

As for implementation, a microcontroller is gonna be fewer parts,
smaller size, easier implementation. These days, it's hard to find
a project that can be done better/faster/cheaper without one.
From: MooseFET on
On Dec 29, 8:07 pm, RFI-EMI-GUY <Rhyol...(a)NETTALLY.COM> wrote:
> MooseFET wrote:
> > On Dec 29, 8:25 am, Don Lancaster <d...(a)tinaja.com> wrote:
> >> MooseFET wrote:
> >>> On Dec 28, 6:48 pm, RFI-EMI-GUY <Rhyol...(a)NETTALLY.COM> wrote:
> >>>> MooseFET wrote:
> >>>> snip
> >>>>> I think it would be easier without the FIFO UART.  You just want a
> >>>>> signal that looks like the RS-232.  You don't really need a RS-232
> >>>>> receive function at all unless you want to use it to set the Baud
> >>>>> rate.
> >>>> I need compatibility with software that expects RS232 , I need to send
> >>>> the appropriate bits, although the RX could be used to program the PIC I
> >>>> guess.
> >>> Yes you need to be compatible with software that expects RS-232.  This
> >>> means that you do not need a UART chip.  All a UART chip does is make
> >>> a signal wiggle up and down with a certain pattern.  It is often
> >>> easier to just make the signal you want rather than adapt to some
> >>> chip.
> >>> Example:  A simple counter driving a 4051 MUX or two or three can make
> >>> perfectly good RS-232 data out of some small collection of logic
> >>> signals.
> >> Use a PIC instead of pissing around.
>
> > I don't know that RFI-EMI-GUY knows how to program one.  Without a
> > program they are fairly useless.
>
> > The 8051 is better anyway.  You can get a nice version from Silabs.
> >> --
> >> Many thanks,
>
> >> Don Lancaster                          voice phone: (928)428-4073
> >> Synergetics   3860 West First Street   Box 809 Thatcher, AZ 85552
> >> rss:http://www.tinaja.com/whtnu.xml email: d...(a)tinaja.com
>
> >> Please visit my GURU's LAIR web site athttp://www.tinaja.com
>
> I did a tiny bit of PICAXE programming with the help of my son on two
> small projects. For this one I would need a head start, but could debug
> at my end with the hardware I am sure.
>
> I am impressed to hear the "Guru" weigh in, given he is the CMOS "God",
> his opinion to go for PIC means a lot.

Other that the fact that he suggested the PIC and not the 8051, if you
know micros, it is
the way to go.

If the digits are scanned slowly enough code that does something like
this will do the job:

Loop:
JNB MSBStrobe,$ ; Wait for MSB strobe
MOV A,DigitPort ; Do MSB digit
ORL A,#30H ; -- Make BCD into digit
MOV SBUF,A ; -- Send it
JNB TwoSBStrobe,$ ; Wait for 2SB strobe
MOV A,DigitPort ; Do 2SB digit
ORL A,#30H ; -- Make BCD into digit
MOV SBUF,A ; -- Send it
JNB LSBStrobe,$ ; Wait for LSB strobe
MOV A,DigitPort ; Do LSB digit
ORL A,#30H ; -- Make BCD into digit
MOV SBUF,A ; -- Send it

JNB TI,$ ; Wait for digit done
MOV SBUF,#0DH ; Do CR
JNB TI,$ ; Wait for CR done
MOV SBUF,#0AH ; Do LF
JNB TI,$ ; Wait for LF done
SJMP LOOP ; Repeat forever

It assumes that the digits come much slower than the strobes so that
they are done before
the next strobe.
>
> --
> Joe Leikhim K4SAT
> "The RFI-EMI-GUY"
>
> "Use only Genuine Interocitor Parts" Tom Servo  ;-P

From: John Fields on
On Tue, 29 Dec 2009 22:37:23 -0800, mike <spamme0(a)go.com> wrote:

>RFI-EMI-GUY wrote:
>> I have a device that has a three digit LED display. The chip that drives
>> the LED also has four Binary Weighted outputs (1,2,4,8) and three
>> address pins for 100's, 10's and units. I want to drive a FIFO UART of
>> some sort to output an RS232 stream so that this device can update a
>> software program. Baud rate 300 to 4800 range would be nice if possible.
>>
>> The updates are about 300/second
>>
>> Is there a real simple hardware FIFO UART that can do this without a lot
>> of extra hardware. I don't want a software fix unless I can do it in
>> PicAxe and can find code written.
>>
>> Off the shelf products OK I don't want to reinvent the wheel.
>>
>Implementation details can be interesting, but only if the concept is sound.
>Check my math...
>300 baud is 30 characters a second, give or take...
>You want 3 digits updated 300 times a second.
>that's 900 characters a second through a 30 character/second pipe.
>4800 baud is about half of what you need for throughput.
>You can almost get there if you mux two digits into one RS232 character.
>What am I misunderstanding?

---
Dunno...

As for the 7217, I don't think the option to output only three digits is
available, so if all four digits update 300 times a second, that's 1200
characters per second; i.e. 1200 baud. If a start and stop bit are
added to each character, as must be done for asynchronous transmission,
then the signaling element rate will still be 1200 baud, but the bit
rate will be 10 times that, or 12000 bits per second if the characters
are aligned head-to-tail with no space between the end of the stop bit
of one character and the beginning of the start bit of the next.

Now, since the digits update at 300Hz per 4 digits, that's 83.3�s per
digit, so as soon as one digit is strobed into the shifter by the
negative going edge of its digit strobe, there'll be 83.3�s available to
shift 10 bits into the OP's device before the next digit strobe goes
true and loads its corresponding digit into the shifter.

Just for grins, let's say that to avoid any conflicts we use a 1/80�s =
125kHz bit clock to shift out the digits; then we'll have something that
looks like this:

__
D4 \________________________________________________________________
____
D4IO \______________________________________________________________
_ __ ______________________________________________________________
L/S |_|
____ __ __ __ __ __ __ __ __ ___________________________________
SD4 |__|__|__|__|__|__|__|__|__|

___________________________
D3 ______/ \_______________________________
_____________________________
D3IO______/ \_____________________________
_ ___________________________________ _____________________________
L/S |_|
____________________________________ __ __ __ __ __ __ __ __ __
SD3 |__|__|__|__|__|__|__|__|__|
8.3�s-->| |<--

and so on for the rest of the digits.


>As for implementation, a microcontroller is gonna be fewer parts,
>smaller size, easier implementation. These days, it's hard to find
>a project that can be done better/faster/cheaper without one.

For other than a one-off, all true except for implementation.

Since a hardware solution requires hardware and circuit design, and a �C
solution requires hardware design as well as circuit design which must
be implemented in software, I'd say it was a wash.

For a one-off, "easier implementation" ignores the learning curve and
the tooling costs required to get started in software, and could be much
more difficult than doing it in hardware.

In this case, I'm not defending either approach but, since the OP asked
for a hardware solution, that's what the preliminary circuit I posted
was.

JF