[Date Prev][Date Next][Thread Prev][Thread Next] - [Date Index][Thread Index][Author Index]

USB and such


Gene Harlan - WB9MMM
Harlan Technologies - publisher of
OSCAR Satellite Report - OSR@hampubs.com
Amateur Television Quarterly - ATVQ@hampubs.com

comments on USB in the "ISA/PCI Questions" thread;

I am a bit confused by your post concerning USB in the context of micro
controllers.  Having only gotten part way through the USB 1.1 spec my
confusion is understandable if not excusable.

Cypress offers an 8051 (Intel)  core based USB chip with software
development tools.  They call their product EZ-USB Series 2100.  This
integrated unit has the USB line driver, external micro-processor
interface (serial and parallel as I recall), memory and other stuff
needed to implement the USB1.1 spec.  I haven’t made it through all of
Cypress’s documentation, indeed I have only scratched the surface so I
am sure there are lots of variations around the principle architecture.

With this Cypress device you are of coarse stuck with Intel’s 8051
architecture between you and the USB line.  After the Cypress USB
controller all bets are off.  Intel, Microchip, Motorola, NEC, Hitachi,
Altera, AMD... the list is endless.  How and what you do is your own
affair with the exception that you must conform to the USB spec if you
want to be USB compatible.

As far as what controls the interface chip, it could be anything, Unix
box, Mac, PC, micro controller... whatever.  As long as it uses the
hardware and software protocol for USB you can call it a USB MASTER if
the software written for the micro controller conforms to the spec for a
USB MASTER device.  In the USB1.1 spec it says;

“Implementations with multiple Host Controllers, and associated Host
Controller Drivers, are possible.”

The principle difference between Hosts, Hubs and Functions is in
software.  The guy who tells others what to do is the “Host” the middle
man is the “Hub” the grunt who does the work or gets the data is the
“Function”.  I presume what you refer to as a MASTER is what the USB1.1
spec calls a “Host” or “Host Controller”.  There is nothing that says
the “Host” must be programmed using any specific OS.  You could even do
it in assembly language for a given micro controller if you wanted to.
In the end it all comes down to machine code anyway.  Which end or start
environment you use is your affair.

TI offers a simple USB driver chip with four USB transceivers.  This
chip along with your choice of microprocessor or micro controller, some
memory, EPROM or EEPROM, and/or a DMA controller and you have all you
need to implement a USB bus.  You have to write the code of coarse.

One possible extension of the USB spec might be SSB (Satellite Serial
Bus) a subset of the USB spec that could be used, with Rad hard devices,
to make a digital bus for onboard satellite subsystem communication.
This way we could integrate various pieces of analog and digital
hardware that could change or be revised right up to launch time and
have a good chance of them working with the satellite control system,
communitcation hardware wise, despite their late integration with the
satellite.  In such a way both analog and digital signals could be
routed, in digital form, to and from receivers and transmitters on board
the spacecraft and retransmitted as digital or analog signals of
whatever form desired.  In addition software upgrades could be sent to
the subsystem controllers to correct problems or change capabilities.

Bronson Crothers
17 Charles St.
Orono  ME  04473

Phone: 207 866 0405
Fax:.....207 866 0405

Radio Call: N1ZAQ

--... ...--

Email: bronson@eece.maine.edu

Via the amsat-bb mailing list at AMSAT.ORG courtesy of AMSAT-NA.
To unsubscribe, send "unsubscribe amsat-bb" to Majordomo@amsat.org