We’re going to put PROFINET on our product.
How should we go about it?
Once you’ve figured out what PROFINET features you need to implement on your product, the next question is how those features should be implemented. There are four options, three of which are viable:
- Drop an Application Specific Integrated Circuit (ASIC) on your PCB to handle your PROFINET communications. If you have the real estate available on your PCB for a chip, this might work for you. The downside is that physical chips can be expensive per unit and it’s tough to drive the marginal cost down with volume. The upside is that ASICs tend to be more fully-featured than other implementation options. So if you need to implement PROFINET with all the bells-and-whistles, you have space in your enclosure, and you don’t mind the per-unit cost, this is a great way to go.
- Plug a module into a slot on your PCB. Unlike ASICs, modular solutions typically come as a full network solution, complete with physical cable connectors, magnetics, PHYs, an integrated Ethernet switch, and a chip to handle the PROFINET stack. There is a range of backplane connections available – everything from dual-port memory, to SPI, to the CF card interface. And the great news is that most vendors offer interchangeable protocol implementations that utilize the same backplane connector, so you can offer PROFIBUS, PROFINET, or other protocols with a simple module change.
- Buy source code and implement the stack on your application processor. Software stacks are some of the most common implementations that come through the test lab – they’re one of the most inexpensive ways to implement the protocol in volume. However, they’re also a more complex way (compared to ASICs or modules) to implement PROFINET. Stacks touch a lot of pieces of peripheral software, like the operating system, the IP stack, the nonvolatile RAM… the list goes on. And with each external component you have to interface to the stack, there’s an opportunity to break the protocol. If you choose to implement a PROFINET stack, deeper knowledge is required.
- Roll your own stack. This is listed here for completeness, but 99% of the time this is NOT a recommended option. The PROFINET protocol can be complex, but even after the basic transmit and receive functions are implemented, the integrated diagnostics present yet another level of complexity. You’ve been warned.
With all of that said, here’s a nifty table to summarize the key differences between the implementation types:
Software | Module | ASIC/FPGA | |
---|---|---|---|
Integration Effort | +++ | + | ++ |
Per Unit Cost | + | +++ | ++ |
Time to Market | +++ | + | ++ |
Lifecycle Cost | ++ |
+ Lower | ++ Medium | +++ Higher
Summary
There’s a management truism that’s been floating around for ages:
You can get it fast, good, or cheap. Pick two.
This pertains to PROFINET implementations, too. If you want PROFINET implemented quickly and with a comprehensive feature set, you can drop an ASIC on your PCB. If you want that same feature set at a lower cost, you have to invest the time to implement a stack. The good news is that the market for PROFINET implementations is wide open and well-served by a host of technology providers.
Editor’s note: This article is an excerpt from PROFINETuniversity.com and the PROFINET Developer Workshop offered by the PROFI Interface Center.