Multiple PUCCH message formats have been defined in the specification:
Format 1, 1a and 1b
Format 2, 2a and 2b
Each PUCCH message format location is different and derives from the different parameters receives from system information, rrc connection setup and rrc connection reconfiguration. Please find the high level details of these formats when these formats are used.
Format 1 : This format is used when UE does not have uplink resources and it has data to send in uplink.
Format 1a: Used to send HARQ ACK/NACK for SISO
Forma 1b: Used to send HARQ ACK/NACK for MIMO. 2 bits are used to send HARQ ACK/NACK for 1 Carrier component (CC) and 4 bits are used in case of 2 Carrier component.
Format 2: It is used to send CSI i.e channel state information. It uses 20 bits to send this information.
Format 2a: It is used to send CSI + HARQ ACK/NACK for SISO.
Format 2b: It is used to send CSI + HARQ ACK/NACK for MIMO with 1 CC.
Format 3 : It is used to send HARQ ACK/NACK for 5 carrier components (CC). It uses 10 bits to send HARQ ACK/NACK and 1 bit for SR.
Please correct me if my understanding in not right.