?? hardware details.mht
字號:
From: <由 Microsoft Internet Explorer 5 保存>
Subject: Homemade USB 2 Harddrive MP3 Player Hardware Details
Date: Wed, 6 Oct 2004 12:33:38 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_NextPart_000_000D_01C4ABA0.B48998D0";
type="text/html"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441
This is a multi-part message in MIME format.
------=_NextPart_000_000D_01C4ABA0.B48998D0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.frankvh.com/mp3player/hwdetails.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Homemade USB 2 Harddrive MP3 Player Hardware =
Details</TITLE>
<META=20
content=3D"Homemade harddrive MP3 player homebuilt diskdrive MP3 player =
USB interface USB2 USB 2.0 USB Drive audio player stereo high capacity =
do it yourself mp3 player kit software sourcecode hardware schematic =
circuit diagram"=20
name=3Dkeywords><!-- InstanceBegin =
template=3D"/Templates/MP3CSStemplate.dwt" =
codeOutsideHTMLIsLocked=3D"false" --><!-- InstanceBeginEditable =
name=3D"head" --><!-- InstanceEndEditable --><!-- InstanceBeginEditable =
name=3D"doctitle" --><!-- InstanceEndEditable -->
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1"><LINK=20
href=3D"http://www.frankvh.com/mp3player/mp3style.css" type=3Dtext/css=20
rel=3Dstylesheet>
<META content=3D"MSHTML 6.00.2800.1400" name=3DGENERATOR></HEAD>
<BODY>
<DIV id=3DBannerLeft><IMG height=3D61 =
src=3D"http://www.frankvh.com/mp3player/mp3.gif"=20
width=3D175 align=3Dmiddle> </DIV>
<DIV id=3DBannerBody>Homebuilt MP3 Player </DIV>
<DIV id=3DBottomBanner>A do-it-yourself high-capacity harddisk-based MP3 =
Player=20
with USB 2.0 </DIV>
<DIV id=3DLeftMenu>
<P><A class=3Dmenu =
href=3D"http://www.frankvh.com/mp3player/index.html">Home</A></P>
<P><A class=3Dmenu=20
href=3D"http://www.frankvh.com/mp3player/hwdetails.htm">Hardware<BR>Descr=
iption</A></P>
<P><A class=3Dmenu=20
href=3D"http://www.frankvh.com/mp3player/schematics.htm">Schematics=20
&<BR>PCB</A></P>
<P><A class=3Dmenu=20
href=3D"http://www.frankvh.com/mp3player/software.htm">Software</A></P>
<P><A class=3Dmenu =
href=3D"http://www.frankvh.com/mp3player/kits.htm">Kits=20
&<BR>Parts</A></P>
<P><A class=3Dmenu=20
href=3D"http://www.frankvh.com/mp3player/driveselection.htm">Drive=20
Selection</A></P>
<P><A class=3Dmenu =
href=3D"http://www.frankvh.com/mp3player/usb2.htm">USB=20
2.0</A></P>
<P><A class=3Dmenu=20
href=3D"http://www.frankvh.com/mp3player/buildnotes.htm">Construction<BR>=
Notes</A></P>
<P><A class=3Dmenu =
href=3D"http://www.frankvh.com/mp3player/createmp3s.htm">Creating=20
MP3s</A></P>
<P><A class=3Dmenu =
href=3D"http://www.frankvh.com/mp3player/news.htm">Latest=20
News</A></P>
<P><A class=3Dmenu=20
href=3D"http://www.frankvh.com/mp3player/contact.htm">Contact</A></P>
<HR color=3D#000000 noShade SIZE=3D1>
<P> </P></DIV>
<DIV id=3DPageBody><!-- InstanceBeginEditable name=3D"EditRegion1" -->
<H2>Hardware Technical Details </H2>
<P>The block diagram below gives a high-level view of the main =
components on the=20
board.</P>
<P align=3Dcenter><BR><IMG height=3D333=20
src=3D"http://www.frankvh.com/mp3player/BlockDiagram.jpg" width=3D500> =
</P>
<P><BR>The following sections describe each major block in more =
detail.</P>
<H3><BR>AVR Microprocessor</H3>
<P>The Atmel AVR Mega128 microcontroller is an 8-bit RISC-based =
processor=20
running at 16 MHz. This is the heart of the player. Due to it=92s =
architecture=20
this device comes very close to achieving 1 instruction per cycle. Some=20
instructions require 2 cycles, but the majority need only one. The =
result is=20
that at 16 MHz, we have far more CPU power than we need, allowing plenty =
of CPU=20
cycles for things like:</P>
<UL>
<LI>Bus bit-bashing=20
<LI>Sloppy coding :-)=20
<LI>Future expansion and features </LI></UL>
<P>Atmel=92s AVR website is at:<BR><A =
href=3D"http://www.atmel.com/products/avr/"=20
target=3D_top>http://www.atmel.com/products/avr/</A></P>
<P>The Mega128 has 128 kB of internal flash memory. This corresponds to =
64k=20
instruction-words, which is far more than is currently being used. There =
is a=20
lot of extra space available for additional software features, display =
text=20
strings, and so forth.</P>
<P>The device has 4 kB of internal SRAM. This is all the RAM on the =
board, so=20
great care is required in its use. The majority of the RAM is used for =
buffering=20
the MP3 files as they are pulled off the disk and fed to the codec. =
About 3 kB=20
is used for this task, leaving about 1 kB for everything else. Given the =
large=20
amount of flash memory on-chip, whenever a trade-off is possible between =
SRAM=20
usage and flash usage, it <EM>always</EM> goes into the flash.</P>
<P> </P>
<H3><A name=3DAVRISP></A>AVR In-System Programming</H3>
<P>Connector J7 is a 10-pin header for in-system programming (ISP) of =
the AVR.=20
This connector uses the pinout of the Kanda systems programmer, commonly =
known=20
as the programmer dongle supplied with the STK200 and STK300 series of =
AVR=20
development boards. Atmel shipped these boards for a long time. Both the =
STK200=20
and STK300 dongles have been tested with this board. PonyProg is an =
excellent=20
shareware programmer with these dongles. It can be downloaded =
from:<BR><A=20
href=3D"http://www.lancos.com/prog.html"=20
target=3D_top>http://www.lancos.com/prog.html</A> <BR>This website also =
has a=20
schematic for the dongle if you want to make your own.<BR><A=20
href=3D"http://www.lancos.com/e2p/avrisp-stk200.gif"=20
target=3D_top>http://www.lancos.com/e2p/avrisp-stk200.gif</A> </P>
<P>Here's a photo of the dongle. It can say either STK200 or STK300; =
both types=20
will work. On the left is the DB25 connector that plugs into a parallel =
port. On=20
the right, hidden in this photo, is the 10-pin programming =
connector.</P>
<P align=3Dcenter><IMG height=3D235 alt=3D"MP3 player programming =
dongle"=20
src=3D"http://www.frankvh.com/mp3player/KandaDongle.jpg" width=3D242=20
align=3Dmiddle></P>
<P>Recently Atmel has moved to a new ISP programming dongle (the <A=20
href=3D"http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3D2726">=
AVR=20
ISP</A>, $29 from <A=20
href=3D"http://www.digikey.com/scripts/US/DKSUS.dll?KeywordSearch?Mpart=3D=
ATAVRISP">digikey</A>)=20
which has both the original 10-pin connector on it as well as a 6-pin =
connector.=20
The signals are about the same; mainly the 6-pin just has fewer ground =
pins=20
compared to the 10-pin header. Use the 10-pin header when programming =
the MP3=20
player (to switch between headers, read <A=20
href=3D"http://www.avrfreaks.net/Tools/avrisp/ug/hardware.php">this</A>.)=
Unlike=20
the Kanda programmer, the Atmel unit plugs into a serial (RS232) port on =
the=20
computer.</P>
<P>Because the ISP programming pins are shared with the first UART and =
SPI port=20
pins, a mux, U5, is used to control the routing of those shared pins. =
When pin 3=20
of the 10-pin header is disconnected or high, U5 routes the AVR=92s UART =
and SPI=20
signals to their respective player devices (LCD display and STA013 MP3 =
decoder).=20
When pin 3 is pulled low those signals are routed to the 10-pin header =
to allow=20
ISP programming.</P>
<P>Atmel also has a more expensive JTAG programmer. This requires =
separate pins=20
routed to a separate connector, and is not supported on the player.</P>
<P>For more details on programming the Mega128, read <A=20
href=3D"http://www.frankvh.com/mp3player/avrprog.htm">this page</A>.</P>
<P> </P>
<H3>IDE Interface</H3>
<P>A very nice thing about the AVR is that almost all of its pins can be =
used as=20
general purpose I/O pins (GPIOs). The IDE interface is constructed in =
this way.=20
The IDE interface has a 16-bit data bus with some additional signals for =
address, chip-selects, read & write, reset, etc. These are all =
implemented=20
as GPIOs on the AVR, with the bus timing signals generated by =
bit-bashing the=20
appropriate GPIO pins. The interface is constructed as a simple PIO mode =
1/2/3=20
read-write interface. No DMAs are supported, nor are they needed for the =
relatively slow MP3 file speeds.</P>
<P>Two IDE connectors are provided on-board. A 40-pin connector for =
standard=20
3.5=94 PC-type disks, and a 44-pin connector for 2.5=94 laptop disks. =
Note that you=20
can only plug a single drive into the board at any time, and the drive =
has to be=20
jumpered either as master, or as cable-select.</P>
<P>If you plan to use this player on a regular basis (as I do), harddisk =
selection should not be made purely on the basis of cost. I=92ve =
experimented with=20
several different drives. And have found that the amount of cache memory =
makes a=20
significant different to the amount of seking the drive does. Older =
drives with=20
2 MB of cache tend to seek a reasonable amount. New drives with 8 MB of =
cache=20
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -