ATtiny417 / ATtiny814 / ATtiny816 / ATtiny817

Go To Last Post
321 posts / 0 new

Pages

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I just had a fast look at the new datasheet and the school kid had been asked to copy an other instruction set table to it, so now clk cycles is pure guess! (I guess take the fast since the PC is 16 bit)

 

It's really sad that they never have taken the engineering part serious, "just let's us make some fine sales posters nobody will read them" is a safe way to keep engineers away.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

sparrow2 wrote:
Yes the C program better make the correct code!

But it just bloat the code size.

tiny817 is a recent addition to IAR EWAVR; IIRC, IAR is the first AVR partner.

tiny417, tiny 814, and tiny816 aren't yet in IAR EWAVR.

The Kickstart license is zero price for up to 4KB of code space.

Likely is AVR GCC to fill the remainder (akin to bootloader + app or framework + app)


https://www.iar.com/iar-embedded-workbench/#!?architecture=AVR

http://netstorage.iar.com/SuppDB/Public/UPDINFO/011189/ew/doc/infocenter/readme.ENU.html (RELEASE NOTES for IAR Embedded Workbench for Atmel AVR version 6.80.1)

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

sparrow2 wrote:
Compared to other AVR's it's kind of a oddball. (a little from everywhere)

http://www.atmel.com/devices/ATtiny817.aspx

http://www.atmel.com/Images/Atmel-42721-ATtiny-417-814-816-817_Complete.pdf

(file size: 4.9MB, 596 pages, revision B, updated: 11/2016)

...

(page 497)

33. UPDI - Unified Program and Debug Interface

...

33.1. Features

...

Debugging
...
– Run-time readout of program counter (PC), Stack Pointer (SP) and CPU Status register (CPU_SREG) for code profiling

...

Is this the first AVR with a trace capability?

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gchapman wrote:
Is this the first AVR with a trace capability?

Is the [periodic, or on-demand, probably] "readout" equivalent to "trace"?  I'd say not.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

theusch wrote:
I'd say not.
+1

 

Now MTB in Cortex M - that's another thing - that is a feature really worth having!

 

Not sure of Atmel Cortex M do it but NXP ones do and in CodeRed they do this wonderful "receding color display" to show where in the code the PC has recently been. (it's a bit like the flight path display of landing planes on flightradar24 if anyone is familiar with that?)

 

EDIT: forgot to say that there is a "cost" involved. You have to set aside something like 1K of RAM in the chip to act as the MTB. As the CPU executes it cyclically logs where it's been in that buffer. At the next breakpoint it uses the data to show the last N instructions executed.

Last Edited: Fri. Nov 11, 2016 - 06:17 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

js wrote:

Oh dear I just realised I have to use AS7......... devil

Heh, I just arrived at the same conclusion.

But how should I do it?

 

1: Let AS7 upgrade my existing AS6.2 (assuming that it even attempts to do that). Does that work, or am I asking for trouble?

 

2: Install AS7 in a new dir and keep my AS6.2. Is it possible? How about USB drivers for programmers/debuggers? Can I seamlessly use one or the other whenever I please?

 

3: Uninstall AS6.2 and then do a clean install of AS7. Hopefully I can still build old projects in AS7 if the need should arise.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I had a 6.2 and just installed 7 without dealing with 6.2. and that seems to work (I just checked that 6.2 still run , (but I only think that I have ASM peojects)).

 

I have not converted anything from 6 to 7 that could be an other story

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

Last Edited: Mon. Dec 5, 2016 - 08:08 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Apparently, their new definition of "tiny"  from the data sheet:

Package up to 24 pins 

When in the dark remember-the future looks brighter than ever.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The correct name should have been xtiny.

 

It's a xmega without at lot of things!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

sparrow2 wrote:

The correct name should have been xtiny.

 

Agreed, technically and to avoid user confusion, that would have made solid sense.

 

However, these decisions are not made by engineers, more by branding and marketdroids, who care little about wasting designers time...

 

Anyone who starts on Tiny817 and then moves to another tiny, has many 'surprises' in store :(

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

El Tangas wrote:
Yeah, why make a unified memory but remove access to the register file? ... And you're right, with this arrangement, LPM and LD become kind of redundant...

Atmel

AVR42789: Writing to Flash on the New tinyAVR Platform Using Assembly

http://www.atmel.com/Images/Atmel-42789-Writing-to-Flash-on-the-New-tinyAVR-Platform-Using-Assembly_ApplicationNote_AVR42789.pdf

(file size: 106KB, 6 pages, revision A, updated: 11/2016)

(new tinyAVR are ATtiny417, ATtiny814, ATtiny816, ATtiny817)

...

1. What has Changed

...

This means that it (flash) shares the same address space and instructions as SRAM, EEPROM, and I/O registers.

This data space is accessible through the use of LD/ST instructions in assembly.

Previously, on some of the older Tiny devices flash has been accessible only through the LPM and SPM instructions.

In the new tinyAVR devices the LPM instruction still exists, but not the SPM instruction.

...

1.1. What This Means and How to Adapt

...

If existing assembly code that writes to flash is to be ported from older to new tinyAVR devices, the SPM instructions have to be replaced by ST instructions.

(ST, NVMCTRL)

...


http://www.atmel.com/devices/ATtiny817.aspx?tab=documents

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

CodeVisionAVR plans to support the new parts. To avoid the bleeding edge edge of technology and support, my plan is to wait for CVAVR, the easy way.

It all starts with a mental vision.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

El Tangas wrote:
My problem is qfn and bga angry
For tiny817 :

Schmartboard, Inc.

Schmartboard

Schmartboard|ez .5mm Pitch, 12 and 24 Pin QFP/QFN to DIP Adapter (204-0015-01)

http://schmartboard.com/schmartboard-ez-5mm-pitch-12-and-24-pin-qfp-qfn-to-dip-adapter-204-0015-01/

...

Never before has it been so easy to hand solder surface mount components. 

...

"Schmartboard|ez" makes it easy to solder SOIC, QFP, QFN and other component packages with  pitches as small as .4mm.

http://www.mouser.com/search/ProductDetail.aspx?R=0virtualkey0virtualkey204-0015-01

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When you can buy an ATTINY817-XMINI for £6.95 why wouldn't you just buy one of those if you don't fancy soldering? They even throw in a debugger/programmer for free!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Concur.

The QFN-to-DIP adapter is for breadboards and protoboards.

The tiny817 XMini is Arduino shield capable with some relatively simple soldering; there are Arduino shields as protoboards.

ATTINY817-XMINI

http://www.atmel.com/tools/ATTINY817-XMINI.aspx

...

  • Arduino shield compatible foot prints

...

Schmartboard, Inc.

Schmartboard

Arduino Shields - Uno

http://schmartboard.com/arduino-shields/uno/

Edit : shields

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Wed. Nov 16, 2016 - 05:38 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, it's not that I'm not able to solder a qfn to a cheap "non-EZ" adapter, I just don't like to cheeky

Yeah, for that price it's better to just buy the XMINI board.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

alohre wrote:

I happen to have a box of 35 Tiny817 Xplained Minis heading my direction, and will distribute to those already active in this thread

I haven't heard of anyone else yet, so I guess I am the first to receive one. Granted, Denmark is quite close to Norway, compared to most other participants here.

A big thank you for this initiative.

 

Unfortunately, I don't have time for the big AS7 install/upgrade dance until the weekend crying

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

tiny817 Xplained Pro -

Mouser has it as EOL whereas Digi-Key has not indicated that.

Go or no-go?

Good looking board :

http://media.digikey.com/Photos/Atmel%20Photos/MFG_ATTINY817-XPRO.jpg


http://www.mouser.com/search/ProductDetail.aspx?R=0virtualkey0virtualkeyATTINY817XPRO

http://www.digikey.com/product-detail/en/ATTINY817-XPRO/ATTINY817-XPRO-ND/6207309

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It looks like the 10pin 50mil header is the new programmer/debugger interface connector that directly interfaces with the Atmel ICE and Jtag Mk3.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gchapman wrote:

tiny817 Xplained Pro -

Mouser has it as EOL whereas Digi-Key has not indicated that.

Go or no-go?

Good looking board :

Interesting... I also see Mouser shows 47 as on order ?!

 

Has anyone seen/tried a Pro ?  - Any performance comparisons with Mini, on the 817 ?

Maybe the XMINI came second and performance using the new Debug interface was so good, they  decided the PRO was no longer needed ?  ;)

 

or, have other PRO's been EOL'd too, in a more general prune exercise ? 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yay! Finally this is out and public knowledge. After months and months of development. Whew.

This is first in the new breed of Tiny AVRs. watch out for more. wink

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

in a more general prune exercise ? 

And as we know prunes are great for constipation.....cheeky

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

gchapman wrote:

tiny817 Xplained Pro -

Mouser has it as EOL whereas Digi-Key has not indicated that.

Go or no-go?

 

Go,

the PCBs are assembled as we speak

 

just give it a couple of weeks to get into the distributors

 

Andreas

--
Follow me on the birdsite @AndreasMCUguy

I work at Atmel, but I try my best not to add marketing fluff in this forum.Hopefully I succeed. Views are my own and does not represent Atmel --

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't know how to deal with it but something needs to be done.

 

People will think that these chips are tiny's and can be programmed like those, so when the boards start to come out there will come a lot of

the code don't compile/run on the 817 mostly because the IO structure are very different, can't point to registers etc. and instructions timing are different etc (program interface are also different). 

 

If there needs to be a xtiny (what really should have been the name) forum or some sticky notes or ... is not my call.

 

But some TUT's needs to be made fast! 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I find the datasheet a bit hard to follow.  And it doesn't really "feel" like an Xmega datasheet either.

 

Anyway:  Power-down sleep, and watchdog.  (and sleep in general, I guess)

 

"Table 12-1. SLEEPCTRL Product Dependencies" says Interrupts are not applicable, yet wakeup relies on an enabled interrupt source as in AVR8.  Right?

 

Power-down wakeup sources include INTn and pin-change.  Yet right above the chart the text only mentions pin-change.

 

The other power-down wakeup source is TWI address match.  No USART start-frame detection?  Sounds like a step back.

 

Now, on to watchdog.  It runs during power-down sleep according to the chart.  But not listed as a wakeup source?  Is the watchdog much different than AVR8, where recent models have watchdog-interrupt capability?

 

[edit]  Indeed, no watchdog interrupt.  Only action is reset.  So what use would enabled watchdog be in power-down?
 

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

Last Edited: Fri. Nov 18, 2016 - 04:20 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

theusch wrote:
No USART start-frame detection?
It's present.

http://www.atmel.com/Images/Atmel-42721-ATtiny-417-814-816-817_Complete.pdf

(file size: 4.9MB, 596 pages, revision B, updated: 11/2016)

...

(page 92)

Table 11-2. Sleep Mode Activity Overview

...

(page 347)

24.3.2.7.  Start Frame Detection

...

http://www.atmel.com/devices/ATtiny817.aspx 

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gchapman wrote:
It's present.

It is there, but not for power-down waking.  (right?  from the chart...)

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I just received my tiny817 xplained and it looks NOTHING like the one in the pictures above. I guess There are two versions of the xplained, a pro version and the one I have.

Jim

If you want a career with a known path - become an undertaker. Dead people don't sue! - Kartman

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Xplained != Xmini ;-)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes; wake on UART SOF is from standby.

There's not much difference in current between power-down and standby and it's 10micro-sec (typ) to wake from either power-down or standby.

 

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:

Xplained != Xmini ;-)

Here is what arrived the other day:

 

Looks nothing like the other one...the "PRO" version.  So I guess there are two kits.

 

Meh.....WTFE frown

 

JIm

If you want a career with a known path - become an undertaker. Dead people don't sue! - Kartman

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jim, that was my point. The thing in your hand (despite the silk screen!) is an ATTINY87-XMINI. The thing pictured in #121 is an ATTINY817-XPRO. Not the same thing (apparently)

 

They have different pages on atmel.com:

 

ATTINY817-XMINI: http://www.atmel.com/tools/ATTIN...

  • On-board debugger with full source-level debugging support in Atmel Studio
  • Auto-ID for board identification in Atmel Studio
  • Access to all signals on target MCU
  • One green status LED
  • One mechanical user push button
  • Two capacitive touch buttons
  • Virtual COM port (CDC)
  • USB powered
  • Arduino shield compatible foot prints
  • Target SPI bus header foot print
  • Xplained Pro extension headers can easily be strapped in

 

ATTINY817-XPRO: http://www.atmel.com/tools/attin...

  • ATtiny817 microcontroller
  • One mechanical reset button
  • One mechanical user push button — Wake-up, bootloader entry or general purpose
  • One yellow user LED
  • 32.768kHz crystal
  • Two capacitive touch buttons
  • Two Xplained Pro extension headers
  • Connector for external debuggers
  • Embedded Debugger — Auto-ID for board identification in Atmel Studio. One yellow status LED. One green board power LED. Symbolic debug of complex data types including scope information. Programming and debugging. Data Gateway Interface: SPI, I²C, 4 GPIOs. Virtual COM port (CDC)
  • USB powered

 

Seems one has a green LED, the other a yellow LED. Not really sure how else they differ - but who cares beyond the color of the LED anyway? ;-)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Not really sure how else they differ

One has the crystal, the other does not.

One has a connector for an external debugger, the other does not

wink

 

JIm

If you want a career with a known path - become an undertaker. Dead people don't sue! - Kartman

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Not really sure how else they differ - ...
XPRO has a UC3A4 for EDBG and a SAMD20 for current measurement.

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thank you! smiley

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

In that list there is no 

  • Virtual COM port (CDC)

on the XPRO ?

Is that correct - A serial port is quite important for debug ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

In expectation of the board's arrival I have updated AS7 on my main computer, I know,I know I'll be sorry.

 

Started an ASM project and added ye olde STK500 leds file and of course it doesn't assemble, I will try porting the same project from the Xmega version and I think I will have better results.

 

So forget AVRtiny when working with T817 and relatives and think Xmega.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

HA! Success, not as bad as I thought. Using the macros helps with the locations of the I/O registers, just one change necessary to set portb to output.

 

Can't test it yet of course but here is it. (some of the old and some of the new)

;***** STK500 LEDS and SWITCH demonstration
.nolist
.include	"ATtiny817def.inc"
.include	"macros.inc"
.list

.LISTMAC

;Remember #define is case sensitive

#define macro_reg r16		; Used for macros
.def	Delay =r17			; Delay variable 1 
.def	Delay2 =r18			; Delay variable 2 

#define temp r24 			; temporary register
#define temp1 r25 			; temporary register

.dseg
test_label:	.byte 1

.cseg
;***** Initialization 
RESET: 
	ser		temp
	sts		PORTB_DIRSET, temp	; Set PORTB to output

;**** Test input/output 
LOOP: 
	sts		PORTB_OUT, temp		; Update LEDS 

	SKBS	PORTA_IN, 0x00, macro_reg		; If (PORTA, pin0 == 0) 
	inc		temp							; then count LEDS one down 
	SKBS	PORTA_IN, 0x01, macro_reg		; If (PORTA, pin1 == 0) 
	dec		temp							; then count LEDS one up 
	SKBS	PORTA_IN, 0x02, macro_reg		; If (PORTA, pin2 == 0) 
	ror		temp							; then rotate LEDS one right 
	SKBS	PORTA_IN, 0x03, macro_reg		; If (PORTA, pin3 == 0) 
	rol		temp							; then rotate LEDS one left 
	SKBS	PORTA_IN, 0x04, macro_reg		; If (PORTA, pin4 == 0) 
	com		temp							; then invert all LEDS 
	SKBS	PORTA_IN, 0x05, macro_reg		; If (PORTA, pin5 == 0) 
	neg		temp							; then invert all LEDS and add 1 
	SKBS	PORTA_IN, 0x06, macro_reg		; If (PORTA, pin6 == 0) 
	swap	temp							; then swap nibbles of LEDS 
	push	temp
	lds		temp, test_label
	subi	temp,-1
	sts		test_label, temp
	pop		temp

   ;**** Now wait a while to make LED changes visible. 
DLY: 
   dec		Delay 
   brne		DLY 
   dec		Delay2 
   brne		DLY 
   rjmp		LOOP         ; Repeat loop forever 

if anyone with the board wants to try it you need LEDs (with resistors) on PORTB and switches on PORTA (of course the touch switches won't work)

 

Attachment(s): 

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Excellent! I give you an A+. :)

It all starts with a mental vision.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Actually there is a bug and PORTA needs pull up resistors on the switches to work. sad

 

I was looking at how to do it in software but it seems convoluted, not impossible though.

 

http://www.avrfreaks.net/forum/a...

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sounds like a microchip experience. :) Life was simpler, when that could be avoided.

It all starts with a mental vision.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Not using VPORTs then? 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

VPORTs will be next, however I don't see how to set the pull ups in a group like the standard Mega/Tiny or Xmega with the group control, don't really want to do that 1 pin at a time.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I can see that the lack of a pull up group is a pain at init, but is there normally not in a hurry, so make a loop if they all need pull up's, (and yes it would have been nice if it could have been done like on a tiny).

 

Do you really under program run have to change pull's up on hole groups?  

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

would have been nice if it could have been done like on a tiny

Or Xmegas.

 

Yep, all of PORTA (or at least 7 bits) need pull ups for the switches. Of course once I get my board I can connect it to the real STK500 as it has already hardware pull ups on the switches.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

but I mean do you really need to switch the pull up on and off all the time on those 7 IO's ?

 

I have never had to do that on more than 1 IO at the time.

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

need to switch the pull up on and off all the time

No, ON ONLY as part of the init. What makes you think I want to turn them off? wink

 

Yes I can do that 1 pin at a time but all other chips allow multiple pins to be pulled up (or down for Xmegas) in just one instruction so why not the T817 family?

 

Therefore my new thread on the subject for the Atmel people in the know. Is it by design or a boo boo?

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

Pages