DEENESPTFRRUARHIKOZHNL

FlexRay Transceiver Driver (FrTrcv)

ModulFrTrcv (FlexRay Transceiver Driver)
BSW-Modul-ID71
Standard-Header#include "FrTrcv.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayTransceiverDriver.pdf
ClusterFlexRay

Guia do móduloGERADO POR IA

Controla o hardware do transceptor FlexRay: define modos de operação, detecta eventos de despertar e reporta erros de barramento.
GERADO POR IA não revisado Modelo: claude-opus-5-5 · Esforço: high · Temperatura: não controlável · Prompt: d2a3c22cd47c Procedência Perguntas em aberto (6)
Âncora causal: R20-11 Válido a partir de R20-11 Sintetizado para esta versão de especificação.
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Controla o hardware do transceptor FlexRay: define modos de operação, detecta eventos de despertar e reporta erros de barramento.

O driver de transceptor FlexRay controla os componentes de transceptor de uma ECU via Dio ou Spi e oferece em ACTIVE os modos NORMAL, RECEIVEONLY, STANDBY e SLEEP [SWS_FrTrcv_00481]. Ele define e lê modos, detecta eventos de despertar por polling cíclico ou notificação, reporta-os ao EcuM e fornece o motivo de despertar. Em estrelas ativas, consulta erros de barramento por ramal e desativa ou ativa ramais. Se uma mudança de modo falhar, retorna E_NOT_OK e mantém o estado anterior inalterado [SWS_FrTrcv_00323].

O driver de transceptor FlexRay controla os componentes de transceptor de uma ECU. Ele endereça cada componente por meio do índice baseado em zero FrTrcv_TrcvIdx [SWS_FrTrcv_00323]. Para baixo, acessa o hardware dependendo da configuração via Dio ou Spi SWS FrTrcv Fig. 10.4 p. 77. Adicionalmente, utiliza Icu, EcuM, Dem e Det [SWS_FrTrcv_00334]. Para cima, presume-se que principalmente o FrIf utilize os serviços a pedido do FlexRay State Manager (interpretação) SWS FrSM p. 20. Pergunta (aberta)

kontext FrSM FrSM FrIf FrIf FrSM->FrIf FrIf_GetTransceiverWUReason u. a. FrTrcv FrTrcv (FlexRay-Transceivertreiber) FrIf->FrTrcv Modus, Weckgrund, Zweige (Interpretation) EcuM EcuM EcuM->FrTrcv FrTrcv_Init (Interpretation) SchM BSW-Scheduler SchM->FrTrcv FrTrcv_MainFunction FrTrcv->EcuM EcuM_SetWakeupEvent Dio Dio FrTrcv->Dio Dio-Zugriff (FrTrcvAccess) Spi Spi FrTrcv->Spi SPI-Sequenz (FrTrcvAccess) Icu Icu FrTrcv->Icu Icu_Enable/DisableNotification Tm Tm FrTrcv->Tm Tm_BusyWait1us16bit Dem DEM FrTrcv->Dem Dem_SetEventStatus Det DET FrTrcv->Det Det_ReportError / Det_ReportRuntimeError

Diagrama de contexto: FrTrcv entre FrIf/FrSM, os drivers de hardware e os serviços EcuM, DEM e DET. Fontes: [SWS_FrTrcv_00334], SWS FrSM p. 20

Após ser ligado, o driver está em NOT_ACTIVE e passa para ACTIVE com FrTrcv_Init SWS FrTrcv Fig. 7.1 p. 23. Lá aplicam-se os modos NORMAL, RECEIVEONLY, STANDBY e SLEEP [SWS_FrTrcv_00481]. O FrTrcv_SetTransceiverMode alterna entre eles. Se a transição falhar, o serviço retorna E_NOT_OK e mantém o estado anterior. O driver realiza tempos de espera com Tm_BusyWait1us16bit [SWS_FrTrcv_00485]. Em STANDBY, os canais de despertar de ICU estão habilitados; em NORMAL, desabilitados [SWS_FrTrcv_00491] [SWS_FrTrcv_00492].

modi cluster_power_on POWER_ON cluster_active ACTIVE Aus Alimentação desligada NOT_ACTIVE NOT_ACTIVE Aus->NOT_ACTIVE Power On NORMAL NORMAL NOT_ACTIVE->NORMAL FrTrcv_Init() RECEIVEONLY RECEIVEONLY NORMAL->RECEIVEONLY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_RECEIVEONLY) STANDBY STANDBY NORMAL->STANDBY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_STANDBY) SLEEP SLEEP NORMAL->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP) RECEIVEONLY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP)

Diagrama de estados: os quatro modos ACTIVE só são acessíveis após FrTrcv_Init. As transições são parcialmente reconstruídas (interpretação). Fontes: SWS FrTrcv Fig. 7.1 p. 23, [SWS_FrTrcv_00481]

O driver detecta eventos de despertar por duas vias: por FrTrcv_MainFunction cíclico [SWS_FrTrcv_00330] ou por notificação. Após FrTrcv_CheckWakeupByTransceiver, reporta o evento ao EcuM SWS FrTrcv p. 46. O motivo, como FRTRCV_WU_BY_BUS, é fornecido por FrTrcv_GetTransceiverWUReason, na medida em que o hardware possa distingui-lo [SWS_FrTrcv_00074]. O FrTrcv_ClearTransceiverWakeup limpa todos os eventos pendentes [SWS_FrTrcv_00329].

Em estrelas ativas, serviços opcionais consultam erros de barramento por ramal e desativam ou reativam ramais [SWS_FrTrcv_00419] [SWS_FrTrcv_00442] [SWS_FrTrcv_00443]. Para o tratamento de erros, aplica-se o seguinte:

  • Erros de desenvolvimento como FRTRCV_E_UNINIT vão para o DET [SWS_FrTrcv_00085].
  • Erros de tempo de execução como FRTRCV_E_FR_NO_CONTROL_TRCV passam por Det_ReportRuntimeError [SWS_FrTrcv_91001].
  • O driver reporta erros de barramento das classes A e B ao DEM ou a uma função substituta configurada [SWS_FrTrcv_00475].

Papel: abstração de hardware para componentes de transceptor FlexRay

O driver de transceptor FlexRay comanda um ou mais componentes de transceptor FlexRay de uma ECU. Todos os serviços relacionados a canais selecionam o componente por meio do índice baseado em zero FrTrcv_TrcvIdx, válido no contexto do driver [SWS_FrTrcv_00323]. O driver oferece três grupos de serviços:

FrTrcv_GetVersionInfo fornece expressamente a versão do módulo de software e não a do hardware do transceptor SWS FrTrcv p. 43.

Para baixo, o driver acessa o componente via Dio ou Spi. Para notificações de despertar, utiliza Icu; as notificações vão para EcuM, Dem e Det [SWS_FrTrcv_00334] [SWS_FrTrcv_00321]. O tipo de acesso é determinado pelo container de seleção FrTrcvAccess: ele permite exatamente uma das duas alternativas, ou seja, acesso Dio ou sequência SPI SWS FrTrcv Fig. 10.4 p. 77.

Para cima, presume-se que principalmente o FlexRay Interface utilize os serviços. O FlexRay State Manager determina o motivo de despertar por transceptor de um cluster via FrIf_GetTransceiverWUReason SWS FrSM p. 20. Interpretação: o FrIf repassa essas solicitações ao FrTrcv. Pergunta Q-29229b532631a6b5 (aberta) Condiz com isso o fato de que os tipos comuns em Fr_GeneralTypes.h são protegidos por FR_GENERAL_TYPES, para que múltiplos drivers de transceptor e o FrIf possam compartilhá-los SWS FrTrcv p. 34.

kontext FrSM FrSM FrIf FrIf FrSM->FrIf FrIf_GetTransceiverWUReason u. a. FrTrcv FrTrcv (FlexRay-Transceivertreiber) FrIf->FrTrcv Modus, Weckgrund, Zweige (Interpretation) EcuM EcuM EcuM->FrTrcv FrTrcv_Init (Interpretation) SchM BSW-Scheduler SchM->FrTrcv FrTrcv_MainFunction FrTrcv->EcuM EcuM_SetWakeupEvent Dio Dio FrTrcv->Dio Dio-Zugriff (FrTrcvAccess) Spi Spi FrTrcv->Spi SPI-Sequenz (FrTrcvAccess) Icu Icu FrTrcv->Icu Icu_Enable/DisableNotification Tm Tm FrTrcv->Tm Tm_BusyWait1us16bit Dem DEM FrTrcv->Dem Dem_SetEventStatus Det DET FrTrcv->Det Det_ReportError / Det_ReportRuntimeError

Diagrama de contexto: o FrTrcv fica entre o FrIf/FrSM e os drivers Dio, Spi e Icu, reportando ao EcuM, DEM e DET. Fontes: [SWS_FrTrcv_00334], [SWS_FrTrcv_00485], [SWS_FrTrcv_00330], SWS FrSM p. 20

Modos de operação entre NOT_ACTIVE e ACTIVE

A Figura 7.1 da especificação descreve os modos como uma máquina de estados aninhada. Dentro de POWER_ON, o driver encontra-se em NOT_ACTIVE após ser ligado e passa para ACTIVE com FrTrcv_Init() SWS FrTrcv Fig. 7.1 p. 23. Apenas em ACTIVE aplicam-se os quatro valores de FrTrcv_TrcvModeType: FRTRCV_TRCVMODE_NORMAL, FRTRCV_TRCVMODE_RECEIVEONLY, FRTRCV_TRCVMODE_STANDBY e FRTRCV_TRCVMODE_SLEEP [SWS_FrTrcv_00481]. A camada chamadora alterna entre esses modos com FrTrcv_SetTransceiverMode [SWS_FrTrcv_00323].

Uma mudança de modo ocorre de forma síncrona e não é reentrante. Transições para estados opcionais podem falhar. Nesse caso, o serviço retorna E_NOT_OK e o estado anterior é mantido SWS FrTrcv p. 39. Se o componente necessitar de tempos de espera para uma mudança de estado, o driver os realiza com o serviço de temporização Tm_BusyWait1us16bit [SWS_FrTrcv_00485]. O estado real é lido por FrTrcv_GetTransceiverMode. Esse serviço é reentrante e, portanto, também pode ser chamado em paralelo [SWS_FrTrcv_00324].

modi cluster_power_on POWER_ON cluster_active ACTIVE Aus Alimentação desligada NOT_ACTIVE NOT_ACTIVE Aus->NOT_ACTIVE Power On NORMAL NORMAL NOT_ACTIVE->NORMAL FrTrcv_Init() RECEIVEONLY RECEIVEONLY NORMAL->RECEIVEONLY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_RECEIVEONLY) STANDBY STANDBY NORMAL->STANDBY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_STANDBY) SLEEP SLEEP NORMAL->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP) RECEIVEONLY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP)

Diagrama de estados: apenas após FrTrcv_Init os quatro modos ACTIVE são acessíveis via FrTrcv_SetTransceiverMode. A seleção das transições é parcialmente reconstruída (interpretação). Fontes: SWS FrTrcv Fig. 7.1 p. 23, [SWS_FrTrcv_00481]

Inicialização e início da comunicação de barramento

FrTrcv_Init recebe um ponteiro para o conjunto de configuração selecionado e inicializa o driver [SWS_FrTrcv_00322]. Essa função separada inicializa variáveis e recursos de hardware. Drivers que atendem a fontes de despertar são reinicializados no bloco de restart, rearmando o mecanismo de disparo da notificação de despertar SWS FrTrcv p. 37. O driver suporta a sequência de inicialização da pilha AUTOSAR. Interpretação: dentro dessa sequência, presume-se que o ECU State Manager chame a função. Pergunta Q-93ce1e5987a96873 (aberta)

A mudança para NORMAL afeta os caminhos de despertar. Se FrTrcvIcuChannelRef estiver configurado, o driver desativa os canais de ICU com Icu_DisableNotification [SWS_FrTrcv_00492]. Sem essa referência, ele não acessa de forma alguma os canais de ICU [SWS_FrTrcv_00490].

Inicialização e mudança para NORMALEcuMFrIf / FrSMFrTrcvDio / SpiIcuTmUse Case: InitialisierungFrTrcv_Init(ConfigPtr)Variáveis e recursos de hardwareinitialisieren (NOT_ACTIVE → ACTIVE)Use Case: Kommunikation aufnehmenFrTrcv_SetTransceiverMode(TrcvIdx,FRTRCV_TRCVMODE_NORMAL)Definir pinos de modo ou registradoresTm_BusyWait1us16bit(...)optFrTrcvIcuChannelRef konfiguriertIcu_DisableNotification(...)altWechsel erfolgreichE_OKWechsel fehlgeschlagenE_NOT_OK (estado inalterado)

Diagrama de sequência: à inicialização segue-se a mudança para NORMAL com busy-wait e desativação opcional de ICU. Uma falha mantém o estado inalterado. Fontes: [SWS_FrTrcv_00322], [SWS_FrTrcv_00323], [SWS_FrTrcv_00485], [SWS_FrTrcv_00492]

Detecção de despertar em STANDBY e SLEEP, motivo de despertar

Na mudança para STANDBY, o driver reabilita os canais de ICU [SWS_FrTrcv_00491]. Além disso, a cada mudança para STANDBY, o FrTrcv_SetTransceiverMode limpa o histórico de erros no transceptor, desde que o hardware suporte isso SWS FrTrcv p. 39.

Adicionalmente, o driver pode realizar polling cíclico. Para isso, ele disponibiliza FrTrcv_MainFunction via SchM_FrTrcv.h [SWS_FrTrcv_00330]. De acordo com a passagem documental de R23-11, a função varre todos os barramentos em STANDBY e SLEEP em busca de eventos de despertar e armazena internamente os eventos encontrados. O período é definido pela configuração. A função pode ser executada de forma síncrona ou assíncrona em relação ao schedule do barramento FlexRay SWS FrTrcv p. 49.

Mudança para STANDBY e detecção cíclica de wake-upFrIf / FrSMFrTrcvIcuDio / SpiBSW-SchedulerFrTrcv_SetTransceiverMode(TrcvIdx,FRTRCV_TRCVMODE_STANDBY)Limpar histórico de erros no transceptor(se suportado pelo hardware)optFrTrcvIcuChannelRef konfiguriertIcu_EnableNotification(...)E_OKloopcíclico, período de acordo com a configuraçãoFrTrcv_MainFunction()Weckstatus aller Busse inSTANDBY/SLEEP lesenWeckereignis intern speichernComportamento de polling de acordo com a passagem do documento R23-11;independente do cronograma de barramento FlexRay

Diagrama de sequência: na transição para STANDBY, o histórico de erros é limpo e a notificação de ICU é habilitada. Em seguida, a Main Function busca ciclicamente por eventos de despertar. Fontes: [SWS_FrTrcv_00491], [SWS_FrTrcv_00330], SWS FrTrcv p. 49

Se o componente detectar um despertar através do barramento, o lado SPI ou DIO subjacente notifica o driver. Isso pode ocorrer no contexto de interrupção SWS FrTrcv p. 46. Se em seguida FrTrcv_CheckWakeupByTransceiver for chamado [SWS_FrTrcv_00331], o driver reporta o evento ao ECU State Manager. Para isso, EcuM_SetWakeupEvent consta na lista de interfaces utilizadas [SWS_FrTrcv_00334]. Interpretação: presume-se que o EcuM dispare a chamada de verificação em sua rotina de despertar. Pergunta Q-d5873691a495bef0 (aberta)

O motivo de despertar é fornecido por FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] como valor de FrTrcv_TrcvWUReasonType. Valores possíveis são FRTRCV_WU_BY_BUS, FRTRCV_WU_BY_PIN, FRTRCV_WU_INTERNALLY ou FRTRCV_WU_NOT_SUPPORTED [SWS_FrTrcv_00074]. O nível de distinção dos motivos depende fortemente do hardware SWS FrTrcv p. 42. A passagem documental de releases posteriores cita adicionalmente FRTRCV_WU_RESET e FRTRCV_WU_POWER_ON SWS FrTrcv p. 34. O texto de requisitos de R20-11 no payload está truncado neste ponto.

O FrSM verifica o motivo de despertar por transceptor para FRTRCV_WU_BY_BUS. Assim, ele distingue se não há despertar de barramento, se há um despertar parcial ou completo SWS FrSM p. 20. Em seguida, FrTrcv_ClearTransceiverWakeup limpa todos os eventos de despertar pendentes [SWS_FrTrcv_00329]. A chamada também é permitida com a notificação de despertar desativada SWS FrTrcv p. 44.

Detectar, reportar e avaliar evento de wake-upIcu / Dio / SpiFrTrcvEcuMFrIf / FrSMUse Case: ErkennungWeck-Benachrichtigung(ggf. Interrupt-Kontext)FrTrcv_CheckWakeupByTransceiver(TrcvIdx)(Aufrufer: Interpretation)EcuM_SetWakeupEvent(...)Use Case: AuswertungFrTrcv_GetTransceiverWUReason(TrcvIdx, &Reason)altGrund in FrTrcv_TrcvWUReasonType definiertE_OK, z. B. FRTRCV_WU_BY_BUSMotivo não definidoE_NOT_OK (saída inalterada)FrTrcv_ClearTransceiverWakeup(TrcvIdx)E_OK (todos os eventos de wake-up pendentes foram apagados)

Diagrama de sequência: sequência desde a notificação de hardware, passando pela notificação ao EcuM, até a consulta e a limpeza do motivo de despertar. O payload não nomeia o chamador da função de verificação (interpretação). Fontes: [SWS_FrTrcv_00331], [SWS_FrTrcv_00325], [SWS_FrTrcv_00329], SWS FrTrcv p. 46

Estrelas ativas: monitorar, desativar e liberar ramais

Para transceptores que atendem a múltiplos ramais como uma estrela ativa, existem três serviços adicionais. Eles estão disponíveis apenas quando ramais estiverem configurados SWS FrTrcv p. 52. Todos os três endereçam o ramal adicionalmente pelo índice baseado em zero FrTrcv_BranchIdx e não são reentrantes [SWS_FrTrcv_00419] [SWS_FrTrcv_00442] [SWS_FrTrcv_00443].

FrTrcv_GetTransceiverError grava o estado de erro de um ramal como uint32 em FrTrcv_BusErrorState. Podem ser consultados todos os erros prescritos pelo EPL do FlexRay que o hardware suporte SWS FrTrcv p. 48. Ramais com defeito são desativados com FrTrcv_DisableTransceiverBranch SWS FrTrcv p. 50. O FrTrcv_EnableTransceiverBranch os libera novamente de forma síncrona com o schedule do barramento FlexRay SWS FrTrcv p. 51. Se um índice estiver fora da faixa válida, ambos os serviços de chaveamento retornam E_NOT_OK, e o estado do ramal permanece inalterado [SWS_FrTrcv_00442] [SWS_FrTrcv_00443].

zweig start Verificar estado da ramificação (camada chamadora, interpretação) get FrTrcv_GetTransceiverError (TrcvIdx, BranchIdx, &BusErrorState) start->get rc Retorno E_OK? get->rc na Estado de erro indisponível ou índice fora do intervalo rc->na não fehler Zweig fehlerhaft? rc->fehler sim aktiv Zweig bleibt aktiv fehler->aktiv não dis FrTrcv_DisableTransceiverBranch (TrcvIdx, BranchIdx) fehler->dis sim wieder Reativação desejada? dis->wieder aus Zweig bleibt abgeschaltet wieder->aus não en FrTrcv_EnableTransceiverBranch síncrono ao cronograma de barramento FlexRay wieder->en sim

Diagrama de atividades: consulta de erros por ramal, desativação de ramais defeituosos e reativação síncrona com o schedule do barramento. O fato de que a camada chamadora decide é uma interpretação. Fontes: [SWS_FrTrcv_00419], SWS FrTrcv p. 50, SWS FrTrcv p. 51

Configuração, tipo de acesso e particionamento

FrTrcv_ConfigType é uma estrutura específica da implementação [SWS_FrTrcv_00487]. O módulo contém um ou mais containers FrTrcvChannel, um por canal de transceptor, bem como FrTrcvGeneral SWS FrTrcv p. 59. Esta passagem documental de R23-11/R25-11 menciona ainda apenas VARIANT-PRE-COMPILE sem suporte a post-build. Para R20-11, o payload não contém nenhum requisito a esse respeito.

Para cada transceptor, FrTrcvAccess seleciona FrTrcvDioAccess ou FrTrcvSpiSequence SWS FrTrcv Fig. 10.4 p. 77. Funções opcionais podem ser ativadas e desativadas em tempo de compilação SWS FrTrcv p. 52. O FrTrcvIcuChannelRef vincula a notificação de despertar de ICU a [SWS_FrTrcv_00490]. Com FrTrcvDemReportErrorStatusConfiguration, é possível empregar uma função própria com a mesma assinatura no lugar de Dem_SetEventStatus [SWS_FrTrcv_00475].

Em sistemas particionados, o módulo opera como uma instância independente por partição. Uma chamada de API afeta apenas a partição em que ocorre [SWS_FrTrcv_00494]. Mapeamentos de partição não suportados pela implementação devem ser rejeitados pelo módulo [SWS_FrTrcv_00497].

Comportamento em caso de erro

Os erros de desenvolvimento estão definidos [SWS_FrTrcv_00085]:

  • FRTRCV_E_FR_INVALID_TRCVIDX (0x01),
  • FRTRCV_E_FR_INVALID_BRANCHIDX (0x02),
  • FRTRCV_E_UNINIT (0x10),
  • FRTRCV_E_PARAM_POINTER (0x15).

Eles são reportados apenas quando a detecção de erros de desenvolvimento estiver ativada. Exemplos são FRTRCV_E_UNINIT nos serviços de ramal SWS FrTrcv p. 50 e o ponteiro NULL em FrTrcv_GetVersionInfo SWS FrTrcv p. 43.

Como erro de tempo de execução, o driver reporta chamadas no modo incorreto com FRTRCV_E_FR_TRCV_NOT_STANDBY até FRTRCV_E_FR_TRCV_NOT_RECEIVEONLY (0x11 até 0x14). Ele reporta comunicação ausente ou incorreta com o componente através de FRTRCV_E_FR_NO_CONTROL_TRCV (0x16) [SWS_FrTrcv_91001]. Essas mensagens passam por Det_ReportRuntimeError [SWS_FrTrcv_00493]. FrTrcv_GetTransceiverMode aciona o erro FRTRCV_E_FR_NO_CONTROL_TRCV, por exemplo, em caso de erro no acesso ao transceptor SWS FrTrcv p. 41.

Em E_NOT_OK, os parâmetros de saída permanecem inalterados, assim como em FrTrcv_GetTransceiverMode e FrTrcv_GetTransceiverError SWS FrTrcv p. 48. Uma mudança de modo com falha mantém o estado anterior [SWS_FrTrcv_00323].

pruefung start Chamada de um serviço FrTrcv init Modul initialisiert? start->init e_uninit Det_ReportError: FRTRCV_E_UNINIT init->e_uninit não idx FrTrcv_TrcvIdx dentro do intervalo? init->idx sim r_nok Retorno E_NOT_OK (saídas ou estado inalterados) e_uninit->r_nok e_idx Det_ReportError: FRTRCV_E_FR_INVALID_TRCVIDX idx->e_idx não br Serviço de ramificação: FrTrcv_BranchIdx dentro do intervalo? idx->br sim e_idx->r_nok e_br Det_ReportError: FRTRCV_E_FR_INVALID_BRANCHIDX br->e_br não ptr Zeigerparameter ungleich NULL? br->ptr ja / kein Zweigdienst e_br->r_nok e_ptr Det_ReportError: FRTRCV_E_PARAM_POINTER ptr->e_ptr não zugriff Acesso ao transceptor (Dio / Spi) ptr->zugriff sim e_ptr->r_nok ok Zugriff fehlerfrei? zugriff->ok e_rt Det_ReportRuntimeError: FRTRCV_E_FR_NO_CONTROL_TRCV ok->e_rt não r_ok Retorno E_OK ok->r_ok sim e_rt->r_nok

Diagrama de atividades: verificações de parâmetros e de inicialização resultam em erros de desenvolvimento, erros de acesso em um erro de tempo de execução. A ordem das verificações é uma interpretação. Verificações do DET existem apenas com a detecção de erros ativada. Fontes: [SWS_FrTrcv_00085], [SWS_FrTrcv_91001], [SWS_FrTrcv_00493]

Para o diagnóstico de produção, o driver distingue duas classes de transceptores:

  • Em transceptores da classe A controlados por GPIO, um pino ERRN ativo (low) significa «Fail», um pino inativo (high) «Pass» [SWS_FrTrcv_00489].
  • Em transceptores da classe B controlados por SPI, cada bit 1…9 definido dispara um erro de barramento [SWS_FrTrcv_00488].

A avaliação é realizada em caso de HALT inesperado ou em NORMAL_ACTIVE do controlador. Em caso de curto-circuito no barramento, um «Pass» do driver por si só não é suficiente como comprovação SWS FrTrcv p. 26. Dem_SetEventStatus está disponível apenas com STANDARD_REPORTING [SWS_FrTrcv_00334].

dem anlass Motivo: HALT inesperado ou NORMAL_ACTIVE do controlador klasse Transceiverklasse? anlass->klasse a Klasse A (GPIO): ERRN-Pin aktiv low? klasse->a A b Classe B (SPI): um bit 1...9 definido? klasse->b B fail_a Fail: FRTRCV_E_FR_ERRN_TRCV_<TrcvIdx> a->fail_a sim pass_a Pass: FRTRCV_E_FR_ERRN_TRCV_<TrcvIdx> a->pass_a não fail_b Fail: FRTRCV_E_FR_BUSERROR_TRCV_<TrcvIdx> b->fail_b sim pass_b Pass: FRTRCV_E_FR_BUSERROR_TRCV_<TrcvIdx> b->pass_b não cfg FrTrcvDemReportErrorStatusConfiguration konfiguriert? fail_a->cfg pass_a->cfg fail_b->cfg pass_b->cfg eigen função configurada (assinatura igual a Dem_SetEventStatus) cfg->eigen sim dem Dem_SetEventStatus (apenas com STANDARD_REPORTING) cfg->dem não

Diagrama de atividades: avaliação de Pass/Fail por classe de transceptor e caminho de notificação para o DEM ou para a função de substituição configurada. Fontes: [SWS_FrTrcv_00488], [SWS_FrTrcv_00489], [SWS_FrTrcv_00475]

Evidências mais detalhadas

ReferênciaClassificação
[SWS_FrTrcv_00481], SWS FrTrcv Abb. 7.1 S. 23Modos de operação e máquina de estados
[SWS_FrTrcv_00323], SWS FrTrcv S. 39Mudança de modo, falha, limpeza do histórico de erros em STANDBY
[SWS_FrTrcv_00322], SWS FrTrcv S. 37Inicialização e regra de reinicialização para fontes de wake-up
[SWS_FrTrcv_00330], [SWS_FrTrcv_00485]Polling cíclico e tempos de espera
[SWS_FrTrcv_00331], [SWS_FrTrcv_00325], [SWS_FrTrcv_00074], [SWS_FrTrcv_00329]Caminho de wake-up desde a detecção até a limpeza
[SWS_FrTrcv_00490], [SWS_FrTrcv_00491], [SWS_FrTrcv_00492]Notificação do ICU dependente do modo
[SWS_FrTrcv_00419], [SWS_FrTrcv_00442], [SWS_FrTrcv_00443]Gerenciamento de ramificações em estrelas ativas
[SWS_FrTrcv_00085], [SWS_FrTrcv_91001], [SWS_FrTrcv_00493]Erros de desenvolvimento e de tempo de execução
[SWS_FrTrcv_00488], [SWS_FrTrcv_00489], [SWS_FrTrcv_00475]Eventos do DEM e caminho de notificação
[SWS_FrTrcv_00487], [SWS_FrTrcv_00494], [SWS_FrTrcv_00497]Tipo de configuração e particionamento

Guia gerado por IA com base nos requisitos e referências de documentos da R20-11 contidos no payload. Referências de documentos de versões posteriores são identificadas como tal. Apenas a especificação AUTOSAR é vinculativa.

FlexRay Transceiver Driver (FrTrcv)

Controls physical bus transceiver states and bus diagnostics on FlexRay lines.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

função FrTrcv_Init [SWS_FrTrcv_00322] 📄 PDF

void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);

This service initializes the Fr Trcv.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 8880c7552dd0 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona FrTrcv_Init inicializa o driver do transceptor FlexRay da plataforma AUTOSAR Classic ([SWS_FrTrcv_00322]). Possui o ID de serviço 0x00 e é disponibilizada através do arquivo de cabeçalho FrTrcv.h ([SWS_FrTrcv_00322]). O módulo FrTrcv disponibiliza este serviço para a configuração e colocação em funcionamento do hardware do transceptor ([SWS_FrTrcv_00322]).

A interface espera como único parâmetro o ponteiro ConfigPtr do tipo const FrTrcv_ConfigType*, que referencia o conjunto de dados de configuração selecionado do transceptor ([SWS_FrTrcv_00322]):

Como FrTrcv_Init é especificada como não reentrante (Non Reentrant), a função não deve, sob hipótese alguma, ser chamada concorrentemente ou múltiplas vezes em simultâneo ([SWS_FrTrcv_00322]). A execução ocorre de forma síncrona até a conclusão da inicialização ([SWS_FrTrcv_00322]).

A presente especificação não fornece informações explícitas sobre o contexto de chamada e as condições de ordenação; provavelmente, a inicialização ocorre durante a inicialização do sistema através do gerenciamento de estado do software básico antes de todas as atividades regulares de comunicação. Códigos de erro específicos, reações a ponteiros nulos e interações com DET ou DEM não estão incluídos no escopo de especificação fornecido e, portanto, não são detalhados adiante ([SWS_FrTrcv_00322]). Pergunta Q-5fa4966e37b10516 (aberta)

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I1)

função FrTrcv_SetTransceiverMode [SWS_FrTrcv_00323] 📄 PDF

Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);

This service sets the transceiver mode.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: fabc34a3f07e Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona FrTrcv_SetTransceiverMode serve para comutar o modo de operação de um transceptor FlexRay [SWS_FrTrcv_00323]. A declaração deste serviço é disponibilizada através do arquivo de cabeçalho FrTrcv.h [SWS_FrTrcv_00323].

Parâmetros e controle

A função espera dois parâmetros de entrada [SWS_FrTrcv_00323]:

  • FrTrcv_TrcvIdx: Este índice baseado em zero identifica o transceptor concreto dentro do driver do transceptor para o qual a mudança de estado deve ser executada [SWS_FrTrcv_00323].
  • FrTrcv_TrcvMode: Seleciona o estado de destino para o qual o transceptor deve transitar [SWS_FrTrcv_00323]. Deve-se observar que transições para estados opcionais podem falhar [SWS_FrTrcv_00323].

Valores de retorno e comportamento em caso de erro

O resultado da comutação de modo é transmitido sincronamente através do valor de retorno do tipo Std_ReturnType [SWS_FrTrcv_00323]:

  • E_OK: Indica que o estado do transceptor foi alterado com sucesso para o modo pretendido [SWS_FrTrcv_00323].
  • E_NOT_OK: Sinaliza uma falha na mudança de estado; o estado anterior do transceptor permanece inalterado [SWS_FrTrcv_00323].

simultaneidade

O serviço é especificado como não reentrante (Non Reentrant) e possui semântica de execução síncrona [SWS_FrTrcv_00323]. Devido à propriedade Non Reentrant, presume-se que o contexto chamador seja responsável por proteger chamadas paralelas ou sobrepostas para o driver. Pergunta Q-b83c7a2879a572b7 (aberta)

Esta nota de uso foi criada automaticamente e baseia-se exclusivamente nos dados de especificação do AUTOSAR Release R20-11.

Guia do implementador em breve (complexidade I1)

função FrTrcv_GetTransceiverMode [SWS_FrTrcv_00324] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType* FrTrcv_TrcvModePtr);

This function returns the actual state of the transceiver.

função FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);

This function returns the wakeup reason.

função FrTrcv_ClearTransceiverWakeup [SWS_FrTrcv_00329] 📄 PDF

Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);

This function clears a pending wake up event.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 486bcee2a527 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e semântica

A função síncrona FrTrcv_ClearTransceiverWakeup serve para redefinir um evento de despertar pendente em um transceptor FlexRay [SWS_FrTrcv_00329]. Ela é declarada no arquivo de cabeçalho FrTrcv.h e possui o ID de serviço 0x0c [SWS_FrTrcv_00329].

O transceptor em questão dentro do driver é especificado através do parâmetro de entrada baseado em zero FrTrcv_TrcvIdx [SWS_FrTrcv_00329].

Tratamento de erros e valores de retorno

O valor de retorno do tipo Std_ReturnType informa sobre o resultado da operação [SWS_FrTrcv_00329]:

  • E_OK: O evento de despertar da fonte de despertar do transceptor foi limpo com sucesso [SWS_FrTrcv_00329].
  • E_NOT_OK: O parâmetro FrTrcv_TrcvIdx está fora do intervalo válido; o status de despertar permanece inalterado neste caso [SWS_FrTrcv_00329].

Simultaneidade e restrições

A função é especificada como não reentrante [SWS_FrTrcv_00329]. Os chamadores devem, portanto, assegurar que chamadas para a mesma instância não ocorram de forma interruptiva ou paralela. Como a função é definida como síncrona, a limpeza do evento de despertar provavelmente é concluída diretamente durante a chamada no nível do driver. Pergunta Q-e548008f8bae0ff0 (aberta)

Esta nota de uso foi gerada automaticamente com base na especificação SWS_FrTrcv_00329.

função FrTrcv_CheckWakeupByTransceiver [SWS_FrTrcv_00331] 📄 PDF

void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);

-

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 61627651eb93 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e contexto de chamada

A função FrTrcv_CheckWakeupByTransceiver pertence ao driver do transceptor FlexRay (módulo FrTrcv) e é declarada através do arquivo de cabeçalho FrTrcv.h [SWS_FrTrcv_00331]. A função possui o ID de serviço 0x0e e é executada sincronamente [SWS_FrTrcv_00331]. Ela recebe como único parâmetro de entrada FrTrcv_TrcvIdx do tipo uint8, que, como índice baseado em zero, determina o respetivo transceptor no contexto do driver do transceptor para o qual a operação deve ser executada [SWS_FrTrcv_00331]. Não existem parâmetros de entrada/saída nem parâmetros de saída puros, e a função não fornece valor de retorno (void) [SWS_FrTrcv_00331].

Nenhuma descrição funcional detalhada consta nos dados de especificação. Interpretação: com base no nome, a função deve servir para verificar se um evento de despertar (Wakeup) está pendente ou foi detetado pelo hardware do transceptor endereçado [SWS_FrTrcv_00331]. Pergunta Q-9b8b5d8fb8e4543f (aberta)

Simultaneidade e tratamento de erros

Em relação ao comportamento de concorrência, FrTrcv_CheckWakeupByTransceiver é classificada como reentrante [SWS_FrTrcv_00331]. Isso permite chamadas paralelas para diferentes instâncias de transceptor no sistema. Mecanismos específicos de tratamento de erros, como verificações relativas a índices inválidos ou notificações ao Default Error Tracer (DET) ou Diagnostic Event Manager (DEM), não estão definidos neste elemento de especificação [SWS_FrTrcv_00331].

Esta nota de uso foi gerada por uma IA e baseia-se exclusivamente nas informações de especificação do pacote AUTOSAR R20-11.

função FrTrcv_GetTransceiverError [SWS_FrTrcv_00419] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverError (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx, uint32* FrTrcv_BusErrorState);

All mandatory errors defined by the Flex Ray EPL [5] which are supported by the Flex Ray transceiver hardware can be acce ssed via this API:In addition to errors on the physical layer and local to the ECU hardware, a global error flag is provided.

função FrTrcv_DisableTransceiverBranch [SWS_FrTrcv_00442] 📄 PDF

Std_ReturnType FrTrcv_DisableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function disable s the specified branch on the addressed (active star) transceiver.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: f12db972f543 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona FrTrcv_DisableTransceiverBranch serve para desativar um ramo individual especificado em um transceiver estrela ativo endereçado ([SWS_FrTrcv_00442]). Ela é fornecida através do arquivo de cabeçalho FrTrcv.h e possui o service ID 0x0f ([SWS_FrTrcv_00442]).

Parâmetros e contexto de chamada

A chamada ocorre de forma síncrona e é especificada como não reentrante (Non Reentrant) ([SWS_FrTrcv_00442]). A função espera dois parâmetros de entrada baseados em zero:

  • FrTrcv_TrcvIdx: índice baseado em zero que identifica, no contexto do driver do transceiver, o transceiver sobre o qual a operação deve ser aplicada ([SWS_FrTrcv_00442]).
  • FrTrcv_BranchIdx: índice baseado em zero que determina o ramo a ser desativado do transceiver estrela ativo endereçado ([SWS_FrTrcv_00442]).

Valores de retorno e tratamento de erros

O resultado da operação é sinalizado através do tipo de retorno Std_ReturnType ([SWS_FrTrcv_00442]):

  • E_OK: A ramificação especificada do transceptor foi desativada com sucesso ([SWS_FrTrcv_00442]).
  • E_NOT_OK: o parâmetro FrTrcv_TrcvIdx ou FrTrcv_BranchIdx está fora do intervalo válido ([SWS_FrTrcv_00442]). Neste caso de erro, o estado do ramo do transceiver permanece inalterado ([SWS_FrTrcv_00442]).

Restrições e concorrência

Como FrTrcv_DisableTransceiverBranch não é reentrante, as chamadas não devem ser executadas de forma concorrente sem proteção ([SWS_FrTrcv_00442]). Os chamadores também devem garantir que ambos os índices estejam dentro dos limites configurados para evitar uma rejeição com estado do ramo inalterado ([SWS_FrTrcv_00442]).

Esta nota de uso baseia-se na especificação SWS_FrTrcv_00442 do release R20-11.

função FrTrcv_EnableTransceiverBranch [SWS_FrTrcv_00443] 📄 PDF

Std_ReturnType FrTrcv_EnableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function enables the specified branch on the addressed (active star) transceiver.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 8a9d8eb5de3b Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona FrTrcv_EnableTransceiverBranch serve para ativar uma ramificação específica em um transceptor endereçado, tipicamente em uma topologia em estrela ativa (Active Star) [SWS_FrTrcv_00443].

Parâmetros e contexto de chamada

  • FrTrcv_TrcvIdx: Índice baseado em zero do transceptor no contexto do driver [SWS_FrTrcv_00443].
  • FrTrcv_BranchIdx: Índice baseado em zero da ramificação específica do transceptor que deve ser ativada [SWS_FrTrcv_00443].

Valores de retorno e tratamento de erros

A função retorna um status do tipo Std_ReturnType [SWS_FrTrcv_00443]:

  • E_OK: A ramificação especificada do transceptor foi ativada com sucesso [SWS_FrTrcv_00443].
  • E_NOT_OK: Um dos parâmetros (FrTrcv_TrcvIdx ou FrTrcv_BranchIdx) está fora do intervalo válido; o estado da ramificação permanece inalterado neste caso [SWS_FrTrcv_00443].

Simultaneidade e restrições

A chamada é executada sincronamente e especificada como não reentrante (Non Reentrant) [SWS_FrTrcv_00443]. Os chamadores devem, portanto, assegurar que a função não seja chamada concorrentemente para o mesmo contexto ou contextos paralelos.

Esta nota de utilização foi gerada automaticamente com base na especificação.

função FrTrcv_MainFunction [SWS_FrTrcv_00330] 📄 PDF

void FrTrcv_MainFunction (void);

-

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: f615787755a2 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função FrTrcv_MainFunction constitui a função principal periódica do driver para o transceiver FlexRay (módulo FrTrcv) e está registrada com o service ID 0x0d [SWS_FrTrcv_00330]. A interface C está definida com a assinatura void FrTrcv_MainFunction (void) como função sem parâmetros, razão pela qual, na chamada, não são passados parâmetros de entrada nem existe um valor de status como tipo de retorno [SWS_FrTrcv_00330].

Como arquivo de inclusão, o cabeçalho SchM_FrTrcv.h está predefinido para a função [SWS_FrTrcv_00330]. A disponibilização através da interface do Schedule Manager fundamenta a interpretação de que a chamada na operação do sistema normalmente ocorre de forma cíclica pelo escalonador da BSW no contexto de uma tarefa configurada do sistema operacional.

Na ausência de parâmetros e valores de retorno, os fluxos de controle e monitoramento do transceiver devem ser executados de forma autônoma internamente no módulo. Pergunta Q-2710fa5096bf4d90 (aberta) Quanto a aspectos como reentrância, concorrência, tratamento de erros DET ou interações com outras interfaces de driver, a especificação não contém definições neste ponto [SWS_FrTrcv_00330].

Esta nota de uso foi gerada por uma IA e baseia-se exclusivamente nos conteúdos da especificação do release R20-11.

tipo FrTrcv_TrcvModeType [SWS_FrTrcv_00481] 📄 PDF

Transceiver modes in state ACTIVE. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayTransceiverDriver

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4db36c82b07f Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de enumeração FrTrcv_TrcvModeType especifica, de acordo com [SWS_FrTrcv_00481], os modos de operação permitidos de um transceptor FlexRay no estado de operação de nível superior ACTIVE. A definição tipificada é parte integrante do driver do transceptor FlexRay FrTrcv e é disponibilizada em toda a plataforma através do arquivo de cabeçalho Fr_GeneralTypes.h para módulos de software de nível superior [SWS_FrTrcv_00481].

A enumeração compreende quatro estados definidos para a operação do transceptor [SWS_FrTrcv_00481]:

  • FRTRCV_TRCVMODE_NORMAL: Identifica que o transceptor se encontra no estado de operação regular NORMAL [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_STANDBY: Identifica que o transceptor se encontra no estado de prontidão com economia de energia STANDBY [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_SLEEP: Identifica que o transceptor se encontra no estado de repouso SLEEP [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_RECEIVEONLY: Identifica que o transceptor se encontra no estado RECEIVEONLY e permite apenas operações de receção [SWS_FrTrcv_00481].

Em relação ao uso e interação, o tipo atua como uma variável central de interface para o controle e para a aquisição de estado do hardware do transceptor FlexRay (Interpretação: os valores de enumeração provavelmente servem como parâmetros para chamadas de função destinadas à comutação do modo de operação, bem como para retorno em consultas de status, uma vez que a carga útil não contém assinaturas de funções). Pergunta Q-205f2b0575c32460 (aberta) Códigos de erro específicos, tratamentos de erro via DET ou DEM e restrições de reentrância não estão definidos nos requisitos para este tipo enumerado elementar [SWS_FrTrcv_00481].

Esta nota de uso foi gerada automaticamente e baseia-se na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I1)

tipo FrTrcv_TrcvWUReasonType [SWS_FrTrcv_00074] 📄 PDF

This type to be used to specify the wake up reason detected by the FR transceiver in detail.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_FrTrcv
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_FrTrcv@rel:R20-11#8ceca278
Content hash
8ceca278
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayTransceiverDriver.pdf#nameddest=SWS_FrTrcv_00322

Inicialização e estado

This service returns the version information of this module.

void FrTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);
FrTrcv_Init função

This service initializes the Fr Trcv.

void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);

Serviços

-

void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);

This function clears a pending wake up event.

Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);

This function disable s the specified branch on the addressed (active star) transceiver.

Std_ReturnType FrTrcv_DisableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function enables the specified branch on the addressed (active star) transceiver.

Std_ReturnType FrTrcv_EnableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

All mandatory errors defined by the Flex Ray EPL [5] which are supported by the Flex Ray transceiver hardware can be acce ssed via this API:In addition to errors on the physical layer and local to the ECU hardware, a global error flag is provided.

Std_ReturnType FrTrcv_GetTransceiverError (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx, uint32* FrTrcv_BusErrorState);

This function returns the actual state of the transceiver.

Std_ReturnType FrTrcv_GetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType* FrTrcv_TrcvModePtr);

This function returns the wakeup reason.

Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);

This service sets the transceiver mode.

Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);

Cíclico

-

void FrTrcv_MainFunction (void);

Tipos

Configuration data structure of the Fr Trcv module.

Transceiver modes in state ACTIVE. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayTransceiverDriver

This type to be used to specify the wake up reason detected by the FR transceiver in detail.

Type ofaCfunctionwhichsubstitutesMultiplicityType.