Autosar-以太網是怎么運行的?(Davinci配置部分)

寫在前面:
入行一段時間了,基于個人理解整理一些東西,如有錯誤,歡迎各位大佬評論區指正!!!


目錄

1.Autosar ETH通訊軟件架構

2.Ethernet MCAL配置

2.1配置對應Pin屬性

2.2配置TXD引腳

2.3配置RXD引腳

3.Eth/Eth Trcv配置

3.1驅動包添加

3.2Eth/EthTrcv模塊配置

4.RTE/EcuM/BSWM配置

4.1RTE配置Task

4.2EcuM模塊配置

4.3BswM模塊配置

5.EttIf模塊配置

5.1EthIf General

5.2EthIfController配置

5.3關聯上層協議ARP/IPV4/IPV6

5.4Rx報文回調

5.5配置下層狀態切換以及發送確認回調函數

6.EthSM配置

7.TCP/IP配置

7.1TcpIp General

7.2TcpIpCtrl關聯EthIf

7.3TcpIpCtrl關聯ARP

7.4單播地址配置

7.5多播地址配置

7.6廣播地址配置

7.7ARP配置

7.8關聯上層SoAd模塊

7.9TcpIpConfig配置

7.10UDP相關配置

8.SoAd模塊配置

8.1SoAd General配置

8.2SoAdBswModules配置

8.3套接字綁定元素

8.4TCP配置

8.5UDP配置

8.6創建SoAd路由的Group

8.7關聯Socket與接受PDUs

9.LdCom配置

9.1Method相關信號接收配置

9.2Method相關信號發送配置

9.3Event發送信號配置

10.PduR配置

10.1Method接收

10.2Method發送

10.3Event發送


1.Autosar ETH通訊軟件架構

軟件分層:

????????1.Ethernet Driver
????????2.Ethernet Interface(EthIf)
????????3.TCP/IP協議棧
????????4.Socket Adaptor(SOAD)
????????5.PDU Router(PDUR)
????????6.應?層。

2.Ethernet MCAL配置

以PHY芯?為RTL9000為例,控制器?持單個PHY與MAC通訊,以太?通訊參數為100Mbps,RMII 接?。RTL9000?持硬件配置,包括Master/Slave Mode配置,MII Mode配置,PHY Address配置, Operating Mode配置,詳細的配置?法請參考RTL9000 DS?冊。

以太?模塊各信號對應硬件原理圖的Pin腳:

2.1配置對應Pin屬性

配置輸出引腳屬性,需要確認輸出復選功能,輸出初始電平,輸出強度,?般由Thosslist提供。 例如MDC引腳,在DS?檔中查找P12.0對應的輸出屬性為O6.

EB中MDC引腳的配置如下:

主要設置上圖框出來的?個配置,PortPinDirection->Port?向,PortPinInitalMode->初始狀態下的 模式,PortPinLevelValue->端?的初始電平和 PortPinOutpytPadDriverStrength,PortPinOutputPinDriverMode端?的驅動能?和驅動模式。

2.2配置TXD引腳

對于TXEN/TXD0/TXD1引腳,除了配置上圖標記的部分,還需要是能PortPinControllerSelect功 能,還不使能則以太?發送功能?法正常?作。

2.3配置RXD引腳

配置輸?引腳屬性,需要確認輸?引腳的PullResistor屬性,PadLevel屬性,?般由Thosslist提 供。MDIO引腳雖然是?向可變的,但在EB中按照輸?引腳配置即可。

3.Eth/Eth Trcv配置

DaVinci配置開發包含兩部分:驅動包添加相關模塊配置。SIP包不包含RTL9010驅動包,所以在 進?DaVinci配置之前,需要將驅動包加?項?SIP中。

3.1驅動包添加

本地SIP包路徑下添加RTL9010驅動包

3.2Eth/EthTrcv模塊配置

  • PHY Management Interface:配置為ETH_RMII_MODE;
  • Physical Address:MAC地址按照項?要求配置,配置為源MAC地址
  • Port Speed Selection:配置為PS_100_MBITES
  • CSR Clock Range:根據RMII時鐘選擇CLK_35_60_MHZ,由于MCU MII通訊為PHY提供的時鐘,所以這 ?的配置并?必選CLK_35_60_MHZ,若是MAC輸出的時鐘,則需要與其頻率保持?致。

  • EthCtrlPinRouting配置與Eth MII的輸?引腳選擇有關,在EB配置中,僅配置了MII輸?引腳的 PullResistor和PadLevel屬性,并未關聯Eth Drive功能,這?根據GPCTL寄存器功能進?配置

  • GPCTL ALT配置參數可選擇ETH_ALT_0/ETH_ALT_1/ETH_ALT_2/ETH_ALT_3,根據MII信號對應的PIN 腳,在DS?冊中找到對應功能描述,例如MDIO引腳對應的P12.1功能如下圖,其對應GETH_MDIOC, 則在Davinci配置中GCPTL ATL0處應選ETH_ALT_2。

配置Tx/Rx Buffer

配置Rx和Tx中斷

Eth General配置

Eth Trcv模塊配置

添加頭文件

EthTrcvConfig配置

EthTrcvMgmtInterface配置選擇新增EthTrcvMiiInterface,需要配置如下

  • Mii Selection:若不是RGMII,選擇ETHTRCV_STRAPPING_CONFIG_ONLY,若為RGMII,選擇 ETHTRCV_RGMII_MODE,并配置RGMII對應的Delay Time參數,MCU選擇RMII模式,配置為 ETHTRCV_STRAPPING_CONFIG_ONLY即可。
  • Transceiver MII Index:根據HardwareConfiguration配置

4.RTE/EcuM/BSWM配置

4.1RTE配置Task

4.2EcuM模塊配置

4.3BswM模塊配置

5.EttIf模塊配置

5.1EthIf General

主要使能接收和發送中斷,MainFunction的task周期,超時時間參數的配置

5.2EthIfController配置

會關聯EthCtrl和EthTrcv,設置MTU以及VlanId,如果SOMEIP通訊的IP地址和普通以太?通訊IP地址不? 樣或者VlanId需求不?樣,則需要為SOMEIP通道新建EthIfController

5.3關聯上層協議ARP/IPV4/IPV6

5.4Rx報文回調

5.5配置下層狀態切換以及發送確認回調函數

6.EthSM配置

EthSM General配置主要配置Mainfunction的周期

EthSMNetwork關聯ComM和EthIf,設置協議棧類型

7.TCP/IP配置

TCP/IP主要配置傳輸層以及網絡層相關參數

7.1TcpIp General

  • Buffer Memory為TCP/IP緩沖區保留的內存??,以字節為單位。 ?
  • Lower Layer Name為TCP/IP協議棧下層的模塊 ?
  • MainFunction Spilting Enabled:該參數指定TcpIp_MainFunction是否被分割成三個功能,這樣可 以為特定的使?情況優化上層數據的接收和傳輸路徑。
    TcpIp_MainFunctionRx 處理數據的接收并轉發到上層
    TcpIp_MainFunctionState 處理數據的狀態變化和傳輸內部協議的數據
    TcpIp_MainFunctionTx 處理上層的傳輸請求并傳輸數據 ?
  • Random Function Include file和Random Number Function兩個參數是指定?成隨機數?到的函 數和包含的頭?件。?
  • Scalability Class 為了根據??的具體需要定制TcpIp堆棧,它可以根據可擴展性等級進?擴展。
  • TCP/UDP Enabled使能TCP和UDP的使能位。?
  • TCP/UDP Socket Max指定TCP/UDP最?套接字數量,需要注意的是每當增加通道或者報文時,需要對應增大該數值,在工具中不會報錯,只會報警告。

Bool Data In Array of Struct Strategy:該參數?于調整所有CONFIG-CLASSES ROM數據結構中布爾數 據的使?,BITFIELD和BITMASKING之間的區別取決于本地編譯器選項和內存映射。?

  • BOOLEAN:布爾類型的數據類型本地是布爾值。
  • BITFIELD:使?位域類型,編譯器從結構中提取布爾數據。
  • BITMASKING:使??成的掩碼來從結構中提取布爾類型。

Data Dedupliation Strategy:?來確認重復數據的使?策略。?

  • NONE:?成的數據不被重復使? ?
  • deduplicate_const_data_without_cast:數據被重復利??不使?cast
  • deduplicate_const_data_with_cast:該數據使?CAST進?重復數據刪除。

Deduplicate Indirected Data:重復數據利??式,勾選的話間接使?重復數據,?且不增加運?時間。

Out Of Bounds Write Protection Strategy:該參數據起我界保護策略

  • NONE:在數據訪問中不產?保護策略。
  • INDEX_SATURATION:其優點是數據訪問速度快,但同?變量的其他索引上的?有數據元素可以被覆蓋。
  • INDEX_CHECKING:數據訪問索引通過運?時檢查進?驗證。其優點是數值不會被寫?不正確的數據訪問索引中。

TcpIpV4 General配置

  • ARPEnable:是否使能地址解析協議。
  • ICMP Enable:是否使能ICMP協議。
  • IPv4Enable:是否使能IPV4協議。
  • IPv4 Ethlf Update Phys Addr Filter Api Enable:這個參數定義了IPv4是是否會調? Ethlf_SetPhysAddrFilter(),以配置以太?組地址Rx過濾器。如果控制器處于混雜模式或被靜態配置為 接受所有必要的約且播,這個參數可以被禁?,以避免對EthlfAPI的多余調?。
  • Local Addr IPv4 Entries Max:IPv4的LocalAddr表項的最?數量。

TcpIpV6 General配置

7.2TcpIpCtrl關聯EthIf

  • Ethlf Ctrl Ref:進?Ethlf Controller關聯,便于分配IP地址。
  • IPFrame Prio Default:指定所使?的幀優先級的默認值。

注意:這個值可以通過Tcplp_ChangeParameter()服務為每個套接字單獨改變。如果這個可選參數不可 ?,則使?0作為默認優先級。

7.3TcpIpCtrl關聯ARP

  • ARP Config Ref:關聯Arp,注意:多個IPv4實例可以使?相同的配置容器,但會獨?運?。
  • Default Time To Live:?于指定該IP控制器上發出去的數據包中IPV4頭的"?存時間"字段的默認值。
  • IPTypeOf Service Default:?于指定該IP控制器上出站數據包中IP14頭的"服務類型"字段的默認值。
  • Static ARP Table Ref:?于關聯控制器使?的靜態ARP表。
7.4單播地址配置

Address Type:地址類型,有以下三種類型。
TCPIP_UNICAST:單播地址
TCPIP_MULTICAST:多播地址
TCPIP_IPV4_BROADCAST:?播地址

Ctrl Ref:關聯對應的分配IP地址的Ethlf控制器

Domain Type:選擇IP地址簇,這?選IPV4;TCPIP_AF_NET是IPV4地:址簇,TCPIP_AF_NET6是IPV6地址簇

  • Assignment Method:選擇地址分配?式,TCPIP_STATIC靜態分配,TCPIP_DHCP動態獲 取,TCPIP_IPV6_ROUTER以IPV76的?式路由
  • Assignment Priority:分配的優先級(1為最?)。如果?個具有更?優先級的分配?法的新地址可?,它 將覆蓋先前由具有較低優先級的分配?法分配的IP地址。
  • Assignment Trigger:地址分配的觸發?式。
  • AUTOMATIC:地址分配?法是在建?物理連接后?動觸發 的。?個靜態配置的IP地址(?TcplpStaticlpAddressConfig)將被?即分配,但在運?時可以通過調? Tcplp_RequestlpAddrAssignment()來改變。
  • MANUAL:地址分配?法是由??通過調?Tcplp RequestlpAddrAssignment()?動觸發的。

  • Netmask:IPv4地址的?絡掩碼或CIDR符號中|Pv6地址的地址前綴,即0?32(IPv4)或0?128(IPv6)之間 的?進制值,描述了定義?絡號碼或IP地址前綴的有效位數量。
  • Static Ip Address:設置單播的IP地址為172.16.2.63,這個需要根據需求來配置。這個是目標IP地址
7.5多播地址配置

7.6廣播地址配置

7.7ARP配置

  • Arp Request Timeout:ARP請求有效性的超時,單位為秒。在傳輸ARP請求后,Tcplp應在 TcplpArpRequestTimeout秒的時間內跳過對同??的地的任何進?步ARP請求的傳輸。(IETFRFC 1122,section22.3.2.1)這個參數的值應該是TcplpMainFunctionPeriod的整數倍或0。如果這個參數設 置為0,這個功能就被禁?,ARP請求之間沒有延遲。ARP請求的超時,由上層觸發。在 ArpRequestTimeout期間,Tcplp將只發送?個ARP請求,即使上層觸發了多個ARP請求的Tx。 ?如,在?個ArpRequestTimeout期間,只有?個ARP請求傳輸(?上層觸發)。
  • Num Gratuitous ARP On Startup:配置分配?個新的IP地址時應發送的?償ARP回復的數量。
  • Packet Queue Enable:是否啟?數據包隊列。
  • Retry Interval:重試的時間間隔。
  • Retry Timout:重試的超時時間設置。
  • Table Entry Timeout:設置超時,超時后未使?的ARP條?將被刪除。值為0意味著ARP條?將永遠不會 因為超時?從ARP表中刪除。如果ARP緩存中的條?被使?并且在指定的時間內沒有被更新,ARP將通 過為相應的IP地址發送?個或多個ARP請求來重新驗證該ARP條?。如果遠程主機在 TcplpArpRetryTime指定的時間內沒有發送ARP回復,該條?將被從ARP表中刪除。如果ARP緩存已滿, 并且TcplpArpDiscardedEntryHandling被設置為FALSE,那么在超時之前,?個條?可能被基于最近使 ?的ARP條?取代。
  • Table Size Max:ARP表中的最?條?數。

  • Echo Reply Max Buffer Len:這個值規定了Echo Reply的最?有效載荷?度。如果?個Echo請求包含 更多的數據,響應的有效載荷將被截斷。
  • Icmp Destination Unreachable Enable:此參數定義了ICMPV4是否應根據IETFRFC792發送ICMP目標不可達消息。
    如果啟?,如果收到具有下列屬性之?的單播數據包,ICMPV4會??的地不可達消息進行響應。
    -上層協議是未知的。
    -UDP?的端?沒有打開。
  • Time-To-Live(TTL):發出ICMP數據包的默認?存時間值。
7.8關聯上層SoAd模塊

7.9TcpIpConfig配置

  • Average Tx Retry Queue Size:該值規定了分配給?個TCP套接字的Tx RetryQueue的平均條?量。注 意。重試隊列被分組在所有TCP套接字共享的池中。因此,?個套接字的可?條?可能?指定的少。
  • Avg Num Out Of Order Segments per Socket:這個值指定了每個TCP套接字的失序控制元素的數量。 這些元素被分組到?個由所有TCP套接字共享的池中。?個TCP套接字允許分配的元素數 與'TcplpTcpMaxNumOooSegsPerSocket指定的?樣多。注意:'TcpAvgNumOooSegsPerSocket'只有 在'TcpOutOfOrderRxxSupport'被設置為'true'時才可?。
  • Congestion Avoidance Enabled:是否啟動TCP堵塞算法。
  • Enable Diag Read Ack Seq Num:啟?對指定套接字的當前TCP序列號號和確認號的讀取
  • FIN Wait2Timeout:從遠程節點接收FIN的超時(在該節點啟動連接終?后),即在FINWAIT-2中等待遠程 TCP的連接終?請求的最?時間。Timeout的值必須?少是1MSL。默認值為120。
  • Fast Recovery Enable:配置是否啟?TCP快速恢復。
  • Fast Retransimit Enable:配置是否啟?TCP快速重傳。
  • Keep Alive Enable:是否啟?TCP保持Alive。注意:該參數僅啟?對KKeepAlive機制的?般?持。必須 在運?時為每個套接字明確啟?KeepAlive。(?SOAdSocketTcpKeepAlive*參數)
  • Keep Alive Interval:指定后續Keep Alive Probes之間的默認間隔。如果?TcplpTcpKeepAliveProbesMax被設置為0,這個參數默認沒有影響,但是如果在運?期間改變KeepAlive Probes的數量,可能會有影響。
  • Keep Alive Probes Max:在連接關閉之前,TCP Keep Alive Probes被重傳的默認次數
  • KeepAlive Time:指定發送最后?個數據包(簡單的ACK不被視為數據)和第?個KeepAlive Probe之間的 時間。注意:將此配置參數設置為?于或等于TcplpMainFunctionPeriod的值,會導致在每個 MainFFunction周期內傳輸Keep Alive Probe。
  • Max Num Out Of Order Segments per Socket:這個值指定了在運?期明間可以為?個TCP套接字分配 的最?失序控制元素的數量。注意:"TcpAvgNumOooSegsPerSocket"只有 在"TcpOutOfOrderRxSupport"被設置為"true"時才可?。
  • Maximum Segment Lifetime:最?的分段壽命。(注:TIME-WAIT=2xTcplpTcpMsl-確保遠程節點收到其 連接終?請求的確認。)
  • Nagle Enabled:是否啟?Nagle算法。如果啟?,所有TCP套接字的Nlagle算法默認被激活,但可以通過 Tcplp_ChangeParameter()API停?
  • Nagle Timeout:該值指定了Nagle算法的超時,超時定義了即使前?個?段還沒有被acked,也要發送? ?個?的TCP?段的時間。將超時值設置為"0"可以關閉超時功能,如果先前發送的數據仍未被對等體選 中,TCP將永遠等待發送?個?段。如果對?使?"延遲確認",這種設置可能會導致巨?的延遲。注意,值 必須是主功能周期的倍數。
  • OutofOrderRxSupport:是否?持接收失序的TCP段。
  • Receive Window Max:最?接收窗?的值。
  • Retransmission Timeout:在重傳未被認可的TCP段之前的超時時間。
  • Retransimission Timeout Max:在重傳未確認的TCP段之前的最?超時時間。
  • SYN Max Rtx:TCPSYN被重傳的最?次數。注意:在TcplpTcpRetransmissionTimeout之后,SYN將被重 試。如果在最后?次發送TCPSYN后沒有收到匹配的連接請求,并且TcplpTcpRetransmissionTimedut 已經過期,連接將被放棄。
  • SYN Received Timeout完成遠程發起的TCP連接建?的超時,即在收到和發出連接請求后,在SYNRECEIVED中等待確認連接請求確認的最?時間。
  • Slow StartEnabled:是否啟?慢啟動算法的?持。
  • Time Stamp Option:是否后?TCP時間戳選項。
  • Time-To-Live(TTL):發送階段TCP數據包的默認時間-?存值。
  • Tx Reset Queue Size:該值指定了為Tx復位隊列保留的條?數量。注意意:重置隊列是由所有TCP套接字 共享的。
  • UserTimeout Def:該值指定了??超時的默認值。默認值:20s。注意意:'TcpUserTimeoutDef的值必須 在'TcpUserTimeoutMin'和'TcpUserTimeoutMax'定義的范圍內。

7.10UDP相關配置

  • TTL:設置UDP發出報?的?存時間
  • Tx Retry Queue Size:UDP Tx Retry Queue元素的總數,這個數字必須?于或等于EthTxBufTotal的數 量。這個值指定了在沒有有效解決遠程物理地址的情況下可以存儲的UDP傳輸信息的數量。配置的值 要?個啟?的ARP/NDP包隊。

8.SoAd模塊配置

SoAd層?持通過TCP/IP?絡進?基于PDU的通信。AutoSar I-PDU映射到由SoAd配置和維護的套接字 連接。要為多個I-PDU使?套接字連接,可以在每個I-PDU前?添加SoAd PDU標頭。

  • SOAD層通過TCP/IP?絡實現基于PDU的通信?
  • AUTOSAR I-PDU映射到SoAD配置和維護的Socket連接。
  • 要對多個I-PDU使?Socket連接,可在每個I-PDU前?添加?個SOAD PDU頭
  • PDU路由組管理-啟?/禁?從/到Socket的PDU路由

8.1SoAd General配置

  • Main Function Spilt Enabled:這個參數指定SoAd是否應將棄SoAd_MainFunction拆分成三個函數。
    SoAd_MainFunctionRx
    SoAd_MainFunction State
    SoAd_MainFunction Tx
    這樣可以優化特定?例的數據接收和數據傳輸路徑。
    注意:所有三個主函數必須從同?個任務中調?,或者?少從不互相?擾的任務中調?。
  • RoutingGroup Count:指定SoAd路由組的最?數量。此外,它定義了?于RoutingGroupldType的平臺 類型。如果 SoAdRoutingGroupMax不?于256,則使??個uint8,否則就使?uint16
  • Shutdown Finished Wait Time:這個參數定義了關機機制的超時?時間,它是由調?SoAd Shutdown() 啟動的。如果這個超時,SoAd將切換到關閉狀態,即使套接字還沒有完全關閉。
  • Socket Connection Count:配置的SoAd套接字連接數。此外,它定義了?于SOAd_SoConldType的平 臺類型。如果SoAdSoConMax不?于256,則使?uint8,否則為uint16。
8.2SoAdBswModules配置

DoIp

  • Bsw Module Ref:關聯的上層的BSW模塊
  • lf:指定BSW模塊是否?持通信接?的API。值為true意味著?持這些API。?個模塊可以同時擁有通信接?API和傳輸協議API(例如PduR模塊)。
  • If Trigger Transmit:指定BSW模塊是否?持TriggerTransmit API。值為true表??持該API。
  • IfTxComfirmation:指定BSW模塊是否?持TxConfirmationAPI。值為true表??持該API。
  • Local Ip addr Assignment Chg:指定BSW模塊是否?持LocallpAddrAssigmentChgAPI。值為true表 ??持該API。
  • Shutdown Finished Cbk:這個參數啟??個回調,如果SoAd在成功調?SoAd_Shutdown()后處于關閉 狀態,這個回調將被調?。
  • So Con Mode Chg:每個容器都描述了?個特定的BSW模塊。
  • Tp:指定BSW模塊是否?持TransportProtocol APIs。值為true意味著??持這些API。?個模塊可以同 時擁有通信接?API和傳輸協議API(例如,PduR模塊)。
  • Tp Copy Rx Data With Const Pointer:這個參數指定上層UI_[SoAd][[Tp]CopyRxData()函數是否?常 數指針來實現參數"info"。
  • Tp Copy Tx Data With Const Pointer:這個參數指定上層UI_[SoAd][Tp]CopyTxData()函數是否?常數 指針來實現參數"info"。
  • Tp Start Of Reception Witn Const Pointer:這個參數指定上層UI [ScoAd][Tp]StartOfReception()函數 是否?常數"info"。
  • Use Caller Infix:指定SoAd在調?上層模塊函數時是否使?(TRUE) infix "SoAd"(FALSE)。例如:如果 SoAdUseCallerlnfix對上層"ABC"是TRUE,那么SoAd將調?ABC_SoAdlfRxIndication(),否則SSoAd將 調?ABC_lfRxIndication() Use Tupe Infix:指定SoAd在調?上層模塊函數時是否應使?(TRUE)API類型的infix"Tp"或"If" (FALSE)。例如:如果
  • SoAdUseTypelnfix對上層"ABC"是TRUE,那么SoAd將調?ABClfRxIndication(),否則SoAd將調? ABC_RxIndication()。

PDUR配置

SD配置

8.3套接字綁定元素

SD單播綁定IP地址和端?

  • Enable IP Address Assignment Change Notification:如果此套接字連接使?的本地IP地址分配發?變 化,是否應調?上層的本地IP地址分 配變化通知回調函數。
  • Enable PDUHeader:啟?此套接上的PDU頭(ID,?度)的傳輸。
    TRUE:在PDU數據之前添加SoAd PDU頭
    FALSE:不使?SoAd PDU頭 Local Address
    Reference:關聯引?該連接的本地IP地址和接?。
  • Local Port:?于此連接的本地UDP或TCP端?。如果此參數設置為0,SoAd請求Tcplp選擇?個短暫的端?。

SD多播綁定IP地址和端口

配置IP地址路由

  • Remote IP Address:這個參數定義了遠程節點的IP地址。要接受任何遠程IP地址,請將此參數留空。 如果該參數為空(通配符),則?法打開套接字連接 (設置為在線)。遠程地址必須在運?時通過API調?、 UDP幀接收或TCP連接建?時被覆蓋。
  • Remote IP Address not set:該參數定義了遠程IP地址是否被設置(有效或通配符)或未設置。True:未設置IP地址。False:IP地址已設置(有效/通配符)。
  • Remote Port:這個參數定義了遠程節點的UDP或TCP端?。要接受任何遠程端?,請將 SoAdSocketRemotePort設置為0。 如果這個參數被設置為0,套接字連接就不能被打開(設置為在線)。遠程地址必須在運?時通過API調?, 在UDP幀接收或通過TCP連接建?時被覆蓋。
  • Remote Port not set:該參數定義了遠程端?是否被設置(有效或?通配符)或未設置。True:未設置端 ?。False:端?已設置(有效/通配符)。

選擇傳輸層協議

傳輸層協議UDP

  • Enable Address Resolution Retry:指定是否應在Tcplp模塊中存儲傳輸請求,以便在地址解析丟失時重 試傳輸(ARP/NDP)。True:啟?重試;False:禁?重試。
  • Socket Udp Address Resolution Retry Queue Limit:該參數為該套接字設置最?使?UDP傳輸重試隊 列元素的限制。該值在套接字創建時被轉發給Tcplp模塊。

?如,由于地址解析(ARP)尚未完成,通過UDP套接字的傳輸在Tcplp模塊中失敗。這個傳輸被保存在重試 隊列中,傳輸請求被認為是成功的。如果限制被設置為1,Tcplp將拒絕進?步的傳輸請求,直到重重試隊列 元素被釋放。

8.4TCP配置

  • DisableTCP Congestion Control:指定不對該連接使使?擁堵控制機制。對于UDP套接字,它將不被定 義。TRUE:該TCP連接將不使?擁塞控制。FALSE:此TCP連接將使?擁塞控制。如果沒有啟?這個可選 參數,將應?通過參數TcplpTcpNagleEnaabled為Tcplp配置的默認?為。
    注意:如果TcplpTcpNagleEnabled被設置為FALSE,則該參數不能被設置為FALSE。
  • Enable ImmediateTxConfirmation:如果設置為FALSE,SoAd在收到TcpAck后通過發送確認通知TP上 層。如果設置為"true",SoAd會在Tcplp接受傳輸后?即通過傳輸確認來通知TP上層。
  • Enable Keep Alive:指定對該連接使?保持?存的機制。它將不會被UDP套接字的定義。
    TRUE:這個TCP連接將使?保持通話機制。
    FALSE:這個TCP連接將不使?保持通話機制。
    注意:如果TcplpTcpKeepAliveEnabled被設置為FALSE,則此參數不能被設置為TRUE。
  • Minimum TxBuffer:該參數定義了Tcplp必須能夠在該組的每個套接字連接上提供的最?傳輸緩沖區? ?。這個值會在運?時創建套接字時轉發給Tcplp。如果沒有配置這個可選參數,Tcplp將使??個默認值。
8.5UDP配置

8.6創建SoAd路由的Group

8.7關聯Socket與接受PDUs

(1)確定PDU Header ID

SD服務發現的Service ID是FFFF,Method/Event ID是8100,所以SD Header ID是0xFFFF8100

(2)關聯PDU并綁定Group,同?個Server提供的Method需要綁定到同?個Routing Group

SD服務發現多播

SD服務發現單播

  • Upper Layer Type:IF層,TP層根據報?類型進?選擇,?般只有DoIp選擇TP層

DoIp

Eth Udp網絡管理報文

應用報文

9.LdCom配置

LdCom和Com本質是?樣的,區別在于如果涉及到?數據的傳輸會?到LdCom模塊。?LdCom替換 COM,刪除?成的COM模塊相關配置

9.1Method相關信號接收配置

  • ApiType:表?l-PDU所需的API類型。
    LDCOM_IF:表?l-PDU是通過通信接?API發送/接收的。
    LDCOM_TP:表?l-PDU是通過傳輸協議API發送/接收的。
  • Handle Id:?作該l-PDU的數值。這個ID被Rte?來調?LdCom。創建?個相應的shortName,?于Rte 的調?。相同的ID?于PduR的調?。
  • IPduDirection:定義IPdu信號的?向。
    LDCOM_RECEIVE:表?l-PDU是接收信號
    LDCOM_SEND:表?l-PDU是發送信號
  • Pdu Ref:關聯EcuC中的Pdu Rx Indication:僅?于接收?:要調?的Rte_LdComCbkRxIndication回調函數的名稱。
  • System Template Signal Ref:關聯DBC中對應的信號根據項?需求配置好所有接收Pdu。

9.2Method相關信號發送配置

9.3Event發送信號配置

10.PduR配置

10.1Method接收

這?步主要是關聯上層LdCom模塊。

  • Dest Pdu Data Processing:這個選項決定了在哪種?式執?對?標模塊的路由。
    IMMEDIATE:路由是在transmit或indication函數中執?的。
    DEFERRED(延遲):路由是在主函數的背景下進?的。
  • Dest Pdu Data Provision:指定如何提供數據:直接(作為傳輸調?的?部分)或通過傳輸請求后的 TriggerTransmit回調函數。只對通信接?Tx DestPdus有要求。
  • Dest Pdu Direction:這個參數決不能?動改變。它是由PduR驗證?動計算的。PduR路由路徑?標Pdu 通信?向。
    RECEIVE:路由路徑?標是?個接收Pdu。
    TRANSMIT:路由路徑?標是?個發送Pdu。
    UNDEFINED:?法確定通信?向。
  • DestPdu Handle ld:這個參數決不能?動改變。它是由PduR驗證?動?計算的。由PDU路由器分配的 PDU標識符。由通信接?和傳輸協議模塊使?,?于確認和觸發傳輸API調?
  • Dest PduRBswModules Ref:這個參數決不能?動改變。它是由PPduR驗證?動計算的。關聯 PduRBswModules LdCom(UpperLayer)的PduR路由路徑?的地Pdu。
  • Dest Pdu Ref:關聯信號對應的Pdu
  • Dest Pdu Routing Type:這個參數決不能?動改變。它是由PduR驗證?動計算的。PduR的路由路徑? 的地Pdu的路由類型。
    路由類型決定了路由路徑的路由操作模式:
    API_FORWARDING:在下層和上層模塊之間進?路由。
    GATEWAY_ROUTING:下層模塊之間的路由。
    UNDEFINED:路由類型?法確定。
  • Pdu Length Handling Strategy:這個參數只?于通信接?路由。對于專輸協議路由,它被忽略。
    UNUSED:對Tp路由路徑或未排隊的If路由路徑使?此值
    SHORTEN:如果在源端收到較?的Pdu,Pdu會縮短到配置的全局Pdu?度(以前PduR版本的默認 值)。
    DISCARD:如果在源端收到?個?配置的?的Pdu,Pdu將被丟棄
    IGNORE:如果Pdu的?度被忽略,并移交給?標模塊。(只記適?于未排隊的IF路由路徑)

  • Source Pdu Handle ld:這個參數決不能?動改變。它是由PduR驗證?動計算的。由PDU路由器分配的 PDU?動計算。
  • Src Pdu Direction:這個參數決不能?動改變。它是由PduR驗證?動計算的。PduR路由路徑源端Pdu 通信?向。
    RECEIVE:路由路徑源端是?個接收Pdu。
    TRANSMIT:路由路徑源端是?個發送Pdu。
    UNDEFINED:?法確定通信?向。
  • Src Pdu PduRBswModules Ref:這個參數決不能?動改變。它是由PduR驗證?動計算的。 關聯PduRBswModules SoAd (Low Layer)的PduR路由路徑源Pdu.
  • Src Pdu Ref:關聯信號的Pdu
10.2Method發送

10.3Event發送

注意:?旦以上配置中Transmission Confirmation使能,則需要使能響應的PduR和SoAd中的屬性, 否則編譯通過,但測試過程中會響應報?是會Trap.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/894604.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/894604.shtml
英文地址,請注明出處:http://en.pswp.cn/news/894604.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024年度總結

首先,我是在2023年結束高中生涯進入大學的,難免會有固化的“高中生”思維,我等著老師的安排,看著課表上課,跟著時間吃飯,睡覺,偶爾會熬夜,但整體跟高中沒差太多。我對社團沒興趣&…

【Block總結】CSAM,包含分割、關鍵點、切分等均適用!|即插即用

論文信息 標題: CSAM: A 2.5D Cross-Slice Attention Module for Anisotropic Volumetric Medical Image Segmentation 論文鏈接: https://arxiv.org/pdf/2311.04942 GitHub鏈接: https://github.com/aL3x-O-o-Hung/CSAM 創新點 CSAM(跨切片注意力模塊&#xff…

解決PyG安裝中torch-sparse安裝失敗問題:詳細指南

1 問題描述 最近在學習GNN,需要使用PyTorch Geometric(PyG)庫。在安裝PyG的過程中,遇到了torch-sparse安裝失敗的問題,錯誤提示為: ERROR: Failed building wheel for torch-sparse本文將詳細記錄問題的解…

鳥哥Linux私房菜筆記(三)

鳥哥Linux私房菜筆記(三) 該第三部分和第四部分主要為原書的第十一章(正則表達式與文件格式化處理),第十二章學習shell腳本,第十六章(進程管理與SElinux初探部分),第十七…

學習日記-250203

一.論文 看師兄寫好的一稿。 二、計劃: 繼續看論文里的問題。 然后繼續看promptCD相關,明天要看論文啦,今天家里有些事比較忙(碎碎念) 三. )——( 注冊了 openreview,ORCID,Google scholar&…

python學opencv|讀取圖像(五十四)使用cv2.blur()函數實現圖像像素均值處理

【1】引言 前序學習進程中,對圖像的操作均基于各個像素點上的BGR值不同而展開。 對于彩色圖像,每個像素點上的BGR值為三個整數,因為是三通道圖像;對于灰度圖像,各個像素上的BGR值是一個整數,因為這是單通…

Kafka ACL(訪問控制列表)介紹

文章目錄 Kafka ACL(訪問控制列表)介紹1. Kafka ACL 的基本概念1.1 Kafka ACL 的目標1.2 Kafka ACL 的組成部分 2. Kafka 支持的資源類型2.1 Topic(主題)2.2 Consumer Group(消費者組)2.3 Cluster&#xff…

在 WSL2 中重啟 Ubuntu 實例

在 WSL2 中重啟 Ubuntu 實例,可以按照以下步驟操作: 方法 1: 使用 wsl 命令 關閉 Ubuntu 實例: 打開 PowerShell 或命令提示符,運行以下命令: wsl --shutdown這會關閉所有 WSL2 實例。 重新啟動 Ubuntu: 再次打開 Ubuntu&#x…

Spring Boot 2 快速教程:WebFlux處理流程(五)

WebFlux請求處理流程 下面是spring mvc的請求處理流程 具體步驟: 第一步:發起請求到前端控制器(DispatcherServlet) 第二步:前端控制器請求HandlerMapping查找 Handler (可以根據xml配置、注解進行查找) 匹配條件包括…

小程序設計和開發:如何研究同類型小程序的優點和不足。

一、確定研究目標和范圍 明確研究目的 在開始研究同類型小程序之前,首先需要明確研究的目的。是為了改進自己的小程序設計和開發,還是為了了解市場趨勢和用戶需求?不同的研究目的會影響研究的方法和重點。例如,如果研究目的是為了…

使用 Numpy 自定義數據集,使用pytorch框架實現邏輯回歸并保存模型,然后保存模型后再加載模型進行預測,對預測結果計算精確度和召回率及F1分數

1. 導入必要的庫 首先,導入我們需要的庫:Numpy、Pytorch 和相關工具包。 import numpy as np import torch import torch.nn as nn import torch.optim as optim from sklearn.metrics import accuracy_score, recall_score, f1_score2. 自定義數據集 …

Unity-編譯構建Android的問題記錄

文章目錄 報錯:AAPT2 aapt2-4.1.2-6503028-osx Daemon #0 Failed to shutdown within timeout報錯信息解讀:原因分析最終處理方法 報錯:AAPT2 aapt2-4.1.2-6503028-osx Daemon #0 Failed to shutdown within timeout 報錯信息解讀&#xff1…

【axios二次封裝】

axios二次封裝 安裝封裝使用 安裝 pnpm add axios封裝 // 進行axios二次封裝:使用請求與響應攔截器 import axios from axios import { ElMessage } from element-plus//創建axios實例 const request axios.create({baseURL: import.meta.env.VITE_APP_BASE_API,…

SQL進階實戰技巧:如何構建用戶行為轉移概率矩陣,深入洞察會話內活動流轉?

目錄 1 場景描述 1.1 用戶行為轉移概率矩陣概念 1.2 用戶行為轉移概率矩陣構建方法 (1) 數據收集

Vue3.0實戰:大數據平臺可視化(附完整項目源碼)

文章目錄 創建vue3.0項目項目初始化項目分辨率響應式設置項目頂部信息條創建頁面主體創建全局引入echarts和axios后臺接口創建express銷售總量圖實現完整項目下載項目任何問題都可在評論區,或者直接私信即可。 創建vue3.0項目 創建項目: vue create vueecharts選擇第三項:…

Java自定義IO密集型和CPU密集型線程池

文章目錄 前言線程池各類場景描述常見場景案例設計思路公共類自定義工廠類-MyThreadFactory自定義拒絕策略-RejectedExecutionHandlerFactory自定義阻塞隊列-TaskQueue(實現 核心線程->最大線程數->隊列) 場景1:CPU密集型場景思路&…

【VM】VirtualBox安裝ubuntu22.04虛擬機

閱讀本文之前,請先根據 安裝virtualbox 教程安裝virtulbox虛擬機軟件。 1.下載Ubuntu系統鏡像 打開阿里云的鏡像站點:https://developer.aliyun.com/mirror/ 找到如圖所示位置,選擇Ubuntu 22.04.3(destop-amd64)系統 Ubuntu 22.04.3(desto…

Pandas基礎08(分箱操作/時間序列/畫圖)

3.8.1 Pandas分箱操作 數據分箱(Binning) 是一種數據預處理方法,用于將連續型變量的數值范圍分割成若干個區間或“箱”(bins),將數據按照這些區間進行分類,從而轉換為離散型變量。這種方法常用…

C#,shell32 + 調用控制面板項(.Cpl)實現“新建快捷方式對話框”(全網首發)

Made By 于子軒,2025.2.2 不管是使用System.IO命名空間下的File類來創建快捷方式文件,或是使用Windows Script Host對象創建快捷方式,亦或是使用Shell32對象創建快捷方式,都對用戶很不友好,今天小編為大家帶來一種全新…

國產編輯器EverEdit - 輸出窗口

1 輸出窗口 1.1 應用場景 輸出窗口可以顯示用戶執行某些操作的結果,主要包括: 查找類:查找全部,篩選等待操作,可以把查找結果打印到輸出窗口中; 程序類:在執行外部程序時(如:命令窗…