PIC(18F452) - ATA HDD

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
egh01
Inlägg: 58
Blev medlem: 18 september 2003, 11:25:33

PIC(18F452) - ATA HDD

Inlägg av egh01 »

Hej alla glada!

Jag har övergett mina försök att få Tangentbord - PIC - LCD sammankopplingen att fungera till 100% och ger mig istället på något lite svårare, nämligen att ansluta en PIC till en hårddisk, det tyckte jag verkade som en bra idé :)

Stöd för filsystem ska jag inte ge mig på (till att börja med), jag blir överlycklig om jag lyckas läsa infon om hårddisken och kanske skriva/läsa några byte utöver det.

1. Vad behöver jag för strömförsörjningskälla och hur ska jag ansluta den till PIC och HD? (ev. strömställare, kondensatorer o liknande som kan behövas) Hårdvarubiten/elektroniken är den del som jag har svårast för.

2. Jag har inte riktigt förstått vilken ATA standard jag ska läsa in mig på. Någon som kan lite om de olika? Hur är det om jag även vill kunna ansluta en CD-ROM? (inte nödvändigt)

3. Hur är det med ev. motstånd och pull-downs på data- och strobekopplingarna mellan HD och PIC? Som sagt jag känner mig väldigt vilsen vad gäller elektroniken.

Alla idéer, förslag och varningar är välkomna.
AsmN
Inlägg: 76
Blev medlem: 10 juni 2003, 17:39:16
Ort: Pedersöre, Finland
Kontakt:

Inlägg av AsmN »

Angående 1 och 3 så tycker jag du ska söka på google, jag har hört om andra som gjort liknande projekt så det finns säkert ritningar på nätet.

2:an sen, du ska använda den vanliga standarden som har en hastighet på 33Mb/s. För det första klarar picen ändå inte av sådana hastigheter så det är ingen vits med högre och för det andra så använder CD-ROM samma IDE-buss.
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

Angående ATA så kan du läsa tex M$ dokumentation, den är inte allt för svårförstårlig. Att kolla på andras projekt kan också ge ganska mycket.
Vad det gäller CD så tror jag inte den använder sig av ATA utan ATAPI, men det borde väl egentligen inte vara så stor skildnad på hur det fungerar, men jag vet inte, har inte läst något om ATAPI.

Du behöver inga pull-down pull-up's på någon av i/o-portarna, används bara när du inte vill att en pinne ska vara "flytande" som tex vid anslutning av en knapp som i lågt läge inte är kopplad till jord/5V, men när en pinne är direkt kopplad till en annan så kommer ingen av pinnarna vara flytande, dom håller upp eller ner varandra.

Det ända som behövs i komponentväg för att interface:a en HD är en MCU och en HD, man behöver inte använda sig av några extra kretsar där imellan, har dock sett folk som använt sig av inverters och div andra logickretsar kanske för att förenkla programmeringen en aning, men inte nödvändigt.

Kul föresten att någon annan startat ett MCU- och Hårddisks-projekt. Hoppas du kommer igång fort och det är bara fråga om du undrar något, har ändå läst en del om ATA till mitt Mp3spelare-projekt. Lycka till :)
stormbringer
Inlägg: 96
Blev medlem: 12 augusti 2003, 12:11:39
Ort: Lindesberg

Inlägg av stormbringer »

Hej. Håller själv på med en mp3-spelare baserad på VLSI vs1011 som mp3-dekoder, FTDI ft245BM för USB, och med en pic16f877 alternativt pic18f452 (om det visar sig att 877 inte räcker till). Jag har tänkt att jag ska använda IDE-disk, CD-Rom & Compactflash + en 2*20 lcd (kan inte få tag på en grafisk till rimligt pris).

Jag har laddat ner ett antal dokument från http://www.mp3projects.com/data.htm Där finns dokumentation för atapi också.
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

Stormbringer, vet du något om det där USB-chippet, tänkte om det är lätt att få det att kommunicera med en HD, typ bara koppla upp mot HDn eller om det måste gå igenom en MCU först?
danei
EF Sponsor
Inlägg: 26434
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Hur skulle det gå till? Det går åt en microkontroller.
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Melker skrev:Stormbringer, vet du något om det där USB-chippet, tänkte om det är lätt att få det att kommunicera med en HD, typ bara koppla upp mot HDn eller om det måste gå igenom en MCU först?
USB kretsen har bara 8 i/o pinnar alternativt seriell in och utgång, så det blir svårt att få det att funka utan extra logik eller uC...

Kretsen i övrigt är väldigt lättanvänd. Jag har använt den för att ansluta en grafisk LCD till USB porten. Skrev en liten DLL fil som jag anropade från ett visual basic program som i sin tur bestämde vad det skulle stå på skärmen.

Det som är tråkigt med kretsen är kanske att man inte kan konfigurera den som Mass Storage enhet eller liknande... det hade ju varit trevligt!

/Johan
egh01
Inlägg: 58
Blev medlem: 18 september 2003, 11:25:33

Inlägg av egh01 »

Tack för dom snabba & innehållsrika svaren. Svaren på 1:an ska jag försöka söka vidare efter på internet, har inte lyckats än men jag försöker igen.

Frågan angående de olika ATA standarden skulle jag gärna vilja spinna vidare på här. Som jag har förstått det så använder CD-ROM enheter (oftast) ATAPI standarden, precis som Melker påpekar. Har ATAPI även stöd för vanlig HDD eller måste jag kombinera ATAPI med ATA av något slag?

Nyare hårddiskar (även de mindra misstänker jag) använder sig väl oftast av någon variant av Ultra-ATA standarden. Samtidigt har jag läst att den senaste ATA standarden är ATA-6. Vilken av dessa två ska jag välja (om jag inte kan använda ATAPI)? Är de "bakåtkompatibla" (på ett lättkodat sätt) med de äldre hårddiskar jag har, som troligtvis utnyttjar ATA-3 eller liknande?
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

Okej strombom. Men då borde det väl räcka om MCUn bara gör om det som chippet skickar till en 16bitars buss (när det behövs), istället för 8 och bara vidarbefodrar alla kommandon i princip?

Kollade på yampp7 och såg att han kopplat USB-chippet nästan direkt till ett Compact Flash, vad jag ser så har den inte så mycket med MCUn att göra heller.
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

All info som kan tänkas behövas om ATA/ATAPI-standarderna finns här http://www.t13.org/

Här är ett enklare byggprojekt som kopplar ihop en AVR med en hårddisk. http://www.binary-pulse.org/~valen16/pr ... show=intro
stormbringer
Inlägg: 96
Blev medlem: 12 augusti 2003, 12:11:39
Ort: Lindesberg

Inlägg av stormbringer »

Melker:

Har också varit inne på samma grej, att inte behöva slussa all data genom MCU'n... Vad jag tänkte, var att använda en 74**652 eller 646 för att lagra 8 bitar & skicka de resterande 8 direkt från bussen (ska man bara skicka data åt ena hållet räcker det troligen med en 373/573, men jag vill kunna hämta data från disken också), och låta MCU'n enbart styra övriga kretsar. Men jag är ju som sagt inte speciellt erfaren när det gället elektronik ännu, är ju snarare programmerare, så det är inte helt omöjligt att jag är ute & cyklar.
egh01
Inlägg: 58
Blev medlem: 18 september 2003, 11:25:33

Inlägg av egh01 »

Jag har några frågor angående ett par komponenter som jag skulle behöva svar på innan jag jag inhandlar något.

1. Vilken kontakt behöver jag för att kunna ansluta IDE-flatkabel (40-pin)till kretskort/experiment kort? Skulle 43-685-28 på den här sidan, http://www.elfa.se/elfa/produkter/se/145777.htm, kunna passa?

2. För att kunna ansluta AT(X)-nätaggregatet till kretskort/experimentkort behöver jag ju en kontakt likande den som sitter på t.ex. hårddiskar. Vad kallas den och vad har den för artikelnummer hos elfa?

3. Någon som har några tips på kontakter och kabel man kan använda för att ansluta en JDM programmerare till ett experimentkort, ICSP. Det ska va lätt att ansluta och att koppla bort igen.
egh01
Inlägg: 58
Blev medlem: 18 september 2003, 11:25:33

Inlägg av egh01 »

:shock: Ohh gudars så dyr den där flatkabelkontakten va, ni får gärna föreslå något annat :)
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

1) Använd en färdig hårddiskkabel istället för att klämma en själv. Mycket pengar och besvär kan sparas på det sättet. Sedan köper du en 2x20 pins stiflist elfa 43-703-34 och sätter på ditt kort.

2) Elkontaktdoen hittar du här: http://www.elfa.se/elfa/produkter/se/2006605.htm Annars kan tanken vara att köpa en färdig kabel och klippa av och löda fast på kortet. Alternativt kan du använda dig av en liknande stiftkontaktslist som till hårddiskkabel fast bara en rad med fyra stift på och koppla in floppyström-kontakt från nätagget på den.
danei
EF Sponsor
Inlägg: 26434
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

ett allternativ är att löda bort en kontakt från ett gammalt moderkort/kontrollerkort. Jag har kontakter liggande. Det finns nog många som har skrotade datorer liggade. Jag har iafa en tendens att samla påmig skrot.
Skriv svar