SLAAEE9 November 2023
Several factors come into play when choosing which pins to utilize for the MSPM0 software LCD implementation in order to simplify layout and software, while also allowing for other functionality that is muxed with the pins.
On the subject of layout, ideally LCD pins are chosen to be grouped together, in order, and on the same side of the chip as the LCD module. These factors minimize signal crossing, and keep LCD pins away from pins used to condition or sample analog signals.
From a software perspective, this solution utilizes the fact that pins can be addressed as a whole port of up to 32 pins at the same time. It also requires that every two segments are adjacent to each other from a port perspective. For example, if you had two SEGy lines, SEG0 and SEG1, they could be assigned to pins PA2 and PA3, respectively, but could not be assigned to PA2 and PA4 as they are not adjacent in the register. The software also assumes that if LCD assigned pins span more than one port, (e.g. PAx + PBx), that there is a clear delineation of SEGy lines between the ports. For more examples, see Figure 2-2. COMx lines from a software perspective, only require all of the COMx line to be on the same port.
From an application perspective, you must also balance which pins to use depending on the functionality you need coming out of the device, such as available communication interfaces, PWMs, or analog features. TI's Sysconfig tool can be utilized to make this job easier.
These factors can make choosing pins for SW LCD usage a challenge on certain packages within the MSPM0 devices, and trade offs may need to be made depending on your application. Please also keep in mind that pins defined as next to each other from a port register perspective (PA2 and PA3) may not be located physically beside each other on a package. On devices with multiple ports, it is possible to have pins physically beside each other be addressed by alternating ports along the package.