PIC(18F452) - ATA HDD
PIC(18F452) - ATA HDD
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.
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.
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.
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.
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
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
-
- Inlägg: 96
- Blev medlem: 12 augusti 2003, 12:11:39
- Ort: Lindesberg
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å.
Jag har laddat ner ett antal dokument från http://www.mp3projects.com/data.htm Där finns dokumentation för atapi också.
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...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?
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
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?
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?
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.
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.
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
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
Här är ett enklare byggprojekt som kopplar ihop en AVR med en hårddisk. http://www.binary-pulse.org/~valen16/pr ... show=intro
-
- Inlägg: 96
- Blev medlem: 12 augusti 2003, 12:11:39
- Ort: Lindesberg
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.
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.
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.
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.
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
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.
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.