PDA

View Full Version : Epci card without the EPIC, how to do it... read on... :)



Captain_Slarty
02-13-2003, 02:45 PM
Hi Fellow nutters..

heres a few shots of the latest project....
A few of you may be aware that I am building my own high speed PIC Micro network to drive my cockpit (real analogue instruments)
I have an EPIC card (ISA Rev D) that unfortunately doesnt fit in any of the modern pcs due to lack of ISA slot.. :-(..
Anyways, I have most of the expansion cards such as 32 7segment display controller, 32 point high current output module, keyboard cards (button arrays) etc, and thought. hmmmm.. ok, why waste them, why not build a 'pseudo' EPIC that can run all the cards on the existing EPIC bus system...
This is the result... a PIC 16F872 driving the complete epic bus with full functionality :-)..
The pic receives data via I2C (A 2 wire high speed serial link - 1 Mbit / sec in this application !!).. it flys !!.

This converts the received data to EPIC bus.. 8 data lines, 8 Address lines and Read and Write...
In this shot you can see the Captn Slarty special PIC based I2C to EPIC bus controller linked to the 7 segment standard epic driver card (Only one double display plugged in for this shot.
The card on the right is the EPIC display card module, the dual display is std EPIC unit, the card on the left is the homebrew controller.
http://homepage.ntlworld.com/captainslarty/epiccontrol1.jpg

When you play with things like this, it pays to make the design neat.......
heres another close up shot of the homebrew controller card.
http://homepage.ntlworld.com/captainslarty/epiccontrol2.jpg

The circuit board is a standard PIC development board from MELABS..
(Another close up)
http://homepage.ntlworld.com/captainslarty/epiccontrol4.jpg

Neat I said, lol, until you look at the BACK !! aghh !!!
http://homepage.ntlworld.com/captainslarty/epiccontrol3.jpg

Epic without the EPIC so to speak....

Joe.

http://homepage.ntlworld.com/captainslarty/Images/coolskul.gif

System - >
3gig Intel + .. Size DOES matter

MikePowell
02-13-2003, 08:42 PM
Nice looking project, Joe. Are you driving the I2C line from another PIC hanging on the parallel port?




Mike
www.mikesflightdeck.com

Captain_Slarty
02-14-2003, 04:59 AM
Hi Mike, yes, exactly that.
the intention is to have dedidcated slave pics for the main functions such as stepper motor controllers and stick force controllers, I just needed a way of driving standard epic expansion cards as an option so designed this. Whats nice too is that you can run the whole range of expansion cards from the single PIC unit shown here as the bus connection for epic is a dasiy-chained device.
What I then intend to do is make a low level Delphi prog on the PC to sort the fsuipc data collection, then make the results (in a more standard format), available to higher level delphi
ie, name a whole device, say 'airspeed', then simply use it as a variable or Dairspeed (a destination device).
Both Dairspeed, and airspeed will be pre determined.
The flexibility here is that there is a choice of processing, both on the main PC, AND at the device end.. unlike EPIC, these devices are intelligent. The ability to send, say, just the airspeed data, then let the device map it for the actual type of gauge (eg the spacing of the speed numbers on the facia) or non liniarity of any kind. The other feature that I intend to implement at PIC level is instrument pointer damping.
Using a known time interval, the pic can then deduce the speed of movement needed and the delta value (or rate of change)
The end result, using the airspeed indicator as in the example above, is a gauge complete with intelligence, the facia plate can be swapped by simply screwing on another one, the linearity and scaling, and indeed damping, is then selected by a simple byte code to the pic to select one of the pre-programmed roles.
If a new 'role' is designed, then the data can be uploaded to the pic using the new self modifying features, or it can be completely reprogrammed for a completely different use.

Joe


http://homepage.ntlworld.com/captainslarty/Images/coolskul.gif

System - >
3gig Intel + .. Size DOES matter

MikePowell
02-15-2003, 12:49 PM
That is an impressive amount of functionality to load into an instrument. I will be very interested to see the results. My own modest efforts are focused on investigating different approaches to making instruments and gauges (not quite) from scratch. I have so far prototyped units based on servos, stepping motors, and hand made air core movements. (See website.) Some units are voltage controlled. Other incorporate a PIC16F628 and a connection to a serial comm port. While units can share the comm port, eventually I will have to use a wider bandwidth connection as the instrument count grows. I had considered the parallel port but am concerned about its legacy nature. Last time I checked locally, there was but a single add on parallel port card at the store and support for the port seems to be sinking deeper and deeper into the OS. Likely I will give USB a try.

Mike
www.mikesflightdeck.com

Captain_Slarty
02-15-2003, 02:53 PM
Hi Mike, good point re the parallel port and the future.
My local store sells dual parallel port cards for about $40.
However the future pans out, PCI2 is a long way off, so a dual prallel based on PCI technology is a long term investment.
USB was great, now we have usb2... firewire is not really taking off enough to justify it's existence.. usb is a pain to program...

I think the parallel solution is safe for many years to come.

As it is based on a biderectional 8bit interface, it is also adaptable to future standards quite easily.

I really have no issues with this approach for at least the next 2-5 years.

Joe.


http://homepage.ntlworld.com/captainslarty/Images/coolskul.gif

System - >
3gig Intel + .. Size DOES matter

Captain_Slarty
02-21-2003, 04:23 PM
Mike, Hi again.

Great, in fact, EXCELLENT web site !

re the PICs..

check out PicBasicPlus from Les at www.picbasicplus.com in the UK.

It is an absolutely incredibly detailed, but simple to use, PIC Basic Compiler.

no stamps, no addons, just a great programming language with a superb IDE and it just compiles and you program..

it is THE best development tool in the PIC universe, and cheap !!!.

Joe

http://homepage.ntlworld.com/captainslarty/Images/coolskul.gif

System - >
3gig Intel + .. Size DOES matter

MikePowell
02-21-2003, 06:25 PM
Thank you, Joe.

Mike
www.mikesflightdeck.com

LeoL
02-21-2003, 10:30 PM
>USB was great, now we have
>usb2... firewire is not really
>taking off enough to justify
>it's existence.. usb is a
>pain to program...
>
>I think the parallel solution is
>safe for many years to
>come.
>

I've struggled with this issue like many others no doubt. Ultimately I decided on USB for several reasons, but it does come with a steep learning curve as you mentioned.

I've already reached limitations with it and am faced with the daunting task of having to write custom device drivers!

I decided instead to take a totally different approach and I'm currently researching embedded Ethernet solutions. Imagine plugging in your interface devices on a network and talking to them using TCP/IP and UDP packets. We're talking 100 mbs, that's plenty of bandwidth for expansion for a long long time. This opens up all kinds of possibilities and the limitations of parallel / serial / USB ports seem to vanish like a bad dream!

BTW - awesome work with the epic Joe!

-Leo

Captain_Slarty
02-22-2003, 03:53 AM
Hi Leo
thanks for the compliment on the Epic interface Sir.

I absolutely agree with you sir re the ip interface. !
I too have struggled with USB, it can be a delight or a pain.
A good 100Mb interface would be excellent, I know that Crownhill in the UK (The developers of my PIC compiler) are working on an IP interface unit, I will await their results.

I think the key is to as Ralph as done with the epic usb - move it all away from the pc internals !.

For this project, the parallel port will work fine, the key is to make the interface do the work of getting and transfering data to and from the pc ONLY.. the output of that data is then sent to another PIC to do the decode and I2C onward addressing (I2c is fine for interperhiferal communication (Keyscans, leds, 7segs, relays, etc etc) - and an intensive device becomes just another IP device bypassing I2C)

what this means is that the ONLY part you need to change is the actual interface addressing if a future hardware design rules out your preferred method.
Even the PC software I am developing in Delphi7 passess all comms data to a subroutine to do the actual communication, so the main program remains the same with just an I/O change.

this seems to offer the maximum flexibility.

cheers

Joe.

http://homepage.ntlworld.com/captainslarty/Images/coolskul.gif

System - >
3gig Intel + .. Size DOES matter

LeoL
02-22-2003, 10:36 AM
In case you get tired of waiting for Crownhill's IP interface, here are a few links that might interest you:

Ethernet Eval kit
http://www.seiko-usa-ecd.com/intcir/products/rtc_assp/s7600a.html

Ready to use Ethernet Module:
http://www.embeddedethernet.com/

I had a chance to buy the S7600A eval kit for $25 on Ebay, but I didn't have a project in mind at the time so I didn't bid on it! I'm still kicking myself!!! It retails for about $200! <Homer Simpson>Doh!

-Leo

Captain_Slarty
02-22-2003, 10:46 AM
Now THAT looks tasty !!

Thanks for the link Leo.. will do some reading tonight.....

Joe.

http://homepage.ntlworld.com/captainslarty/Images/coolskul.gif

System - >
3gig Intel + .. Size DOES matter

MikePowell
02-22-2003, 12:25 PM
Have you looked at SitePlayer www.siteplayer.com ?

I haven't taken the time to find out what it really can do. The price, however, looks very attractive: $29.95US.


Mike
www.mikesflightdeck.com

Captain_Slarty
02-22-2003, 01:24 PM
that looks like a good one, but appears to be let down by the way it communicates to other devices..

pc to siteplayer - ip, no rpobs, siteplayer, to , say, pic micro.. 115kb serial link.. seems limited to 115 max..

unfortunately that would be the same as using the serial link in the first place..
Shame really, great device for lots and lots of apps, but probably too limited for our use.

Joe

http://homepage.ntlworld.com/captainslarty/Images/coolskul.gif

System - >
3gig Intel + .. Size DOES matter

MikePowell
02-22-2003, 02:50 PM
I would agree. Placed in a central position it would become a bottleneck. Its low cost makes it a possibly viable interface option for modular sections of a cockpit, perhaps a CDU, radio stack, or overhead panels? Not clear if the overall economics are there, but at first glance, it looks appealing.

The last time we were transfered, we moved to a smaller house. Furniture I had built for the older house would not fit up the stairway of the new house. This made for what must have been an amusing spectacle: a not particularly muscular man and his wife trying to hoist an overly large bookcase up the side of their house to a second story balcony.

These days I tend to look for modular solutions in most everything.

Mike
www.mikesflightdeck.com

tigert
02-25-2003, 04:12 AM
Also check out TINI:

http://www.ibutton.com/TINI/index.html

It's basically a small computer with a real-time OS that can multitask JAVA applications, contains built-in 10BaseT ethernet, serial, parallel, .. darn. Lemme just paste:

"
* Hosts the TINI runtime environment in a validated hardware design
* 10 Base-T Ethernet for networking
* Extensive I/O capabilities of the DS80C390 microcontroller exposed through Java™ APIs
* Dual serial ports
* Dual 1-Wire® net interfaces
* Dual CAN (Controller Area Network) controllers
* 2-wire synchronous serial bus
* General-purpose digital I/O
* Easy system expansion using parallel bus interface
* Real-time clock for time stamping
* Flash ROM for storage and execution of runtime environment
* 512K/1 Mbyte nonvolitile SRAM provides fast, unlimited write operations and persistent data storage
* Level translator provides RS232 voltages
* Wide operating temperature range, -20°C to +70°C
* Requires only a single +5V power supply

The cost of the TINI board DS-TINI-1-512 is $50, plus shipping and handling."

A friend has played with these and they seem pretty fun things.

Much like PICs since you can delegate the processing task to these things, but this seems to have a lot more resources to play with than just a PIC. Plus 10Mbit ethernet should do quite nicely.

Havent played with these myself since I am not that knowledgeable in electronics, but this looks interesting.

Tuomas

MikePowell
02-25-2003, 10:17 AM
I took a brief look at them earlier, but am not Java literate. There is also a book, "Designing Embedded Internet Devices", that focuses on them. Looks like a very useful tool for bringing a system together.

So Many Toys. So Little Time.


Mike
www.mikesflightdeck.com

LeoL
02-25-2003, 11:59 AM
The company I was working for was testing these (or one like it) for use on wearable PC's. Mainly for some military "super soldier" type nonsense...Anyway, they were using one that was Linux based and no larger than a SRAM module pretty much like this one, but it had a FLASH module. Think of it as a solid state HDD! How's that for cool!

It looks like a good choice, but on first glance, there are a couple of things I don’t like about it. Sadly I don’t know JAVA…;) Secondly the connection to the rest of your hardware is through a serial port on the embedded micro it seems! I haven’t dived into the specs of this device, but that might become the source of a bottleneck. You may be trading in ease of development (if you know JAVA) for a cap on throughput! Couldn’t find any numbers, so by all means correct me if I’m wrong, but unfortunately, there's no way you'll get 10Mbs on the backend.

The whole idea for mentioning embedded Ethernet solution was to get away from the limitations of most PC ports and not simply to put your device onto the network. If your no better off then using conventional PC ports, them why complicate matters with Ethernet protocols and Java programming?

It definitely remains a kewl device for sure, especially for the price. B-)

As for my current design, I'm looking at using a RealTek Ethernet chip and likely a Motorola HC micro. These things sure pack a punch and they have plenty of everything, ram, speed, com ports, i/o’s, etc.

Since I have a couple of old Ethernet cards lying around, I figured, why not use them instead. After a little investigation, it looks like I can wire up connections directly to the ISA edge connector for testing and prototyping. We’ll see where all this goes…

Cheers,
-Leo