Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
zaphod Regular Member Joined: 03/06/2018 Location: United KingdomPosts: 93
Posted: 01:28pm 22 Sep 2018
Copy link to clipboard
Print this post
Recently I have been considering replacing some if not all the functionality of micro-controllers with fpga's or cpld's to avoid the ongoing frustration with peripherals that don't do what it say's on the tin, in particular pwm's. My applications are generally low cost and as a toe in the water job I certainly dont want to spend £££ on expensive tools.
If anybody else is thinking of this here is my list of potential devices.
poida Guru Joined: 02/02/2017 Location: AustraliaPosts: 1432
Posted: 07:05am 09 Oct 2018
Copy link to clipboard
Print this post
I'm interested in the issues you have found with the microcontrollers. Not so much to mount a defense for them but to see what can not be done and if there are workarounds possible.
Going to fpga means a huge learning curve for me, but the potential payoffs from exact and determinable outputs, and speed (oh, how I love speed) lead one on to consider this path.
I have found that the simple Arduino/ATmega 328 is ideal for my uses. Once I turn off timer0 and be always mindful of any arduino library calls I may make. It runs like clockwork for me when I choose the above and I use the Arduino bootloader/IDE for ease of use. I could go the Atmel Studio/ISP programmer route if needed, and I have in the past.
My views for a better/faster/more capable gizmo dev board is a microcontroller and fpga board. These exist. But right now I don't need to go that way yet.
Xilinx Zynq come to mind. https://www.aloriumtech.com/xlr8/ too.
wronger than a phone book full of wrong phone numbers
zaphod Regular Member Joined: 03/06/2018 Location: United KingdomPosts: 93
Posted: 01:37pm 09 Oct 2018
Copy link to clipboard
Print this post
In general the problem with micro controller pwm's is when you use the "advanced" features they don't do what they say! For example the Microchip advanced pwm error recovery doesn't work nor does the output override. The STM32 cannot drive half bridges. None of the PIC PWM's can work at a low incremental frequency and rarely have an external clock input and/or it is limited in frequency range and on top of that they generate glitches under certain circumstances. Sadly just about any project I have conceived in the last few years has been hampered by micro controller pwm's not doing what the spec says.
As for your proposed solutions they do not fit my criteria, either being BGA packages or $75++ that I do not consider economic, sorry.
I am sure Arduino may be an adequate solution for many but I have no experience of it, generally I write in assembler and require 10Mips+ with a 1Mhz+ ADC together with as many op-amps and comparators as I can get in the integration (of a single chip) so I may be an isolated case! I have looked at ARM and found the instruction set very slow and to many alternative ways of doing the same thing for sane programming, also the peripheral interface data is scattered and poorly documented, best left for people programming in high level languages using hardware abstraction layers, definitely not for me! Cheers Roger 1Kwp DIY PV + Woodburner + Rainwater scavanger :)