|
AM243x MCU+ SDK
08.02.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 #ifdef PROFINET_RGMII_MODE
232 #define PORT_RX_DELAY 374+160 //FIXME : MAC delay needs to be accounted correctly
234 #define PORT_RX_DELAY 220
242 #ifdef PROFINET_RGMII_MODE
243 #define PORT_TX_DELAY 248+160 //FIXME : MAC delay needs to be accounted correctly
245 #define PORT_TX_DELAY 64
254 #define DEBUG_DELAY_N_ITER 200
262 #define DEBUG_SYNC_N_ITER 300
264 #define DEBUG_SYNC_N_ITER 40000
272 #define SYNC_FILTER_SIZE 8
279 #define SYNC_ANALYSIS_N_ITER 100
286 #define SYNC_ANALYSIS_N_RESETS 40
288 #define LATCH0_EVENT 12
337 uint8_t subdomainUUID[16];
404 #define SYNC_SINGLE_ITER_SIZE 200
494 *ptcp_iDelayResp_parsed, uint8_t *ptcp_iDelayResp_packet,
495 uint8_t *ptcp_iDelayFupResp_packet, int32_t w_FUP);
563 uint32_t compensation);
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:310
uint32_t line_delay
Definition: iPtcpUtils.h:315
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:96
#define SYNC_SINGLE_ITER_SIZE
Definition: iPtcpUtils.h:404
#define NUM_DELAYS_SMA
Definition: iPtcpUtils.h:160
void PN_PTCP_syncTimeoutMonitor(PN_Handle pnHandle)
uint16_t * pSeqIdInDelayPacket
Definition: iPtcpUtils.h:364
void PN_PTCP_syncHandling(PN_Handle pnHandle)
uint32_t PN_PTCP_rotUint(uint32_t *input)
#define DEBUG_SYNC_N_ITER
Definition: iPtcpUtils.h:264
uint8_t * pInDelayResPacket
Definition: iPtcpUtils.h:366
#define DEBUG_DELAY_N_ITER
Definition: iPtcpUtils.h:254
void PN_PTCP_portDelaySmaCalc(PN_Handle pnHandle, uint8_t portNum)
uint32_t T4PortRXDelay
Definition: iPtcpUtils.h:304
uint32_t nSyncMissed
Definition: iPtcpUtils.h:335
Definition: iPtcpUtils.h:410
Definition: iPtcpUtils.h:378
uint32_t takeoverTimeoutFactor
Definition: iPtcpUtils.h:331
void PN_PTCP_configureSync0Pin(PN_Handle pnHandle)
uint32_t T4_cycle_ctr
Definition: iPtcpUtils.h:309
uint32_t * pT4TS
Definition: iPtcpUtils.h:358
syncState_t syncState
Definition: iPtcpUtils.h:324
void PN_PTCP_syncPreprocess(PN_Handle pnHandle, uint8_t ctrlByte)
int32_t PN_PTCP_lineDelayCalc(PN_Handle pnHandle, ptcp_iDelayResp_struct_t *ptcp_iDelayResp_parsed)
uint32_t * pT1TS
Definition: iPtcpUtils.h:357
uint32_t syncPllWnd
Definition: iPtcpUtils.h:329
uint32_t T1_cycle_ctr
Definition: iPtcpUtils.h:308
uint8_t * pInDelayFupResPacket
Definition: iPtcpUtils.h:367
Definition: iPtcpUtils.h:392
void PN_PTCP_resetDelayTimings(PN_Handle pnHandle, uint8_t portNum)
uint32_t resDelay_peer
Definition: iPtcpUtils.h:313
uint16_t seqId
Definition: iPtcpUtils.h:300
uint32_t T3PortTXDelay
Definition: iPtcpUtils.h:303
void PN_PTCP_smaDelayMeasurement(PN_Handle pnHandle)
void PN_PTCP_isrHandler(void *arg)
Profinet PTCP ISR handler.
uint8_t * pInDelayResCtrl
Definition: iPtcpUtils.h:368
void PN_PTCP_delayMeasurement(PN_Handle pnHandle)
uint32_t T2PortRXDelay
Definition: iPtcpUtils.h:302
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:305
uint8_t syncRcv
Definition: iPtcpUtils.h:334
uint32_t T4TimeStamp
Definition: iPtcpUtils.h:307
uint32_t T1PortTXDelay
Definition: iPtcpUtils.h:301
float rcf_peer
Definition: iPtcpUtils.h:312
uint8_t * pDelayReqPacket
Definition: iPtcpUtils.h:362
Definition: iPtcpUtils.h:356
Definition: iPtcpUtils.h:346
uint32_t syncTimeoutFactor
Definition: iPtcpUtils.h:330
uint32_t resDelay
Definition: iPtcpUtils.h:311
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:299
uint32_t T2TimeStamp
Definition: iPtcpUtils.h:306
uint32_t * pT4CycleCtr
Definition: iPtcpUtils.h:360
void PN_PTCP_taskSleep(uint32_t mSec)
uint32_t cable_delay
Definition: iPtcpUtils.h:314
Structure containing current sync info.
Definition: iPtcpDrv.h:101
uint8_t firstSyncRcv
Definition: iPtcpUtils.h:333
uint8_t * pDelayResPacket
Definition: iPtcpUtils.h:363
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:323
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:370
int32_t PN_PTCP_modFunc(int32_t num, uint32_t mod)
uint32_t * pT1CycleCtr
Definition: iPtcpUtils.h:359