Barebones E70 connections

Discussions around product based on ARM Cortex M7 core.

Moderator: nferre

thejayman77
Posts: 3
Joined: Thu Jul 28, 2016 2:48 pm

Barebones E70 connections

Fri Jul 29, 2016 12:54 am

Hello, hopefully someone might be able to shed some light on my problem.

I recently received a ATSAME70N21A chip, and soldered everything up onto a 100 pin breakout board. I double-checked all connections under my loupe and tested the power connections with my continuity tester to be sure they were making proper contact (Never hurts to double check .5mm pins lol). At any rate, I have everything hooked up according to what I understand from the datasheet, but can't get the chip to respond to either JTAG or SWD programming.

From what I read, I supplied 3.3v to VDDIN and VDDIO pins (Only 1 VDDIO as they all share the same power from what I can see, though I did try all pins at some point in my trial/error). From there, I used VDDOUT to supply VDDCORE, VDDPLL, and the VDD for the USB (I can't think of what the pin name is offhand, but they stated in the datasheet that they should all be the same voltage -- roughly 1.2v). I had initially thought 1.2v was wrong until I check the power characteristics in the datasheet as well, and confirmed that's the correct output of the onboard LDO. I added capacitors on the VDDOUT -> VDDCORE and VDDIN lines as outlined in the datasheet as well.

No matter what I try, I can't get the chip to respond to a programmer. I've tried using my Arduino Zero with EDBG connector to do the programming (It comes up in Atmel Studio as a programmer for JTAG/SWD). I then also tried OPENOCD on my Raspberry Pi 2 without any success either. To ensure OPENOCD was working on the RasPi, I flashed the bootloader on the Zero from it without any problems. I wasn't sure if the Zero could actually be used as a programmer, so I wanted to test the RasPi path before exhausting my options.

Does anyone know if any other connections are required to get a barebones chip to function to the point of being able to be recognized by any programmer? I know sometimes capacitors can make or break a custom board, so perhaps I'm missing a decoupling capacitor or something that someone might know of offhand.

Please let me know if you have any additional questions to help out any further. I'd really like to do some testing with this chip, but can't event get to the "Hello world" LED blinking that I like to start off with on any new chip.

I checked for application notes, but they don't give any specific instructions from what I can see. I recently soldered up an EFM32 module, but they also offer a basic schematic for a prototyping setup which was easy enough to follow.

Thanks in advance for any help!!
Ragnar
Posts: 7
Joined: Thu Jun 23, 2016 2:33 pm

Re: Barebones E70 connections

Fri Jul 29, 2016 11:18 am

Unfortunately, my hardware knowledge is rather limited, but I can tell what I picked up along the way.
And as I realized, this forum is not really heavily frequented ...

As a reference, I would compare the design with working boards, both in schematics and layout. I have a working SamE70XPlained, you might use the documentation available online.
I know the HW design of such monsters is not easy. The higher the (possible) core clock frequency, the higher the current requirements, and the more critical the supply path becomes. Not sure if Atmel has an appnote with layout recommendations for their SamX70 MCUs, but it might worth searching for.
At least I know this is a topic with other MCUs (also Cortex M of other vendors), and I came across very similar issues on forum threads.

Another option is to try access via the SAM-BA bootloader mode, using UART0. You can consult the datasheet - I didn't have to go that route yet (with the SamE).

Additionally, you might try to reduce the JTAG/SWD clock frequency of the pod you are using. I had to do this sometimes for some "unwilling" boards. At least my preferred toolchain (Crossworks) offers a simple interface for that settings.

Not sure if the EFM32 compares well to the Samx70 - the former is trimmed towards low power, and clock frequencies + current draw requirements about one magnitude lower.

BTW, is the current draw in the expected range ?
thejayman77
Posts: 3
Joined: Thu Jul 28, 2016 2:48 pm

Re: Barebones E70 connections

Fri Jul 29, 2016 10:30 pm

Hi Ragnar,

Thanks for reading/replying to my post; much appreciated!

I finally got things working out with the chip (Or, at the very least, I can interact with it now). Come to find out that the Zero doesn't seem to provide a programming interface outbound, or it requires more installed than I had with my current setup. I did, however, get the chip to talk to OpenOCD using an STM32 Discovery kit in ST-LINK mode. I was able to list out the memories and write a program to it (Though, sadly, I didn't get an LED to light up yet.. next steps lol).

It turns out that towards the end of the datasheet, there is a basic requirements schematic with a description of the necessary pins and their connections. I ended up needing to use 12+ caps on the various pins, though I'm probably sure I could've gotten away with fewer just for testing purposes.

I did notice some peculiarities with the LDO regulator that's built into the chips. At some point, it started putting out more than 1.23v for some reason, and the chip was heating up quite nicely. In the end, power cycling the chip got the regulator to produce the standard voltage and kept the chip cool again. Not sure what that was all about, but I was swapping programmers like crazy so it's probably something I did to it and its life expectancy. :-)

At any rate, if anyone else is in a similar situation, check the end of the datasheet for the schematic. For the E70N21, it started on page 1814. They have one schematic for using just the one input and onboard regulator, and another for using a separate power supply for the VDDCORE/etc. pins (Some are powered by 1.2v, whereas others are powered by 3.3v).

Sorry to be so long-winded, just a lot of stuff going on with this chip as you had mentioned.

Now off to get an LED to light up; then I'll be happy!
Ragnar
Posts: 7
Joined: Thu Jun 23, 2016 2:33 pm

Re: Barebones E70 connections

Mon Aug 01, 2016 9:27 am

Great to hear it helped somehow.
As said, I'm not a hardware guy, that's why I chose the XPlained eval board. My hardware projects use to end up on veroboards (which means DIL package ...).
Now off to get an LED to light up; then I'll be happy!
This is an interesting topic, too.
Tried AtmelStudio and I'm not really impressed (with the VS GUI, and being bound to Windows as host).
But it's approach to projects and examples is somehow peculiar. It comes with lots of examples, but all are packed into an opaque archive, which makes browsing a torment. Only if you open/create an example projects, it's source is unpacked and copied to the source folders, with just the stuff you need, and nothing else. At least, it worked fine for some starter projects.
I ended up downloading the whole ASF source, unpacking it, discarding the UC32, ATMega/XMega stuff, and using it with my favourite toolchain. Not too much documentation it's structure, unfortunately.
thejayman77
Posts: 3
Joined: Thu Jul 28, 2016 2:48 pm

Re: Barebones E70 connections

Wed Aug 10, 2016 12:57 am

Sorry for the late reply, I've been somewhat absorbed in getting all the peripherals figured out on the E70 since we last spoke.

I've managed to get the major peripherals functioning (I2C, SPI, PWM, etc.), but had a few hurdles along the way. To start, I wasn't able to get my LED working without first changing the bit to allow for flash loading as opposed to ROM loading. That one took me the better part of a day to obtain through reading the datasheet. Once I got that working, I moved into getting the UART functionality so I can start reading registers and such. From there, everything else falls into place somewhat systematically though not everything works out as intended.

I built a second board with an S70 (64 pins this time), and extended out the TWIHS1 peripheral to a couple pins (Which happen to be on B4/B5). I couldn't get that to work for anything until I skimmed the datasheet (Searching for B4). I found a section that stated that B4/B5 defaulted to JTAG interface pins upon reset and needed to be changed in the Bus Matrix registers to allow for GPIO use instead. Once I did that, I2C worked like a charm. It's things like that that seem to make things a little more difficult. Sometimes I lose a little hope, then resort to reading, which normally helps find the answer.

I've been using the ASF examples along with scouring the registers in the datasheet to find a happy medium between the two. The ASF documentation could use better explanation as could the datasheet (It would've been nice for them to point out the B4/B5 discrepancy without having to search around to find the cause of TWIHS1 not working). They could also use better examples to help people get up to speed with using the peripherals. It's not that difficult once it's working, but getting it to work can sometimes be a hassle.

I also found that the onboard RC oscillator doesn't work too well with PWM. It took an external 16MHz crystal to get things to function correctly without having any frequency drift. Maybe it's because I minimized the connections on my S70 board, but again, it would be nice for that to be pointed out somewhere besides extreme trial an error. At some point, I felt as though I was wasting too much time getting something trivial to function correctly.

I've come a long way at this point, but still have far to go. I'm trying to tackle each peripheral on the datasheet list one at a time. Should be fun to get the timers sorted out right. :-)

Sorry to ramble as usual, just trying to share some insight that I've gained so far.

Return to “SAM Cortex-M7 MCU”

Who is online

Users browsing this forum: No registered users and 1 guest