Designing a PCB for 100MHz cortex MCU

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

Hello,

 

i have design probably 50+ successful pcbs whit 8 bit AVRS and 32 bits Cortexes so far, always utilising external 8, 10, 50... or some other value MHz crystal. Now i have to design a circuit for cortex mcu that runs at 100MHz and i find myself lost on how to do it, since most crystals dont even go that high, is there another way of doing it or someting? Are there some ICs specifically made to provide higher(100, 140, 300MHz) frequencys for this high preformance MCUS(cortex m4 and higher)?

This topic has a solution.

Last Edited: Thu. Mar 15, 2018 - 11:59 AM
This reply has been marked as the solution. 
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Klemko wrote:
cortex mcu that runs at 100MHz and i find myself lost on how to do it, since most crystals dont even go that high

Have you read the datasheet of said "cortex mcu" ?

 

In most cases, these very high clock rates are achieved internally by multiplying the oscillator frequency - with a PLL or such like. They do not have a 100MHz crystal!

 

 

EDIT

 

add "internally"

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Thu. Mar 15, 2018 - 09:50 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

You should start with a dev board and go from there. Apart from having a known good design, most ,if not all, come with an onboard debugger.

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

Kartman wrote:
You should start with a dev board and go from there.

+99

 

most ,if not all, come with an onboard debugger.

In Atmel-speak, that means an XPlained-Pro or Mini or Nano

 

 

The Product Page for the chip in question will show the available options ...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
Have you read the datasheet of said "cortex mcu" ?

Atmel datasheets usually have a "PCB Design Checklist" (or similar) section.

 

Sometimes it is a separate document - again, see the Product Page for the chip in question.

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

I have been tinkering a bit with an ARM Cortex -M3 (ST32F103xxx) aka "blue pill". The "blue pill" boards have an 8MHz crystal, and with software coniguration they pump it up with an internal PLL to 72MHz, or more if you dare to overclock. These chips also have a whole distribution network for the clock. Different peripherals can be run at different speeds to tune your power consumption versus performance curve.

As far as I know all ARM uC's have this kind of PLL's build in. Microchip's XMega's also have something similar I believe (haven't used them myself).

 

I am wondering why you ask for some clock IC before looking at the datasheet and/or general configuration of such a chip.

There a lot's of different clock driver & distribution IC's "out there" to make higher frequencies out of a single crystal, but I doubt you will need such a chip.

The PLL circuitry you need tends to be integrated in the uC you choose.

Chips like these are not "just faster uC's" they have quite a lot of additional internal complexity.

If I combine that with your other questions, such as relatively basic questions about a LM317 then I also recommend to stick with pre-made development board.

You can find a nice collection of ARM development boards on https://os.mbed.com/platforms/

For Microchip's forum on ARM related uC's I reccomend: http://www.at91.com/

 

==========================

Edit: I was thinking about "1000MHz" here, not "100MHz". The links below are probably more than you need or want.

If you want to have a detailed look at a design of a GHz class SBC then I highly recommend https://www.olimex.com

Olimex designes and sells such boards based on the Allwinner line of chips.

Olimex also has a lot of the complete designs of their boards on Github.

Some probably in Eagle format, others in KiCad format.

On the http://kicad-pcb.org/made-with-kicad/ website there is a direct link to the github repository of the A64 Olinuxino.

 

For this class of computers you probably also want an OS. Possibly linux. In https://www.avrfreaks.net/comment/2421791#comment-2421791

I've given some links to a recent overview (2018-02-xx)  of 103 different linux capable boards.

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

Last Edited: Thu. Mar 15, 2018 - 11:35 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Paulvdh wrote:
ST32F103xxx ... have a whole distribution network for the clock. Different peripherals can be run at different speeds

Similarly for Atmel Chips - using the "Generic Clock" (GCLK) scheme

 

Quote:
I am wondering why you ask for some clock IC before looking at the datasheet and/or general configuration of such a chip.

Indeed.

 

 

EDIT

 

fix quote

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Thu. Mar 15, 2018 - 11:06 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks all. The project is already up and running for couple of weeks now on Xplained SAM 4E and now i am designing a custom PCB whit only the bits and pins i need.

 

awneil wrote:

In most cases, these very high clock rates are achieved internally by multiplying the oscillator frequency - with a PLL or such like. They do not have a 100MHz crystal!

 

 

Thanks awneii for explaining this part.