Which uPDI

Go To Last Post
10 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm going to get started on adding uPDI support to my autoprogrammer.  What is a good uPDI chip to order for messing around with this?  I saw the ATTINY817-XMINI-ND, but I'm not sure it has a 6 pin uPDI connector on it or if its SPI connector can be configured to be a 6 pin uPDI connector.  Are there any DIP uPDI's ?  Are there any flash >64K uPDIs?

 

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

alank2 wrote:
I saw the ATTINY817-XMINI-ND, but I'm not sure it has a 6 pin uPDI connector on it ...
It doesn't; can perform the mEDBG UPDI disconnect procedure and connect to J201-2.

ATtiny817 Xplained Mini User Guide

http://ww1.microchip.com/downloads/en/DeviceDoc/50002657A.pdf (1.3MB)

(page 14)

Table 4-2. J201 Digital I/O High Header

(page 17)

4.4 Disconnecting mEDBG

via http://www.microchip.com/developmenttools/productdetails.aspx?partno=attiny817-xmini

alank2 wrote:
Are there any DIP uPDI's ?
No

alank2 wrote:
Are there any flash >64K uPDIs?
No

Unified memory addresses are 16b for 1-series AVR.

 

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

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

I'm using a tiny1614 (14 pin SOIC) mounted on an adapter for my UPDI experiments.

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

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

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

alank2 wrote:

I saw the ATTINY817-XMINI-ND, but I'm not sure it has a 6 pin uPDI connector on it or if its SPI connector can be configured to be a 6 pin uPDI connector.

The 6-pin 'ISP'-style header isn't usable for programming the device, as the first reply mentioned.

 

However, the 817's PA0/Reset/UPDI pin can be disconnected from the mEDBG chip by removing the zero-ohm resistor R203. PA0 is then available on a pad in the middle of the board.

 

I've been using this exact set up to add UPDI support to my WiFi AVR programmer's firmware, along with some additional patches to avrdude to add UPDI support to the jtagmkII/dragon protocol.

El Tangas wrote:

I'm using a tiny1614 (14 pin SOIC) mounted on an adapter for my UPDI experiments.

Have you hooked a 'scope up to the UPDI pin while programming? The UPDI signal coming back from the '817 on my Xplained mini board during UPDI communication look like it needs a bus-keeper on the host side. The signal is driven to the required value but then it looks like the driver is tri-stated. Not sure if I have a faulty board or if UPDI really does need a bus-keeper on the programmer. The UPDI pin has no pull-up on the XPlained board, but there is one on the wAVR programmer.

 

See attached scope trace. The first part of the waveform is from the '817 and is the result of reading UPDI.CTRLA. You can clearly see when the 817's driver is on/off. The second is the start of a SYNCH character from my side. With UPDI baud rate set to 115200, the bits are short enough that the low-level stays below the threshold but I imagine it wouldn't work much slower than that. This is with Vcc = 5v. I haven't yet tried at 3.3v.

 

Steve

 

Maverick Embedded Technologies Ltd. Home of the wAVR: WiFi AVR ISP/PDI/uPDI Programmer. http://www.maverick-embedded.co.uk/

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

scdoubleu wrote:

The UPDI signal coming back from the '817 on my Xplained mini board during UPDI communication look like it needs a bus-keeper on the host side.

 

On my 817Xplained board I put a 22k resistor connected from that PA0 pad to VCC when I was playing with uPDI. I must have got that value from somewhere.

"This forum helps those that help themselves."

"How have you proved that your chip is running at xxMHz?" - Me

"If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

Last Edited: Sat. Feb 10, 2018 - 04:40 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Changing the pull-up value from 47K to 1M fixes the issue, despite the data sheet (section 34.8) specifying the /reset pull-up to be min 20K, max 60K. Can't find any mention of pull-up values when using UPDI.

 

Steve

 

Maverick Embedded Technologies Ltd. Home of the wAVR: WiFi AVR ISP/PDI/uPDI Programmer. http://www.maverick-embedded.co.uk/

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

Ok I should have read the whole thread linked earlier. This is a known issue. See #2

 

Seems you need to disable collision detection (UPDI.CTRLB.CCDETDIS).

 

Steve

 

Maverick Embedded Technologies Ltd. Home of the wAVR: WiFi AVR ISP/PDI/uPDI Programmer. http://www.maverick-embedded.co.uk/

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

Yup, I noticed this issue some time ago. You can either disable collision detection, or deactivate whatever pull-up resistor is pulling the signal (if possible).

 

Edit: BTW, anyone who wants to do serious work with the UPDI interface should get the ATtiny417 / ATtiny814 / ATtiny816 / ATtiny817 datasheet Rev. A: http://caxapa.ru/thumbs/709411/A...

This datasheet has some extra information compared to subsequent revisions, in particular the meaning of an extra bit in the ASI_SYS_STATUS register, which is relevant for those that want to make an UPDI programmer.

 

Last Edited: Sat. Feb 10, 2018 - 10:13 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have build a autoprogrammer for Microchip/Atmel Mcus with UPDI,current support attiny412,attiny402,attiny212,attiny202,attiny1614,attiny1604,

attiny804,aitiny414,attiny404,attiny214,attiny204,attiny3216,attiny1616,attiny1606,attiny816,attiny806,attiny416,attiny406,attiny3217,attiny1617,attiny817,attiny807,attiny417

 

How to USE this autoprogramer?

Step1:

  download your app firmware and fuse setting to autoprogramer 

 

Step2:

  Connect your autoprogramer whit target chip, then Power on your autoprogramer, press the PROGRAM Key,then start download ,the res and green led stat binking,when program complish, green led will light.

  

 

If you interest in this project, pls mail to me.