Forum Index
HomeZBasic Home   Forum RulesForum Rules   Forum FAQForum FAQ   MemberlistMemberlist   UsergroupsUsergroups   RSS FeedRSS Feed
Site SearchSite Search   LinksLinks   DownloadDownload   Digests and SubscriptionsDigests and Subscriptions
ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in   RegisterRegister
ET-AVR Stamp
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Forum Index -> ZBasic Language
Author Message
DH*
Guest





Posted: 03 July 2006, 14:46 PM    Post subject: ET-AVR Stamp Reply with quote

This is a really nice bit of $20 hardware that could be vastly improved by porting the ZX VM to it. Shocked
Back to top
mikep



Joined: 24 Sep 2005
Posts: 771
Location: Austin, TX

Posted: 04 July 2006, 3:18 AM    Post subject: Re: ET-AVR Stamp Reply with quote

dhouston wrote:
This is a really nice bit of $20 hardware that could be vastly improved by porting the ZX VM to it. Shocked
I'm not quite sure what to make of this comment. Apparently this board is actually made by a Thai company and here is the only documentation I could find. To call this board a STAMP is really a misnomer as it has 50 pins and is incompatible with any 24 or 40 pin STAMP type module. As it stands ZBasic could never run on this board for several reasons not least it is missing a SPI eeprom.

Now if your question was about porting ZBasic to an Atmel 128 then that is a different discussion.

If you look at the chips supported by BasicX and ZBasic they are all in the same family (AT90S8535, ATmega8535, ATmega32) which Atmel terms the 44-pin analog family. The reason for choosing this family is that is has a good variety of different features in a package that can fit easily into the footprint required by a STAMP. The obvious upgrade for a ZBasic chip is to another chip in this same family.

Porting to a chip in a different family such as "large memory AVRs" is certainly doable but requires more work to make the best possible use of the features. For example the ATmega128 can address SRAM memory which could be used by large ZBasic programs.
Back to top
stevech



Joined: 23 Feb 2006
Posts: 688

Posted: 04 July 2006, 5:30 AM    Post subject: Reply with quote

I just received one of the mega128 versions of this company's board. Being low cost, I wanted a mega128 board for fiddling with.
Not relevant to ZBasic if/until its VM is ported to a larger-flash chip to make room for a bigger VM function set, or to put the vM p-code in flash instead of EEPROM. Not sure that makes sense - maybe so.

A "stamp" it's not; more like a half-sized post-card! Through-hole components except for the mega128 itself.

Haven't fired it up yet, but it looks good.
You could hang a serial EEPROM on it easily enough - a little daughter card with that chip, and plugs into either the stamp's mainboard connector pins or maybe the PORTC or ISP connector.

No regulator for Vcc so whatever comes in goes to the chip (gulp), but an overvoltage zener is there for some protection.
No RS232 level shifter.
Good deal for $20 if it works.
Wish it came with a 14.745 MHz crystal instead of 16MHz.
Interesting that it has a pot for setting Vref for the ADC.

Probably a good board for an undergrad class or brain of a robot.

Documentation consists of a schematic, simple user manual, and code samples for simple things.

See attached

Steve



ET mega128 Stamp.jpg
 Description:
 Filesize:  81.49 KB
 Viewed:  9677 Time(s)

ET mega128 Stamp.jpg



ET-AVR_STAMP_ATmega64-128_Schematic.pdf
 Description:

Download
 Filename:  ET-AVR_STAMP_ATmega64-128_Schematic.pdf
 Filesize:  24.93 KB
 Downloaded:  3576 Time(s)



Last edited by stevech on 04 July 2006, 5:52 AM; edited 2 times in total
Back to top
dkinzer
Site Admin


Joined: 03 Sep 2005
Posts: 2593
Location: Portland, OR

Posted: 04 July 2006, 5:42 AM    Post subject: Reply with quote

stevech wrote:
Wish it came with a 14.745 MHz crystal instead of 16MHz.

You should be able to change it fairly easily. The primary advantage to 14.7MHz over 16MHz is that some of the higher serial port rates may be too far off to be useful in some situations when using a 16MHz clock. For example, 115.2K baud can be obtained with 0.0% error with a 14.7MHz crystal but it is off by 3.5% with a 16MHz crystal. An oft-quoted rule of thumb is that 2% clock error is the maximum tolerable for reliable serial communications.
Back to top
stevech



Joined: 23 Feb 2006
Posts: 688

Posted: 04 July 2006, 6:35 AM    Post subject: Reply with quote

thanks - yes, I have a bunch of 14.7456 crystals that I bought for this purpose!
Back to top
DH*
Guest





Posted: 04 July 2006, 11:16 AM    Post subject: Reply with quote

I was generalizing that it would be a much more useful device (to most of us here) if it could be programmed in something like ZBasic.

California, Europe and other locales have issued rules regarding efficiency, harmonics, etc. that only switching power supplies can meet so unregulated wall transformers are likely to become scarce. With a regulated wall transformer, there's no need for an onboard regulator (except I've yet to see a 3.3V regulated wall transformer).

The ZX-24 also lacks an RS232 level shifter.

ETT has made several, similar, low cost development boards. Their quality has been good but English documentation is scarce although Futurlec can usually provide schematics. I bought a couple of their PIC development boards a few years ago.

This plugs into a separate $25 development board that has peripherals.


Last edited by DH* on 04 July 2006, 16:03 PM; edited 2 times in total
Back to top
dkinzer
Site Admin


Joined: 03 Sep 2005
Posts: 2593
Location: Portland, OR

Posted: 04 July 2006, 15:43 PM    Post subject: Reply with quote

It's interesting that the schematic shows a 100 ohm resistor feeding power to AVcc. The Atmel documentation typically suggests an inductor for this purpose because AVcc also supplies the power for some port pins. The actual port(s) supplied varies with the device; on the mega128 it is PortF.

Using a resistor, as the schematic implies, is inadvisable due to the voltage drop that will occur when PortF pins are sourcing current. If the combined PortF source current is only 10mA, the AVcc voltage will drop to 4 volts with a 100 ohm resistor.

Can you confirm that the board actually has a resistor on it in that position?

Another interesting aspect of the schematic is the 5.6V zener. I assume that the intention was to protect the CPU from overvoltage. However, if it is wired as the schematic indicates it is unlikely to be helpful. An overvoltage from a significantly powerful supply will simply smoke the zener, effectively removing it from the circuit.
Back to top
mikep



Joined: 24 Sep 2005
Posts: 771
Location: Austin, TX

Posted: 04 July 2006, 15:55 PM    Post subject: Reply with quote

dhouston wrote:
The ZX-24 also lacks an RS232 level shifter.
I think the ZX-24 lacks a true RS232 level shifter just because there isn't enough room. This is ok for most purposes but not everything.

I added a RS232 level shifter (MAX202) to the ZX-24e precisely because of this reason and I had the room.
Back to top
stevech



Joined: 23 Feb 2006
Posts: 688

Posted: 04 July 2006, 17:04 PM    Post subject: Reply with quote

dkinzer wrote:


Another interesting aspect of the schematic is the 5.6V zener. I assume that the intention was to protect the CPU from overvoltage. However, if it is wired as the schematic indicates it is unlikely to be helpful. An overvoltage from a significantly powerful supply will simply smoke the zener, effectively removing it from the circuit.


Well, if I am looking at the board when I connect it in error to a 12V wall wart, maybe I'll see the smoke soon enough to unplug before the zener pops and the AVR is blown. I also wonder - I think most wall warts have a fuse in order to meet UL - not sure. It might blow.
Back to top
stevech



Joined: 23 Feb 2006
Posts: 688

Posted: 04 July 2006, 17:06 PM    Post subject: Reply with quote

does putting the VM in the first 64K and the user p-codes in the second 64KB of flash make sense? (on any mega128/256?, not just this board)
Back to top
dkinzer
Site Admin


Joined: 03 Sep 2005
Posts: 2593
Location: Portland, OR

Posted: 04 July 2006, 17:35 PM    Post subject: Reply with quote

stevech wrote:
Does putting the VM in the first 64K and the user p-codes in the second 64KB of flash make sense?

The fixed locations of the interrupt vector table and the bootloader section make it difficult to do that. It might work to use the either the "middle" 64K or, alternately, all of the upper 64K except for the section occupied by the bootloader. The latter arrangement would be simpler to code and to implement the necessary protection for the VM. It is likely that at least 60K of user code space would be available under such an arrangement.
Back to top
DH*
Guest





Posted: 04 July 2006, 18:10 PM    Post subject: Reply with quote

dkinzer wrote:
It is likely that at least 60K of user code space would be available under such an arrangement.
We need a smiley for DROOL! Cool

Would that be code and/or data space?
Back to top
mikep



Joined: 24 Sep 2005
Posts: 771
Location: Austin, TX

Posted: 04 July 2006, 18:59 PM    Post subject: Reply with quote

dhouston wrote:
dkinzer wrote:
It is likely that at least 60K of user code space would be available under such an arrangement.
We need a smiley for DROOL! Cool

Would that be code and/or data space?

My guess is that this is program memory meaning the place where your compiled program including any data arrays/vectors is stored. This is very similar to what Cubloc did with their CB220.

64K of program memory is already available today with ZBasic if you use a AT25HP512 EEPROM. This is most easily done with a ZX-44 or ZX-40 rather than a ZX-24 that has the EEPROM soldered on the PCB.

I provide a 8-pin socket on the ZX-24e. I'm thinking about giving people the ability to order the ZX-24e with either 32K EEPROM, 64K EEPROM, or 32K FRAM. The last two options would cost more than the standard ZX-24e with 32K EEPROM.
Back to top
dkinzer
Site Admin


Joined: 03 Sep 2005
Posts: 2593
Location: Portland, OR

Posted: 04 July 2006, 19:45 PM    Post subject: Reply with quote

dhouston wrote:
Would that [60K] be code and/or data space?
I was suggesting that 60K of the mega128 Flash memory could probably be used in place of the external EEPROM to hold user code. It may be possible to allow writing to this code space (e.g. via PutEEPROM() or writable Program Memory Data Items) but the 128 byte page size of the mega128 Flash memory would, in most cases, require a read-modify-write process using an allocated RAM buffer. This procedure is implemented currently in the support for the AT25HP512 EEPROM since that device is page writeable only with a page size of 128 bytes.

The RAM space available for user programs in a mega128-based ZX would likely be 3.5K (including the string heap). When it is available, the mega1281 would permit as much as 7.5K User RAM.
Back to top
DH*
Guest





Posted: 04 July 2006, 19:52 PM    Post subject: Reply with quote

dkinzer wrote:
the 128 byte page size of the mega128 Flash memory would, in most cases, require a read-modify-write process using an allocated RAM buffer.
In any event, the SPI bus would still be available for an external EEPROM and/or ENC28J60.
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Forum Index -> ZBasic Language Time synchro. with the server - Timezone/DST with your computer
Goto page 1, 2  Next
Page 1 of 2

 


All content Copyright © 2005-2012 Elba Corp. All Rights Reserved.
Opinions expressed in posts are those of the author and not necessarily those of Elba Corp.
Powered by phpBB © 2001, 2005 phpBB Group