Shop OBEX P1 Docs P2 Docs Learn Events
Newbie Propeller Questions — Parallax Forums

Newbie Propeller Questions

jhoyozajhoyoza Posts: 72
edited 2007-04-23 22:13 in Propeller 1
When commenting on a completed project, it was apparent the discussion was digressing into details about props. I though it would be courteous to move it into its own topic. I was interested in the homemade prop-board as I saw a replaceable dip package in contrast to Q44 chip on the prop development boards that appeared to be impossible to replace. (I had a tendency to buy em’ and fry em’ during my learning curve when first using a Basic-Stamps and now concerned about it when learning about Props.) I was curious about how he was talking to the home-made board and if he was going to add a USB interface. It was soon apparent I was still in Basic-Stamp-land and it was obvious I didn’t have a clue about props and needed advice on how to get started. Hence heading off topic. Here were the responses:
Leon said...
As it stands it's (The home-made-board) intended for use with the Prop Plug. I could add the USB interface, or an even cheaper RS-232 interface, but most people interested in the Propeller would already have a Prop Plug.
Mike Green said...
A PropStick plugs into a breadboard or into any 40-pin socket. It's pretty much the same layout as the 40-pin DIP version of the Propeller except it has the crystal on the substrate along with a 32KB EEPROM, 3.3V regulator, and either an RS-232 or USB adapter for programming. It's about 3 times the cost of the Protoboard which has a 64KB EEPROM, 5V and 3.3V regulators, crystal, but no USB or RS-232 adapter (which runs about $30 separately).If you are looking to really understand the hardware aspects of things, I'd suggest the Education Kit or a combination of the Breadboard Set, PE Kit Project Parts, and PropSTICK USB which amount to the same thing with the convenience of the PropSTICK if you want to build a more permanent project later. If you're a bit concerned about frying a Protoboard Propeller, get a bunch of 1K resistors and put them in series with I/O pins 0-15. Install the Accessory Kit so you can have a keyboard, mouse, and VGA display ... these, the EEPROM, and the programming port use most of I/O pins 16-31 anyway. Attach some 0.1" header sockets to the other end of the 1K resistors and you're set to do pretty much anything (except high speed ADC) on an adjacent breadboard.
Paul Baker said...
Just a minor point, the Propeller has no interrupts.- Propeller Applications Engineer Parallax, Inc.
Leon said...
The Prop Plug connects to the four pin connector at the top of the photo. It isn't difficult to remove QFP chips if you use this stuff: http://www.chipquik.com You do need a bit of skill to solder the replacement chip, though. Drag soldering is the best way, with lots of gel flux. The Demo Board is the easiest way to get started with the Propeller, but it's a bit expensive. It's good value, though, as it has virtually everything you need to get some interesting applications running as soon as you get it
I’m truly grateful for the advice but need to know more.

I think I will go with the Starter Kit as it includes a printed copy of the prop manual, power supply, and I will also buy the Prop accessories kit to start off. I have most of the parts from the educational kit anyway and plenty of 1K resistors. I don’t mind dishing out the dough as Parallax has provided excellent sales and technical support, educational documentation, dependable products, and a most useful forum with some awesome experts and beginners who hang out here. Not to mention the priceless hours of pure fun! I’m hoping with these new components, and the Propeller down loadable documentation, it will provide me with the ability to at least learn the basics. I can decide what to purchase for a more permanent projects if I decide to continue later. I don’t mind saying Parallax provides a lot of bang for the buck. I can’t help but to also mention the inspiration provided to, “Put my nose to the grind stone,” so to speak and learn some basic digital and analog electronics and learn to apply them. When I first started I hardly knew the difference from an OHM and a Nome or a NAND from a Can.

I am curious about not having interrupts? Is the reason that it doesn’t need them is that it is essentially a bunch of separate processors all capable of working independently in the background and accessed by a hub accessing them in a sequential fashion? What interest me is the ability to do multiple task at one time.

(I have finally worked out a way to remove the popping sound between reissuing the FREQOUT command by using a analog timing circuit initialize by the stamp to raise and lower a preamp circuit amplitude as required. Thus circumventing the need for multitasking. I will soon resurrect my original post “silence is golden” and talk more about what I’ve done.)

Another interest is having the ability to deal with decimal values and curious if the Prop perhaps has a built in floating point co-processor? I tried using the um-FPU V3 with the Basic-Stamps and appeared to use up a lot of memory and was a bit more complex than I anticipated or capable of truly understanding.

Thanks!

-J

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2007-04-17 04:04
    1) Interrupts were developed because computers needed to do some things at certain times or when external things happened and there usually was only one processor to do anything. Most computers used interrupts to solve this sort of problem, some computers systems used multiple processors (like the CDC and Cray computers). The Propeller has 8 equal and identical processors. As long as there are only 8 or less tasks to do, an entire processor can be devoted to the task. For simple tasks, one or more of the processor can timeshare among several tasks. The "FullDuplexSerial" I/O driver is one example of this since it handles both the receive and the transmit side of a buffered asynchronous serial channel with the same cog. On the flip side, the VGA display drivers use two or more synchronized cogs to get the aggregate processing power to do high resolution VGA text display in software.

    2) The Prop doesn't have a floating point co-processor because it doesn't really need one. There's a floating point library that gets loaded into two of the 8 cogs and is quite fast (check out the documentation). Like most of the contributed programs, this can be found in the Propeller Object Exchange. Go to the main Propeller page of the Parallax website and select the Object Exchange from the links on the upper right side of the page.

    3) The Hub is actually subservient to the cogs rather than the other way around. The Propeller's processors treat the shared memory and the semaphores (locks) much like I/O devices with special instructions to access them.
  • jhoyozajhoyoza Posts: 72
    edited 2007-04-19 04:52
    Thank You Mr. Green

    I have ordered the Propeller Starter Kit and I should receive it in a few days. (I'm going to hold off a bit for the Accessories Kit.)

    The Propeller Manual itself, despite being available for free for download, is 438 pages a is just a bit to much to print. It will come with my order.

    So far I have been studying some of the documentation available for download:turn.gif

    Methods and Cogs - 15 pg.

    Preliminary Data sheet - 28 pg.

    Propeller I/O and Timing Basics - 29 pg.

    And various other smaller type files - Demo Board, Schematic, Product Review, Articles

    I think I'm going to be busy for a while trying to get an feel of what is going on. smhair.gif

    Still, I think it is wonderful that this documentation is available for free. You just gotta love it!

    I'll be back,

    -J

    Post Edited (jhoyoza) : 4/19/2007 5:07:09 AM GMT
    1288 x 960 - 173K
  • jhoyozajhoyoza Posts: 72
    edited 2007-04-23 11:04
    Well,

    I read, and read, and read all I can so far and I read it over and over again trying to absorb it all. I have not received the actual Starter kit yet, however I do have a question or two already.

    First I must say, simply reading the downloadable documentation has provided me with general feel of what is going on. A bit about the new Spin programing syntax and many other features.

    Sorry, I realize it is going to take me some time and can see the power of having 8 independent processors running independently and in concert with each other. I understand why interrupts are not necessary and learned a bit about Spin and how to at least talk to a single COG with in a rudimentary manner. I read extensively about METHODS, OBJECTS, GLOBAL, LOCAL variables and System Clock, Timing and related commands. shocked.gif

    Now for the first real question:

    The first thing I noticed is that the beginning demonstrations it turns LEDS on and off as an indicator of preliminary command usage, I/O capabilities, manipulations and features. Is there a DEBUG window of some sort? Can one use the TV or VGA as a DEBUG window in some way as a method of seeing what is going on? (I did see an area of memory for a character set.) Does it require using a COG or two to do so? Will this all become more apparent when I actually do some exercises and gain more experience with the starter kit? Should I purchase the Accessories kit or at least the LCD with display w/audio ASAP? (I do have a small 6" screen TV with RCA connectors for video and audio already.)

    Sorry for exposing my obvious ignorance. However, I'm actually finding it quite interesting and certainly a challenge and appreciate the documentation and outstanding reviews in various trade publications. I hope to eventually learn all of this and really grasp, what looks like, the propeller's outstanding power and capabilities!

    I feel like I learning to walk all over again.

    Thanks!

    -J
  • Mike GreenMike Green Posts: 23,101
    edited 2007-04-23 14:05
    This will all become clearer as you begin to use the actual Demo Board and work through various examples.

    Debugging is indeed normally done by using either a TV or a VGA display (or both) as a DEBUG window. A TV driver uses one cog. A VGA driver typically uses 2 cogs depending on the resolution desired. Both also require some of the shared main memory for a screen buffer and for the code itself. If you have a spare PS/2 keyboard and mouse, you don't need the Accessories Kit since you have a TV. Make sure you have a cable to connect the RCA connectors to the Demo Board's RCA video output and stereo mini-phono audio output.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-04-23 17:59
    jhoyoza said...
    Is there a DEBUG window of some sort? Can one use the TV or VGA as a DEBUG window in some way as a method of seeing what is going on? (I did see an area of memory for a character set.) Does it require using a COG or two to do so? Will this all become more apparent when I actually do some exercises and gain more experience with the starter kit?
    If you already have the Basic Stamp IDE installed, you can use it's DEBUG window. And in short order the functionality will be added to the Propeller Tool, he just finished ironing out all the kinks of the protocol so that it should continue to work regardless of what non-standard things the programmer does (such as changing the clock frequency without changing the value of clkfreq).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • jhoyozajhoyoza Posts: 72
    edited 2007-04-23 19:02
    Yes thank you!

    I just received the kit and have opened it up, and plugging it all in, as I type...and I'm totally siked!

    I have all the items you describe above. The TV is actually a 5" diagonal portable 12V unit that has an RCA video input and I also have headphones. (I suppose I can hook the audio directly into the RCA audio jack on the TV as I have the cable and adapter.) Additionally I have my Parallax USB oscilloscope, and my ancient Phillips 10 MHZ (Boat anchor) oscilloscope w/10x probe, and a newer Velleman digital multimeter at the ready!

    As a matter of fact I have a brand-new PS/2 mouse and a keyboard laying around also. The screen is now flashing some cool graphics and I can hear the built-in microphone through the headphones. Looks like I'm in good shape! I notice the digits on the top left are cut off at about 80% of the character height and, as you both of you gentlemen noted, I may have a kink or two to work out.

    I'm not quite sure how to get the Basic Stamp IDE's Debug window to work with it yet, and must investigate the resolution issue, but I'm hoping with a few hours under my belt, I'll figure it out. However, I do welcome any time savings advice.

    Ok here I go...fingers and toes crossed, my new Prop-Manual...a handful of 1K resistors....and a new lot of CMOS chips. Armed and dangerous! Get those RMA's warmed up. (Just kidding...lol. I hope.)

    Thank you Mr. Green and Mr. Baker you guys awesome dudes! And Parallax ain't to shabby either!

    With all due respect of course.

    -J

    P.S. I'm sure I'll be back devil.gif
  • jhoyozajhoyoza Posts: 72
    edited 2007-04-23 21:56
    Ok, I figured out the TV resolution thing and it looks great now...Not bad considering I don't have a clue!

    However, I can't quite get the IDE Basic Stamp Debug window to work....I simply don't know what you mean.

    Sorry,

    -J
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-04-23 22:13
    You need to use the FullDuplexSerial object to send information to the Debug window.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
Sign In or Register to comment.