亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        計(jì)算機(jī)聯(lián)鎖中安全編碼編程器的設(shè)計(jì)與實(shí)現(xiàn)

        2015-07-05 17:29:51劉培頂陳榮武王黎敏
        鐵路計(jì)算機(jī)應(yīng)用 2015年10期
        關(guān)鍵詞:單片機(jī)設(shè)計(jì)

        劉培頂,陳榮武,王黎敏,陳 忱

        (西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 610031)

        計(jì)算機(jī)與通信信號(hào)

        計(jì)算機(jī)聯(lián)鎖中安全編碼編程器的設(shè)計(jì)與實(shí)現(xiàn)

        劉培頂,陳榮武,王黎敏,陳 忱

        (西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 610031)

        在部分計(jì)算機(jī)聯(lián)鎖系統(tǒng)中,輸入和輸出采用安全編碼的方式來保證采集和驅(qū)動(dòng)的安全性。安全編碼需事先固化到安全輸入/輸出板的Flash存儲(chǔ)器中,輸入/輸出板通過讀取安全編碼的狀態(tài)來判斷系統(tǒng)是否正常工作。為此設(shè)計(jì)了使用C8051F020單片機(jī)作為控制器的編程器,并基于Qt設(shè)計(jì)了上位機(jī)程序來實(shí)現(xiàn)對(duì)輸入/輸出板上28F128J3F75 Nor Flash的操作,包括自動(dòng)識(shí)別輸入/輸出板、讀/寫安全編碼等。在文中詳細(xì)介紹了系統(tǒng)結(jié)構(gòu)、硬件連接、軟件設(shè)計(jì)以及上位機(jī)讀/寫安全編碼的數(shù)據(jù)格式定義。

        計(jì)算機(jī)聯(lián)鎖;安全編碼;C8051F020;28F128J3F75;Qt

        計(jì)算機(jī)聯(lián)鎖系統(tǒng)在保障行車安全上起著至關(guān)重要的作用,必須符合“故障—安全”原則。為確保聯(lián)鎖機(jī)與監(jiān)控對(duì)象之間信息的傳送安全,在通道設(shè)計(jì)上須采用安全輸入/輸出接口,通常采用光電隔離技術(shù)、安全編碼以及表決來實(shí)現(xiàn)。在光耦輸入端施加特定的安全編碼信號(hào),在另一光耦輸出端對(duì)信號(hào)進(jìn)行回采,若輸出與預(yù)期不符,則表明有故障,由安全電源控制板控制安全重力繼電器切斷輸出電源,實(shí)現(xiàn)故障導(dǎo)向安全。每一路對(duì)應(yīng)的安全編碼應(yīng)事先固化到安全輸入/輸出板的板載Flash存儲(chǔ)器中,出于安全考慮,系統(tǒng)在啟動(dòng)后只能在線讀取Flash中的編碼,而不能擦寫Flash,即不支持在線編程,這就需要一個(gè)離線編程器專門給安全輸入/輸出板進(jìn)行編碼。該編程器設(shè)計(jì)的好壞,直接關(guān)乎聯(lián)鎖系統(tǒng)安全編碼的正確率和以后的工程配置效率。

        1 芯片選型及性能介紹

        為了提高計(jì)算機(jī)聯(lián)鎖系統(tǒng)可靠性和隨機(jī)讀取速度,安全地輸入/輸出板上的Flash存儲(chǔ)器采用Intel公司的28F128J3F75 Nor Flash。為了減少系統(tǒng)功耗并縮短開發(fā)周期,設(shè)計(jì)了一種以C8051F020高性能單片機(jī)為主控制器的編程器,并基于Qt設(shè)計(jì)了上位機(jī)程序,通過RS232串口通信來控制編程板對(duì)Flash存儲(chǔ)器實(shí)現(xiàn)讀、寫、擦除等操作。

        1.1 Flash芯片28F128J3F75

        根據(jù)編碼理論,利用n位二值碼元可生成2n種狀態(tài)的碼字或代碼的集合。在這2n種狀態(tài)的代碼組合中,僅有一種狀態(tài)代表危險(xiǎn)側(cè)碼字,其余均為安全側(cè)碼字。在鐵標(biāo)《TB/T 3027-2002計(jì)算機(jī)聯(lián)鎖技術(shù)條件》中規(guī)定:

        (1)有相同意義的與行車安全有關(guān)的變量及其同一變量不同取值的信息編碼的漢明碼距應(yīng)不小于4;

        (2)與行車安全有關(guān)的信息編碼,在其碼集中合法碼字、非法碼字或安全側(cè)碼字和非安全側(cè)碼字的不對(duì)稱比率必須不小于255:1[1]。故在設(shè)計(jì)安全編碼時(shí),碼位至少為8,從安全冗余以及方便軟件編程的角度出發(fā),通常設(shè)計(jì)為16 bit或32 bit。經(jīng)過正確的合理編碼,完全可以保證編碼的漢明距大于4[2]。

        基于以上原因,聯(lián)鎖系統(tǒng)中,安全輸入/輸出板上的Flash存儲(chǔ)器一般采用16 bit I/O 口的Flash芯片。安全編碼從16 bit變?yōu)?2 bit時(shí),使用2片F(xiàn)lash,增加片選信號(hào)線,分時(shí)對(duì)Flash進(jìn)行操作。本設(shè)計(jì)針對(duì)的安全輸入/輸出板上,F(xiàn)lash存儲(chǔ)器為28F128J3F75 Nor Flash芯片,芯片采用分塊結(jié)構(gòu),非常適合于要求高密度的代碼或者數(shù)據(jù)存儲(chǔ)的低功耗系統(tǒng)。它具有以下特點(diǎn):

        (1)速度快:異步頁(yè)模式讀取25 ns/8 word;在256 byte緩沖器寫模式下有效編程時(shí)間為1.41 us。

        (2)低功耗:其供電電壓為2.7 V~3.6 V,根據(jù)手冊(cè)擦寫功耗最大為80 mA×3.3 V。

        (3)具有通用Flash接口,用戶可根據(jù)需要配置為x8或者x16模式;具有128個(gè)128 kbyte/64 kWord的可擦除塊,該特性允許用戶對(duì)其中任意一個(gè)塊數(shù)據(jù)進(jìn)行擦除或者編程。

        (4)可靠性高:工作溫度為–40℃~+85℃;Vpp=GND時(shí)可實(shí)現(xiàn)完全寫保護(hù),具有靈活的塊上鎖,電壓跳變時(shí)可中止擦除/寫入操作;每塊循環(huán)擦寫次數(shù)為10萬(wàn)次以上。

        1.2 編程器主控制器C8051F020

        編程板設(shè)計(jì)時(shí)采用5 V的USB接口供電,考慮到一般計(jì)算機(jī)USB口供電能力為300 mA左右,所以元器件選擇以及設(shè)計(jì)時(shí)需要考慮降低功耗。安全輸入/輸出板編程時(shí)主要功耗為FLASH,根據(jù)28F128J3F75數(shù)據(jù)手冊(cè),3.3 V供電電壓下,其擦寫功耗最大為80 mA。其它板載電路如CPCI和邏輯控制電路等都處于待機(jī)狀態(tài),功耗可以估計(jì)為10 mA左右,即在編程時(shí)安全輸入/輸出板最大電流為90 mA,功耗約為300 mW,在設(shè)計(jì)編程板上電路時(shí)總功耗盡量保持在1.2 W以內(nèi)??紤]到以上原因,同時(shí)為了方便系統(tǒng)開發(fā),在設(shè)計(jì)時(shí)采用C8051F020芯片作為編程器主控制器。

        C8051F020是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片(SoC),具有功能全面、應(yīng)用廣泛、性價(jià)比高等優(yōu)點(diǎn)。它具有與8051兼容的CIP-51微控制器內(nèi)核,指令系統(tǒng)完全相同,熟悉MCS-51系列單片機(jī)的工程技術(shù)人員可以很容易地掌握C8051F[3]。與Flash安全編碼相關(guān)的特性如下:

        (1)采用流水線結(jié)構(gòu),與標(biāo)準(zhǔn)的8051結(jié)構(gòu)相比指令執(zhí)行速度提高了大約10倍;最大系統(tǒng)時(shí)鐘頻率為25 MHz,峰值速度達(dá)到25 MIPS。

        (2)擁有8個(gè)8 bit的I/O端口,大量地減少了外部連線和器件擴(kuò)展,有利于提高可靠性和抗干擾能力。

        (3)工作電壓為2.7 V ~3.6 V,與Flash工作電壓兼容;支持多種節(jié)點(diǎn)休眠和停機(jī)方式,每個(gè)端口I/O引腳都可以被配置為推挽或漏極開路輸出,在標(biāo)準(zhǔn)8051中固定的“弱上拉”可以被總體禁止,這為低功耗應(yīng)用提供了進(jìn)一步節(jié)電的能力。

        (4)自帶4 K XRAM,讀/寫Flash時(shí)可提供足夠大的數(shù)據(jù)緩沖區(qū)。

        (5)支持JTAG調(diào)試和邊界掃描,可以進(jìn)行非侵入式、全速的在系統(tǒng)調(diào)試[4]。

        2 系統(tǒng)結(jié)構(gòu)及硬件接口設(shè)計(jì)

        近年來新開發(fā)的計(jì)算機(jī)聯(lián)鎖硬件平臺(tái)均采用CPCI總線,因此設(shè)計(jì)編程板時(shí)要加入CPCI接口。編程板由5 V USB供電,通過CPCI接口與安全輸入/輸出板的J2口相連,上位機(jī)通過RS232接口與編程板進(jìn)行串口通信,發(fā)送讀、寫、擦除等命令,控制編程板上的主控制器C8051F020單片機(jī)對(duì)安全輸入/輸出板上的Flash芯片執(zhí)行相應(yīng)的操作。JTAG接口用于燒寫程序至單片機(jī),并提供在線調(diào)試。在編程板上設(shè)計(jì)有狀態(tài)燈,用于顯示電源和工作狀態(tài)。系統(tǒng)結(jié)構(gòu)如圖1所示。

        C8051F020有8個(gè)8 bit的I/O端口,低端口(P0、P1、P2 和 P3)既可以按位尋址也可以按字節(jié)尋址,除作通用I/O口外,可作為其他功能模塊的輸入輸出引腳,通過交叉開關(guān)配置器選擇并控制。高端口(P4、P5、P6和 P7)只能按字節(jié)尋址[4]。根據(jù)交叉開關(guān)譯碼表,P0.0和P0.1腳分別作為串口通信的TX0和RX0,并且位置不能互換。在硬件電路設(shè)計(jì)時(shí),為充分利用單片機(jī)I/O口,P0.2~P0.7作為Flash芯片的控制線,控制片選信號(hào)(P0.2、P0.3分別控制兩塊Flash芯片的CE0片選信號(hào),實(shí)現(xiàn)32 bit編碼)、寫保護(hù)、復(fù)位信號(hào)、讀使能、寫使能,P1預(yù)留,P3、P2作為數(shù)據(jù)線,與 Flash的DQ15~DQ0相連,P6、P5、P4作為地址線,與Flash的A24~A1相連,P7接狀態(tài)燈。由于采用16 bit數(shù)據(jù)位,因此Flash芯片上的BYTE接VCC,硬件置1,A0接地。在此,給出C8051F020與28F128J3F75相關(guān)部分連接圖,如圖2所示。

        圖1 安全編碼編程器的系統(tǒng)結(jié)構(gòu)

        圖2 C8051F020與28F128J3F75硬件接口電路

        3 軟件設(shè)計(jì)

        軟件設(shè)計(jì)時(shí),為了程序的可移植性和易用性,將程序分為3個(gè)層次。第1層是硬件抽象層,第2層是實(shí)現(xiàn)訪問Flash的命令層,第3層是應(yīng)用層,提供給用戶或文件系統(tǒng)的接口函數(shù)。

        3.1 硬件抽象層

        硬件抽象層包括訪問Flash的硬件環(huán)境配置以及單片機(jī)與Flash接口實(shí)現(xiàn)通訊的基本函數(shù)。硬件環(huán)境配置包括C8051F020系統(tǒng)時(shí)鐘初始化、I/O端口配置、串口初始化、Flash芯片初始化。與Flash接口實(shí)現(xiàn)通信的基本函數(shù)即為Flash的讀/寫函數(shù):從給定的24 bit地址,讀取一個(gè)字的數(shù)據(jù),或往該地址寫一個(gè)字的數(shù)據(jù)或命令。對(duì)Flash芯片的所有操作均基于這兩個(gè)函數(shù)。C8051F020是8 bit的系統(tǒng),而讀/寫Flash時(shí)數(shù)據(jù)線為16 bit,地址線為24 bit。為了提高程序運(yùn)行效率,避免地址操作時(shí)的溢出和進(jìn)位判斷,定義了一個(gè)unsigned long型變量F_Addr表示地址(C8015中為32 bit),設(shè)置宏定義,通過指針和取地址的方式,取其低24 bit分成3個(gè)8 bit分別賦值給C8051F020的P6~P4口,如下所示:

        #define h_long(x) (*((unsigned char *)&x+1)) #define m_long(x) (*((unsigned char *)&x+2)) #define l_long(x) (*((unsigned char *)&x+3))經(jīng)測(cè)試,使用該方式讀取Flash數(shù)據(jù)的效率高于定義全局變量或使用移位操作符賦值的方式。通過研究28F128J3F75芯片數(shù)據(jù)手冊(cè)中的單字異步讀時(shí)序圖和異步寫時(shí)序圖,使用_nop_()指令延時(shí)及控制讀/寫信號(hào)、片選信號(hào)電平高低來模擬Flash的讀/寫時(shí)序,即可封裝成最基本的讀/寫函數(shù)void Flash_WR(unsigned long F_Addr, unsigned int Data_h, unsigned int Data_l)、int Flash_RD (unsigned long F_ Addr)供命令層函數(shù)使用。其中,Data_h、Data_l分別表示數(shù)據(jù)的高8 bit和低8 bit賦給單片機(jī)的P3口和P2口。

        3.2 命令層

        調(diào)用硬件抽象層的基本讀/寫函數(shù)生成Flash的命令函數(shù),包括讀取狀態(tài)寄存器狀態(tài)、清除狀態(tài)寄存器狀態(tài)、CFI查詢、讀Flash芯片ID號(hào)和設(shè)備號(hào)、按塊擦除、按字寫、緩沖器寫、讀陣列等。在Flash芯片數(shù)據(jù)手冊(cè)中,每一個(gè)命令操作均有詳細(xì)的流程圖供開發(fā)者參考使用。

        3.3 應(yīng)用層

        提供用戶程序訪問Flash的高級(jí)接口函數(shù),包括寫安全編碼、讀安全編碼、自動(dòng)識(shí)別安全輸入/輸出板、擦除整塊Flash芯片等函數(shù)。用戶不需要知道Flash的內(nèi)部結(jié)構(gòu)和接口協(xié)議,單片機(jī)所有初始化完畢后即進(jìn)入while(1)循環(huán),等待用戶程序發(fā)來的命令,進(jìn)而執(zhí)行相應(yīng)的操作。

        4 上位機(jī)及數(shù)據(jù)格式定義

        在工程應(yīng)用中,安全編碼一般以十六進(jìn)制存放于.dat文件中,為了方便讀/寫安全編碼,基于Qt軟件設(shè)計(jì)了上位機(jī)程序,其界面如圖3所示。除具有串口助手的基本功能外,增加了許多安全編碼編程器相關(guān)的功能,包括加載.dat文件、讀Flash信息、擦除Flash芯片、燒寫安全編碼數(shù)據(jù)、讀安全編碼數(shù)據(jù)、數(shù)據(jù)管理等。

        圖3 編程器上位機(jī)程序界面

        上位機(jī)與編程器之間使用RS232串口通信,C8051F020單片機(jī)使用UART0的方式一,即異步工作,8 bit數(shù)據(jù)位,一個(gè)起始位,一個(gè)停止位。

        安全編碼使用大端存儲(chǔ)方式,即數(shù)據(jù)的低字節(jié)存放在內(nèi)存的高地址,數(shù)據(jù)的高字節(jié)存放在內(nèi)存的低地址。讀/寫安全編碼時(shí)均按此種方式。

        讀/寫安全編碼時(shí),以1 kbyte數(shù)據(jù)為單位進(jìn)行讀/寫,為保障安全性,數(shù)據(jù)格式定義如表1所示。

        表1 讀/寫安全編碼數(shù)據(jù)格式

        Flash芯片基地址定義為0x000000,上位機(jī)寫數(shù)據(jù)時(shí),編程板根據(jù)編號(hào)值來確定安全編碼數(shù)據(jù)的存儲(chǔ)位置;上位機(jī)讀數(shù)據(jù)時(shí),編程板根據(jù)地址計(jì)算編號(hào)值。安全編碼為16 bit時(shí),F(xiàn)_addr=512 N,安全編碼為32 bit時(shí),F(xiàn)_addr=256 N。校驗(yàn)值采用最簡(jiǎn)單實(shí)用的方式,即將編號(hào)N與安全編碼數(shù)據(jù)共1 002 byte的數(shù)據(jù)累加。上位機(jī)與編程板均需要計(jì)算校驗(yàn)值,將收到的校驗(yàn)值與計(jì)算的校驗(yàn)值進(jìn)行比較,若相等則表明收到的數(shù)據(jù)是正確的,執(zhí)行相應(yīng)的讀/寫操作;若不相等,則顯示警告信息,并在編程板上以流水燈的形式表現(xiàn),提示用戶數(shù)據(jù)有誤,中斷讀/寫操作。

        5 結(jié)束語(yǔ)

        在輸入/輸出采用安全編碼的聯(lián)鎖系統(tǒng)中,安全編碼編程器的設(shè)計(jì)必須要有非常高的安全性和可靠性。通過認(rèn)真分析功能需求及電氣技術(shù)要求,設(shè)計(jì)了以C8051F020為主控制器的編程器及上位機(jī)程序。編程器設(shè)計(jì)緊湊,輕便小巧,使用一臺(tái)筆記本即可進(jìn)行測(cè)試與調(diào)試。在115 200波特率下,安全編碼讀、寫速度分別為7 kbyte/s、3 kbyte/s,完全滿足工程應(yīng)用需求。目前整套系統(tǒng)已應(yīng)用于國(guó)內(nèi)某自主研發(fā)的計(jì)算機(jī)聯(lián)鎖系統(tǒng)硬件平臺(tái)中。

        [1]中華人民共和國(guó)鐵道部. TB/T 3027-2002.計(jì)算機(jī)聯(lián)鎖技術(shù)條件 [S].北京:中國(guó)鐵道出版社,2002.

        [2]陳學(xué)侄, 陳洪亮.數(shù)據(jù)庫(kù)原理與工程應(yīng)用[M].合肥:中國(guó)科學(xué)技術(shù)大學(xué)出版社,1996.

        [3]孫立香,趙不賄,劉星橋. C8051F020與80C51單片機(jī)的異同點(diǎn)[J]. 國(guó)外電子元器件,2007(5):31-35.

        [4]潘琢金,施國(guó)君. C8051Fxxx高速SoC單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002.

        [5]李長(zhǎng)有,武學(xué)東,孫步勝,馬齊爽. 基于C8051F020的SD卡主控制器設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2007(26):120-122.

        責(zé)任編輯 徐侃春

        Secure coding programmer for Computer-based Interlocking System

        LIU Peiding, CHEN Rongwu, WANG Limin, CHEN Chen
        ( School of Information Science and Technology, Southwest Jiaotong University, Chengdu 610031, China )

        In some kinds of Computer-based Interlocking System, secure coding was used for input and output to guarantee the safety of acquisition and driving. Secure coding should be programmed into the safety input/output board’s Flash memory previously. According to the state of security coding, the input/output board determined whether the system worked properly. The paper designed a programmer which used 80C51F020 single-chip microcomputer as its controller, and also designed the PC program based on Qt to implement the operation of 28F128J3F75 Nor Flash chip, including input / output board of automatic identif i cation, read / write secure coding, etc. It was described the system architecture, hardware connections, software design and the data format def i nition of PC program reading or writing secure coding in detail.

        computer-based interlocking; secure coding; C8051F020; 28F128J3F75; Qt

        U284.3∶TP39

        A

        1005-8451(2015)10-0047-04

        2015-01-24

        劉培頂,在讀碩士研究生;陳榮武,高級(jí)工程師。

        猜你喜歡
        單片機(jī)設(shè)計(jì)
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測(cè)量?jī)x
        電子制作(2019年9期)2019-05-30 09:42:02
        瞞天過?!律O(shè)計(jì)萌到家
        小議PLC與單片機(jī)之間的串行通信及應(yīng)用
        電子制作(2018年12期)2018-08-01 00:48:04
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
        電子制作(2017年19期)2017-02-02 07:08:27
        在线女同免费观看网站| 日本高清视频永久网站www | 偷拍熟女亚洲另类| 国产麻豆一区二区三区在线播放| 久久久精品少妇—二区| 丝袜美腿福利一区二区| 日韩精品无码一区二区三区四区| 亚洲日韩av无码| 欧美日韩亚洲国产精品| 久久精品岛国av一区二区无码| 亚洲羞羞视频| 久久精品这里只有精品| 日本岛国精品中文字幕| 97久久久一区二区少妇| 国产高清精品一区二区| 狠狠色噜噜狠狠狠8888米奇| 无码精品人妻一区二区三区av| 亚洲午夜福利在线观看| 日本欧美在线播放| 中国免费av网| 精品亚洲一区二区三洲| 美女不带套日出白浆免费视频| 伊人久久综合精品无码av专区| 日韩av无码午夜福利电影| 亚洲国产系列一区二区| 中文字幕人妻熟在线影院| 在线成人福利| 日本岛国视频在线观看一区二区| 青青草原综合久久大伊人精品| 波多野结衣av手机在线观看| 日韩成人精品日本亚洲| 日韩国产精品一区二区三区| 亚洲熟女www一区二区三区 | 青青草精品在线免费观看| 国产成人亚洲精品无码青| 久久久久久久女国产乱让韩| 午夜国产精品视频免费看电影| 日韩精品一区二区三区乱码| 亚洲色国产欧美日韩| 亚洲午夜福利精品久久| 精品一区二区三区国产av|