FlexRay Transport Layer (FrTp)
Provides segmented data transmission over FlexRay (ISO 10681-2).
Funktionen — Übersicht
void FrTp_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information.void FrTp_Init (const FrTp_ConfigType* configPtr);This service initializes all global variables of a Flex Ray Transport Layer instance and set it in the idle state.void FrTp_Shutdown (void);This service closes all pending transport pro tocol connections by simply stopping operation, frees all resources and stops...Std_ReturnType FrTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType FrTp_CancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType FrTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);Request to change a specific transport protocol parameter (e.Std_ReturnType FrTp_CancelReceive (PduIdType RxPduId);Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.Std_ReturnType FrTp_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size...void FrTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void FrTp_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.void FrTp_MainFunction (void);Schedules the Flex Ray TP.
Typen — Übersicht
struct FrTp_ConfigTypeThis is the base type for the configuration of the Flex Ray Transport Protocol A pointer to an instance of this structure will...
Funktionen & Typen — Detailansicht
função FrTp_GetVersionInfo [SWS_FrTp_00215] 📄 PDF
void FrTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information.
função FrTp_Init [SWS_FrTp_00147] 📄 PDF
void FrTp_Init (const FrTp_ConfigType* configPtr);
This service initializes all global variables of a Flex Ray Transport Layer instance and set it in the idle state. It has no return value because software errors in initialisation data shall be detected during configuration time (e.g. by configuration tool ).
A função síncrona FrTp_Init inicializa todas as variáveis globais de uma instância da camada de transporte FlexRay e a coloca em estado de repouso [SWS_FrTp_00147]. Como parâmetro de entrada, é passado via configPtr um ponteiro para a configuração do protocolo de transporte FlexRay (const FrTp_ConfigType*) [SWS_FrTp_00147]. A interface é declarada por meio do cabeçalho FrTp.h com o ID de serviço 0x00 [SWS_FrTp_00147].
Em relação ao comportamento interno e ao tratamento de erros, aplicam-se as seguintes determinações:
- Depois que a camada de transporte tiver sido inicializada com sucesso pela chamada de
FrTp_Init, o módulo FrTp transita para o estado internoFRTP_ON[SWS_FrTp_01032]. - A função não possui valor de retorno (
void), pois erros de software nos dados de inicialização já devem ser detectados durante a fase de configuração, por exemplo, por uma ferramenta de configuração [SWS_FrTp_00147].
Em relação à concorrência, o serviço está especificado como não reentrante (Non Reentrant) [SWS_FrTp_00147]. Uma chamada paralela ou múltipla desordenada é, portanto, inadmissível. Interpretação: A chamada provavelmente ocorre tipicamente de forma centralizada no âmbito da inicialização da ECU antes do uso dos serviços regulares de transporte. Pergunta Q-9b7cf7fc6dac510e (aberta)
Esta nota de uso foi gerada automaticamente com base nos requisitos de especificação do AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função FrTp_Shutdown [SWS_FrTp_00148] 📄 PDF
void FrTp_Shutdown (void);
This service closes all pending transport pro tocol connections by simply stopping operation, frees all resources and stops the Fr Tp Module
A função síncrona FrTp_Shutdown encerra a operação do módulo do protocolo de transporte FlexRay (FrTp) [SWS_FrTp_00148]. Ao ser chamado, o serviço fecha imediatamente todas as conexões de protocolo de transporte ainda pendentes mediante a interrupção da operação, libera todos os recursos ocupados e para o módulo FrTp completamente [SWS_FrTp_00148].
Em relação à especificação da interface e ao comportamento, aplicam-se as seguintes propriedades:
- Assinatura e cabeçalho: a função está disponível através do arquivo de cabeçalho
FrTp.h, possui o service ID0x01, não espera parâmetros e não fornece valor de retorno (void) [SWS_FrTp_00148]. - Concorrência:
FrTp_Shutdowné especificada como não reentrante (Non Reentrant) e deve ser executada de forma síncrona [SWS_FrTp_00148]. Uma chamada concorrente ou múltipla em paralelo é, portanto, inadmissível. - Transição de estado: através da execução bem-sucedida da primitiva de serviço
FrTp_Shutdown(), o módulo FrTp transita para o estado internoFRTP_OFF[SWS_FrTp_01036].
Como o serviço fecha as conexões pendentes simplesmente interrompendo a operação, as transmissões em andamento provavelmente devem ser abortadas imediatamente e sem mensagem de conclusão separada. Pergunta Q-35555515f521d0c3 (aberta)
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função FrTp_Transmit [SWS_FrTp_00149] 📄 PDF
Std_ReturnType FrTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
Utilização e semântica
A função síncrona FrTp_Transmit solicita a transmissão de uma PDU por meio do módulo da camada de transporte FlexRay [SWS_FrTp_00149]. Por meio do parâmetro TxPduId, é passado o identificador da PDU a ser transmitida, enquanto PduInfoPtr aponta para os dados úteis, metadados e o comprimento [SWS_FrTp_00149]. Caso uma transmissão deva ser iniciada com um comprimento de mensagem ainda desconhecido para a camada superior, FrTp_Transmit deve ser chamado com o valor de parâmetro PduLength = 0 [SWS_FrTp_01064]. O aceite da solicitação de envio é confirmado de forma síncrona com E_OK; se a solicitação não puder ser aceita, a função retorna E_NOT_OK [SWS_FrTp_00149].
Concorrência e disponibilidade de canal
A função é reentrante para chamadas com diferentes IDs de PDU, mas não é reentrante para o mesmo identificador TxPduId [SWS_FrTp_00149]. Além disso, a execução requer um canal de transmissão livre: se nenhum canal estiver disponível porque o estado não está em idle (FrTpTxChannelState ≠ Idle), a função aborta e retorna E_NOT_OK [SWS_FrTp_01041].
Tratamento de erros
Se a interface de desenvolvimento para detecção de erros estiver ativa, FrTp_Transmit valida os parâmetros transmitidos:
- Se for passado um
TxPduIdnão suportado ou inválido, o serviço aborta comE_NOT_OKe reporta o erro de desenvolvimentoFRTP_E_INVALID_PDU_SDU_ID[SWS_FrTp_01040], [SWS_FrTp_01139]. - Se o ponteiro
PduInfoPtrfor inválido, o erroFRTP_E_PARAM_POINTERé reportado e a execução também é abortada comE_NOT_OK[SWS_FrTp_01140].
Este texto foi gerado por uma IA com base na especificação AUTOSAR.
Guia do implementador em breve (complexidade I1)
função FrTp_CancelTransmit [SWS_FrTp_00150] 📄 PDF
Std_ReturnType FrTp_CancelTransmit (PduIdType TxPduId);
Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.
A função de serviço síncrona FrTp_CancelTransmit solicita o cancelamento de uma transmissão de PDU em andamento em um módulo de comunicação subjacente [SWS_FrTp_00150]. A transmissão a ser cancelada é endereçada por meio do parâmetro de entrada TxPduId [SWS_FrTp_00150].
Comportamento dependente do estado e valores de retorno
O comportamento durante o cancelamento depende do estado atual da conexão:
- Se a solicitação de envio estiver pendente, mas a transmissão em si ainda não tiver iniciado,
FrTp_CancelTransmitlibera a conexão imediatamente [SWS_FrTp_00385]. - Se a transmissão já estiver em andamento, a função interrompe o processo de envio e confirma o cancelamento bem-sucedido com o valor de retorno
E_OK[SWS_FrTp_01116]. - Se a conexão não estiver ativa ou se a última N-PDU de uma transmissão não confirmada já tiver sido encaminhada para o FrIf, o cancelamento falha e a função retorna
E_NOT_OK[SWS_FrTp_01116].
Tratamento de erros e simultaneidade
Se a deteção de erros de desenvolvimento (Development Error Detection) estiver ativada para FrTp_CancelTransmit, a função verifica a validade do parâmetro TxPduId. Se essa verificação falhar, o erro de desenvolvimento FRTP_E_INVALID_PDU_SDU_ID é reportado e E_NOT_OK é retornado [SWS_FrTp_01141].
A função é reentrante para chamadas com diferentes IDs de PDU, mas não deve ser executada concorrentemente para a mesma TxPduId [SWS_FrTp_00150].
Esta nota de uso foi criada automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I2)
função FrTp_ChangeParameter [SWS_FrTp_00151] 📄 PDF
Std_ReturnType FrTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);
Request to change a specific transport protocol parameter (e.g. block size).
A função síncrona FrTp_ChangeParameter serve, de acordo com [SWS_FrTp_00151], para a solicitação de alteração de parâmetros específicos do protocolo de transporte em tempo de execução. Por meio do parâmetro id, a PDU afetada é referenciada, enquanto parameter passa o identificador do parâmetro e value o novo valor. Em caso de adaptação bem-sucedida, a função retorna E_OK; caso contrário, a solicitação de alteração é rejeitada com E_NOT_OK [SWS_FrTp_00151].
Especificamente, este serviço é utilizado para modificar em tempo de execução parâmetros da PDU de FlowControl para o controle de largura de banda (BandwidthControl, BC) conforme a ISO 10681-2 [SWS_FrTp_00242]. Isso diz respeito:
- ao parâmetro
FrTpSCexp[SWS_FrTp_00242], - ao parâmetro
FrTpMaxNbrOfNPduPerCycle[SWS_FrTp_00242].
No lado do transmissor, uma PDU de FlowControl adicional disparada por isso é recebida como N-PDU inesperada e ignorada [SWS_FrTp_00242].
Tratamento de erros
Se a detecção de erros de desenvolvimento (Development Error Detection) estiver ativada para a função, são realizadas verificações formais de parâmetros:
- Verificação do identificador da PDU
id: se o valor for inválido, a função reporta o erro de desenvolvimentoFRTP_E_INVALID_PDU_SDU_IDe retornaE_NOT_OK[SWS_FrTp_01143]. - Verificação do parâmetro
parameter: se o identificador for inválido, a função reportaFRTP_E_INVALID_PARAMETERe retornaE_NOT_OK[SWS_FrTp_01144].
Simultaneidade e restrições
A função é especificada como não reentrante (Non Reentrant) [SWS_FrTp_00151]. Os chamadores devem, portanto, assegurar que as chamadas ocorram sequencialmente; provavelmente, é necessária uma sincronização externa no caso de acessos a partir de diferentes tarefas. Pergunta Q-fe82be70448a3e0b (aberta)
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I1)
função FrTp_CancelReceive [SWS_FrTp_01172] 📄 PDF
Std_ReturnType FrTp_CancelReceive (PduIdType RxPduId);
Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.
A função síncrona FrTp_CancelReceive solicita o cancelamento de uma recepção de PDU em andamento na FlexRay Transport Layer [SWS_FrTp_01172]. Ela está disponível por meio do cabeçalho FrTp.h e permite interromper de forma direcionada uma operação de recepção ativa.
Parâmetros e valores de retorno
Como parâmetro de entrada, é passado RxPduId do tipo PduIdType, pelo qual a PDU a ser cancelada é identificada de forma unívoca [SWS_FrTp_01172]. Não existem parâmetros adicionais de entrada ou saída. A função retorna um valor de status do tipo Std_ReturnType:
E_OK: o cancelamento da recepção da PDU foi executado com sucesso pelo módulo de destino [SWS_FrTp_01172], [SWS_FrTp_01183].E_NOT_OK: o módulo de destino rejeitou a solicitação de cancelamento [SWS_FrTp_01172].
Simultaneidade e restrições
A função é classificada como não reentrante (Non Reentrant) [SWS_FrTp_01172]. Os chamadores devem, portanto, assegurar que não ocorram chamadas paralelas ou aninhadas, a fim de evitar inconsistências no gerenciamento interno do estado da PDU.
Esta nota de utilização foi gerada automaticamente com base na especificação.
Guia do implementador em breve (complexidade I1)
função FrTp_TriggerTransmit [SWS_FrTp_00154] 📄 PDF
Std_ReturnType FrTp_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.
A função síncrona [SWS_FrTp_00154] serve para a disponibilização de dados da SDU para a transmissão. Por meio do parâmetro TxPduId, identifica-se a SDU a ser transmitida, enquanto PduInfoPtr referencia uma estrutura com o buffer de destino (SduDataPtr) e o tamanho de buffer disponível (SduLength) [SWS_FrTp_00154].
Dentro da função, verifica-se se os dados disponibilizados cabem no buffer de destino informado via PduInfoPtr->SduLength [SWS_FrTp_00154]:
- Operação de cópia bem-sucedida: se a capacidade do buffer for suficiente, a função copia as informações de endereço, PCI bem como dados da N-SDU para o buffer
PduInfoPtr->SduDataPtr[SWS_FrTp_01060]. O comprimento dos dados emPduInfoPtr->SduLengthé definido para o comprimento exato dos dados copiados e a função retornaE_OK[SWS_FrTp_00154], [SWS_FrTp_01061]. - Buffer insuficiente: se os dados não couberem no buffer, a função é interrompida e retorna
E_NOT_OKsem alterarPduInfoPtr[SWS_FrTp_00154]. Em caso de erro,PduInfoPtrnão deve ser utilizado pelo chamador, pois pode conter dados inválidos ou um ponteiro nulo [SWS_FrTp_00154].
Com a detecção de erros de desenvolvimento (DET) ativada, a função realiza verificações prévias dos parâmetros passados:
- Se
TxPduIdfor inválido, a função reporta o erroFRTP_E_INVALID_PDU_SDU_IDao DET e retornaE_NOT_OK[SWS_FrTp_01145]. - Se
PduInfoPtrfor inválido, ela reporta o erroFRTP_E_PARAM_POINTERao DET e também retornaE_NOT_OK[SWS_FrTp_01146].
Em relação à simultaneidade, a função é reentrante para diferentes IDs de PDU, mas não pode ser chamada concorrentemente para a mesma TxPduId [SWS_FrTp_00154].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I2)
função FrTp_RxIndication [SWS_FrTp_00152] 📄 PDF
void FrTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Indication of a received PDU from a lower layer communication interface module.
Utilização e semântica
A função de callback síncrona FrTp_RxIndication serve para a indicação de uma PDU recebida de um módulo de interface de comunicação subjacente para o módulo da camada de transporte FlexRay ISO e inicia todo o processo de receção [SWS_FrTp_00152], [SWS_FrTp_00137]. Ela está disponível através do cabeçalho FrTp.h e possui o ID de serviço 0x42 sem valor de retorno [SWS_FrTp_00152]. Como parâmetros, ela espera o identificador da PDU recebida (RxPduId), bem como um ponteiro para uma estrutura do tipo PduInfoType (PduInfoPtr) [SWS_FrTp_00152]. Este ponteiro disponibiliza o comprimento da PDU recebida (SduLength), um ponteiro de buffer para os dados úteis (SduDataPtr) e os metadados associados [SWS_FrTp_00152].
Tratamento de erros
Em relação ao tratamento de erros, a função verifica ambos os parâmetros de entrada se a deteção de erros de desenvolvimento (DET) estiver ativa: se RxPduId for inválido, ela reporta o erro de desenvolvimento FRTP_E_INVALID_PDU_SDU_ID [SWS_FrTp_01147]. Se PduInfoPtr for inválido, o erro FRTP_E_PARAM_POINTER é reportado [SWS_FrTp_01148]. Se for transmitida uma RxPduId não suportada, a execução é terminada sem ações adicionais [SWS_FrTp_01075]. Caso nenhum canal de receção livre esteja disponível no momento da chamada porque o estado do canal não é Idle (FrTpRxChannelState ≠ Idle), a função também é abortada sem processamento adicional [SWS_FrTp_01076] e o módulo aciona o erro de tempo de execução FRTP_E_NO_CHANNEL [SWS_FrTp_01186].
Concorrência e interação
Em relação à concorrência, FrTp_RxIndication é reentrante para diferentes IDs de PDU, mas não reentrante para IDs de PDU idênticos [SWS_FrTp_00152]. A chamada deve ocorrer sincronamente pela interface subjacente para iniciar adequadamente a receção no módulo FrTp [SWS_FrTp_00152], [SWS_FrTp_00137].
Esta nota de uso foi gerada automaticamente com base nos requisitos de especificação do AUTOSAR R20-11.
Guia do implementador em breve (complexidade I2)
função FrTp_TxConfirmation [SWS_FrTp_00153] 📄 PDF
void FrTp_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);
The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.
A função síncrona [SWS_FrTp_00153] serve para a camada de comunicação subjacente informar ao módulo FrTp a transmissão bem-sucedida ou a falha de uma PDU. Durante a chamada, a camada subjacente passa o identificador configurado FrTpTxConfirmationPduId no parâmetro TxPduId, bem como o resultado da transmissão result ([SWS_FrTp_01053]). Valores válidos para result são E_OK em caso de envio bem-sucedido e E_NOT_OK no caso de uma transmissão com falha ([SWS_FrTp_00153]).
Se a detecção de erros de desenvolvimento (DET) estiver ativada, a função executa uma verificação de parâmetros: um identificador TxPduId inválido dispara o erro de desenvolvimento FRTP_E_INVALID_PDU_SDU_ID ([SWS_FrTp_01149]), enquanto um valor inválido para result resulta no erro FRTP_E_INVALID_PARAMETER ([SWS_FrTp_01203]).
Em relação à concorrência, a função é reentrante para PDU-IDs diferentes, mas não pode ser chamada concorrentemente para o mesmo TxPduId ([SWS_FrTp_00153]). A cada chamada com o respectivo FrTpTxConfirmationPduId, o módulo decrementa o contador TxPduPendingCounter ([SWS_FrTp_01092]).
Em interação com o status de transmissão, a confirmação causa as seguintes transições de estado:
- No lado do transmissor, o canal ocupado é transicionado para o estado
Idle(FrTpTxChannelState = Idle) e as flagsTX_SDU_AVAILABLEbem comoTX_SDU_UNKNOWN_MSG_LENGTHsão resetadas assim que todos os dados da N-SDU tiverem sido enviados,resulttiver o valorE_OKe uma eventual confirmação configurada tiver sido recebida – ou imediatamente seresultfor igual aE_NOT_OK([SWS_FrTp_01056], [SWS_FrTp_01057], [SWS_FrTp_01124]). - No lado do receptor, o canal de recepção ocupado (
FrTpRxChannelState = Idle) é liberado quando todos os dados tiverem sido recebidos e todas as Flow Control PDUs necessárias tiverem sido confirmadas comE_OK, ou se a confirmação ocorrer comE_NOT_OK([SWS_FrTp_01081]).
Este texto foi elaborado por uma IA e baseia-se nas especificações da versão AUTOSAR R20-11.
Guia do implementador em breve (complexidade I2)
função FrTp_MainFunction [SWS_FrTp_00162] 📄 PDF
void FrTp_MainFunction (void);
Schedules the Flex Ray TP. (Entry point for scheduling)
Utilização e contexto de chamada
A função FrTp_MainFunction possui a assinatura void FrTp_MainFunction (void); e está especificada com o service ID 0x10 [SWS_FrTp_00162]. Ela não recebe parâmetros de entrada e não retorna nenhum valor de retorno ao chamador [SWS_FrTp_00162]. A declaração está disponível através do cabeçalho SchM_FrTp.h [SWS_FrTp_00162]. Como interpretação, a função normalmente deve ser chamada de forma cíclica pelo escalonador da BSW (Schedule Manager). Pergunta Q-aaa6251bd84aef94 (aberta)
Interação e tarefas
A principal tarefa da função consiste no escalonamento do módulo do protocolo de transporte FlexRay [SWS_FrTp_00162], [SWS_FrTp_00203]. De acordo com [SWS_FrTp_00580], FrTp_MainFunction representa o ponto de entrada vinculativo para tarefas de processamento pendentes (processing tasks) do módulo FrTp, por meio do qual os processos internos do protocolo são processados e gerenciados ciclicamente.
Condições temporais e restrições
Para a integração temporal no sistema geral, a especificação define uma taxa mínima fixa de chamadas para o escalonamento:
FrTp_MainFunctiondeve ser chamada pelo menos uma vez por ciclo FlexRay [SWS_FrTp_01152].
Tratamentos de erros específicos, mensagens DET ou DEM, bem como diretrizes explícitas sobre reentrância ou concorrência não são descritos no presente escopo da especificação.
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
tipo FrTp_ConfigType [SWS_FrTp_01194] 📄 PDF
This is the base type for the configuration of the Flex Ray Transport Protocol A pointer to an instance of this structure will be used in the initialization of the Flex Ray Transport Protocol. The outline of the structure is defined in chapter 10 Configura tion Specification
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_FrTp- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_FrTp@rel:R20-11#954b7cfc- Content hash
954b7cfc- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayISOTransportLayer.pdf#nameddest=SWS_FrTp_00215
gemini-3.8-flash-low· 2026-10-13 · Original em alemão