.:diary 2007:.


here you can find the current state of the project in detail... problems i'm fighting with...maybe only interesting for freaks...anyway....just read and fall asleep: :)





28.09.2007 06:08 well... no big news here... i'm just releasing previews of the pc synth i told you about monthes ago ;)this is for our 64kb Demoscene releases in orb... means the goal is to do a small (in size) and "good" sounding synth...

have a look at here:
equador
zoolook

please keep in mind these are
a) the first preview of the synth.. sure it's possbile to do more impressive previews with filtersildes and stuff... the filters are sounding good ... ok maybe not hearable here
b) this previews need 7kb in memory...means the synth code needs 7 kb ! so for sure possible all on sharc...
c) this is not the synth i'll do on the sharc ... this is just to test things out...

all sounds were softwaregenerated by the synth... means wannabe hihats bassdrum and snare ;) that's why it sounds that thin here... important in a 64b intro... to generate all by software... ok mp3 replay is maybe another solution for replay... but at the moment all software is the way to go...

the first previews... as you can hear.. it clips here and there because of an instrument... also the leads needs an antialised osc really... well never thought of this before...that's why i'm doing this ;))

i know equador sucks... but zoolook rules... ever heard rob hubbards c64 version of it ?.. hammer ;))

hm good idea just starting up sidplay...


08.02.2007 19:23 in the last weeks i didn't do much sharc code... i was working quite intensive on a softsynth for pc... just to collect some experiences how to code a synth... sure i knew before how to do it so far... but never did it until now...looks like this... (click for a bigger view)



yes... the layout is a bit chaotic... anyway not that important at the moment ;)
that softsynth was ideal for a) collect some experiences esp. what is important to create good sounds which modulations and stuff...and b) i always wanted to code a softsynth for 64kb pc demos like farbrausch did...
but it's not finished yet... some work is left to do...


05.01.2007 03:06 slowly i'm getting into the sharc assembler syntax... over xmas i read a bit about it and today i tried to use it... a bit stressy when you aren't very into asm for a cpu... you always have to look into the docs to see how and bla...
but slowly it's getting better... today i did a simple oscillator... which can output a waveform with a adjustable frequence... ok nothing really dramatic...

at the moment it's only a 4 byte waveform... for some more tests this is enough... i'll change this later... so next step will be to include an adsr envelope...

over xmas i was searching a bit how to realise a midi interface... the problem is the sharc can't handle the midi/rs232 serial protocol directly... normally you need to use a uart for this... but i found on the adi site a small workaround for this... it leeches a bit cpu time but anyway... should be ok for the first tests..

ram is still a problem with the sharc... i could not find sdram until now which will work with the 21065... most of the sdrams you can order everywhere are too fast... maybe i need to desolder some chips from older dimms... but i've decided now to use static ram... to be honst i really don't need 16mb*32bit in my synth... a 256k or 512k *32bit static ram will do the job...
but even to find cheap static rams isn't that easy... i mean i need 15ns rams (ok slower would work too but then i need to add wait states) ... and the external bus is 32 bit... to use 4 * 8 bit rams is almost impossible with 2 layer pcbs... hm the only rams i could find are from digikey.com but really expensive to order there...

stay tuned...

22.12.2006 19:05 i connected today a dac to the sharc for sound output... unforunately i did not add pads to the sharc... i had to add solder the cables for the dac directly to the sharc pads... hm no easy job... well the 0,5 pin pitch... that was a real challenge to solder this ;) when i planned the test board i didn't expect the board would work that good...

the dac is working even with the i2s mode from the sharc ... that's quite good... at the moment i only can output a saw wave... i hope this will change tomorrow... means i'll code an osc ... i guess i can handle this with my current sharc assembler knowledge...

20.12.2006 22:44 uploading of data segments is working now...

beside this i added some new feature to the host inferface shell like resetting the sharc dsp and started to implement a memory dump to the host interface console screen... something don't work here ... reading runs sometimes out of sync... have to check this later....

a nice feature would be to have breakpoints... means i can add some special commands to the dsp code... when the code is executed the dsp halts and the host interface takes over control and i can have a look to the dsp registers or memory... hm shouldn't be too hard... a bit harder would be to do a single step command through the program... jumps and loops are a problem... anyway not that important... more important is to have breakpoints for debugging...

2 day to vacation... hurray ;)

19.12.2006 23:37 i'm now able to upload bigger programs to the dsp... ok at the moment only program code... no data segments... i'll do this tomorrow... the program is already read out from the fpga flash and it's redirected when i say upload in the host interface shell...

i coded today a small led scroll light prg... just to see if the smd leds are working i used and of course to check if the code upload works... sometimes you are already happy with such small things... unbelievable... ;)

hm all is working that good at the moment that's nearly awesome... so far the data segment uploading is working... i really start to code the dsp... that's great...

the first i'll try is to connect the tda 1543 to the dsp... an audio dac (16 bit stereo) with i2c protocoll... the sharc supports the i2c protcoll which is actually really cool ;)

but now it's time to get more into the sharc assembler code and hardware registers... sharc assembler i can code a litte but not really much... that willl be a good job for xmas when i'm in hamburg... ;)

19.12.2006 00:42 this evening i continued the host interface...added the write routines for the hardware registers and added the instruction write for booting...

and ? today i had the total breakthrough with the dsp... i uploaded my first programm to it... and it worked !

the dsp programm is just a hardcoded one in the host interface:

0x100000000040
0x013E00029000
0x110000000040
0x063E00008005

ok looks a bit unreadable ;) this looks better...

r0 = DM(IIEP0);
r0 = r0 + 1;
DM(IIEP0) = r0;
jump 0x8005

as you can see very small... it just counts up a dma register... just for testing... that register i read out with the host interface and it counts up... means the dsp is executing my code... that's actually really cool ;) so the dsp works and i can theoretically upload some bigger code...

of course in the beginning nothing worked... the dsp did not accept my code... but i forgot to request the bus from the dsp (that means you set a flag that you (the host interface) what to access the dsp bus... the dsp halts and you have full control over the dsp... )well if you don't request the bus of course the dsp ignores your stuff

ok... mega step forward today... that should be enough... looks like the dream becomes slowly realtity ;)

17.12.2006 20:15 something is going on here in this project ;) since some weeks i'm working a bit more intensive on it... and finally i did the first step to test out things...
i decided not to use the 21065l sharc dev. board i have... i was just too curious if an own made board would work... and last week it seems it started to work ;)
hm well after switching on for the first time really nothing worked... i didn't get the bus from the dsp ... even no clock signal... hm that was really odd... maybe the dsp got broken during soldering ? i already got a beer from the fridge and prepared for boozing... oh man...in the end it was such a stupid mistake... i forgot to solder one side of the dsp ;)

anyway this is how it looks like: (ok an early picture)




my very first sharc dsp board... as you can see a very basic one... just to see if i'm able to get the sharc to run...unforunately i was a bit too optimistic with the pads for the host interface... the pads have a width of 1,27 mm damn stressy to solder the cables to it and sometimes the pads are gone when you move the cable too hard... anyway it's just for a test so this is ok...that's enough to code the host interface...

as you maybe know... to upload your code to the sharc you will need an eprom to boot ... hm an eprom is not very comfortable because there is no way to debug stuff... next possibility is to do a host interface... when you scroll a bit down i already did a host interface for my 21060 sharc board... but hm only with a 8 bit cpu... this time the host interface is much more advanced...

for the host interface i'm using a fpga board from celoxica... it has a vga output keyboard/mouse interface and a spartan III fpga...

the fpga board connected to the sharc dsp board:




on the left you can see the fpga keyboard... the host interface is a bit like a shell... you can type in commands... like reading out the hardware registers of the sharc.
the vga output from the fpga:




the upper values are showing some values from the dma... the sharc dma is used to read from the host interface... the lower values is just a dump of the first 128 hardware registers of the sharc...
after i got this to run on saturday... it was a bit like x-mas... ;))

so the current state is... the sharc test board is working (so far i could test) ... fpga host interface can read from the sharc... so next will be add write access to the sharc to upload the bootkernel... means at the moment i can't execute code on the dsp ... just reading... but i hope this will not be too hard...
the fpga board has a flash... i'll upload the dsp code to the flash and later i'll redirect it to the dsp...

i did some photos during i build up the dsp board... beside this i'll give some pcb making and smd soldering tips...
click here...


14.04.2006 21:30

for a longer time no update... i'm still investigating what could be the best solution and which is handable here at home... finally i've decided to skip the current host interface i did...before i planned to realise it with an atmel 89c51ed2 8 bit cpu... but i'm totally fed up with this shit... so i've decided now to realise the hostinterface with a fpga spartan 3 from xilinx...
fpgas ?... well fpgas are programmable logic chips... means you can programm your chip how you will need it and then you just upload your stuff to the ic and it behaves how you programmed it...
so in the last days i started to get into vhdl (one language to code the fpga)... really interesting stuff... absolutly amazing... excatly the stuff i was searching for...
i did already some stuff with the ise (ide for the fpga from xilinx) and tried out some simple vhdl models of course only simulated because i don't have a fpga yet...but nothing really dramatic... just to get into it... but really need to read more in my "designer's guide to fpga" book... seems to be a good one...ok i only read round about 50 pages yet... but looks good so far...




08.02.2005 23:25

from time to time i'm working a bit on this project... mostly i'm searching parts for it... and finally i could solve one main problem i had... i always had the problem how to interface 5v to 3.3v parts... after reading some datasheets i discovered the 74VHCT... these are 3.3v 74er parts but with 5v tolerant inputs... that's pretty cool so this problem is gone


my wish was to create the dsp board with usb... hm after reading the usb specs i was sure... this is damn much of work... to do it for your own is really time consuming...

yesterday i was reading a german computer magazine (ct') and in the index i saw lcd graphic display diy with usb for the computer... wow usb diy ? so i was curios how did they to the usb interface...
they are using the io-warrior from www.codemercs.com after browsing a bit on the side i was totally fascinated how easy use... and stuff... but hm i was wondering in the article they wrote it needs 2 seconds send a new screen image to the display... hm that sounds odd... and true there is a catch in it... the io warrior chip can only send maximal 750bytes/s... because it uses hid (human interface device) this is normally used for mouse or joysticks... 750bytes/s lol ok good joke... next chip ;)


i slowly started to skip the idea of usb... so i started to search for a uart to do normal rs232... i did this some time ago already and wasn't sure which chip should i use... so i read all datasheets again... and one chip at reichelt.de i always ignored looked totally undramatic from it's name... ft232r.. ok so let's see what it can too... after i read the datasheet my first words were yes...and strike...
that ft232 chip from future technology devices (http://www.ftdichip.com/) is just awesome... excatly that what i was searching for... it has an internal eprom to save the vendorid and product description and stuff, it converts usb to rs232 means it handles the entire usb for you, glueless cpu interface, c++ api to include it in your own prgs, it even can output a 6 12 24 48 mhz clock for the cpu no crystal is needed, works with 1,8-5v, up to 3mbaud and costs 5,65 euro compared to the io warrior really cheap...the smallest io warrior starts with 11 euro...
so what should i say ? awesome ;) ok this problem is gone too...

still awake ? ;))


18.12.2005 21:00 i was working a bit on the layout for the first protype... but far from finished yet... i did a test today ... i was a bit unsure if i can handle 0,5 pitch for the cpu.... i mean printing on the foil and the printer itself surely produces a distortion on the pcb... so i just a did a test if i can handle this here at home and it looked like this:

as you can see this looks good... no heavy distortion at all... so i can do the pcb here at home... that's cool... and much cheaper



27.11.2005 05:26 continued a bit the host interface... in the last days... but this week this arrived:

my goddness... hell hurray ! ;)... this is just great... now i have round about 40 21065 sharc dsp's and a 21065 development board...enough to check out my stuff... i was working a bit on the concept of the synth and i guess my synth will have 2-3 sharc in the end ...

but the 21065 board is a real help before i only used the 21061 board... a bit different but anyway.. i will only use the development boards to get more into it... the goal is to create an own board based on my host interface...

but i'm really optimistic... all looks good so far... i hope to get run a working prototype in spring next year even with sdram and stuff...



09.11.2005 23:55 in the last days i was working a bit on my future project the sharc dsp stuff... something which covered me totally... i could not sleep because of this in the last nights and i just could not resist

and today it finally worked!

can you imagine after i saw this 00020014 on the lcd i start to jump around in my room and shout out... yes... yes ... yes ? ;) i guess not... just a number... true ...looks boring ;)... but it that 00020014 showed me it works !

so what is it all about with that 00020014 ?!

this is the result of this pcb:

the display shows it already for what it was designed for... so today my host interface for the sharc dsp started to work... but ? hm what is a host interface...!?

if you use an analog devices 21065 sharc dsp you need to place your code into an eprom (which is really stressy), you can use a development board from analog devices or you can do a host interface... so this host interface can be used to upload your code into the dsp... but it's much more powerful like an eprom... you can access the internal memory and you have full access to all hardware registers... so ideal to code stuff on it... and to do debugging ...

so what is that 00020014 ?... that's an internal register value of the sharc dsp... 00020014 is the vector for the irq table for the 21061 sharc dsp...anyway 

i'm preparing a new web page for sharc at the moment... so i will not bore you with this stuff on this 303 page ;)

so the host interface idea works to far... great