Sonsivri
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
March 29, 2024, 09:45:06 09:45


Login with username, password and session length


Pages: [1]
Print
Author Topic: Professional double layer PCB design + Digital filters on Cortex-A53  (Read 5209 times)
0 Members and 1 Guest are viewing this topic.
biomed12
Junior Member
**
Offline Offline

Posts: 94

Thank You
-Given: 67
-Receive: 5


« on: November 01, 2016, 09:24:02 21:24 »

I have 2 question those are related with different areas.(I am a last class eee student)

1-)I have designed some PCBs with hand made metods until now. But now, I realized that, I need to design more professionally. I selected Eagle Pro for this work. I found a chinese pcb manifacturer to produce my design and who wanted me gerber files of desing. Anyway, Before, I designed all of PCBs without any rules. I didn't care about EMI or other noise elimination metods. I found some documents about it. But I could not select which are imported. Briefly, Is there any recommendation to start professional desinging? Or any documents, web sites, tutorials?

2-)I started to work digital filters this year. I learned some DSP's architecture, some filter algorithms and implemented some digital filters with dsPICs they gives good performance. After during ~5 weeks understanding and implementing term, I leave dsPIC series and start cortex-m4, which gives more serious and powerful platform, to make more serious jobs. I know the difference between a DSP and general purpose CPU basicaly. Some data bus architecture differences and some computational architecture differences... But, I wonder general purpose CPU's performance for filter algoritms. Because, for instance, my intel i5 3210 3.1ghz can make calculation of fourier transform using matlab in short time. Other example, my raspberry pi 3, which have cortex-A53, can run matematica application. Other side, my dsPIC runs at 40 mhz CPU frequency, cortex-A53 runs at 1.2 ghz with 4 core. So, can't I use these CPUs(i5-A53) to run my dsPIC filter algorithm? Very particularly, can't they give same performance although its enhanced architecture? It is not for an any aim just for learning and just wonder. Maybe, I could not understand some concept of "modern" CPUs/DSPs because I generally studied with old books from 2000s years and these tecnologies have developed a lot. Otherwise, information about DSPs and general purpuse CPUs has changed or there is not any precise border between those yet?

Thanks.
Logged
CocaCola
Senior Member
****
Offline Offline

Posts: 482

Thank You
-Given: 169
-Receive: 232



« Reply #1 on: November 02, 2016, 02:11:26 02:11 »

Look over the datasheets and any application notes for the processors, most of the time they will touch upon the most important board layout design criteria...

Beyond that there are plenty of basic routing tutorials that apply pretty universal for digital circuits that can be followed all over the Internet and in books...

Follow those tutorials and hope for the best, even with the best planning tough things can pop up and you won't realize it until you populate and test it you won't know sure if it will work sufficiently...  Over the years I have found the extra investment in a small prototype run (there are several decent low volume hobby (pooling) board companies nowadays) is a good investment before committing to a larger run of boards...
Logged
vern
V.I.P
Active Member
*****
Offline Offline

Posts: 144

Thank You
-Given: 7
-Receive: 41


« Reply #2 on: November 04, 2016, 09:46:13 09:46 »

here is a good book for professional PCB design, http://www.thehighspeeddesignbook.com
It goes pretty deep, but even for a beginner it has some very important hints.
For a beginners approach just go to https://learn.sparkfun.com/tutorials/pcb-basics, maybe you can start there.
Since I don't know what your experience is it is hard to give you the perfect tip!

And your DSP question: A DSP processor is specialized for the task, a regular CPU like i5 can of course do the task as well but with a lot more software and power requirements. A specialized DSP processor will do the work with much less hardware and a lot less power usage.
Logged
biomed12
Junior Member
**
Offline Offline

Posts: 94

Thank You
-Given: 67
-Receive: 5


« Reply #3 on: November 04, 2016, 11:50:25 11:50 »

here is a good book for professional PCB design, http://www.thehighspeeddesignbook.com
It goes pretty deep, but even for a beginner it has some very important hints.
For a beginners approach just go to https://learn.sparkfun.com/tutorials/pcb-basics, maybe you can start there.
Since I don't know what your experience is it is hard to give you the perfect tip!

And your DSP question: A DSP processor is specialized for the task, a regular CPU like i5 can of course do the task as well but with a lot more software and power requirements. A specialized DSP processor will do the work with much less hardware and a lot less power usage.

Dear vem,

I observed your suggestion and I found it perfect for me. I found a lot of documents on google, but i think, much of them are completely garbage. For instance, there are usually no mention about fundamental topics such as top silk, solder mask etc.

Thanks.
Logged
vern
V.I.P
Active Member
*****
Offline Offline

Posts: 144

Thank You
-Given: 7
-Receive: 41


« Reply #4 on: November 04, 2016, 04:20:19 16:20 »

biomed12,

I have done many PCB layouts myself, I know it is a steep learning curve. But for me it is also very satisfying once I have the PCB in my hand and in the end it works like planned! I love those moments. I wish you success with your projects and a lot of fun!
Logged
biomed12
Junior Member
**
Offline Offline

Posts: 94

Thank You
-Given: 67
-Receive: 5


« Reply #5 on: November 04, 2016, 11:49:23 23:49 »

vern,

I also made some pcbs, which were homework or other personal projects, as homemade. But, I feel a bit bored with these long terms and difficult steps. Also, as you know, some packages such as ssop28 and components are not easy for handmade production. In addition, I have almost finished my college. I want to be an embedded system engineer, particularly hardware engineer. So, as you know, handmade metods are not appropriate for professional tasks. Fabricating manifacturing is enough cheaper. Also it is easy. Design it and send gerber files to manifacturer. Due to all of these reason, I want to learn DFM, professional PCB desing rules. How to place components, how to route with maximum optimization, how to prevent EMI etc. So, I wanted to consult to experts of sonsivri such as you.

Thanks.
Logged
Gallymimu
Hero Member
*****
Offline Offline

Posts: 704

Thank You
-Given: 151
-Receive: 214


« Reply #6 on: November 05, 2016, 06:38:59 18:38 »

For professional PCB design a good set of rules and standards to review are IPC standards.

Also spend time looking at the capabilities from different PCB vendors i.e. advanced circuits, pcbway.com and that can give you guidance on what rules should be set for.

As for best practices for pcb design related to EMC, power planes etc.  Read application notes from semiconductor manufactures.  TI has great application notes, especially the stuff they absorbed from Burr Brown when it comes to analog.  They also have good stuff for PCB layout related to power electronics.

This for example is just one of many great guides:
http://www.ti.com/lit/an/szza009/szza009.pdf
Logged
biomed12
Junior Member
**
Offline Offline

Posts: 94

Thank You
-Given: 67
-Receive: 5


« Reply #7 on: November 06, 2016, 10:29:35 10:29 »

Thanks for advices,

So, How can I become introduced with packages. For example, There are a lot of capacitor or resistor packages in Eagle pcb libaries. I have just seen only 3-4 types of resistor. But, there are a lot of details and packages. Is there any recommend for this?

Thanks.
Logged
CocaCola
Senior Member
****
Offline Offline

Posts: 482

Thank You
-Given: 169
-Receive: 232



« Reply #8 on: November 06, 2016, 04:20:32 16:20 »

Thanks for advices,

So, How can I become introduced with packages. For example, There are a lot of capacitor or resistor packages in Eagle pcb libaries. I have just seen only 3-4 types of resistor. But, there are a lot of details and packages. Is there any recommend for this?

Thanks.

I have not used Eagle for quite awhile but there should also be dozens of resistor packages as there are dozens of resistor sizes and different packages that you can source for a design, you simply need to use the package of the part you plan to use in the design...  Some PCB packages are universal to some extent and will work for multiple packages, some manufactures datasheets suggest a pad layout that slightly varies from standard packages and thus many times a board layout company will create a new pad just for that company even though you could probably use a standard pad layout...

There are lots of websites that show various packages with dimensions, so you can get an idea what they look like and how hard they will be to place if you are doing it by hand...  You can also print your board layout and get get and idea for size and scale, and even lay out the components on the print out to see if you left enough room for easy placement...

There is only so much you can learn from tutorials, you are going to have to design boards and make mistakes at some point to learn other aspects...
Logged
vern
V.I.P
Active Member
*****
Offline Offline

Posts: 144

Thank You
-Given: 7
-Receive: 41


« Reply #9 on: November 06, 2016, 09:34:45 21:34 »

my advice: stop reading and start a project.
Something simple, just to get the feeling and to learn what is important and what not.
Do you want to start with SMD components or old fashion through hole?
I would start with SMD components, because newer active components are ALL SMD. For passive components I would not start with the supersmall packages, they are really hard to handle. I would use 1206, 0805 or 0603 packages for resistors and capacitors, those are very common. With 0603 you can still place a trace between the pads, which is good when you want to use only 2 or 4 layers. 1206 is good if you need high capacity ceramic caps or resistors with higher power rating. 0805 is somewhat in between, for example a 22uF / 6V capacitor would be 0805. Just check the schematics and look up the components at Mouser or Digikey, there you can see what packages the have.

If you want to jump into professional PCBs, skip the 2 layer part, if your project has some high speed parts you need a continuous GND layer under your top layer for EMC reasons.
This is the most important thing for a low EMC design: each trace where a current is flowing needs a return path,which should be a close GND trace or plane. Never interrupt the return path, you create the perfect EMC-antenna because the return current has to take a detour around the interruption. No split GND planes!
This is why you need at least 4 layers, because with 2 layers it is really hard to follow that rule.
Depending on your design you could start with 4 layers, Top, GND, VCC, Bottom
If it gets mor complicated you need 6 layers: Top, GND, VCC,Signal, GND2, Bottom, this is what I do mostly. Sometimes it gets to 8 layers.
Hope this helps a little.


Logged
biomed12
Junior Member
**
Offline Offline

Posts: 94

Thank You
-Given: 67
-Receive: 5


« Reply #10 on: November 06, 2016, 11:43:09 23:43 »


I would start with SMD components, because newer active components are ALL SMD. For passive components I would not start with the supersmall packages, they are really hard to handle. I would use 1206, 0805 or 0603 packages for resistors and capacitors, those are very common. With 0603 you can still place a trace between the pads, which is good when you want to use only 2 or 4 layers. 1206 is good if you need high capacity ceramic caps or resistors with higher power rating. 0805 is somewhat in between, for example a 22uF / 6V capacitor would be 0805. Just check the schematics and look up the components at Mouser or Digikey, there you can see what packages the have.


This is definetely what I want to be. You spoke so technically and I want to have this experiment. I don't work with high speed circuits for now. I am producing medical prototypes and maximum of medical signals are just about 500 hz. Maybe, I will work on communicating or defense tecnologies fields later, so, I will keep your advice in my mind.

I started a professional 2 layer pcb design today. I have done many pcb before, but I learned a lot of thing that were unknown for me, with this start. For example, what test points, fiducials, mounting holes makes. When I was making my pcbs with hand, I did not know about these things. Also, I learned what does codes means, like 1206, 0805, 0603 that you mentioned.

As you said, I must start to learn and implement smd packages. I realized that there is no axial packages yet. Every resistor and most capacitor are smd.

@CocaCola
@vern

Learning term is very bad term. I can ask for simply and stupid questions. So, thanks for your invaluable advices.
Logged
Gallymimu
Hero Member
*****
Offline Offline

Posts: 704

Thank You
-Given: 151
-Receive: 214


« Reply #11 on: November 07, 2016, 03:36:10 03:36 »

for footprints try some of this stuff:

http://pcbget.ru/Files/Standarts/IPC_7351.pdf
http://www.ipc.org/ContentPage.aspx?pageid=Land-Pattern-Calculator
https://learn.sparkfun.com/tutorials/designing-pcbs-smd-footprints
Logged
CocaCola
Senior Member
****
Offline Offline

Posts: 482

Thank You
-Given: 169
-Receive: 232



« Reply #12 on: November 07, 2016, 04:17:44 04:17 »

I started a professional 2 layer pcb design today. I have done many pcb before, but I learned a lot of thing that were unknown for me, with this start. For example, what test points, fiducials, mounting holes makes. When I was making my pcbs with hand, I did not know about these things. Also, I learned what does codes means, like 1206, 0805, 0603 that you mentioned.

Sounds like you are a total newbie that has pretty much just bread boarded some stuff...  You might want to at minimum learn the common sized SMD chips and common footprints before you start laying out a board...

As for what 1206, 0805, 0602 means it's the Imperial and/or Metric denotation for common SMD resistors and capacitor sizes...



One thing you will find out quite soon, is that there is still a mix and match of Imperial and Metric measurements that are commonly used in PC board layout, for example don't confuse mils with millimeter... Mils (Imperial 1000th of an inch) is still quite commonly used in PC board layout software and manufacturing talk even though most of the other dimensions are now specified Metric, so pay attention...  Same with components if you need a unique or custom footprint, pay attention to what system of measurement is used by the manufacture...
Logged
Sideshow Bob
Cracking Team
Hero Member
****
Offline Offline

Posts: 972

Thank You
-Given: 230
-Receive: 959



« Reply #13 on: November 07, 2016, 01:21:14 13:21 »

2-)I started to work digital filters this year. I learned some DSP's architecture, some filter algorithms and implemented some digital filters with dsPICs they gives good performance. After during ~5 weeks understanding and implementing term, I leave dsPIC series and start cortex-m4, which gives more serious and powerful platform, to make more serious jobs. I know the difference between a DSP and general purpose CPU basicaly. Some data bus architecture differences and some computational architecture differences... But, I wonder general purpose CPU's performance for filter algoritms. Because, for instance, my intel i5 3210 3.1ghz can make calculation of fourier transform using matlab in short time. Other example, my raspberry pi 3, which have cortex-A53, can run matematica application. Other side, my dsPIC runs at 40 mhz CPU frequency, cortex-A53 runs at 1.2 ghz with 4 core. So, can't I use these CPUs(i5-A53) to run my dsPIC filter algorithm? Very particularly, can't they give same performance although its enhanced architecture? It is not for an any aim just for learning and just wonder. Maybe, I could not understand some concept of "modern" CPUs/DSPs because I generally studied with old books from 2000s years and these tecnologies have developed a lot. Otherwise, information about DSPs and general purpuse CPUs has changed or there is not any precise border between those yet?

Thanks.
You do not need a DSP's architecture to run filter applications. A Raspberry Pi 3 module only would probably have had all the power needed to run your project all day long. And you would probably be done by now. Leaving good time for writing up your report/thesis. As mentioned before. Your biggest problem seem to be that you work very hard to find an easy way out. Using all kind of applications as some sort of a crutch rather than tools. As long as these applications can spit out some pre chewed answers you seem to happy with that. In engineering there are no magic wands just hard work As Albert Einstein one time said "Genius is one percent inspiration and ninety-nine percent perspiration" 
Logged

I have come here to chew bubblegum and kick ass... and I'm all out of bubblegum
biomed12
Junior Member
**
Offline Offline

Posts: 94

Thank You
-Given: 67
-Receive: 5


« Reply #14 on: November 07, 2016, 03:08:08 15:08 »

You do not need a DSP's architecture to run filter applications.

I think you are not serious. If it is true, run a FIR filter with 256taps on PIC18f4550 that also gives you good clock frequency up to 48MHz, Dear Einsteiner. Implement and see the result.

PCB manifacturing technologies are always changing so fast everday. And, while some documents were so good for learning yesterday, they are not validate for today. Also, there are a huge gap between with handmade producing and fabricating producing. While peoples are making a pcb with handmade, they don't makes a solder mask for example. They dont care about top silks and they dont work with so little smd components. Just print the layout with laser printer and implement the pcb with heat, solder components just using solder paste, and fun. But, if you desing a professional layout, you should make a perfect job because manifacturer wants some gerber files from you. As a result, there are a lot of details to learn. And, I don't see any weirdness to ask to having experience people to learn faster. Thanks to other members apart from you and their recommendation documents, I have learned a lot of important details in short term.

I hope, you wont frustrating my topics yet. Again, Everyone is not an Einstein and time is the most important thing. If you want to make a contribution like other valuable members, do it. If you dont, dont it.

THANKS.
Logged
h0nk
Senior Member
****
Offline Offline

Posts: 256

Thank You
-Given: 208
-Receive: 230



« Reply #15 on: November 07, 2016, 05:22:27 17:22 »

Hello biomed12,

http://www.sonsivri.to/forum/index.php?topic=62893.msg180214#msg180214
i wrote:
"for a band pass 0-150 Hz You can use nearly any controller which can do
16 bit additions and multiplications in hardware."
A PIC18f4550 would not fit this.

As a sample exercise i wrote a small c-program with a 256 tap-FIR which was
running on a STM32L053. This is a small ARM-M0+ running at 32 MHz.
I have a template which initializes ADC, DAC, Timer, UART for this device.
The FIR on top took approx. 10 minutes to write from scratch.
Without Interrupts and simple polling of the Timer-status and the ADC-status.

You should also try to write Your FIR from scratch. To gain insight and knowledge.
Then You will see what a DSP can do better and where the bottlenecks are.


Best Regards
Logged
CocaCola
Senior Member
****
Offline Offline

Posts: 482

Thank You
-Given: 169
-Receive: 232



« Reply #16 on: November 07, 2016, 05:46:40 17:46 »

PCB manifacturing technologies are always changing so fast everday. And, while some documents were so good for learning yesterday, they are not validate for today. Also, there are a huge gap between with handmade producing and fabricating producing. While peoples are making a pcb with handmade, they don't makes a solder mask for example. They dont care about top silks and they dont work with so little smd components. Just print the layout with laser printer and implement the pcb with heat, solder components just using solder paste, and fun. But, if you desing a professional layout, you should make a perfect job because manifacturer wants some gerber files from you. As a result, there are a lot of details to learn. And, I don't see any weirdness to ask to having experience people to learn faster. Thanks to other members apart from you and their recommendation documents, I have learned a lot of important details in short term.

IMO you are overthinking at this point...  You are imagining this huge gap that simply does not exist, yeah you can make sloppy low tolerance DIY boards, but you can also make nice high tolerance DIY boards, the same with production runs just because you have having it professionally made does not mean you have to design it differently unless the design dictates so...  As for the solder mask and silk screen they are for most intents cosmetic features so don't dwell on them too much...  The solder mask is almost always generated fully by the software and that is good enough in almost all cases and needs no changes... The silk is just an optional cosmetic option, don't dwell on it, nothing says you have to label the boards any particular way or at all, as you get better you can let your artistic side run wild and do all sorts of niffy stuff with the silk layer (and cosmetic copper layers) but it's not necessary...  Nothing says you have to use smaller or different components if you have a board manufactured, sure you can but if you are going to hand populate smaller is not always better and you very well might find it better to stick to the same sized components you have been using for your DIY boards...  I know for me I would much rather hand populate a board full of 1206 sized components vs a board full of 0402 components any day as long as the project size allows me to use the larger components...
Logged
biomed12
Junior Member
**
Offline Offline

Posts: 94

Thank You
-Given: 67
-Receive: 5


« Reply #17 on: November 07, 2016, 05:58:04 17:58 »

Hello biomed12,

http://www.sonsivri.to/forum/index.php?topic=62893.msg180214#msg180214
i wrote:
"for a band pass 0-150 Hz You can use nearly any controller which can do
16 bit additions and multiplications in hardware."
A PIC18f4550 would not fit this.

As a sample exercise i wrote a small c-program with a 256 tap-FIR which was
running on a STM32L053. This is a small ARM-M0+ running at 32 MHz.
I have a template which initializes ADC, DAC, Timer, UART for this device.
The FIR on top took approx. 10 minutes to write from scratch.
Without Interrupts and simple polling of the Timer-status and the ADC-status.

You should also try to write Your FIR from scratch. To gain insight and knowledge.
Then You will see what a DSP can do better and where the bottlenecks are.

Best Regards


Dear hn0k,

I completed that task, just I wanted to prove his idea that is quoted is false. He said that "You do not need a DSP's architecture to run filter applications". We are talking about same thing.

Thanks.
Logged
Pages: [1]
Print
Jump to:  


DISCLAIMER
WE DONT HOST ANY ILLEGAL FILES ON THE SERVER
USE CONTACT US TO REPORT ILLEGAL FILES
ADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS

... Copyright © 2003-2999 Sonsivri.to ...
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines LLC | HarzeM Dilber MC