中文名 | 報文濾波 | 外文名 | Message Filtering |
---|---|---|---|
定????義 | 實現(xiàn)點對點、單對多等數(shù)據(jù)傳輸 | 寄存器 | 32位 |
CAN控制器 | CAN2.0A和CAN2.0B | 應(yīng)用學(xué)科 | 計算機原理 |
驗收濾波寄存器是一組用于控制驗收濾波器工作模式及LUT格式的32位寄存器,起始地址為OxE003C000,在它們的相應(yīng)位寫入不同的數(shù)值就可以實現(xiàn)對驗收濾波器的設(shè)置。
寄存器AFMR決定驗收濾波器的工作模式,它只有前3位有效,通過4種組合,可以使驗收濾波器工作于不同模式。在設(shè)置驗收濾波相關(guān)的寄存器和LUT表格的內(nèi)容時,首先須將AFMR寄存器中的AccBP位置1,實際上,只要向AFMR寄存器中寫入0x03,將其設(shè)置為旁路模式就可以了。如果AccBP位沒有置1,僅有LUT中標(biāo)識符的禁能位可以修改,如果只需禁能或使能某個Cell所指定的標(biāo)識符過濾,就可通過向LUT中相應(yīng)的Cell寫入一1或0來實現(xiàn)。
傳統(tǒng)方案
傳統(tǒng)CAN總線解決方案中通常采用PHILIPS公司的獨立CAN控制器SJA 1000。SJA1000同時兼容CAN 2.0A和CAN 2.0B兩種技術(shù)規(guī)范,它有兩種濾波模式:單濾波模式和雙濾波模式。無論哪一種模式,都只有當(dāng)接收信息中的識別位和驗收濾波器預(yù)定義的值相同時,CAN控制器才允許將該信息存入接收緩沖區(qū)。
SJA1000中,驗收濾波器由驗收代碼寄存器(ACR)和驗收屏蔽寄存器(AMR)來定義,這兩個8位的寄存器相配合工作,AMR為0的位,ACR與之對應(yīng)的位必須和CAN報文標(biāo)識符的對應(yīng)位完全相同才予以接收,而AMR為1的位,則屏蔽掉ACR與之對應(yīng)的位,即CAN報文中對應(yīng)的位可為0也可為1。實際上,這種驗收濾波方案只能滿足一些規(guī)律性較高的或個數(shù)較少的標(biāo)識符的過濾,無法對更為復(fù)雜的任意標(biāo)識符進行過濾,這無疑會增加系統(tǒng)軟件設(shè)計及運行時的負(fù)擔(dān)。
LPC2000的濾波原理及過程分析
PHILIPS公司的LPC2000系列ARM微控制器內(nèi)嵌2或4個CAN控制器,都有先進的驗收濾波器。概括性地描述LPC2000對CA N報文的驗收濾波流程:CAN控制器監(jiān)聽所有來自CAN總線上的報文,當(dāng)一個報文到達時,CAN控制器執(zhí)行快速的硬件搜索算法,將收到的CAN報文標(biāo)識符與驗收過濾RAM中存儲的標(biāo)識符進行匹配。如果沒有匹配,則丟棄該報文,這個過程不會對CAN控制器產(chǎn)生中斷,應(yīng)用代碼仍然正常執(zhí)行;如果有匹配的標(biāo)識符,CAN控制器將通過置位集中接收狀態(tài)寄存器中的相應(yīng)位產(chǎn)生中斷,中斷服務(wù)程序?qū)⒃搱笪膹腃AN控制器的寄存器復(fù)制到RAM中,并通過置位CAN命令寄存器的相應(yīng)位來釋放CAN控制器的接收寄存器。
有源濾波器工作原理是:用電流互感器直流線路上的電流,經(jīng)A/D采樣,將所得的電流信號進行諧波分離算法的處理,得到諧波參考信號,作為PWM的調(diào)制信號,與三角波相比,從而得到開關(guān)信號,用此開關(guān)信號去控制IG...
從電氣工程上,所有的元件可以歸納為三類最基本的元件,即電阻,電感和電容.電阻的阻值與交流電的頻率無關(guān).電感的阻值(稱為感抗)Xl=2πfL,即與交流電的頻率成正比.頻率越高,感抗越大.電容元件則與電感...
多次諧波對弱電系統(tǒng)的干擾特別嚴(yán)重,為減少諧波對弱電系統(tǒng)的干擾,因此要濾掉一些多次諧波。
4. 綜合前置機的報文處理
綜合前置機所處理的所有金融交易都以交易報文為基礎(chǔ)。報文格式的制定應(yīng)參考ISO 8583標(biāo)準(zhǔn),包含各種交易可能具有的所有信息。
(1)交易報文的格式
報文的第一部分為報文類型,1字節(jié)長。系統(tǒng)交易處理主控進程根據(jù)報文類型,指定相應(yīng)的報文處理程序。報文的第二部分為報文內(nèi)容,長度不定。它是金融交易的具體內(nèi)容,它的產(chǎn)生由發(fā)送報文的系統(tǒng)主機完成。
(2)通知類報文
報文接收進程收到通知類報文后,對報文內(nèi)容進行整理,然后將報文發(fā)送到系統(tǒng)主消息隊列,交易處理主控進程收到報文后,根據(jù)報文類型,將其指派到相應(yīng)的通知報文處理程序進行處理,之后將報文轉(zhuǎn)發(fā)到報文發(fā)送進程,報文發(fā)送后,本次交易結(jié)束。
(3)請求/響應(yīng)類報文
報文接收進程1收到交易請求報文后,對報文內(nèi)容進行整理,然后將報文發(fā)送到系統(tǒng)主消息隊列,交易處理主控進程收到請求報文后,根據(jù)報文類型,將其指派到相應(yīng)的請求報文處理程序進行處理,之后將報文轉(zhuǎn)發(fā)到報文發(fā)送進程2,報文發(fā)送后,交易請求處理結(jié)束。系統(tǒng)主機收到交易請求后,進行處理并發(fā)出交易響應(yīng)到報文接收進程2,該進程對報文內(nèi)容進行整理后,將響應(yīng)報文發(fā)送到系統(tǒng)主消息隊列,交易處理主控進程收到響應(yīng)報文后,根據(jù)報文類型,將其指派到相應(yīng)的響應(yīng)報文處理程序進行處理,之后將報文轉(zhuǎn)發(fā)到報文發(fā)送進程1,報文發(fā)送后,本次交易處理結(jié)束。
(4)交易請求直接拒絕的處理
綜合前置機可對交易請求進行預(yù)處理,拒絕不合要求的交易請求。這樣,在前置機階段就對交易請求直接作出拒絕響應(yīng),因而在一定程度上減輕了系統(tǒng)負(fù)荷。報文接收進程1收到交易請求報文后,對報文內(nèi)容進行整理,然后將報文發(fā)送到系統(tǒng)主消息隊列,交易處理主控進程收到報文后,根據(jù)報文類型,將其指派到相應(yīng)的交易請求處理程序進行處理,之后將拒絕響應(yīng)報文轉(zhuǎn)發(fā)到報文發(fā)送進程1,報文發(fā)送后,本次交易結(jié)束。
GRE 封裝后的報文格式為 :
Delivery Header |
GRE Header |
Payload packet |
Delivery Header:封裝的外部協(xié)議報文頭(如IP報文頭),即隧道所處網(wǎng)絡(luò)的協(xié)議數(shù)據(jù)頭,是實現(xiàn)一種協(xié)議報文穿越另一種協(xié)議網(wǎng)絡(luò)的傳輸工具。
GRE Header:對數(shù)據(jù)報文進行封裝后加入的數(shù)據(jù),包含GRE協(xié)議本身以及和負(fù)載協(xié)議有關(guān)的一些信息。
Payload Packet:進入隧道之前的網(wǎng)絡(luò)層數(shù)據(jù)報文,將作為隧道報文的有效負(fù)載,該報文的協(xié)議號將作為GRE頭部字段中的ProtocolType字段。GRE頭部信息具有如圖所示的結(jié)構(gòu)。
一個最簡單的GRE頭部只有4個字節(jié),即在C、K、S等標(biāo)志們都為0的情況下,GRE頭部僅包含第0到31位的信息。前4個bit位都為標(biāo)志位,分別表示了頭部后來的字段是否有效;ProtocolType字段標(biāo)識PayloadPacket的協(xié)議類型,一般情況下,該協(xié)議字段與以太網(wǎng)幀的類型字段值相同 。
需要封裝和傳輸?shù)臄?shù)據(jù)報文,稱之為凈荷(Payload),凈荷的協(xié)議類型為乘客協(xié)議(Passenger Protocol)。系統(tǒng)收到一個凈荷后,首先使用封裝協(xié)議(Encapsulation Protocol)對這個凈荷進行GRE 封裝,即把乘客協(xié)議報文進行了“包裝”,加上了一個GRE 頭部成為GRE 報文;然后再把封裝好的原始報文和GRE 頭部封裝在IP 報文中,這樣就可完全由IP 層負(fù)責(zé)此報文的前向轉(zhuǎn)發(fā)(Forwarding)。通常把這個負(fù)責(zé)前向轉(zhuǎn)發(fā)的IP 協(xié)議稱為傳輸協(xié)議(Delivery Protocol 或者Transport Protocol)。根據(jù)傳輸協(xié)議的不同,可以分為GRE over IPv4 和GRE over IPv6 兩種隧道模式。
DHCP option 82又稱為DHCP中繼代理信息選項(Relay Agent Information Option),是DHCP報文中的一個選項,其編號為82。rfc3046定義了option 82,選項位置在option 255之前而在其它option之后。
Code:表示中繼代理信息選項的序號,rfc3046定義為82,option 82即由此得名。
Len:為代理信息域(Agent Information Field)的字節(jié)個數(shù),不包括Code和Len字段的兩個字節(jié)。
Option 82可以由多個sub-option 組成,每個option 82選項至少要有一個子選項.
SubOpt:為子選項編號,其中代理電路ID(即Circuit ID)子選項編號為1,代理遠(yuǎn)程ID(即 Remote ID)子選項編號為2。
Len:為Sub-option Value的字節(jié)個數(shù),不包括SubOpt和Len字段的兩個字節(jié)。
option82子選項2:option82子選項2定義了代理遠(yuǎn)程ID(即 Remote ID),代理遠(yuǎn)程ID是指接收到DHCP請求報文的接入交換機的vlan MAC地址。子選項2通常與子選項1共同使用來標(biāo)識DHCP客戶端的信息。
DHCP請求報文:指由DHCP客戶端發(fā)起的報文,希望DHCP服務(wù)器響應(yīng)后分配IP地址和其它配置信息。DHCP請求報文一般有四種,分別為DHCP_DISCOVER報文、DHCP_REQUEST報文、DHCP_RELEASE報文和DHCP_INFORM報文。中繼代理只針對DHCP請求報文添加option 82選項并轉(zhuǎn)發(fā)給服務(wù)器。本文實現(xiàn)的DHCP中繼對這四種請求報文都添加option 82選項。
DHCP應(yīng)答報文:指由DHCP服務(wù)器響應(yīng)客戶端發(fā)起的請求報文,包含配置信息或指示回應(yīng)結(jié)果的DHCP響應(yīng)報文,DHCP應(yīng)答報文一般有DHCP_OFFER報文,DHCP_ACK報文和DHCP_NAK報文。2100433B