Skip to main content
Visitor II
February 27, 2018
Solved

stm32f7 custom pcb

  • February 27, 2018
  • 3 replies
  • 3369 views
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

    This topic has been closed for replies.
    Best answer by T J
    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

    3 replies

    Graduate II
    February 27, 2018
    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.

    con3Author
    Visitor II
    February 28, 2018
    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.

    Graduate II
    February 28, 2018
    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/

     
    T JAnswer
    Visitor II
    February 27, 2018
    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

    con3Author
    Visitor II
    February 28, 2018
    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.

    Explorer
    March 1, 2018
    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.

    con3Author
    Visitor II
    March 3, 2018
    Posted on March 03, 2018 at 11:10

    Good day

    Sedlacek.Oliver

    ,

    Thank you for the recommendations, I think the peripherals I'm using run at 108 or 216, but I'll definitely double check.

    I'm still a little confused about the boot pins though.

    I read the ref manual and app note an2606 but I feel like I'm missing something. This forum post seems to round off my understanding.

    https://community.st.com/0D50X00009XkYDuSAN

    The answer given by

    Centauris.Alpha

    seems to imply that the boot pins allow you to program the flash through a peripheral(uart/spi,etc) if its blank. And if using JTAG/SWD to program there's no reason to worry about the boot pins?

    /external-link.jspa?url=https%3A%2F%2Felectronics.stackexchange.com%2Fquestions%2F336677%2Fdo-i-really-need-to-put-stm32-microcontroller-into-bootloader-mode-to-program-it

    .

    My understanding was setting the boot pins, sets where you program the device(SRAM/Flash and an address in this memory location) through SWD/JTAG or a peripheral. If Im using SWD, do I need to worry about the boot pin at all?

    After this the question will be fully answered, thank you for all the help. I really appreciate it.

    Explorer
    March 3, 2018
    Posted on March 03, 2018 at 12:19

    I can't quite remember how we came to the decision but on my project I ended up just tying the boot pin low. I don't think the inbuilt bootloader was any use because we were downloading application firmware over Ethernet.