Good morning guys, I'm new to this and I have the task of upgrading to an industrial automation system (PLC type) in real time based on an ARM CORTEX M0 (LPC1224FBD64 from NXP).
The system uses 2 RS485 communication channels but it will also be necessary to implement an IRED communication system. The new hardware will have about 55 ports. I will have to decide if we move to M0 + but we also don't want to use chips with more than 64 pins.
Are there any suggestions for the chip to use? Is it worth switching to M0 +?
Have you reviewed the feature set of the CM0 vs the CM0+? There is a comparison table here: developer.arm.com/.../cortex-m
Pin count-wise, they are not significantly different and both implement the Arm v6M architecture. If this for industrial applications like you note then the fast I/O port may be a useful upgrade. Again, I'd recommend reviewing the comparison table and seeing where you might benefit from the new features on the CM0+. Note, the code from the CM0 would be binary compatible with CM0+ so at least from a development perspective you'd be starting from a mature standpoint seeing as they are part of the same v6M architecture.
Mahesh said:Pin count-wise, they are not significantly different
Pin count has nothing to do with the core architecture
Mahesh said:the fast I/O port
Is that part of the core ?
Another thing to bear in mind is that some features are optional - so you will have to check what is actually implemented on specific chips.
In general, the choice is likely to be driven far more by the (manufacturer-specific) peripheral set (and other features) than the core itself.
Just a clarification on the I/O port - it's part of the core design. However, as Andy pointed out you'd need to check the features actually implemented by the board vendor.
Mahesh said:the I/O port - it's part of the core design
Which "I/O port", exactly, are you referring to?
The GPIOs which connect to physical chip pins are manufacturer IP, surely?
EDIT
Ah - you mean this: https://developer.arm.com/documentation/ddi0484/c/Functional-Description/Interfaces/Single-cycle-I-O-port
https://microchipdeveloper.com/32arm:samd21-iobus-overview
So that is what may (optionally) be used by the chip manufacturer to connect the core to their own GPIO IP.
Exactly Andy! Thanking you for putting up the block diagram.