600MHz LED-blinkare
Min lödmetod är mer "kleta på tenn på 5-10 pinnar åt gången och moppa upp det som blir över med avlödningsfläta", men nåt åt det hållet iaf
Är "bara" 176 pinnar på denna för övrigt.
Jag har lagt upp eagle-filerna nu. OBS att jag inte har fixat buggarna i layouten, jag har däremot lagt med en textfil som bland annat talar om vilka buggar jag hittat.
http://area26.no-ip.org/linked/blackfin.zip
OBS: Upptäckte just en till allvarlig bug, har uppdaterat zipen.
Är "bara" 176 pinnar på denna för övrigt.
Jag har lagt upp eagle-filerna nu. OBS att jag inte har fixat buggarna i layouten, jag har däremot lagt med en textfil som bland annat talar om vilka buggar jag hittat.
http://area26.no-ip.org/linked/blackfin.zip
OBS: Upptäckte just en till allvarlig bug, har uppdaterat zipen.
Mycket snyggt gjort!
Har du tid över kan du försöka köra in Linux i DSPn, http://blackfin.uclinux.org/.
Har du tid över kan du försöka köra in Linux i DSPn, http://blackfin.uclinux.org/.
en sån där ska jag bygga
synd bara att det var fixed point (/"&#/&%¤(/#%=) jaja... bättre än ingenting iaf =) letat länge efternånting som en "fattig student"(:D) har råd med. får väl helt enkelt skriva om hela synthen till fixed point
kanske skulle börja samla på sig alla delar nu så man har sen när kretskorten är klara och man kan beställa från olimex eller liknande
btw, ska läsa en "ytmonteringsteknik"(eller nått liknande) nu i höst. får väl passa på att snylta på lödstationerna med varmluft och där man applicerar lödpasta med tryckluft när jag ska bygga ihop skiten =)
synd bara att det var fixed point (/"&#/&%¤(/#%=) jaja... bättre än ingenting iaf =) letat länge efternånting som en "fattig student"(:D) har råd med. får väl helt enkelt skriva om hela synthen till fixed point
kanske skulle börja samla på sig alla delar nu så man har sen när kretskorten är klara och man kan beställa från olimex eller liknande
btw, ska läsa en "ytmonteringsteknik"(eller nått liknande) nu i höst. får väl passa på att snylta på lödstationerna med varmluft och där man applicerar lödpasta med tryckluft när jag ska bygga ihop skiten =)
Iponerande bygge! Har själv försökt komma igång med ARM-processorer från Atmels AT91-serie, men har lyckats något vidare, fastnat på det mesta, men jag ska ge det lite mer tid iaf.
Blackfin-processorerna, är dom configurerade att boota direkt från ett seriellt eeprom, för verkar ju väldigt smidigt isåfall?
Blackfin-processorerna, är dom configurerade att boota direkt från ett seriellt eeprom, för verkar ju väldigt smidigt isåfall?
Nej, så enkelt är det förstås inte.
Men även om blackfin bara klarar 16bits fixed point i hårdvara så kan man ju ändå kompilera kod (C/C++) som räknar med flyttal och 32bits fixed. Jag har inte kollat upp det, men det är möjligt att en blackfin på 400MHz räknar med flyttal nästan lika snabbt som en sharc på 66MHz...
Min spelar förresten MP3 nu, har fått ihop de viktigaste funktionerna i mitt operativsystem (filsystem, minneshantering...) och kompilerat MAD (http://www.underbit.com/products/mad/). C:a 100MHz går åt för att spela, men det är helt utan att optimera koden för processorn...
Men även om blackfin bara klarar 16bits fixed point i hårdvara så kan man ju ändå kompilera kod (C/C++) som räknar med flyttal och 32bits fixed. Jag har inte kollat upp det, men det är möjligt att en blackfin på 400MHz räknar med flyttal nästan lika snabbt som en sharc på 66MHz...
Min spelar förresten MP3 nu, har fått ihop de viktigaste funktionerna i mitt operativsystem (filsystem, minneshantering...) och kompilerat MAD (http://www.underbit.com/products/mad/). C:a 100MHz går åt för att spela, men det är helt utan att optimera koden för processorn...
Nu är jag inte riktigt med tror jag..
Sharcen jag nämnde går på 66MHz (men gör 198MFLOPS "peak").
Klart, om du skriver om din synth till 16bits fixed, helt eller delvis i assembler och kan utnyttja båda MAC-enheterna osv på blackfin kan du komma upp i c:a 18000 beräkningar per sampel för 44Khz (mono)
Sharcen jag nämnde går på 66MHz (men gör 198MFLOPS "peak").
Klart, om du skriver om din synth till 16bits fixed, helt eller delvis i assembler och kan utnyttja båda MAC-enheterna osv på blackfin kan du komma upp i c:a 18000 beräkningar per sampel för 44Khz (mono)
nej vänta nu. räknade 1MHz som 1MFLOPS..
hmm.. 18k beräkningar? då är det ju nästan mer interesant än den andra på 200MFLOPS som "bara" skulle klara 4500?
de sakerna som jag "behöver" flyttal till är bland annat att jag har en hel drös saker som är mellan 0..1, men det skulle väl inte vara något större problem att köra de till 0^(2^32-1) istället.
eller..hmm.. value = data, volume = 0..1
value *= volume;
skulle ju bli lite knepigare.
ska nog börja med fixed point istället.
hmm.. 18k beräkningar? då är det ju nästan mer interesant än den andra på 200MFLOPS som "bara" skulle klara 4500?
de sakerna som jag "behöver" flyttal till är bland annat att jag har en hel drös saker som är mellan 0..1, men det skulle väl inte vara något större problem att köra de till 0^(2^32-1) istället.
eller..hmm.. value = data, volume = 0..1
value *= volume;
skulle ju bli lite knepigare.
ska nog börja med fixed point istället.
För vissa beräkningar kan man hålla en fart på 2 "ops" per cyckel. För t.ex. ett FIR-filter kan man varje cykel köra:
2st MAC-operationer + ladda två insamples + ladda två filtervärden.
Vilket ger 800 miljoner FIR-taps totalt per sekund vid 400MHz, minus lite overhead för att spara undan utsamplen ibland... 800M/44k = 18k
Det gäller då 16bits värden, om man behöver 32bits upplösning så tar en multiplikation åtminstone 2-3 cykler, och add/sub etc. tar en cykel...
Processorn (och kompilatorn) har också stöd för "fractional" fixed point värden, dvs 16 och 32bits tal som täcker området 0..1 eller -1..1, så man slipper tänka på det där skalningsproblemet.
2st MAC-operationer + ladda två insamples + ladda två filtervärden.
Vilket ger 800 miljoner FIR-taps totalt per sekund vid 400MHz, minus lite overhead för att spara undan utsamplen ibland... 800M/44k = 18k
Det gäller då 16bits värden, om man behöver 32bits upplösning så tar en multiplikation åtminstone 2-3 cykler, och add/sub etc. tar en cykel...
Processorn (och kompilatorn) har också stöd för "fractional" fixed point värden, dvs 16 och 32bits tal som täcker området 0..1 eller -1..1, så man slipper tänka på det där skalningsproblemet.