| Family | TCC Instances | Channels per TCC |
|---|---|---|
| SAME54/53/51 | TCC0, TCC1, TCC2 | 6, 4, 3 channels |
| SAMC21/20 | TCC0, TCC1, TCC2 | 4, 4, 2 channels |
| SAMD21/20 | TCC0, TCC1, TCC2 | 4, 2, 2 channels |
| Parameter | Description |
|---|---|
| TCC_Instance | Select TCC0, TCC1, or TCC2 |
| Waveform_Mode | Normal Frequency, Match Frequency, or PWM |
| Counter_Mode | Up, Down, or Dual-slope (center-aligned) |
| Enabled_Channels | Array of enabled channel numbers |
| Parameter | Description |
|---|---|
| DeadTime_Enable | Enable complementary output with dead-time |
| DeadTime_Low | Dead-time for low-side (cycles) |
| DeadTime_High | Dead-time for high-side (cycles) |
| Pattern_Enable | Enable pattern generator for BLDC |
| Pattern_Table | Commutation pattern table |
| Input | Description |
|---|---|
| Period | Optional period input |
| Compare 0..N | Compare values (duty cycle) per channel |
| Pattern_Index | Pattern table index (if pattern mode enabled) |
| Output | Description |
|---|---|
| Fault_Status | Fault condition status |
| Overflow_Flag | Counter overflow indicator |
% BLDC motor control with TCC pattern generator:
TCC_Instance = 'TCC0';
Waveform_Mode = 'PWM';
Counter_Mode = 'Dual-slope';
Enabled_Channels = [0 1 2];
% Pattern generator:
Pattern_Enable = 'on';
Pattern_Table = [
% Hall state -> [Ch0 Ch1 Ch2] outputs
0b000000; % Invalid
0b100001; % Hall 001
0b001100; % Hall 010
0b101100; % Hall 011
0b110010; % Hall 100
0b110001; % Hall 101
0b011010; % Hall 110
0b000000 % Invalid
];
% Connect Hall sensor state -> Pattern_Index