Re: My hat is off to Microchip and their CEO!

Refurbished LEDs? LOL! Microchip's always been a cool company, but a s**te MCU architecture. Sorry, Microchip. I'll use your DACs though!

Reply to
a7yvm109gf5d1
Loading thread data ...

Maybe you don't understand the benfits of MH architecture.

Reply to
Swanny

Tell me what they are. (Genuine question) thanks

Reply to
Nik Rim

Yawn.

Reply to
a7yvm109gf5d1

Briefly, the Modified-Harvard architecture used in the PIC devices separates the program memory from the data memory, in other words separates the ROM/FLASH program memory from the RAM. In the case of the PIC, the program memory bus width is larger than the data memory bus width, allowing transfer of the complete instruction op code in fewer cycles (many instructions take only 1 cycle).

The PIC peripheral bus (ie that accessible through external pins) uses the same bus as the data memory and hence is also isolated from the program memory. From a security perspective this allows sensitive data (such as encryption keys etc) to be stored in program memory and be completely inaccessible from the outside (provided the fuses are blown after programming). The Microchip devices are particularly good in this respect.

Reply to
Swanny

thanks Swanny, that makes sense.

Reply to
Nik Rim

[...]

Yes, but there's more to to a uC core then choosing between Harvard or Von Neumann. I think most of the PICs quirks come from the other decisions made.

The PIC (up to 16 bit cores anyway) is an accumulator architecture - you have to funnel everything through the W register. AVRs for instance have 32 registers which is nowhere near as clunky. The PIC has dedicated memory for the Stack and is a PITA to save/restore local variables. PICs have fun issues with banking and paging (not so much in the 16 bit core thankfully). Personally, I think the most annoying thing about programming PICs in assembly are the btfsc (test a bit in 'file', skip the next instruction if it's clear) and btfss (same thing but skip if set) instructions. Why they couldn't just call these ifbit and ifnbit, I don't know :-)

Back to the OP, great job Microchip on the video. It's a nice contrast to TI, who recently sent misleading DMCA notices to people who tried installing after-market OSs on their graphics calculators (

formatting link
)

Cheers,

A;

Reply to
Al Borowski

Going with accumulator model allowed Microchip to make the processor with fewer transistors. It is a trade off that can break either way. If you have a limit on the chip size you can make a higher performance processor that is harder to program.

[....]

Does ifbit mean skip if the bit is set or do the instruction if the bit is set?

I still prefer the 8051. It is way better. [ducks]

Reply to
MooseFET

Just like with AVR, practically everything 1 cycle except branches.

M
Reply to
TheM

formatting link

So do I. The 8051 family was/is great.

But I found the varients of 8051 I used were obsolete on more than one occassion causing problems. I'm still sourcing SAB80C517 at silly prices for example.

I first used the PIC for very low cost apps around 1990 and found that there was always an upgrade path which didn't obsolete my designs.

Secondly Microchip always have product available. I recall one rep trying to convert me to the ST6. Then he said ST are behind on production and delivery was 4-6 months.

There are better micros than the PIC from an engineering perspective but they are hard to beat from a production view point.

Reply to
Raveninghorde

formatting link

I'm using one from SiLabs, right now. Last 8051 project I did was back in the early 1980's. (Still have a box of about 100 80C32 chips in perfect shape.) For this app, I needed a much faster floating point ln(x) function (achieved under 18 microseconds) and found myself spending some time coding assembly on it. No question in my mind that this processor was designed with hand-coded assembly in mind, though. Very easy to use efficiently for a human coder, though I do have to check the book often to see if a particular instruction supports a particular mode of access, yet just the kind of thing to seriously complicate a compiler's life.

I gather that Atmel has an AT89 line that includes an external bus and so does SiLabs. Not sure how either of these would score on not obsoleting designs, though.

Yes. I've been using PICs since the late 1980's.. just around the very month that Parallax entered the public fray. Nobody likes the bare-bones ALU design for the smaller-width instruction families -- it's design guts lay out on the floor, plain to see. But Microchip has maintained a very serious commitment to upgrade pathways over the entire time I've been involved (just after they decided to move beyond the "million unit rice cooker customer" days and place them into a broader marketplace. I couldn't have guessed then how strong that commitment would be. But they seem to well know what is important and they have clearly (to me) worked very hard to _earn_ the respect they have gained. And it's been so on almost every good business front.

One begins to realize after experiencing such a company's commitment to their customers, if that realization isn't already at hand, just how relatively unimportant an instruction set is to all these other business factors.

Well, Microchip has had their days with delays (the wait for the

18F252 from using the 18C252 comes to mind) but they have tended to be shorter than longer delays.

In all the time I've used them, they have consistently maintained a solid professional use pathway that simply doesn't break. I have old tools that they no longer make (ProMate II) and yet they still support it without question or quibble. If I have so much as a flaky power switch they want me to send it in and fire off a replacement with shipping included for the "bad" one, so that I don't even miss a single second of use. Same for the modules that plug into it. Their tools are supported, decades it seems after they don't sell them anymore. That takes commitment on their part.

I find wringing of hands over the instruction set to be relatively badly placed. There are a lot more important things to focus on and on those areas Microchip has done a yeoman's service across the board.

Obviously, I use other manufacturers too. It's _very_ hard to find a

1MHz 16-bit SAR ADC anywhere in Microchip's monolithic cpu fold, for example. But none of have compared quite as well on the business issues over the years.

Jon

Reply to
Jon Kirwan

Also when looking for a long term investment in micros you may have to consider the companies viability. Microchip are essentially the only micro manufacturer actually making monay and doing quite well at present. All the others are losing money hand-over-first and some are in a very bad state. All the fanboys scream Atmel, but they haven't made a cent since they started, and are probably the most unstable in terms of long term viability.

Dave.

--
---------------------------------------------
Check out my Electronics Engineering Video Blog & Podcast:
http://www.eevblog.com
Reply to
David L. Jones

I will turn this question around on its head in a moment. Your point is made, but there is another view, too.

I place this at the feet of the quality of their business managers and their clear recognition of the right priorities in forging lasting business relationships. I am sure that there are excellent technical resources developing microcontroller products at all of the other businesses. Perhaps just as good as found at Microchip -- I simply can't compare them because I'm not informed about it. But I do know how they operate their business model. And I have been little other than impressed with it. So while I'm sure that poor technical quality would kill them (so I'm sure they do have good technical resources), so also would a poorly arranged set of priorities in their business design. And their competition, from my experience, do not come very close, sad to say. Almost to a company, though they differ in the reasons why I think they hang themselves on some point or another.

I would tend to imagine this would give them a clue. Standing on the outside as a consumer of these kinds of products, I have no question at all why Microchip is doing well. It's actually pretty easy to see why they are successful. They are committed to a mutual relationship in business and they actually _work_ at earning their respect, day in and day out. They just don't slip up on this.

If they do fail, it will only be because the entire field is in a nose dive. Not because they didn't get the business issues right.

I don't know much about Atmel. I developed one commercial product using their AT90S2312, I think. From start to finish, it took me 4 days to write it and the experience was excellent during the process because I never needed to actually call for any support from Atmel and the part worked well. Later, when considering an AT91 from Atmel's French arm, experiences turned significantly sour because I did have to involve them. And that's the last time I considered using Atmel for professional use -- I still like them for personal projects where I know in advance I'm not depending on them for anything serious.

I tend to imagine that it is Atmel's own fault for ordering it's business priorities wrongly. At least that's a consistent theory from my short experience with them. I would have NO problem specifying an Atmel part for some hobbyist project. But that's about where I draw the line. And just perhaps, others have also learned from experiences not unlike my own. Perhaps they are paying the piper, now. But I can't say. Might be for entirely different reasons.

Love your web site, when I get time to enjoy it!

Jon

Reply to
Jon Kirwan

formatting link

8051s, in several performance varieties (parallel one-clock to the original serial 12-clock ALU), are now available as FPGA soft cores. Obsolete chip? Just synthesize. Haven't quite figured out why I want to buy FPGA fabric to do an 8051, though. ;-)

I don't see much use for the larger PICs. We're using a PIC-24 but it's more than overkill and just too weird.

Reply to
krw

On Oct 30, 2:09=A0pm, Jon Kirwan wrote: [.. was PIC now 8051s ..]

Just one? One of my designs is about to go into production with two F120s clocked at nearly 90MHz. One of them is just about fully busy. The other has many microseconds to spare.

Do you really need true floating point? do you really need ln() or would log2() do? 18 microseconds seems a little slow.

Doing log2() of a 32 bit floater can be fairly quick if you don't care much about how much code space you use.

Real men code in assembly anyway.

Reply to
MooseFET

I'm clocked at 24MHz. Which is fine enough. I think it's about 422 SYSCLKs. At 90MHz, that would be more like 4.5 microseconds. But I'm not there.

It's running on 24MHz, not 90MHz, for one thing. And it needs 20 precision bits in the result with an input value possessing a good 30 bits (the compiled result of thousands of other measurements.)

Well, I'm good already. Plus, it is custom-tailored to the job.

I think better programmers are well experienced in using assembly and will use it as appropriate, taking into account the tasks and clients. Lacking such experience is the loss of a significant mental and practical toolset that could otherwise be brought to bear on problems. That doesn't mean every application gets coded entirely in assembly.

Jon

Reply to
Jon Kirwan

Not really. Most of the cost for designing a product goes into the firmware. If you use PIC and want to switch to another platform you'll quickly learn that porting C code from or to PIC is almost impossible for any real piece of firmware*. If you start out with say Renesas H8, TI's MSP430 or any ARM flavor you'll find exchanging C code between those is very easy.

  • I know the pheripherals are different. Hardware drivers are least of the problem though.
--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
                     "If it doesn\'t fit, use a bigger hammer!"
--------------------------------------------------------------
Reply to
Nico Coesel

But don't the 10xx, 12xx, and 16xx PICs take 4 clocks per instruction cycle? AVRs only take 1 clock per instruction (with the usual exceptions).

-- James Arthur

Reply to
dagmargoodboat

This is the kind of gotcha you need to know about in advance when deciding what architecture to use.

Reply to
Mark Harriss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.