>It's time for my concession speech. I'm abandoning my >single processor design and switching my vote to Alan's >preliminary design that he posted (with a few caveats >which I'll talk about below)). Well thanks. I had got to a point where I figured a picture was worth a considerable number of back and forth words cluttering up the MIT bandwidth :) snip ......... >In short virtualizing I/O. This I can see as an extremely >useful feature. It of course gives the crossplatform support >junkie in me the willies, but as long as the specification snip ......... While I like the idea of having the monitor report back to the computer screen, it does seem to me to take a lot of chip space on the PCB. How to interface to the target processor? How to how to interface to the second processor? The easiest way I see to do this is to have a very long shift register made of 74HCxxx (whatever the parallel in/serial out part number is, don't have it immediately to hand) and read them using the SPI hardware in the programming PIC. (hereinafter called the Interface PIC) which then sends the data back to the host PC. The shift register is made long enough to read all pins on both target PIC's, and separated on the screen into the two PIC's for display. Perhaps a set of commands can be implemented in the Interface PIC - host PC to select primary/secondary/both targets for display, and the Interface PIC sends only the appropriate ones to the host. snip ...... >* Despite all of its faults, the prototyping area has to be a breadboard or > something that's reusable. I read '...consists of all spare PCB area filled > with dual in line pads or "measle dot" pads on 0.1" centers'. This would mean > soldering to use it right? This is going to happen on any prototyping area, unless someone can source a version of that breadboard that Olin photographed, which can be mounted on a PCB. It may be that it gets supplied as a separate item in the box, which the hobby user can screw on, and connect to with patch wires from pins by the processor I/O pins, and the developer who has bought the unit for convenience throws the breadboard bit away. >* Jason's virtual peripheral/logic monitor (VPLM) concept negates the need for > a lot of physical hardware onboard. It also eliminates the worry about > running physical wires to components. I'm not quite sure how well we can > virtualize analog hardware though. But the upshot is that only a limited > amount of physical I/O is required. See my comments above about the monitor functions. However there is another couple of bits to consider. On my block diagram I show some push buttons as input devices. These could be virtualised, again using the SPI function to feed out to shift registers, but this would mean that the experimenter never experiences switch bounce, so a couple of real switches will be needed, perhaps also a rotary encoder. A virtual reset switch could be ideal, but a separate push button on the board edge for each target would probably suit those developers who buy the unit for convenience better. >* The primary socket in Alan's diagram needs to come filled with a 16F877A so > that the box is ready to go from first turn on. Agreed. It may even be worth having the processor programmed already with a program that makes one port act as a 8 bit counter so the purchaser can get used to using the logic monitor functions before trying to do their own programming. I am thinking that this should already be in the processor, so the first thing they do is try the monitor rather than load the program off CD into the processor to try the monitor. It may also assist factory test :) It would verify that the chip will program, and is not faulty before leaving the factory :) >* We need high voltage for HVP somewhere. Agreed, and I think it should be in my power supply block, rather than generated by the Interface PIC in the manner used by the ICD. Should be able to be switched off by the Interface PIC though. >* I'd personally be happy if there were at least a connector for an actual > LCD display. I realize now that it can be virtualized, but it would still > be nice to be able to connect a physical one to the board somehow. I did ponder this, and figured that although there is a defacto standard of the HD44780, and a sort of defacto standard pinout for the connector they use, there is enough variation in the pin arrangements that this could be difficult. The only solution here that I see, if provision is made for an LCD, is to supply a "deluxe version kit" which has an LCD in the box, and/or an add-on kit which provides an LCD for which the board is designed. Unfortunately the add-on kit would need to be relatively high priced, else 10,000 people who never bought the PBK would buy the add-on kit to get a cheap LCD :) May not be a bad thing to get quantities up for bulk buying though :)) Else I would certainly consider providing a suitable connector for it. >Excellent job gentlemen! So what's next? Some thought into what could be done for analogue experiments. Possible items A potentiometer on an A/D port Supply an LM35 wired to an A/D port for temperature experiments. Supply an LM3919 with LED bar graph wired to a PWM port for analogue output experiments - more rugged than a meter, and less expensive than a DVM chip and display. No-one has passed any comment on what I have suggested as the physical form of the PCB. Beyond that it is time to start coming up with proper circuits and software I believe. I am prepared to do circuits in Orcad, but it will take time, as I need to fit it into spare time. -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads