cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f7 custom pcb

con3
Senior
Posted on February 27, 2018 at 20:37

Hey everyone,

This is going to be a lengthy post but any help will really be appreciated!!

I'd like to integrate the MCU that I've been using into my final system(i.e no dev board)

I've designed PCB's in the past, but this feels a little more up there, so I just want a few checks

I've read the documentation although this is what I've gathered:

Documents used:

http://www.st.com/content/ccc/resource/technical/document/datasheet/group3/d6/11/13/15/f4/38/49/79/DM00330506/files/DM003305pdf/jcr:content/translations/en.DM003305pdf

http://www.st.com/content/ccc/resource/technical/document/application_note/b0/5c/ba/b2/cb/10/41/dd/DM001645pdf/files/DM001645pdf/jcr:content/translations/en.DM001645pdf

http://www.st.com/content/ccc/resource/technical/document/application_note/b9/9b/16/3a/12/1e/40/0c/CD001675pdf/files/CD001675pdf/jcr:content/translations/en.CD001675pdf

This is an overview of me designing the necessary hardware to get a device up and running. I have a few questions that I laid down in each section. I've split it into the same sections that the ''

http://www.st.com/content/ccc/resource/technical/document/application_note/b0/5c/ba/b2/cb/10/41/dd/DM001645pdf/files/DM001645pdf/jcr:content/translations/en.DM001645pdf

'' application note covers.

Power supplies:

The device needs a supply of 1.8V to 3.6 V.

http://www.analog.com/media/en/technical-documentation/data-sheets/ADM7pdf

.

I'll connect this to all peripheral supplies of the device(sdmmc and usb, etc.), therefore I can ignore the

https://imgur.com/DU8VCWP

I've also followed the following overview of the power supplies for the stm32f722ze:

0690X00000604QbQAI.jpg

And I've added all the specified parallel capacitors and followed the footnotes shown.

Voltage regulator:

https://imgur.com/Tg27zJo

Looking at my technical manual it refers to the pin for activation as

https://imgur.com/vI38DxE

https://imgur.com/fCcFF7p

Power supply supervisor:

I've set the power supply supervisor to be on and plan on using an external battery to run the RTC during low power modes.

Clocks

On startup the device uses the internal 16 MHz clock, after which a external clock (4 - 26 MHZ) can be selected. This will be scaled to 216 MHz using the PLL's within the device.

https://www.digikey.com/product-detail/en/ecs-inc/ECS-2520S33-250-FN-TR/XC2198CT-ND/6578505

for the main clock

Further a LSE clock can also be externally used.This will allow for the RTC to have a very accurate clock/calendar and for other timing functions.

https://www.mouser.co.za/ProductDetail/?qs=sFmtmVcT%2ffvMvdzcXdd8BQ==

Boot mode

For the bootmode, there are a few different sequences shown in the manuals and application note an26

https://imgur.com/plRJ6PI

patterns that can be applied depending on the chip.

https://imgur.com/YSyJwv7

. I'm not sure how to apply this to the board though.

I've read the following section from the ''Getting started with STM32F7 Series MCU hardware development'' application note. It seems that setting pin boot0 to 0V loads from flash and setting pin boot0 loads from flash? I'm not too sure about this though.

0690X00000604QXQAY.jpg

Debug management

To debug the board I plan on implementing the ST link that the nucloes come with.

0690X00000604QRQAY.jpg

It seems that I only need to decouple the jumpers(shown in red) and then use the swd pins shown in green to debug the board. I'll couple the pins shown in green to my custom board.

0690X00000604QWQAY.jpg

Looking at the nucleo-f722ze schematic for the header pins (shown above), I'm assuming I only need the following pins:

pin 2 : T_JTCK (SWCLK)

pin3 : connect to ground

pin 4 : T_JTMS (SWDIO)

Thanks in advance for any help, I really appreciate it

arm-cortex-m7 pcb-assembly pcb-design stm32f7

1 ACCEPTED SOLUTION

Accepted Solutions
T J
Lead
Posted on February 28, 2018 at 00:22

It is a long learning curve. I use Kicad and Visual Studio

The RTC, to make that have any chance of being accurate, you must bake the board after manufacture and coat the capacitors to stop any humidity effects. It is unlikely that you will be able to use the RTC beyond a few days. before the time is incorrect for the next 2 years. I suggest a DS3232 for super accurate RTC.

Which package will you look at ?  144 pin.. good

I use the LQFPs to be sure I can rework the prototypes easily.

Also it offers the cost benefit of a 2 layer board.

otherwise, your steps above look good.

I used a reset chip to avoid all the startup stabilization

View solution in original post

18 REPLIES 18
Posted on February 27, 2018 at 22:47

In addition to the jumpers marked in RED, one should also watch for SWO, NRESET which have common connectivity with the target. Check solder bridges to achieve more complete disconnection.

I would generally recommend using a standard 10-pin SWD connector, or older style 20-pin JTAG (SWDIO, SWCLK, SWO, NRESET subset). The local FAE likes the Tag-Connect system and some of the newer DISCO boards have such foot prints. I like edge castellations over test points.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
T J
Lead
Posted on February 28, 2018 at 00:22

It is a long learning curve. I use Kicad and Visual Studio

The RTC, to make that have any chance of being accurate, you must bake the board after manufacture and coat the capacitors to stop any humidity effects. It is unlikely that you will be able to use the RTC beyond a few days. before the time is incorrect for the next 2 years. I suggest a DS3232 for super accurate RTC.

Which package will you look at ?  144 pin.. good

I use the LQFPs to be sure I can rework the prototypes easily.

Also it offers the cost benefit of a 2 layer board.

otherwise, your steps above look good.

I used a reset chip to avoid all the startup stabilization

Posted on February 28, 2018 at 17:35

Hi

Marsh.Nick

,

Thank you for the help.

I have a few questions on the accuracy of the RTC just to expand my knowledge(if you dont mind). Why would it drift that substantially, I thought choosing a low value for frequency stability would be all that needs to be done? Also why would baking it instead of soldering help with this?

I'll look into the RTC provided, Ideally I'd like to have it have an alarm to trigger events during periods(As I want the device to be triggered every ten minutes between 8 am to 5 pm and then switch to a low power mode), it does seem that a few devices provided integrated alarms.

Just another question. I'm a little lost on the boot configuration. If I'd like to boot from flash, I'm assuming all I need to do is set the boot0 to 0V?

T J wrote:

I used a reset chip to avoid all the startup stabilization

Finally, what exactly would a reset chip be? I know the board has an internal reset, but I'm not sure what you mean by this in terms of the supplies.

Thanks again for the help.

Posted on February 28, 2018 at 18:27

Hi

Turvey.Clive.002

‌,

Thank you for the response,

Clive One wrote:

In addition to the jumpers marked in RED, one should also watch for SWO, NRESET which have common connectivity with the target. Check solder bridges to achieve more complete disconnection.

Are you referring to the SWO,NRESET,etc. that I marked in green on the stlink?

I also have a quick question about the connector. If I use the 10 pin SWD connector:

0690X00000609qjQAA.png

I went through the connections, although it doesn't seem that I can directly connect this to the nucleo-f722ze's st-link? Would I need to design my own link if I plan on using this connector.

I used

http://www.support.code-red-tech.com/CodeRedWiki/HardwareDebugConnections

which seems to cover the majority of the required connection pins and pullups.

Thank you for all the help.

Posted on February 28, 2018 at 18:34

The SWO, NRESET are at the green header AND connect to the TARGET processor on the Nucleo board.

The 10-pin header uses the same signals, it is just a standard rather than one pulled out of the air by ST.

Connects to an standalone ST-LINK, J-LINK or U-LINK, and there are adapters from the standard 20-pin header if that's too big for your application.

https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-20-10/

 
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on February 28, 2018 at 18:43

10-pin SWD connector

0690X00000604CzQAI.jpg

Tag-Connect test points

0690X00000604QgQAI.jpg
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on February 28, 2018 at 19:08

Hi

Turvey.Clive.002

Thank you for the detailed and informative response.

I completely understand the debugger connections now.‌

Posted on March 01, 2018 at 01:36

Hi,

the RTC could be stable, and may not drift, its a matter of 'drift ppm'

the goal is to be accurate. long term.

How often would you want to adjust the clock ? if it was 5 minutes out, you would adjust it...

with the DS3232, it takes two years to be 5minutes out at worst.

the drift comes from the ppm of the crystal and the quality of the caps.

Generally you would put the board through the oven to solder everything as usual. then either immediately after the oven or after a several hours at 40/50C, you must coat the crystal 'capacitors' with conformal coating to lock out the humidity. Humidity will cause the capacitance to slightly change which effects the crystal frequency slightly.

32700000Hz would be great, but its a struggle to get that close. Hence I use the embedded crystal and caps in the DS3232 package for my industrial processes.

________________

Attachments :

Terminal18.jpg : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HxvV&d=%2Fa%2F0X0000000b2L%2FS0dm38DfA.g_pfqMu0BTJlDwjBlX6rKdYfj2agDnqs8&asPdf=false

T18Batt.jpg : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HxsS&d=%2Fa%2F0X0000000b2K%2FSNJL3r_48X4JrDOoYY24W5A62avK5Aw44SzFH_dtLvU&asPdf=false
Posted on March 01, 2018 at 10:37

It looks like you have a pretty good handle on the issues. I would also go with the standard 10 pin debug socket, standards are standards after all. I found that as some peripherals are limited to 50MHz or 100MHz, using a 200MHz clock gave better performance than 216MHz as I could run the peripherals flat out. It doesn't affect your PCB of course.