Custom Microcontroller Design Verification And/Or Advice

Thread Starter

ZCochran98

Joined Jul 24, 2018
29
I'm working on a custom microcontroller design based largely off of NXP's K64 FRDM boards as part of a larger project, and recently (despite the date on the schematic) finished what may be considered "version 1." As a brief background, this board will have a sibling layout embedded into a larger design (same PCB as the larger design), but I need to make sure that my design would actually work as intended before wasting time trying to embed the design into something else. Would someone be willing to take a look at the attached schematic and either say if the design will work correctly or not, or give advice to some basic improvements? I've never designed a custom microcontroller; only used pre-existing ones, so I want to make sure my design is correct before I try to do an "official" PCB layout. If it helps, the "intended purpose" of it is simply to have as much I/O as possible while being able to be programed via SWD/JTAG or USB (the USB may or may not work properly for that - I'm not sure at the moment).

As a warning, the schematic, in some places, is mildly messy as the pinout of the microprocessor is a bit weird, but that's largely because I don't think KiCAD had the MK64 ARM4 chips in its library, so I had to find NXP's model library for it, and instead of an easy-to-read schematic symbol, they had the pins literally in the order they appear on the chip (so that means I have voltage sources connecting to basically every side instead of an easy-to-read row of connections, like I've seen on other processor schematics....) Eagle may have the chip built in, but at this point too much of the project has been done in KiCAD to change over to Eagle.

In any case, I would greatly appreciate any help or advice anyone can provide! Even some pointers to some resources would be appreciated.
 

Attachments

PaulNewf

Joined Mar 24, 2020
10
1) This review is slipped in between work so isn't indepth at all.
2) I'm not going to dig through datasheets, put some comments on the schematic saying what the various blocks are would help my review and future users to understand the circuits.
3) Copy and edit the schematic symbol, modify the pin names to indicate function assignments (i.e. PTE0_Spare, VOUT33_TestOut, etc.), and move the pins around so they are grouped by function or target circuit block. The symbol designer had no idea of your pin assignments so made a generic symbol.
4) If you can't edit with your package then try a more recent CAD package. Personally I've found DipTrace to be awesome, reasonable cost or free for smaller designs, intuitive, easy to make new parts, easy to remember even when don't use for months/years.
5) J11 Power input would be better if flowed left to right. Its not always reasonable to have flow from left to right but this block is easy.
6) The connector symbols should have a rectangle around them to show they are a single part. If you are using individual pins then stop and create a real library part that you can use again. Saved time as once proven you can trust the footprint.
7) D1 D3 D4. This has AC protection on a DC signal, consider instead something like QSBT40 or SDA004.
8) LED1 common 1K will vary brightness when multiple LEDs lit, better to put three 1K on the MCU side of the LED package.
9) Is J1 USB input or Output? What is FL2? I hope some current limiting/protection device? Rating? (I'm not digging for datasheets)
10) Consider changing to a USB-C connector for newer designs, the USB-C cables are becoming standard (Unless this is only for a USB FlashStick?)
11) J1 add 100nF (0.1uF). The 10uF is great, though some designs need a 100uF6V cap to handle the hit of hot insertion. Note to use Caps just above required voltage as if Voltage far from working voltage the C's specs may vary significantly. See the C's real datasheet.
12) Not much C on J11 input at 3V3 or 5V. Suggest adding 10uF6V on each.
13) It is good to parallel a 100nF||10uF or 1uF||100nF, they each have different ESR which means they each filter different frequency ranges.
14) What is D2,R1,R3? Again it is good to annotate the schematic. You might know what this all is today, but in the future the reasoning behind the component and circuit choices won't be so obvious. Easy to annotate right now, even in a tiny font.
15) Y1 - Ensure very close to MCU with short traces and ground fill to minimize noise.
16) Decoupling C's? I see at least 5 pairs of +/- on the MCU but I don't see a 100nF for each pair. The Decoupling C's need to be tight to the MCU footprint to ensure short loop antenna of the power circuit through them (Low noise out) and to reduce MCU noise output to other parts of the circuit. As the decoupling C is moved away from the MCU the loop antenna of (MCU + C - back to MCU) is enlarged, increasing both the trace resistance and the size (RFI, EMI, EMC...) causing more noise effects. The high speed digital switching impulses in the MCU are fed first from the Decoupling caps, with only the smoothed low noise power coming from further away.
17) Analog: Is there any Analog (ADC inputs)? If yes then Analog power circuit may need to be separated from DC power, often by low value resistors (10R ~ 100R) on + and - feeding to yet another decoupling cap then into MCU. Cheaper to add it now than to have to redo the board. You can always put in 0R jumper resitors like on your crystal circuit.
18) J10 may need decoupling cap and other protection on Power signal.
19) I've never used this MCU family, all of above is generic feedback for most any MCU circuit.

Paul
 

Thread Starter

ZCochran98

Joined Jul 24, 2018
29
Thank you very much for taking time to give thorough feedback (even though you say it's "not in-depth," it's still quite a bit!) While I've worked with pre-existing MCUs, I've never designed one myself, so any assistance is very much appreciated, even if it is, as you put it "generic feedback." I'll take your advice and recommendations and see what I can do with them.

In the meantime, I think I found a new functional block for the MK64, so I'll see if I can import that into the schematic for my own use, so that should at least clean up the schematic quite a bit, though I likely won't be posting the new schematic up here.

Thanks again!
Zac
 
Top