Wow. I can’t believe its been 20 days since my last post. Man have I been slacking. School has started up again, and add a week I was away on business/pleasure and there you have it.
Here’s where I’m at with the amiga project:
Because the USB supports up to 3mbps, it takes 333ns per bit, take that times 10 (8 data bits, one start, one stop bit), and now I’m at 3.33us per byte. I can’t use David’s idea of double buffering because I really *must* transmit an entire byte uninterrupted. I tried coming up with ways to sync USB xmit with drive input, but it’s just ugly, and not worth my time.
I still plan on using USB to the PC. I really like the ASYNC nature of the beast. Forget about clocking, if we are sampling at the right time, if the PC can keep up, etc.
The new plan is to put some memory in there. I already have some of ramtron’s fram in my possession, but it’s all surface mount. I’ll read one track of data in RAM and then transfer it via USB to the PC.
There are details to be worked out as far as clocking issues etc, but these are minor.
I have to buy a good soldering iron, and I’m currently looking at the Xytronic Pro 137ESD. Also I need all the various accessories, including SparkFun’s SOIC to DIP PCB’s.
Once I get this stuff in within the next couple weeks, I’ll have what I need to continue.
Doing some quick coding, it looks like I’m going to be writing to my FRAM at about 7mhz or so. It takes my code 140ns to shove a bit out to the memory. So 140 * 8 = 1.12us — much faster than USB max of 3mbps.
Then after its in memory, fire it out to the PC.
Ok. got my Sparkfun PCB’s, man are they tiny!
https://www.sparkfun.com/shop/index.php?shop=1&cat=66&
I have my Xytronics 137ESD on it’s way from https://www.circuitspecialists.com.
Once I get that in, get the memory soldered to the adapter, and then write the code, I should be on my way.
I’m going to write some generic write routines, like a “open memory” routine, “writemem”, “readmem” etc. I think if I do everything modular, it should be easy to write, test, and use….
The datasheet of the memory reads pretty easy, especially for someone who doesn’t know this stuff well. It pretty much walks you through what is necessary to read and write, so if I don’t miss anything, I’m hoping I can get that written easily enough.
I’ll be bit-banging, so there will be no timer to help keep me inline. I’ll be counting instructions, but that’s easy enough.