Meet the engineer: Dominic Plunkett on Compute Module 5

In the latest issue of The MagPi magazine, editor Lucy Hattersley speaks to Senior Principal Hardware Engineer Dominic Plunkett about how the pieces of the Raspberry Pi Compute Module 5 puzzle came together. Read their conversation to learn more about the design process and the sort of products companies are building with CM5.

The MagPi: What’s changed between CM4 and CM5?

Dominic Plunkett: CM5 takes all of the goodness of Raspberry Pi 5 and puts it on the Compute Module. So we’ve got the BCM2712 Broadcom processor used on Raspberry Pi 5. We’ve got our I/O processor, RP1. That’s a whole extra chip on the board compared with CM4, and so that required a lot of effort to get it on there. 

I’d set myself the challenge that the central processor wouldn’t move, so that anyone who has used a CM4 with any sort of heatsinking would be able to use the same setup with CM5. That gave me a huge challenge to try and get the RP1 on the board – for weeks it was hanging off the edge of the board, but eventually I managed to squeeze up the bits and get all the electronics on there correctly. 

Want to make your own modified CM5 I/O board? Install KiCad, download the design files, and get cracking!

Compute Module 5 is basically a Raspberry Pi 5 without the connectors, so what’s stopping you from just taking Raspberry Pi 5 and sort of snipping off the bits of the PCB with the connectors on?

I can do exactly that, but it won’t be as small. Compute Module is significantly smaller than Raspberry Pi 5, and we also wanted to add things like on-board eMMC, so there’s extra technology to squeeze into the same area as Compute Module 4. In theory, yes, all you’re doing is cutting off the connectors, but there’s a lot of work to make that happen correctly. 

So the challenge is to keep the same form factor as CM4? 

Yes. It was possible to change the form factor, but that was something that I didn’t want to do, because that potentially affects backward compatibility. You could probably change form factor in small ways that won’t affect many people, but the second you make a change, you’re going to affect somebody. 

Apart from the physical change in the shape of the heatsinking of the main processor, it is basically the same form factor. Some of the parts have moved on the board, but they shouldn’t affect end users.

But electrically, there have had to be some changes, because you’re trying to add new features. So there are some differences which means that it’s not 100% compatible. But for most people it will be a drop-in replacement, and we’re already seeing that people are using it within setups that were designed for CM4 with no problems. 

We’ve added new features such as USB 3.0 that won’t work when CM5 is plugged into a carrier board designed for CM4, because CM4 didn’t have USB 3.0. That’s life. 

If you want something 100% compatible, stay with CM4; CM4 is still in production and will remain in production for a number of years – 2030-something, and it may well be that we extend it beyond that so it remains available. 

So if a manufacturer wants to get the USB 3.0 functionality out of Compute Module 5, they either have to upgrade to the new carrier board, or design their own electronics, right? 

Indeed. The Compute Module is designed for people who want to design their own board. My main aim for both CM4 and CM5 was to absorb as many of the bits that you need into the CM module, so all you need to do is put connectors on your board. So if you look at the Compute Module 5 IO Board, there is very little on there apart from connectors. We’re not talking difficult electronics on there. And that was the whole aim. We do the CM5 IO Board in KiCad, which is a freely downloadable CAD system, and the design files for the CM5 IO Board are freely available, so you can take the files, delete the bits you don’t want, move things around however you want, and design your own board. 

What were the challenges in shrinking the functionality of Raspberry Pi 5 onto the CM5 shape? 

It was the density, and it was getting RP1 onto the board – RP1 is actually a small chip, but as a proportion of the board, it’s made the electronics quite a bit denser.

So getting it onto the board sensibly was hard because there’s a lot of I/O – it’s our I/O chip, so there’s the USB 3.0 pairs that come out of there. There’s the MIPI pairs; the Ethernet comes out of it via a PHY. And then there’s all the PCIe to get into it, and all the GPIO to come out of it. So that area of the board is very dense, and it took a long time to be able to work out how to make it all fit. 

The CM5 itself is now a ten-layer circuit board (Raspberry Pi 5 has six layers). So there’s ten layers of copper inside it, with quite a lot of ground planes, because all of these high-speed signals like USB 3.0 and PCIe have to be electrically matched on the circuit board. So you’ve got to do some quite accurate routing of the traces to make sure you get good signal integrity across the board.

The edge of the RP1 chip, which is on the end of the board, has all the USB 3.0 signals coming off. They can’t come out because there’s no board space, so they have to go down into the board and then be routed on an inner layer of the board. And so that’s quite dense at that corner of the board. And then you’re routing them on the inner layers. And you’ve also got the MIPI pairs in another layer, and then you’ve got Ethernet on the bottom layer. So there are a lot of signals trying to cross each other and route out and take up the same sort of space, and so you’re just trying to keep everything in three dimensions correctly spaced apart with the correct copper reference planes in the board there. 

It took a while to work out with our board manufacturers just how it was going to work. And in the end, we actually made the circuit board 40 microns thicker than CM4 to make all the electric impedances correct. That extra thickness then allowed me to get the next part of the puzzle solved. 

It’s a big puzzle-solving exercise that just requires a lot of juggling and a lot of looking at and working on it. It’s quite a dense little circuit board, this; it’s complex, but once you’ve sat at it for a couple of weeks, you start to you get a feel of where things are happening, where things are dense… I usually concentrate on the hard bits first, so I’ll do a bit, then I’ll get to a point where I think, ‘Oh, I’m pretty sure I know how that area is going to route out now.’ So then I’ll go and do the next hardest bit, and I’ll come and finish that off once I’m sure I can get all the hard bits done, because if I can’t get the hard bits done, then I have to make a decision of what to change.

Was there anything that you were forced to leave off in the process of shrinking the goodness of Raspberry Pi 5 into the smaller size of Compute Module 5? 

Very early on, we had an internal discussion about some of the signals, because we’ve got the 200-pin connectors and we knew we were going to have to change some signals there, as some of the signals don’t exist in the new world. So that freed up some pins. But then we had more signals that we wanted to put on the pins than there were pins available, and we had to decide what features were going to be included. So Raspberry Pi 5 has two USB 2.0 ports on the right-hand side, and they got left off. There was no signal space for those two USB 2.0 ports, so they don’t exist on CM5.

Some people will find that they would like some extra USB ports, but we have to balance and try and get a good product for everybody, and not just one person or one group of people. So the key thing is to make sure it’s good for a number of people, and there was a good level of backwards compatibility for our main customers as well. 

You’ve got more USB overall available than you had on CM4. So CM4 had four MIPI ports, but Raspberry Pi 5 onwards only supports two MIPI ports. So that frees up two MIPI ports that we could reallocate for USB 3.0. And that’s exactly what we did.

So if you do plug a CM5 into a CM4 board, and you use one of the MIPI ports, then that can no longer be used for one of the cameras and one of the displays. But that’s life. We have to make some choices. And yes, those choices will be hard for some people, and I fully acknowledge that some people will find the choices that we made were not right for them. But as I say, CM4 is still available, and CM4 was obviously the right product when they designed their product around the CM4 board. It’s not going to become obsolete. But a lot of people will find that they can just drop in CM5 and get more processing performance.

If you have the on-board eMMC, that is significantly faster. So that’s faster than an SD card, and that’s significantly faster than the on-board eMMC that CM4 had. So we’ve made some other improvements as well. There’s more memory available – in future there’ll be a 16GB version.

There’s no 1GB version any more – if someone came along with an order for a few million of them I’m sure we’d consider it, but at the moment there isn’t going to be a 1GB version. In part that’s the inevitable march of progress. It’s also that we already have loads of products on the books, and we have to be rational and not overload ourselves with loads of different products that are just going to sit in inventory. 

Where are Compute Modules turning up? What sort of products are companies building with them? 

They get into all sorts of places because they are small, efficient compute power for people. And it becomes easy just to add your own I/O to your system, and you get all the goodness of Raspberry Pi. And because it uses the same software, you can do all your development on a Raspberry Pi 5 in advance of creating your custom board. 

Read The MagPi #149

You can grab the new issue right now from Tesco, Sainsbury’s, Asda, WHSmith, and other newsagents, including the Raspberry Pi Store in Cambridge. It’s also available at our online store, which ships around the world. Plus you can get it via our app on Android or iOS.

Last but not least, you can subscribe to the print version of The MagPi. Not only do we deliver it globally, but people who sign up to the six- or twelve-month print subscription get a FREE Raspberry Pi Pico W!

The post Meet the engineer: Dominic Plunkett on Compute Module 5 appeared first on Raspberry Pi.



from News - Raspberry Pi https://ift.tt/8hR2ZD3

Comments

Popular Posts