FlexRay
FLexRay硬件
用的的發送接收芯片為TJA1080
FlexRay參數介紹
傳播延遲
BSS(字節起始序,byte start sequence)的下降沿在發送和接受模塊之間的延時
cPropagationDelayMax 最大延時;
非對稱延時
TSS(傳輸起始序列Transmission Start Sequence)
特定位的理想位邊界與實際位邊界之間的偏差;
采樣計數器等于常數(cStrobeOffset = 5,page 44)的值為bit value;
超前狀態最多容忍到達的邊沿早與預期邊沿3個采樣時間(10M-12.5ns)
滯后狀態最壞情況是晚4個采樣時間
截斷
通道會截斷TSS
dFrameTSSTruncation
沖突
沖突時出現噪聲?
喚醒
電氣信號
page 27
Idle_LP Idle Data_1 Data_0
BP—Transimitter –>Transimitter
BM —-Receiver –>Receiver
UBus=uBP-uBM
喚醒時序
Idle(1) ->Data_0(1)->Idle(2)->Data_0->(2)->Idle(3)
dWU01 –>Data_0(1)的持續時間
dWU01>4us;dWU02>4;dWU03>4;*dWU04>4
dWU=dWU01+dWU02+dWU03+dWU04<48us
接收端檢測到的要求
dWU0detect>1 <4us
dWUidledetect>1 <4
dWUtimeout 超時時間>48 <140
BD總線驅動器
CC通信控制器
nStartPath 從ECUM到ECUN之間的有源星型的數量(0~2)
###通信控制要求
建立在最壞情況下的位時間和位選通偏移與采用正常位時間的關系:
dCCRxBit<=(1-nStrobeOffset/nSamplesPerBit)*gdBit(位時間)
nStrobeOffset 為定值5;
SDL規則
FlexRay協議中的時間表示法:
最小時間節拍(Microtick)、最大時間節拍(Macrotick)
uT計時器
MT計時器
一個Macrotick計時器采用MTG產生校正的Macrotick
ST計時器定義了一個以位采樣時鐘節拍(即采樣節拍)為單位進行計數的計時器
在Microtick時基的時間節拍和位采樣節拍之間存在一個確定關系。具體地講:一個Microtick=pSamplesPerMicrotick(整數)個采樣節拍組成
某個時間發生時蓋上時間戳,時間戳的基本時間間隔為一個Microtick;
FlexRay協議運行原理
核心機制
編碼和解碼(機制的主要進程為CODEC)
媒體接入控制(機制的主要進程為MAC)
幀和特征符處理(機制的主要進程為FSP)
時鐘同步(機制的主要進程為MTG和CSP)
CHI—–控制器主機接口
POC—-協議運行控制
CC電源模式變化閥值
| PowerOnPowerThreshold | 從poweroff轉換到poweron狀態的電壓閥值 |
| powerOffPowerThreshold | 從poweron狀態轉換到poweroff狀態的電壓閥值 |
| POCOperationalTimeThreshold | 必須保持該電壓閥值,才能從reset狀態轉換到POCoperation狀態 |
| POCOperationalTimeThreshold | 時間必須達到,才能進入POCoperation狀態 |
| ResetPowerThreshold | 如果保持該電壓,從POCoperational轉換到reset狀態 |
###編碼與解碼<68>
TSS由連續的低電平組成,低電平持續的時間有參數gdTSS Transmitter指定
FSS(幀起始序列,Frame Start Sequence)補償TSS后第一個字節的量化誤差,FSS由一個位時間gdBit的高電平組成
BSS(字節起始序列)有一個gdBit的高電平和一個gdBit的低電平組成。幀數據的每個字節都是以一個擴展字節序列(extended byte sequence)的形式發送到通道上的,即每8個數據位前就有一個BSS
FES(幀結束序列,Frame End Sequence)有一個gdBit的低電平緊跟一個gdBit的高電平組成。
對于靜態斷中發送的數據幀,FES的第2位為傳輸位流的最后一位?
DTS(動態尾部序列,Dynamic Trailing Sequence),動態段發送數據幀時才使用,用于指示發送器的最小時隙動作點(minislot action point)的精確時間點;組成:一段可變長度的低電平(最少一個gdBit,在這個最小時間后,節點一直輸出低電平到下一個最小時隙動作點)和一段時間長度固定的高電平,可將其設為一下范圍中的任意值:>2gbBit 小于gdMinislot+2gbBit ????
### 特征符編碼
定義了3中類型的特征符,分別有兩種不同的特征符位模式予以表述:
模式一:CAS(沖突避免特征符)和MTS(媒體接入測試特征符)
模式二:WUS(喚醒特征符)
CAS和MTS的時序
先發送TSS,隨后發送持續cdCAS的低電平,通過prepCASstream函數實現
WUS時序
有gdWakeupSymbolTxLow 長的低電平和gdWakeupSymbolTxIdle 長的’空閑’組成。并且重復發送pWakeupPattern 次WUS 生成一個喚醒模式。時序中不需要TSS 節點必須在WUP 的gdWakeupSymbolTxIdle 時間內檢測出通道活動
###采樣與多數表決
在每個采樣周期中,節點將最近cVotingSamples 個采樣點存儲,高低電平的數量決定了采樣的數據是高電平還是低電平
###時鐘校驗與位選通
位同步沿,每次選通一個高電平位,節點就會使能位同步沿檢測
當zVotedVal從高電平轉變為低電平時,節點就位同步使能,重新計入采樣計數,從下一個為2;
通道空閑檢測
非空閑狀態檢測到cChannelIdleDelimiter 個選通高電平位被解碼,則認為通道變為空閑。節點正在進行通信元解碼時,不會進行通信空閑檢測
動作點和時間參照點
AP(Action Point)是節點根據校準的本地時基執行指定動作的時間點
pMicroPerCycleTRP 次級TRP(時間參照點)的時間戳
zPrimaryTRP 主TRP
zPrimaryTRP =pMicroPerCycleTRP -pDecodingCorrection (固定偏移量,節點參數)-pDelayCompensation(延遲補償項)
幀與特征符解碼
gdSampleClockPeriod (channel sample clock period,通道采樣時鐘周期)
gdBit 可配置的位時間長度。
cSamplesPerBit 每位采樣次數
gdBit = gdSampleClockPeriod * cSamplesPerBit
Microtick時間=pSamplesPerMicrotick * gdSampleClockPeriod
幀解碼
通道空閑分割符是指先于CHIRP(通道空閑識別點)的cChannelIdleDelimiter (定值為11)個連續的高電平位時間
特征符解碼
CAS 和 MTS解碼
TSS+介于cdCASRxLowMin于gdCASRxLowMax的低電平
WUS解碼
兩個WUS才有效
第一個WUS有至少gdWakeupSymbolRxLow 長的低電平
gdWakeupSymbolRxIdle 長的空閑組成
第二個WUS至少有gdWakeupSymbolRxLow 長的低電平
總時間不超過gdWakeupSymbolRxWindow
數據幀幀格式
數據由幀頭、有效負載數據段和幀尾組成
幀頭
保留位—-低電平(0)(1位)
有效負載預先指示位(1位)
靜態段—數據段開始是否為網絡管理向量
動態段—數據段開始為消息ID(0不包含)
空幀指示位(1位)0表示數據段不包含數據
同步幀指示位(1進行時鐘同步)
啟動幀指示位(startup frame),只有冷啟動節點(codestart node)允許發送啟動幀,并且冷啟動節點只能將同步幀設置為啟動幀
幀ID(11位)
有效負載數據長度(7位)以字為單位,長度值為0~*cPayloadLengthMax*,一個通信周期中所有的靜態幀的有效數據長度都應該固定且相同;被設置為gPayloadLengthStatic個字
幀頭是CRC11(11位)
周期計數vCycleCounter
有效負載數據段
幀CRC的海明距離為6?????
靜態幀:0~12可以作為NMVector(網絡管理向量),長度有gNetwordManagementVectorLength決定
動態幀:0~15可以配置成消息ID字段
NMVector同一節點簇都必須配置成一樣,
幀尾—24位的幀CRC
符號窗
符號窗包含gbSymbolWindow 個Macrotick
gbSymbolWindow =gdActionPointOffset(距離時隙起始點的偏移長度)+特征符+cChannelIdleDelimiter +channel idle delimiter+channel idle
參數說明
gPayloadLengthStatic(靜態幀中有效數據長度<85>)
gdStaticSlot(靜態時隙均包含相同的Macrotick的數量)
gNumberOfStaticSlots(靜態段內靜態時隙的數量)
adActionPointDifference()
gdMinislot(動態段中每個時隙包含的Macrotick數量)
gNumberOfMinislots(動態段中最小時隙數量)
gdSymbolWindow(符號窗中包含的macrotick數量)
gdNIT
vSlotCounter(時隙計數器的狀態變量)
gNumberOfStaticSlots(靜態段內的靜態時隙的數量)
gStaticSlot(靜態時隙包含的Macrotick數量)
gMaxWithoutClockCorrectionFatal(每個
gMaxWithoutClockCorrectionPassive
vVotingDelay(表決延遲,協議層相互傳輸產生)
cPayloadLengthMax(動態幀的最大長度以字為單位)
cClockDeviationMax (最大的時鐘偏差,等于1500/1000000=0.0015)
gListenNoise ?
vClockCorrectionFailed
公式說明
gMacroPerCycle(5000)[MT] = gdStaticSlot(120)[MT] * gNumberOfStaticSlots(20) + adActionPointDifference(0)[MT] + gdMinislot(40)[MT] * gNumberOfMinislots(40) + gdSymbolWindow(59)[MT] + gdNIT(805)[MT]
總結
- 上一篇: 看电影的计算机配置,2160p的电影需要
- 下一篇: 神经网络模型 基本概念 一文看懂