STM32的二乘二取二的光通信系統(tǒng)設(shè)計(jì)
引言
本文引用地址:http://2s4d.com/article/201610/306214.htm隨著軌道交通列車速度的不斷提高,對(duì)軌道交通的安全性和可靠性提出了更高的要求。而傳輸設(shè)備在軌道交通系統(tǒng)中起到了不可替代的作用,提高傳輸設(shè)備的安全性,對(duì)軌道交通系統(tǒng)起著至關(guān)重要的作用。傳輸設(shè)備的主機(jī)單元要求采用雙機(jī)熱備結(jié)構(gòu)或二乘二取二結(jié)構(gòu)。二乘二取二計(jì)算機(jī)聯(lián)鎖系統(tǒng)比雙機(jī)熱備計(jì)算機(jī)聯(lián)鎖系統(tǒng)具有更高的安全性。
目前,大量站間傳輸設(shè)備的CPU采用的是Intel 51系列芯片或者。x86系列PC兼容機(jī),而ARMv7系列中Cortex—M4內(nèi)核在嵌入式系統(tǒng)中應(yīng)用更加廣泛。意法半導(dǎo)體公司STM32是以Cortex—M3處理器為內(nèi)核的,該處理器具有門數(shù)目少、中斷延遲短、調(diào)試成本低的特點(diǎn),是為要求有快速中斷響應(yīng)能力的深度嵌入式應(yīng)用而設(shè)計(jì)的,STM32從性能到片上資源都比原傳輸設(shè)備的CPU更具有競(jìng)爭(zhēng)力。綜上,采用STM32作為各個(gè)板塊的CPU,重點(diǎn)對(duì)基于STM32的二乘二取二系統(tǒng)進(jìn)行設(shè)計(jì)。
1 光通信傳輸設(shè)備位置及作用
基于光通信站間安全信息傳輸設(shè)備是以計(jì)算機(jī)技術(shù)和光通信技術(shù)為基礎(chǔ),利用光纖或光通道取代傳統(tǒng)的電纜或架空明線作為站間信息的傳輸媒介,同時(shí)采用信息安全傳輸保障技術(shù)構(gòu)成的鐵路站間信息安全傳輸?shù)膶S迷O(shè)備。傳輸設(shè)置系統(tǒng)組成如圖1所示。
該設(shè)計(jì)結(jié)構(gòu)應(yīng)用于新傳輸設(shè)備的主控單元模塊,即圖1中主控單元1和2部分。主控單元主要完成邏輯處理和系統(tǒng)控制工作;通信及接口單元主要完成數(shù)據(jù)的收發(fā);I/O接口單元要完成站間信息的采集與驅(qū)動(dòng)。
2 二乘二取二安全系統(tǒng)設(shè)計(jì)
系統(tǒng)采用模塊化設(shè)計(jì),整個(gè)系統(tǒng)分為5大模塊:主控板、通信板、采集驅(qū)動(dòng)板、網(wǎng)絡(luò)接口板和電源板。其中,參與核心運(yùn)算的主控板、通信板和采集驅(qū)動(dòng)板采用二乘二取二結(jié)構(gòu)設(shè)計(jì),其他板采用單CPU結(jié)構(gòu)。“二乘”結(jié)構(gòu)中具有兩套安全相同的二取二系統(tǒng),系統(tǒng)1為主系工作,系統(tǒng)2處于熱備冗余狀態(tài)。兩個(gè)系統(tǒng)具有完全相同的硬件結(jié)構(gòu)。開機(jī)時(shí),兩個(gè)系統(tǒng)同時(shí)獨(dú)立地工作。兩個(gè)系統(tǒng)都正常的情況下,系統(tǒng)1作為主系,系統(tǒng)輸出為系統(tǒng)1的輸出。如果系統(tǒng)1發(fā)生故障,則切換系統(tǒng)2為主系工作系統(tǒng),系統(tǒng)輸出為系統(tǒng)2的輸出,系統(tǒng)1報(bào)告故障或者自動(dòng)重啟。二乘系統(tǒng)間采用CAN總線進(jìn)行通信,任意時(shí)刻系統(tǒng)CAN總線上只有一個(gè)CAN輸出為有效。
2.1 主控板設(shè)計(jì)
主控板作為二乘二取二系統(tǒng)的核心,主要完成系統(tǒng)的控制、繼電半自動(dòng)閉塞站間、站/場(chǎng)間聯(lián)系等信息的處理。根據(jù)二乘二取二結(jié)構(gòu)原理,由于二乘系統(tǒng)間的硬件與軟件完全一致,所以這里不再贅述,只給出二取二系統(tǒng)詳細(xì)設(shè)計(jì)。主控板的二取二結(jié)構(gòu)包含兩塊STM32F407芯片作為CPU、一塊FPGA主要作為總線處理器,每個(gè)CPU有自己配套的外擴(kuò)存儲(chǔ)器,具體結(jié)構(gòu)如圖2所示。
“二取二”結(jié)構(gòu)中采用兩個(gè)相同的CPU組成二取二系統(tǒng),二取二系統(tǒng)同步方式有時(shí)鐘級(jí)同步和任務(wù)級(jí)同步。時(shí)鐘級(jí)同步主要是硬件層同步,由硬件完成2個(gè)CPU之間的同步和數(shù)據(jù)表決,包括總線上信號(hào)的比較和數(shù)據(jù)的比較,對(duì)于外部相當(dāng)于只有一個(gè)CPU在運(yùn)行;任務(wù)級(jí)同步主要是應(yīng)用層同步,一般采用軟件完成,對(duì)每個(gè)任務(wù)的結(jié)果進(jìn)行一致性比對(duì)。
主控板采用時(shí)鐘級(jí)同步,STM32F407主頻高達(dá)168MHz。STM32F407的I—Bus不僅能連接到Flash上,而且還能連接到SRAM和FSMC上,從而加快SRAM或FSMC取指令的速度。利用ST M32F407內(nèi)置的雙CAN控制器,可以向總線處理器發(fā)送數(shù)據(jù)。
時(shí)鐘信號(hào)除了直接輸出給兩個(gè)CPU以外,還須直接供給總線處理器,其內(nèi)部邏輯結(jié)構(gòu)設(shè)計(jì)如圖3所示??偩€處理器中時(shí)鐘處理子模塊用于產(chǎn)生三路時(shí)鐘信號(hào)并完成時(shí)鐘同步功能。輸出給FPGA的時(shí)鐘與CPU時(shí)鐘保持一致,輸出給過(guò)采樣處理的時(shí)鐘是系統(tǒng)時(shí)鐘的4倍頻。過(guò)采樣是用遠(yuǎn)大于奈奎斯特采樣頻率的頻率對(duì)輸入信號(hào)進(jìn)行采樣。本設(shè)計(jì)采用4倍過(guò)采樣法,可以提高總線的可靠性和數(shù)據(jù)恢復(fù)能力。將兩路CAN總線的輸入數(shù)據(jù)經(jīng)過(guò)4倍過(guò)采樣的數(shù)據(jù)直接傳遞給FPGA,由FPGA對(duì)這8個(gè)數(shù)據(jù)進(jìn)行存儲(chǔ)判斷,并采用多數(shù)判決規(guī)則。8個(gè)數(shù)據(jù)有5個(gè)及以上一致時(shí),取多數(shù)的數(shù)據(jù)為待發(fā)送數(shù)據(jù),這樣同一比特?cái)?shù)據(jù)在總線出現(xiàn)不超過(guò)3處以上錯(cuò)誤時(shí),可以完成數(shù)據(jù)的正確恢復(fù)。當(dāng)超過(guò)錯(cuò)誤個(gè)數(shù)時(shí),判定總線故障,F(xiàn)PG A向STM32F407返回故障報(bào)警信息。
2.2 通信板設(shè)計(jì)
由于通信板主要完成主控板與外部設(shè)備的通信,所以對(duì)CPU的要求沒有主控板高,CPU選用STM32F103,其主頻為72 MHz。通信板二取二結(jié)構(gòu)圖與主板相似,不同處主要有兩點(diǎn):
①在FPGA中嵌入一個(gè)2M生成器;
②通信板上配置E1驅(qū)動(dòng)收發(fā)模塊。2M生成器用于將數(shù)據(jù)封裝為滿足于E1協(xié)議的數(shù)據(jù)報(bào),或者將E1數(shù)據(jù)報(bào)解封裝為所需數(shù)據(jù)。這樣就省去傳統(tǒng)協(xié)議轉(zhuǎn)換器,減小了設(shè)備在機(jī)房的占用空間。E1驅(qū)動(dòng)收發(fā)模塊用于順利收發(fā)E1數(shù)據(jù)報(bào)。
2.3 采集驅(qū)動(dòng)板設(shè)計(jì)
正確完整地獲取室外信號(hào)設(shè)備的數(shù)據(jù)信息是實(shí)現(xiàn)安全傳輸設(shè)備的重要部分,因此將采集驅(qū)動(dòng)集合到一個(gè)模塊中處理,即采集驅(qū)動(dòng)板模塊,其結(jié)構(gòu)如圖4所示。采集驅(qū)動(dòng)板結(jié)構(gòu)中總線處理器與主板相似,不同之處在于FPGA還要處理動(dòng)態(tài)驅(qū)動(dòng)、驅(qū)動(dòng)總線、采集1總線以及采集2總線。為了符合鐵路信號(hào)“故障-安全”的原則,在采集驅(qū)動(dòng)板中添加動(dòng)態(tài)驅(qū)動(dòng)單元、數(shù)控電壓發(fā)生器、雙狀態(tài)采集。
動(dòng)態(tài)驅(qū)動(dòng)單元處理輸入側(cè)脈沖信號(hào),當(dāng)輸入側(cè)有脈沖信號(hào)時(shí),輸出側(cè)給出一個(gè)具有一定驅(qū)動(dòng)能力的高電平,以驅(qū)動(dòng)安全型繼電器線圈,使之吸起;當(dāng)輸入側(cè)沒有脈沖信號(hào)或電路發(fā)生故障時(shí),輸出側(cè)給出一個(gè)低電平,該電平不能使繼電器吸起。這種電路一般情況下是“故障-安全”的。
因?yàn)檎鹃g距離通常是10~20 km,線損大,所以繼電器半自動(dòng)電壓范圍為24~130 V。這樣設(shè)計(jì)數(shù)控電壓發(fā)生器,使其產(chǎn)生與外部×1和×2相匹配的不同的電壓要求。雙狀態(tài)采集主要是動(dòng)態(tài)地采集FPGA和安全防護(hù)繼電器的高低電平,當(dāng)有信號(hào)時(shí),采集到一個(gè)動(dòng)態(tài)的脈沖數(shù)據(jù),當(dāng)無(wú)信號(hào)時(shí),采集到一個(gè)恒定的電平。只有采集到動(dòng)態(tài)信號(hào),設(shè)備才對(duì)信號(hào)動(dòng)作,否則不響應(yīng),這樣可以做到故障導(dǎo)向安全。設(shè)計(jì)為雙狀態(tài)采集是為了提高設(shè)備的可靠性,將兩個(gè)狀態(tài)采集的結(jié)果輸入到總線處理器進(jìn)行比較,若比較一致,則接收該采集的數(shù)據(jù),反之,將該故障狀態(tài)報(bào)告給CPU。
采集驅(qū)動(dòng)板模塊需要完成的另一重要任務(wù)是“二乘”系統(tǒng)間的切換功能。將“二乘”系統(tǒng)中的安全防護(hù)繼電器進(jìn)行并聯(lián),“二乘”系統(tǒng)都采集外部狀態(tài),分別進(jìn)行處理,使用串口定時(shí)進(jìn)行同步通信。這樣若任意一個(gè)系統(tǒng)故障,另一個(gè)系統(tǒng)都能無(wú)縫對(duì)接。如果“二乘”系統(tǒng)間采集的數(shù)據(jù)不一致,則FPGA報(bào)告CPU,CPU發(fā)送同步采集請(qǐng)求給鄰站。鄰站收到同步采集請(qǐng)求返回規(guī)定的數(shù)據(jù)后,比較兩個(gè)采集數(shù)據(jù)與規(guī)定數(shù)據(jù)是否一致,判斷出故障系統(tǒng)。如果都不一致,則向上位機(jī)報(bào)警。
2.4 網(wǎng)絡(luò)接口板設(shè)計(jì)
網(wǎng)絡(luò)接口板完成下位機(jī)(傳輸設(shè)備)與上位機(jī)(中央網(wǎng)管)之間控制信息的交互,主要完成上/下位機(jī)間CAN協(xié)議與以太網(wǎng)協(xié)議的轉(zhuǎn)換。CPU選用STM32F207,主頻為120 MHz,它支持以太網(wǎng)IEEE 11588v2標(biāo)準(zhǔn),其結(jié)構(gòu)如圖5所示。
2.5 電源板
供電采用220 V市電電壓,并在220 V入口處采取電磁兼容及雷電防護(hù)措施。為了提高系統(tǒng)內(nèi)部用電安全性,采用三種電壓分別為不同的部分供電,其結(jié)構(gòu)如圖6所示。電源板不處理復(fù)雜數(shù)據(jù),所以電源板采用STM32F103芯片作為CPU,其主要負(fù)責(zé)對(duì)各種電壓進(jìn)行監(jiān)測(cè),以保證系統(tǒng)用電在一個(gè)安全可控的范圍內(nèi)。電源板定時(shí)將系統(tǒng)電壓情況通過(guò)CAN總線反饋給主控板,如果出現(xiàn)電壓不正常,則在電源板面板上用指示燈表示,并由主控板向網(wǎng)管發(fā)出報(bào)警。
結(jié)語(yǔ)
基于Intel 51系列芯片或者x86系列PC兼容機(jī)為CPU的站間傳輸設(shè)備,從時(shí)鐘頻率和片上資源方面考慮,僅能滿足低運(yùn)算量的邏輯處理,對(duì)于時(shí)鐘級(jí)同步也顯得力不從心,而STM32系列專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計(jì)。本文提出了一種基于STM32的二乘二取二系統(tǒng)設(shè)計(jì),利用不同STM32芯片滿足不同模塊的實(shí)際需求;將過(guò)采樣的概念引入到總線比較方面,提高總線信息的安全性和可靠性,為設(shè)計(jì)基于STM32的時(shí)鐘級(jí)同步二乘二取二系統(tǒng)提供了參考。由于實(shí)驗(yàn)條件、精力和水平有限,目前該設(shè)計(jì)的某些細(xì)節(jié)還需進(jìn)一步研究,系統(tǒng)的安全性和可靠性仍需進(jìn)一步分析測(cè)試。
- STM32單片機(jī)中文官網(wǎng)
- STM32單片機(jī)官方開發(fā)工具
- STM32單片機(jī)參考設(shè)計(jì)
評(píng)論