Electronics Forums

Electronics Forums > Newsgroups > Electronics Newsgroups > Misc Electronics > Re: Teaching Microcomputer Interfaces: List/Compendium of I/O Designs?

Reply
Thread Tools Display Modes

Re: Teaching Microcomputer Interfaces: List/Compendium of I/O Designs?

 
 
markp
Guest
Posts: n/a
 
      01-08-2010, 12:27 PM
>
> I'm looking for websites or books with a number of examples of I/O
> interfaces for use with typical microcomputer digital I/O pins.
> (Searched for things I saw a few years ago, without results...??)
>
> I'd like good examples of stuff like various High-Side and Low-Side
> switches, input conditioning, sensor interfaces, up thru external I/O
> chips like LED/relay drivers etc. And anything you think would be cool
> and show a learner some principle that should be remembered.
>
> I've designed many of these interfaces, and taught some of this stuff
> before, but I bet other people have really good ideas out there that I
> haven't thought of. And I'm (more than?) a little dated in the most
> recent add-on I/O chips with good drive capabilities.
>
> Please point me to examples you think would be good. Eventually I'll
> collect what I can and try to make it available..
>
> I'm using typical Atmel and PIC micros, probably mostly Arduino
> (http://www.arduino.cc/)
>
> I'm also collaborating with teachers using PASCO (http://pasco.com)
> laboratory sensors if anyone has info on interfacing to some of
> them...
>
> Oh, and Analog stuff would be good too... (Don't want Bob Pease to hit
> me up alongside the head) :-)
>
> Thanks for listening...
>
> Regards, Terry King ..On the Red Sea at KAUST
> ...sometimes In The Woods In Vermont
> (E-Mail Removed)


Sounds like a really nice idea.

One thing you might want to consider in this is the use of PLDs to interface
to devfices. If I have various memory mapped devices to interface to this
generally require some decoding, and also sometimes some custom interface
logic to generate strobes and clocks etc. So I tend with those projects to
use a PLD with a byte wide register interface to the micro. I do things like
put the I/O registers in a separate address region so that I can define the
wait states used independently from things like SRAM.

The beauty of PLDs comes when fixing problems - for example if you find an
input has noise you can apply a digital filter inside the PLD itself. In one
case I interfaced a graphics LCD that had a WAIT# signal to an AVR that
doesn't have this, and implemented a simple write posting state machine
inside the PLD. All the micro does is write then immediately poll the same
address, the PLD muxed the WAIT# signal onto the lower data bit, this meant
the micro could burst data at high speed to the LCD within a tight loop
without changing memory spaces in between. PLDs are also great for
partitioning the logic into 5V tolerant and 3.3V logic (assuming you chose a
PLD with 5V tolerant I/O), and can eliminate interface buffers.

Mark.


 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Teaching Microcomputer Interfaces: List/Compendium of I/O Designs? markp Electronic Basics 0 01-08-2010 12:27 PM
Re: Teaching Microcomputer Interfaces: List/Compendium of I/O Designs? markp Electronic Design 0 01-08-2010 12:27 PM
Low cost USB interfaces for ColdFire & PPC + Nexus development package Chris Stephens Electronic Components 0 09-30-2004 08:20 AM
Low cost USB interfaces for ColdFire & PPC + Nexus development package Chris Stephens Electronic Basics 0 09-30-2004 08:20 AM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93