|
AM64x MCU+ SDK
08.00.00
|
|
Go to the documentation of this file.
54 #define PRU_IEP_COUNT_REG 0x0C
61 #define PRU_IEP_CMP_CFG_REG 0x40
68 #define PRU_IEP_CMP1_REG 0x4C
75 #define PRU_IEP_SYNC_PWIDTH_REG 0x110
82 #define PRU_IEP_CAP_CFG_REG 0x10
139 #define PTCP_ENABLE_FILTER
146 #define ISR_PTCP_NUM 24
153 #define ISR_PTCP_NUM_ARM 124+32
160 #define NUM_DELAYS_SMA 7
167 #define NUM_DELAYS_BURST 5
174 #define PTCP_NUM_PORTS 2
181 #define MAX_SEQID 61435
188 #define PTCP_DELAY_REQ_LEN 60
195 #define MAX_CTR_VAL 512
202 #define INTER_DEL_REQ_GAP 200000000
209 #define INTER_DEL_REQ_GAP_MS 205
217 #define INTER_DEL_REQ_BURST_GAP_MS 8205
224 #define SYNC_INTERVAL 30000000
231 #define PORT_RX_DELAY 184
238 #define PORT_TX_DELAY 86
245 #define DEBUG_DELAY_N_ITER 200
253 #define DEBUG_SYNC_N_ITER 300
255 #define DEBUG_SYNC_N_ITER 40000
263 #define SYNC_FILTER_SIZE 8
270 #define SYNC_ANALYSIS_N_ITER 100
277 #define SYNC_ANALYSIS_N_RESETS 40
285 #define EDMA3_ECAPEVT0_CHA_NUM (38U)
292 #define EDMA3_ECAPEVT0_LINK_CHA_NUM (39U)
299 #define EDMA3_CLEAR_ECAP_CHA_NUM (40U)
306 #define EDMA3_CLEAR_ECAP_LINK_CHA_NUM (41U)
313 #define EDMA3_SYNC0_RETRIGGER_CHA_NUM (42)
320 #define EDMA3_SYNC0_RETRIGGER_LINK_CHA_NUM (43)
327 #define EVT_QUEUE_NUM (0)
330 #define ISR_LATCH_NUM 27
331 #define LATCH0_EVENT 12
334 #define ISR_LATCH_NUM_ARM 27
335 #elif defined SOC_AM437X
336 #define ISR_LATCH_NUM_ARM 27 + 32
338 #define ISR_LATCH_NUM_ARM 27 + 32
388 uint8_t subdomainUUID[16];
455 #define SYNC_SINGLE_ITER_SIZE 200
545 *ptcp_iDelayResp_parsed, uint8_t *ptcp_iDelayResp_packet,
546 uint8_t *ptcp_iDelayFupResp_packet, int32_t w_FUP);
614 uint32_t compensation);
void PN_PTCP_setEcapClrEdmaPaRamEntry(void)
int32_t PN_PTCP_parseInDelayResp(ptcp_iDelayResp_struct_t *ptcp_iDelayResp_parsed, uint8_t *ptcp_iDelayResp_packet, uint8_t *ptcp_iDelayFupResp_packet, int32_t w_FUP)
int32_t PN_PTCP_parseSyncFields(PN_Handle pnHandle, volatile ptcpSyncInfo_t *ptcp_sync_parsed, uint8_t *sync_sblock)
void PN_PTCP_start(PN_Handle pnHandle)
Triggers the start of ptcp protocol Should be called from stack after initialization It only controls...
uint32_t reqDelay
Definition: iPtcpUtils.h:361
int32_t PN_PTCP_syncSubdomainCheck()
uint32_t line_delay
Definition: iPtcpUtils.h:366
void PN_PTCP_reset(PN_Handle pnHandle)
reset relevant data on start or sync timeout
struct PN_Config_s * PN_Handle
Alias for Profinet Handle containing base addresses and modules.
Definition: PN_Handle.h:92
#define SYNC_SINGLE_ITER_SIZE
Definition: iPtcpUtils.h:455
#define NUM_DELAYS_SMA
Definition: iPtcpUtils.h:160
void PN_PTCP_syncTimeoutMonitor(PN_Handle pnHandle)
uint16_t * pSeqIdInDelayPacket
Definition: iPtcpUtils.h:415
void PN_PTCP_syncHandling(PN_Handle pnHandle)
uint32_t PN_PTCP_rotUint(uint32_t *input)
#define DEBUG_SYNC_N_ITER
Definition: iPtcpUtils.h:255
uint8_t * pInDelayResPacket
Definition: iPtcpUtils.h:417
#define DEBUG_DELAY_N_ITER
Definition: iPtcpUtils.h:245
void PN_PTCP_portDelaySmaCalc(PN_Handle pnHandle, uint8_t portNum)
uint32_t T4PortRXDelay
Definition: iPtcpUtils.h:355
void PN_PTCP_setIepEdmaPaRamEntry(PN_Handle pnHandle)
uint32_t nSyncMissed
Definition: iPtcpUtils.h:386
Definition: iPtcpUtils.h:461
void PN_PTCP_reconfigEcap(PN_Handle pnHandle, int32_t period)
Definition: iPtcpUtils.h:429
uint32_t takeoverTimeoutFactor
Definition: iPtcpUtils.h:382
void PN_PTCP_configureSync0Pin(PN_Handle pnHandle)
uint32_t T4_cycle_ctr
Definition: iPtcpUtils.h:360
uint32_t * pT4TS
Definition: iPtcpUtils.h:409
syncState_t syncState
Definition: iPtcpUtils.h:375
void PN_PTCP_syncPreprocess(PN_Handle pnHandle, uint8_t ctrlByte)
void PN_PTCP_initEcap(PN_Handle pnHandle)
int32_t PN_PTCP_lineDelayCalc(PN_Handle pnHandle, ptcp_iDelayResp_struct_t *ptcp_iDelayResp_parsed)
uint32_t * pT1TS
Definition: iPtcpUtils.h:408
uint32_t syncPllWnd
Definition: iPtcpUtils.h:380
uint32_t T1_cycle_ctr
Definition: iPtcpUtils.h:359
uint8_t * pInDelayFupResPacket
Definition: iPtcpUtils.h:418
Definition: iPtcpUtils.h:443
void PN_PTCP_resetDelayTimings(PN_Handle pnHandle, uint8_t portNum)
uint32_t resDelay_peer
Definition: iPtcpUtils.h:364
uint16_t seqId
Definition: iPtcpUtils.h:351
uint32_t T3PortTXDelay
Definition: iPtcpUtils.h:354
void PN_PTCP_smaDelayMeasurement(PN_Handle pnHandle)
void PN_PTCP_isrHandler(void *arg)
Profinet PTCP ISR handler.
uint8_t * pInDelayResCtrl
Definition: iPtcpUtils.h:419
void PN_PTCP_delayMeasurement(PN_Handle pnHandle)
uint32_t T2PortRXDelay
Definition: iPtcpUtils.h:353
int32_t PN_PTCP_cableDelayCalc(PN_Handle pnHandle, ptcp_iDelayResp_struct_t *ptcp_iDelayResp_parsed, uint8_t port)
void PN_PTCP_triggerMeasurement(PN_Handle pnHandle)
uint32_t T1TimeStamp
Definition: iPtcpUtils.h:356
uint8_t syncRcv
Definition: iPtcpUtils.h:385
uint32_t T4TimeStamp
Definition: iPtcpUtils.h:358
uint32_t T1PortTXDelay
Definition: iPtcpUtils.h:352
float rcf_peer
Definition: iPtcpUtils.h:363
uint8_t * pDelayReqPacket
Definition: iPtcpUtils.h:413
Definition: iPtcpUtils.h:407
Definition: iPtcpUtils.h:397
uint32_t syncTimeoutFactor
Definition: iPtcpUtils.h:381
uint32_t resDelay
Definition: iPtcpUtils.h:362
void PN_PTCP_resetDelayValues(PN_Handle pnHandle)
void PN_PTCP_ClockChange(PN_Handle pnHandle, uint32_t cycleTime)
Handles the clock (IEP CMP0) change scenario.
void PN_PTCP_init(PN_Handle pnHandle)
Initializes the PTCP data structure and memory for PTCP pre-formatted packets.
int32_t PN_PTCP_adjCtrDiff(PN_Handle pnHandle, int32_t ctrDiff)
Definition: iPtcpUtils.h:350
uint32_t T2TimeStamp
Definition: iPtcpUtils.h:357
void PN_PTCP_configEdma(PN_Handle pnHandle)
uint32_t * pT4CycleCtr
Definition: iPtcpUtils.h:411
void PN_PTCP_taskSleep(uint32_t mSec)
uint32_t cable_delay
Definition: iPtcpUtils.h:365
Structure containing current sync info.
Definition: iPtcpDrv.h:101
uint8_t firstSyncRcv
Definition: iPtcpUtils.h:384
uint8_t * pDelayResPacket
Definition: iPtcpUtils.h:414
syncState_t
Enum for the various sync states.
Definition: iPtcpDrv.h:72
int32_t PN_PTCP_absVal(int32_t num)
int32_t PN_PTCP_enableIsr(PN_Handle pnHandle)
uint16_t PN_PTCP_rotUshort(uint16_t *input)
int32_t PN_PTCP_setupIsr(PN_Handle pnHandle)
void PN_PTCP_processDelayResponse(PN_Handle pnHandle, uint8_t portNum)
Definition: iPtcpUtils.h:374
void PN_PTCP_syncIepAdjustment(PN_Handle pnHandle, int32_t ecapPeriod, uint32_t compensation)
#define PTCP_NUM_PORTS
Definition: iPtcpUtils.h:174
ptcpPortStatus_t
Enum for enable/disable states.
Definition: iPtcpDrv.h:61
uint32_t * pSmaLineDelay
Definition: iPtcpUtils.h:421
int32_t PN_PTCP_modFunc(int32_t num, uint32_t mod)
uint32_t * pT1CycleCtr
Definition: iPtcpUtils.h:410