electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » Thomas Henry designs
AY-Voice is Underway
Post new topic   Reply to topic Moderators: Scott Stites
Page 2 of 7 [154 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2, 3, 4, 5, 6, 7 Next
Author Message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Tue Jun 05, 2012 5:03 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi gang,

I finished up the input test rig today (hardware and software). The cursor navigation buttons work just fine. Attached are the new schems, code and a picture.

For testing purposes I built up a small button arrangement on perfboard; you'll notice it in the picture. Just imagine it's been rotated 45 degrees to give N-S-E-W and center.

Not much to say here other than both the LCD and cursor keys work just fine. The code isn't particularly elegant, but the goal was just to see if the input structure works okay. In the AY-Voice I'll spend a lot more time making the code a bit more praiseworthy.

Next on the docket is mapping out the menu structure. The algorithm will be a state machine and will probably be the hardest part of the project. I'll begin on it tomorrow.

I usually only release projects when they are polished, especially after having them completely vetted by the redoubtable Scott Stites. He's a world traveler at the moment and not near the workbench, hence this piecemeal approach. What do you think? Do you like seeing the genesis of a project?

Thomas Henry


AY4.jpg
 Description:
Snapshot of the test rig
 Filesize:  278.97 KB
 Viewed:  89 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

AY4.jpg



IMG_0001.jpg
 Description:
Schematic, Sheet 1
 Filesize:  850.95 KB
 Viewed:  97 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

IMG_0001.jpg



IMG_0002.jpg
 Description:
Schematic, Sheet 2
 Filesize:  248.61 KB
 Viewed:  98 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

IMG_0002.jpg



AY_LCD4.txt
 Description:
Updated code to include cursor switches

Download
 Filename:  AY_LCD4.txt
 Filesize:  7.27 KB
 Downloaded:  89 Time(s)

Back to top
View user's profile Send private message
theglyph



Joined: Aug 15, 2008
Posts: 31
Location: Jachsonville, FL

PostPosted: Tue Jun 05, 2012 5:39 pm    Post subject: Reply with quote  Mark this post and the followings unread

This has been great Thomas! You're moving faster than my parts can arrive!

I'm trying to get things up and running with my Arduino to save some money but so far no luck. Crying or Very sad I'm hoping it's a simple mistake and if I figure it out the rest of the process should go smoothly. I'll post code and schematics for Arduino users if I get it running.
Back to top
View user's profile Send private message
elmegil



Joined: Mar 20, 2012
Posts: 1448
Location: Chicago
Audio files: 14

PostPosted: Tue Jun 05, 2012 7:12 pm    Post subject: Reply with quote  Mark this post and the followings unread

I was thinking I'd do Arduino in parallel with the PICAXE too, glyph, so I'll share what I find.

Personally, I'm thrilled to see/be part of the process.

Now if those resonators and LCD connectors would just get here, I'd be set...

I'm going to try to use an LCD scavenged from an old computer, as I don't have the same kind Thomas has, but I believe it's compatible, protocol wise. It is on an FPC cable so I need the right header to use it though.
Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Tue Jun 05, 2012 8:35 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi guys,

If you do decide to create your own Arduino AY project, please start a different thread for it and keep it separate (i.e, in the general "DIY Hardware and Software" forum) so it doesn't get confused with anything going on here.

Thanks,

Thomas Henry
Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Wed Jun 06, 2012 11:25 am    Post subject: Reply with quote  Mark this post and the followings unread

Hello all,

It struck me that I better finish the hardware testing before getting hot and heavy into the software. So today I wrapped up the design of the MIDI interface. I'll be testing it later today.

I also confirmed that the clock to the AY is working. Whether it is accurate enough is another matter. The frequency should be 1789770 Hz but I don't have a counter which goes that high. On the scope, though, it looks very close to that. Anyone care to check it on a better frequency counter than I have? Just insert this command in toward the start of the program:

pwmout C.1, 5, 11

and monitor the clock on pin 12 of the Picaxe.

If it turns out not to be accurate enough, I have a backup plan that will take one more chip, so it's not the end of the world.

The hardware design is virtually done now. I just have to decide how to bring the audio outputs out. Can you believe how simple the hardware is? It's mostly wires!

Thomas Henry
Back to top
View user's profile Send private message
Uncle Krunkus
Moderator


Joined: Jul 11, 2005
Posts: 4758
Location: Sydney, Australia
Audio files: 52
G2 patch files: 1

PostPosted: Wed Jun 06, 2012 2:24 pm    Post subject: Reply with quote  Mark this post and the followings unread

It's great watching the developement of this Thomas. Even though I will probably not be in a position to do any of this, it's a real gift to the E-M community to follow along with your R&D methods. Understanding the workings, pondering the setbacks, revelling in the solutions, and ultimately reaping the benefits of your curiousity and determination.
It's an education in Synth DIY even without building a copy. It's only by appreciating these processes that others can learn to take on similar R&D projects.
Thank you for letting us "peer over your shoulder". Very Happy

_________________
What makes a space ours, is what we put there, and what we do there.
Back to top
View user's profile Send private message Visit poster's website
theglyph



Joined: Aug 15, 2008
Posts: 31
Location: Jachsonville, FL

PostPosted: Wed Jun 06, 2012 2:46 pm    Post subject: Reply with quote  Mark this post and the followings unread

Uncle Krunkus wrote:

Thank you for letting us "peer over your shoulder". Very Happy


This is exactly what's going on here and I can only say that it's very exciting watching this project unfold as I try to build alongside and figure out all of the coding and integration.
Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Wed Jun 06, 2012 4:46 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi Gents,

Well, thank you. I wasn't sure if anyone would want to see something half-baked as we go along.

Anyway, here's the newest update. The MIDI interface works wonderfully. I've attached the updated schems, code and a snapshot.

For testing purposes the code only responds to MIDI Start, Stop and Continue, for several reasons. First, these are only one byte commands and hence fast to parse and handle. And then, this way I could keep the code really short, as you'll see. Also, I didn't have to worry about channel numbers. But even with bigger MIDI commands (three bytes, say), I'm still reasonable optimistic the Picaxe can keep up. It's the background serial receive and the 1024 byte queue that makes me feel that way.

But, if we do bump into a brick wall with the timing, I do have a backup plan. Uncle Krunkus, you said you were interested in how I do these things. Well, there's my biggest secret: always have a backup plan.

For testing, I used a laptop connected to a USB MIDI converter, running MIDI OX. I had MIDI OX send all manner and combinations of Start, Stop and Continue, and everything worked perfectly. The LCD display shows which command has been received in real-time. What made this test particularly impressive is that I didn't have to filter the incoming data. In particular, those meddlesome MIDI Clock signals just kept flowing in and the queue had no difficulty dealing with them.

So, give it a try and see if you agree.

Next on the docket for tonight and tomorrow is designing the eight gate/trigger outputs for drum and other use. At that point, the digital circuitry should be complete.

Thomas Henry


IMG_1329.JPG
 Description:
MIDI interface in place now
 Filesize:  307.25 KB
 Viewed:  89 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

IMG_1329.JPG



Schem_0002.jpg
 Description:
Schematic, Sheet 2
 Filesize:  457.09 KB
 Viewed:  98 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Schem_0002.jpg



Schem_0001.jpg
 Description:
Schematic, Sheet 1
 Filesize:  866.74 KB
 Viewed:  100 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Schem_0001.jpg



AY_MIDI.txt
 Description:
Code for MIDI test

Download
 Filename:  AY_MIDI.txt
 Filesize:  6.28 KB
 Downloaded:  81 Time(s)

Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Thu Jun 07, 2012 11:52 am    Post subject: Reply with quote  Mark this post and the followings unread

Hi again,

Okay, the gates are in place now, so the digital design is complete. They work just fine. You can try them out with the sample code attached; it sweeps the LEDs as a marquee.

The gates outputs are +5V, of course, with a 1K output impedance; this is the usual Electronotes standard. Notice too that they are short circuit proof and the transistors protect the AY from anything goofy happening on the outside.

Keep in mind that I used negative logic to bring the parts count down. So, a zero means on. You can use the NOT command in the code to reverse this.

The gates can also be configured to give trigger outputs, just with a change of software. In either case, the gates or triggers can be assigned their own MIDI channel, separate from the sound generators.

Coming next is seeing whether I can get a fixed 440 Hz constant tone out of it. This is to check the tuning and the analog outputs. Other than that, the circuit is done. I think it turned out remarkably simple. Of course, we still don't have confirmation that everything will run fast enough to keep up. We won't know that until the entire coding is done. But I'm still hopeful. I did think of one way to keep the speed up today. But as I said, I do have a backup plan in case speed is an issue. The circuit won't change.

So, have at it and fire some gates!

Thomas Henry


Schem2.jpg
 Description:
Schematic, Sheet 2 (Sheet 1 is unchanged)
 Filesize:  601.65 KB
 Viewed:  122 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Schem2.jpg



IMG_1332.JPG
 Description:
Snapshot of the Gate affair
 Filesize:  329.77 KB
 Viewed:  98 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

IMG_1332.JPG



AY_Gates.txt
 Description:
Code to test the Gate outputs

Download
 Filename:  AY_Gates.txt
 Filesize:  2.42 KB
 Downloaded:  86 Time(s)

Back to top
View user's profile Send private message
elmegil



Joined: Mar 20, 2012
Posts: 1448
Location: Chicago
Audio files: 14

PostPosted: Thu Jun 07, 2012 12:32 pm    Post subject: Reply with quote  Mark this post and the followings unread

I'm getting closer to being able to build... I still don't have a resonator (likely to be Monday or possibly later next week at this point, ordered from a slow source with no tracking Sad) But I *do* have a 10MHz crystal and some caps, so I'm going to use that to clock the PIC until the resonator gets here.

So I hope to get started setting up tonight, since I have all the other parts...
Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Thu Jun 07, 2012 4:22 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi Gang,

Well, we've got sound! I whipped up a short program just to put out a constant 440Hz for testing. It's a very nice looking square wave at exactly 1Vpp as the data sheet indicated. The register setting went very easily, so I can see it's going to be a snap to program this thing.

However, I had to tweak some values to get 440Hz. After a bit of experimentation it has become clear to me that using the Picaxe PWM as the AY clock isn't going to work (at least for in-tune musical work--it would be more than adequate for sound effects). Working backwards from the frequency counter and using the equations in the data sheet I was able to see that the Picaxe PWM was running closer to 1.66 MHz instead of the required 1.789773 MHz. I pulled out the PIC data sheet (upon which the Picaxe is based) and noted that the period adjustment is a mere 8 bit number. That'll never do.

So, it's on to Plan B, which is to clock the AY from it's own resonator or crystal. This will increase the chip count a bit (for TTL buffers, etc.), but does have the nice side-effect of freeing up a pin on the Picaxe for other uses. I did warn you that this is a pilgrim's progress; I'm treating it as an excellent learning process.

For those of you following along with this on your own workbench, you can continue to use the circuit as is until I whip up a separate clock. Everything done so far will still work just fine, but the tuning may be off.

On a different topic, it occurred to me that the two unused pins of Port IOB1 could be used to drive an R-2R network to provide contrast control for the LCD. That'll be a nice feature to have.

So on my docket is to create a spreadsheet to run the numbers for the entire scale over the 88 keys of the standard piano and see what clock frequency will be best for the AY. Thank Gauss for spreadsheets! I'm also going to spend some time with Don Lancaster's seminal articles from the 1970s on clocks for music. I seem to recall he had some methods for adding vibrato.

Thomas Henry
Back to top
View user's profile Send private message
Tim Servo



Joined: Jul 16, 2006
Posts: 924
Location: Silicon Valley
Audio files: 11

PostPosted: Thu Jun 07, 2012 4:48 pm    Post subject: AY-Voice is Underway Reply with quote  Mark this post and the followings unread

Thomas_Henry wrote:
Hi Gents,

Well, thank you. I wasn't sure if anyone would want to see something half-baked as we go along.


Thomas Henry


That's the most fun part, as far as I'm concerned!


Tim (fun parts) Servo
Back to top
View user's profile Send private message
elmegil



Joined: Mar 20, 2012
Posts: 1448
Location: Chicago
Audio files: 14

PostPosted: Thu Jun 07, 2012 9:07 pm    Post subject: Underway...
Subject description: but a ways to go :-)
Reply with quote  Mark this post and the followings unread

I have the chips and most of the peripheral bits wired up (except the contrast pot and the gates), but I don't have the busses connected yet, and obviously that means I haven't fired anything up to test. My large breadboards are committed to other things at the moment so I'm using everything I have left Smile. That lets me (attempt) to be modular as well, so that other variation we mentioned before can be swapped in and out while the basic circuit doesn't change.

Wow that AY chip is huge. Shocked I'm glad there's not much to hook to it besides bus lines.

There are a few variations I've made. First, I'm not sure what the backlight current rating is on Thomas' LCD, but the sheet for mine said 40mA, so my load resistor there is bigger (possibly too big, but I can tweak it after I have other things working). I ran out of 4.7K resistors Embarassed so I substituted 5.1k's for the switches. I don't have a 6N138, but I do have a 6N136. I used Thomas' component values, but if they don't quite work (since I don't have the darlington pair in the 138) I plan to fall back to the same circuit I used in my MTS-100 module. And of course there's that whole not having a resonator thing, so I substituted a 10MHz crystal and a pair of 22pF caps until the resonators get here.

Oh yeah, my martian hexadecimal-legged (hexapod is only 6) LCD... I scavenged the LCD from the front panel of an old rack mount computer, and it uses the FFC flat cable. I ordered connectors from Mouser...only to find that the leg spacing is FAR closer than any standard breadboard or protoboard. So I soldered 1.5" wires to each of the legs and it stands up. Kind of looks like a weirdo head to me.

Once I have it fired up and troubleshot we'll see how many of these substitutions stick, and of course I will be working on getting closer to spec as we go too (obviously I need to order some resistors Smile).


2012-06-07_22-36-16_951.jpg
 Description:
Overview
 Filesize:  572.7 KB
 Viewed:  97 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

2012-06-07_22-36-16_951.jpg



2012-06-07_22-37-23_722.jpg
 Description:
the LCD-head...
 Filesize:  466.97 KB
 Viewed:  91 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

2012-06-07_22-37-23_722.jpg


Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Fri Jun 08, 2012 10:45 am    Post subject: Reply with quote  Mark this post and the followings unread

Hi again,

A good night's sleep and subconscious pondering gave way to some new results. In particular, spending more time with the related PIC data sheet (upon which the Picaxe is based) revealed that an accurate PWM is possible for some suitably chosen frequencies. In fact there are several registers involved, so I was wrong here.

In short, we're back in business generating the clock with PWM. Using either a 1 MHz or 2 MHz clock, I was able to get 438.5 Hz where I expected 440 Hz. Working backwards using the AY data sheet, this implies the PWM clock is off by about 2.5 kHz. This corresponds to a deviation in the resonator somewhat below 0.5% which is within spec.

Clearly this isn't close enough for musical purposes yet. (My supposed 440 A is off by 10 cents or so which is quite obvious).

So Elmegil, stay with the crystal and the caps and let's see if that improves things (crystals being more accurate). I'll order some crystals myself. The only reason I went with a ceramic resonator originally was that I had some handy.

Now I really think we're going to need to make the crystal oscillator trimmable. I'm assuming we can do this with a trimmer cap. Does anyone here know how to calculate the required cap values? I really don't know much about this aspect of electronics.

In the meanwhile, Elmegil, what value of caps are you using?

Thanks,

Thomas Henry
Back to top
View user's profile Send private message
elmegil



Joined: Mar 20, 2012
Posts: 1448
Location: Chicago
Audio files: 14

PostPosted: Fri Jun 08, 2012 11:06 am    Post subject: Reply with quote  Mark this post and the followings unread

I'm using 22pF because they were in about the right range and a standard value I had handy. Unfortunately I don't know anything about trimming caps for tuning the crystal.

This was my reasoning process in detail, feel free to skip it Smile

The formula I was working from (found online, not from experience...) was that they ought to be 2 x CL - (Cp + Ci). CL is the load capacitance, which is on the spec sheet for the crystal. Cp is the parasitic capacitance easily measured with a cap meter. I have no idea how to get Ci if it's not on the spec sheet. I didn't get a datasheet for this specific crystal, but looking at a couple typical ones of the same frequency CL seemed to be 10pF in one case and 20pF in another. Using 20pF and Ci = 0, I measured Cp as 5pF, so you get 35pF. Using 10pF and the same values you get 15pF. I figured 22pF was a good middle, since the next size I have handy is 47pF. 22pF seems common too, it was what went with my Arduino kit (a 16MHz crystal) and with Barton Music's simple quantizer ckt which uses a 20MHz crystal for its PIC.

Edit: I should have said that Ci is the input capacitance, basically from the crystal equivalent ckt which has capacitive, inductive, and resistive components. Ci is the capacitive component.

Last edited by elmegil on Fri Jun 08, 2012 2:22 pm; edited 1 time in total
Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Fri Jun 08, 2012 1:57 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi Gang,

I spent the morning with the AY data sheet again and the afternoon with a spreadsheet. Attached is a spreadsheet (as a .pdf) which shows the required values for the 12-bit frequency ports of the AY. It also shows the deviations from true scale. I computed this for a 2 MHz clock for greatest accuracy. (The values in the data sheet are for a 1.7 MHz clock and are quit illegible on my copy.) 2 MHz gives greater accuracy. Note that the spec sheet indicates that this is the upper limit of clock input, so it's the best we can do.

Check out the data. I was surprised to see that it's dead accurate from 16 Hz to 500 Hz, figuring most people can detect three or four cents deviation. Beyond 800 Hz the accuracy suffers somewhat and above 2 kHz it's really out of whack for some notes.

Here's my take:

1. This'll make a well-tuned bass instrument.

2. It'll also be good for non-tempered or non-chromatic music, as well as sound effects.

3. It'll be great for percussion.

But don't expect it to play traditional music in an orchestra above 1 kHz or so.

Of course, we still have to lick the crystal tweaking before any of this will matter anyway.

Also, Elmegil reminded me of something for those you building along with us. If you're using a backlight on your LCD, choose the current limiting resistor according to whatever the data sheet says. These things usually have a couple dozen LEDs wired in series parallel, hence the small value in my setup. Sometimes a rectifier is used instead just to drop 0.7V. But anything is possible, so again, check your particular unit first so you don't blow the light.

That's it for now. Tonight I'm going to work on automating the LCD contrast via IOB6 and IOB7 on the AY.

Thomas Henry


AY Frequencies.pdf
 Description:
Table of Frequencies and Deviations

Download
 Filename:  AY Frequencies.pdf
 Filesize:  73.76 KB
 Downloaded:  112 Time(s)

Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Sat Jun 09, 2012 4:14 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi all,

I've spent the last 24 hours putzing with automating the contrast control on the LCD, but with nothing good to report yet. It's always amazing to me how what ought to be the simplest part of a design turns into a bearcat.

However, something good has come out of this. First, a bit of background.

The Picaxe 28X2 actually comes in three flavors: the 28X2, the 28X2-5 and the 28X2-3. They're all quite similar. The -3 is a 3.3V version, which we aren't using, of course, so we'll ignore it. The -5 is a 5V version, but is several years old. It is missing a few juicy features, but so far we haven't needed them anyway. The unadorned 28X2 is the newest version of the chip and pulls out all the stops.

The design to date will work with either the 28X2-5 or the 28X2. I've been using the older 28X2-5 in my testing.

So, whilst pondering how to do LCD contrast control, it suddenly hit me that the newer chip has a five-bit DAC output that might prove useful. I decided to switch over to that chip. Before you start cursing about having to put in another order, you probably already have the new chip if you bought it in the last couple years; the old one has been off the market since then.

By using the new chip we get the following:

1. An extra pin; C.0 is now freed up for input or output.
2. The DAC just mentioned.
3. Touch switches, should we need them for anything.
4. Faster clock rate.

It's that last feature that's important. We can run the new chip at 64 MHz now. Not only does this improve the chances of the MIDI input being able to keep up, but it also implies that the AY clock will be more accurate (64 MHz is an even multiple of 2 MHz). I haven't run a test yet, but I bet the tuning is going to improve.

64 MHz is nothing to sneeze at. This has the distinct possibility of turning into something quite spectacular, even if the chip is using a tokenized, interpreted Basic.

By the way, this now means that you'll need a 16MHz ceramic resonator or crystal. (The chip includes its own 4X PLL). I've already got mine in place, but you can continuing testing with the 40 MHz clock in the meanwhile. Naturally, all of the time constants will change now. I'll keep you posted as I recompute them.

For those you following along on the breadboard, let us know how it's going. And be thinking about how we can put that DAC to good use. I don't think the contrast thing is going to work, so we might as well use the DAC for something interesting.

Thomas Henry
Back to top
View user's profile Send private message
Dan Lavin



Joined: Nov 09, 2006
Posts: 620
Location: Spring Lake, Mi, USA
Audio files: 21

PostPosted: Sat Jun 09, 2012 6:46 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thomas, the DAC sounds great. Not sure if 5 bits can do a simple 1v/oct type CV output, but it might be great for a velocity CV for an outboard filter interface. I'm assuming you'll have a mode where the gates can be used to trigger ADSR/AR/AD's for external processing of the AY-Voice.

Anyway, that may be a fairly pedestrian application from what you might have in mind. Wink

_________________
Synth DIY since 1977!
Back to top
View user's profile Send private message
elmegil



Joined: Mar 20, 2012
Posts: 1448
Location: Chicago
Audio files: 14

PostPosted: Mon Jun 11, 2012 11:02 pm    Post subject: Reply with quote  Mark this post and the followings unread

Finally wired up, using a 16MHz Crystal, no testing done yet. Not enough hours in a day.
Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Wed Jun 13, 2012 12:25 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi Guys,

I had to retool the LCD code to match the new 64 MHz clock; I've attached it for you to put your LCD through its paces. This is essentially a demo to show what all it can do. In the final project we'll only be using a subset of the commands.

As expected, I had a real argument with the LCD at this fast clock rate. It took hundreds of experiments to find out where the bottleneck was, but I just found it this morning. Anyway, the code works very well now.

Next up, I'll revise the MIDI, switch and audio demos for the new clock.

I sure hope Elmegil and I aren't the only working on this project. Despite the wrestling matches with the LCD it's really pretty fun.

Thomas Henry


AY_LCD_Demo.txt
 Description:
Updated code to demo the LCD at 64 MHz

Download
 Filename:  AY_LCD_Demo.txt
 Filesize:  10.44 KB
 Downloaded:  78 Time(s)

Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Wed Jun 13, 2012 1:58 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi again,

Okay, I just updated the remaining demo programs to the 64 MHz clock. Attached is a program to test the cursor switches, the MIDI input and the 440 Hz audio output.

My suspicion turned out correctly---the 440 Hz is dead on, even with me using a resonator. Recall I had conjectured that running at 64 MHz would make the 2 MHz clock exact, and that is apparently the case. We're on the home stretch now with a confirmation that all digital circuitry works perfectly.

Tonight I'll design the current-to-voltage converters for the three DACs in the AY chip.

To recapitulate, everything is working great!

Thomas Henry


AY_Freq_Demo.txt
 Description:

Download
 Filename:  AY_Freq_Demo.txt
 Filesize:  2.17 KB
 Downloaded:  90 Time(s)


AY_MIDI_Demo.txt
 Description:

Download
 Filename:  AY_MIDI_Demo.txt
 Filesize:  6.51 KB
 Downloaded:  85 Time(s)


AY_Switch_Demo.txt
 Description:

Download
 Filename:  AY_Switch_Demo.txt
 Filesize:  7.29 KB
 Downloaded:  73 Time(s)

Back to top
View user's profile Send private message
Thomas_Henry



Joined: Jul 24, 2009
Posts: 129
Location: N. Mankato, MN

PostPosted: Wed Jun 13, 2012 9:16 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi,

Well, the design is done now. I've attached the three sheets of the schematic and the parts list. I'd appreciate it if you don't copy these, but just link back to EM.

This design took nearly 100 hours, but was a real learning experience. I hope you were interested in seeing what was involved. Time is limited for me now, so this'll be the last major update on EM. In any event, the project doesn't seem to have garnered much interest, so I'll pull back and work on the firmware for myself in the odd moment. Thanks to everyone who contributed an idea. If someone is interested in doing a PCB please PM me

Thomas Henry


Schem_0003.jpg
 Description:
 Filesize:  746.42 KB
 Viewed:  95 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Schem_0003.jpg



Schem_0002.jpg
 Description:
Sheet 2
 Filesize:  805.57 KB
 Viewed:  92 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Schem_0002.jpg



Schem_0001.jpg
 Description:
Sheet 1
 Filesize:  894.8 KB
 Viewed:  88 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Schem_0001.jpg



Parts List.pdf
 Description:
Parts List

Download
 Filename:  Parts List.pdf
 Filesize:  18.01 KB
 Downloaded:  79 Time(s)

Back to top
View user's profile Send private message
elmegil



Joined: Mar 20, 2012
Posts: 1448
Location: Chicago
Audio files: 14

PostPosted: Thu Jun 14, 2012 5:02 am    Post subject: Reply with quote  Mark this post and the followings unread

Thank you for sharing what you have, Thomas Smile

I'd be lying if I said I wasn't disappointed, but I do see your point. I look forward to results when they come....
Back to top
View user's profile Send private message
Uncle Krunkus
Moderator


Joined: Jul 11, 2005
Posts: 4758
Location: Sydney, Australia
Audio files: 52
G2 patch files: 1

PostPosted: Thu Jun 14, 2012 5:36 am    Post subject: Reply with quote  Mark this post and the followings unread

Yeah,
thanks for sharing the process Thomas. As usual, you've executed this level of the design in a concise and precise way.
I'd love to say that I'm in a position to sit down and lay it all out in Express PCB. However, I'm just about to start a new job, and I get the feeling things are gonna get a bit crazy for a couple of months. I don't like to promise anything which I may not be able to deliver.
Still, I'll keep watching this thread, and maybe I'll get the itch to etch. Smile
Your inspiration is much appreciated.
Andrew

_________________
What makes a space ours, is what we put there, and what we do there.
Back to top
View user's profile Send private message Visit poster's website
sompost



Joined: Aug 17, 2010
Posts: 24
Location: Switzerland

PostPosted: Thu Jun 14, 2012 10:58 am    Post subject: Reply with quote  Mark this post and the followings unread

Thomas_Henry wrote:
In any event, the project doesn't seem to have garnered much interest


I'm not quite sure on what grounds you're making this statement. It certainly has mine. Considering all the great designs in this forum (I just ordered a DB50XG board to build myself a GM-Voice Very Happy) I wouldn't want you to abandon efforts like this one because of apparent lack of interest.

This series is one of the most educating I've read in a long time.

Ralph

_________________
Built: MFOS SLMS plus, SL Ultimate & Expander, 10 step seq; PAiA FatMan
Building: Maddox MonoWave; MFOS SLMS MkII; Page TR-9090; TH GM Voice, AY Voice
Backlogging: MFOS 16 step seq; TH SN Voice; Takeda One Board Farm; Okita Vocoder
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: Scott Stites
Page 2 of 7 [154 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2, 3, 4, 5, 6, 7 Next
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Thomas Henry designs
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
e-m mkii

Please support our site. If you click through and buy from
our affiliate partners, we earn a small commission.


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use