Searching \ for '[PIC] USB &' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: techref.massmind.org/techref/microchip/devices.htm?key=pic
Search entire site for: 'USB &'.

No exact or substring matches. trying for part
PICList Thread
'USB PICs (or Digital Audio via USB & MCU)'
1999\07\18@212019 by Thomas Brandon

flavicon
picon face
I have seen the Phillips USB chips and they are great for some things. If i
wanted to make a USB-Mouse/Keyboard device I'd be buying one right now.
Unfortunately my application is slightly more demanding. I would like to
create a USB-based digital (and analog but that's incidental to the USB side
of things) audio interface for my PC. I won't go intop all the details but
the basic features are:
   - At least 1 if not 2 channels of DAT quality I/O (24 bit, 48kHz, stereo
x 4 = 1152 Kbyte/s. 2 isochronous capable endpoint pairs)
   - 2 MIDI I/O (4x ~30000bps max. = 15Kbytes/s. 1 endpoint pair.)
   - 1 channel of MPEG/AC-3 compressed audio (<200bit/s = <25Kbytes/s, 1
isochronous endpoint (output only).)
   - Full control over both audio and MIDI interfaces (at least 1 control
endpoint (BTW: anyone know if I can do the control for both MIDI and Dig.
Audio on 1 endpoint?))

Total: 1300Kbytes/s (not including protocol overhead) = ~10.5Mbit/s
         2 isochronous endpoint pairs
         1 standard endpoint pair
         1 isochronous endpoint
         1-2 control enpoints

I could combine the compressed audio endpoint with one of the digital audio
I/Os and thus only need 3 Data endpoint pairs and 1-2 control endpoint
pairs.

Thus, the phillips chips have the following shortcomings:
   - Speed. While the serial interfaced version supports the full 12Mb/s
speed on the USB end it has only 1Mbit/s I2C which ain't enough. The
parallel interfaced chip manages 2Mbyte/s to the PIC which would just scrape
through the specs say it achieves a max. throughput of 1Mbytes/s in bulk
mode (only 1Mbit/s in isochronous which I believe is generally used for
audio) Also, it wouldn't be easy to drive the parallel bus (You'd need a PIC
with PSP (ifi it'd work) and then you lose 8 pins) and the 2 ADCs, 3 DACs,
MPEG/AC-3 decoder and 2 channels of USB-MIDI off the pins and cycles of a
PIC would (maybe with a scenix?)).

   - Configuration. When looking through the Phillips specs I was unable to
find any info on configuring the USB interface. i.e. entering Device and
class IDs etc. Does this have to be manually handled by the MCU or am I
missing something?

   - Buffers. The specs also seem to lack info on the buffers. They state
their is a buffer using internal memory but don't give you any info. The
MIDI stream would be fine with any buffer but fair sized buffers are needed
for the digital audio.

Before someone else points it out, I am aware of the custom digital
audio/USB chips made by Phillips. The only problem with these is that you
cannot integrate MPEG/AC-3 or MIDI. However they may still be useful (see
below).

One product I am looking at carefully is the Intel
USB MCUs. These are basically a MCS251 with an inbuilt USB interface. They
provide a few advantages over the Phillips that I can see:
   - Speed. They support the full 12Mbit/s standard apparently.
   - Buffering. They have 1 Mbyte of RAM available for buffering. Thus it
can be configured to give 256, 512 or 1024 bytes of buffer for 2 of the
ports which should be plenty (the other 2 have 16byte which should be fine
for MIDI/control.
   - Integrated Hub. The 8x930Hx series is a four (or five) port hub where
3 (or four) of the ports are external and 1 is internal. I am considering
using this chip as it could significantly reduce many of the problems. For
instance one solution would be to implement the MIDI/compressed audio
interfaces using the internal port and then attach a Phillips UDA1335 - USB
Audio Playback Recording Peripheral (Digital and Analog outputs) to do the
uncompressed audio. The only problem with this is I'd need two chips to do
the 2 inputs & outputs and I'd have to write my own software to have them
device act as only one USB device (in fact I'd have 3, 2 x PCM Digital
Audio, 1x Compressed audio /MIDI).

As you can see, the phillips device is great but not for my purposes. The
only problem I have with the Intel MCU is it's not a PIC (which isn't a
problem, it just means I have to learn a new MCU. BTW what are peoples
opinions of the Intel MCS 51/251 (it's a bit of a cross between the 2 I
gather)). Hence, If Microchip planned to releas a USB capable PIC anytime
soon (and I saw rumours that they were) I would investigate this before
commiting to the Intel product.

Has anyone attempted Digital Audio (PCM or compressed (even better)) or MIDI
over USB?

Sorry to provide so much info.
Tom.
----- Original Message -----
From: German <spam_OUTnetquakeTakeThisOuTspamINNOCENT.COM>

> I don't have any info on this. But have a workaround to use USB with
> any mcu.
>
> > I read somewhere that Microchip might be relewasing a range of chips
with
> > inbuilt USB interfaces (20xxx I think it was).

1999\07\19@070837 by Steve Lawther

flavicon
face
Tom,

If the ~10.5Mbit/s is continuous USB bandwidth required,

a) The Bus is going to be struggling - remember that only 90%
bandwidth is available for Iso and Int transfers, and with USB
overheads, theoretical max transfer rate is 1.28MB/s (10.2Mbit/s)
(USB spec 1.1, pg 42). Int and Bulk xfers are slightly worst due
to extra USB overheads.

b) The Intel device would be struggling - it only clocks at 12MHz
and although I believe it now only requires 1 clock per state,
at 1.28MB/s, you have to fully process 1 byte every 800ns.
even just picking it up into the Acc would take 170ns AFAIK.
If the buffer ever became full, you'll have to get the bytes out
within the remains of that particular frame, which would be about
80 ns per byte.

c) You have to guarentee that the whole USB is available
Some people have other devices on the USB.
Upto 126 other devices :-)

d) From my personal experience, getting 5Mbit/s from the
USB is all I'd try for in a real world situation.
And that's with a parallel interface, DMA and/or probably with a
100MHz Scenix on the device end.

This is written only as a reality check - We need people using
USB to get it into the homebrew domain more.

More USB stuff at:-

http://ourworld.compuserve.com/homepages/steve_lawther/usbdev.htm

       Steve Lawther

PS - apologies for the length of the disclaimer my employer feels is
necessary.

> {Original Message removed}

1999\07\19@212120 by Thomas Brandon

flavicon
picon face
Tha nk you for the reality check. I had been working off the specs so it is
good to know. Well, as it's digital audio it wouldn't be continuous in that
you'd rarely use all 4 interfaces (2 in 2 out) but you should be able to and
it sounds like it won't work, or at least not unless your pretty lucky.

I think I might get around the problem by making it more modular. I can have
a hub unit with 3 external downstream ports which can be a "USB legacy
breakout box".
It would replace most of your legacy ports. Thus you could have:
2 MIDI ports
2 serial ports
1 keyboard port
1 printer ports
An MPEG audio port if you so desired (I like the idea of near CD quality
audio with no soundcard usage, almost no CPU usage (pump about 25Kb/s over
USB) and almost no USB bandwidth and if I'm lucky no driver writing (at
least not for wintel))
 3 downstream ports

All of these should fit quite comfortably into a low speed 1.5Mbps link
(Without EPP on the printer port tho). I didn't do the sums, but you're
unlikely to use em all at once.

Then you could have 2 digital audio interfaces with 1 In and 1 Out. You
wouldn't be able to run both off one USB port. But you should be able plug
one into the hub (and a couple of low bandwidth devices that aren't used too
regularly (e.g. a USB camera)) and one into your other USB port.

A 1 In, 1 Out device should also work on the Intel chip shouldn't it. You
could also set up a FPGA as a buffer between the MCU and the
DACs/ADCs/Decoders. Then you wouldn't need to worry so much about the buffer
filling up or about the status of the DAC/ADC/Encoder.

Tom.
----- Original Message -----
Subject: Re: USB PICs (or Digital Audio via USB & MCU)
<SNIP>

> If the ~10.5Mbit/s is continuous USB bandwidth required,
>
> a) The Bus is going to be struggling
<SNIP>
> b) The Intel device would be struggling
<SNIP>
> c) You have to guarentee that the whole USB is available
> Some people have other devices on the USB.
> Upto 126 other devices :-)
<SNIP>
> d) From my personal experience, getting 5Mbit/s from the
> USB is all I'd try for in a real world situation.
> And that's with a parallel interface, DMA and/or probably with a
> 100MHz Scenix on the device end.
<SNIP>
> This is written only as a reality check
<SNIP>
> > {Original Message removed}

More... (looser matching)
- Last day of these posts
- In 1999 , 2000 only
- Today
- New search...