楊雷崗,張丕迪,李 飛,羅 超,陳 寧
(鋼研納克檢測(cè)技術(shù)股份有限公司,北京 100092)
持久蠕變?cè)囼?yàn)機(jī)主要用于測(cè)量耐高溫材料在規(guī)定時(shí)間范圍內(nèi),在特定溫度和特定負(fù)荷作用下的蠕變持久及松弛疲勞等機(jī)械性能。由于持久蠕變?cè)囼?yàn)要持續(xù)一定的時(shí)間(幾十個(gè)小時(shí)到幾年不等),并且一般需要做一組試驗(yàn)來(lái)得到想要的結(jié)果,若使用單臺(tái)試驗(yàn)機(jī)完成試驗(yàn),則要花費(fèi)更長(zhǎng)的時(shí)間,所以需要多臺(tái)試驗(yàn)機(jī)來(lái)完成一組試驗(yàn)。使用單個(gè)控制器來(lái)控制多臺(tái)試驗(yàn)機(jī)同時(shí)試驗(yàn),這就需要一種穩(wěn)定可靠、傳輸速率高、不受距離限制和節(jié)點(diǎn)個(gè)數(shù)限制的數(shù)據(jù)傳輸方式。
目前,國(guó)內(nèi)持久蠕變?cè)囼?yàn)機(jī)使用的傳輸方式大都是485串口或者串口轉(zhuǎn)網(wǎng)口的方式,這些傳輸方式具有設(shè)計(jì)簡(jiǎn)單、成本低、傳輸穩(wěn)定等特點(diǎn),但在實(shí)際應(yīng)用中,通常會(huì)受到實(shí)際硬件的限制,不能連接過(guò)多的試驗(yàn)機(jī)。同時(shí),串口通信的速率慢,不能滿足持久蠕變?cè)囼?yàn)的要求,因此需要選擇一種更加穩(wěn)定可靠而且能夠滿足材料試驗(yàn)要求的數(shù)據(jù)傳輸方式。以太網(wǎng)具有傳輸效率高、無(wú)延時(shí)、無(wú)丟失、連接簡(jiǎn)單和方便擴(kuò)展等優(yōu)點(diǎn),將以太網(wǎng)技術(shù)用于持久蠕變?cè)囼?yàn)機(jī)的數(shù)據(jù)通信已經(jīng)是一種趨勢(shì)。本設(shè)計(jì)運(yùn)用以太網(wǎng)進(jìn)行數(shù)據(jù)通信,使用傳輸控制/網(wǎng)際協(xié)議實(shí)現(xiàn)穩(wěn)定高效的數(shù)據(jù)通信。
TCP/IP (Transmission Control Protocol/ Internet Protocol)即傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議,是因特網(wǎng)最基本的協(xié)議、Internet國(guó)際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ),由IP協(xié)議和TCP協(xié)議組成。五層模型有應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層和物理層等5層(如表1所示)。鏈路層、網(wǎng)絡(luò)層以及傳輸層由控制程序?qū)崿F(xiàn),應(yīng)用層由應(yīng)用軟件實(shí)現(xiàn)。物理層實(shí)現(xiàn)電路傳輸,將數(shù)據(jù)從一臺(tái)服務(wù)器通過(guò)一定的物理路徑發(fā)送到一個(gè)或多個(gè)客戶端。每層協(xié)議所加上的數(shù)據(jù)首部和尾部,即協(xié)議格式。
表1 TCP/IP五層模型
以太網(wǎng)用于實(shí)現(xiàn)持久蠕變?cè)囼?yàn)機(jī)和計(jì)算機(jī)的通信,計(jì)算機(jī)程序能將命令傳輸給試驗(yàn)機(jī),控制試驗(yàn)機(jī)的運(yùn)行,試驗(yàn)機(jī)能將數(shù)據(jù)發(fā)送給上位機(jī)用來(lái)計(jì)算試驗(yàn)結(jié)果。
本設(shè)計(jì)采用的控制器為瑞昱公司的RTL8019AS-PQFP,下面簡(jiǎn)單介紹該控制器及其設(shè)計(jì)。
RTL8019AS-PQFP是高集成度的以太網(wǎng)控制器,支持PNP方式,具有全雙工和休眠特性,通信帶寬提高到了20Mbps。該控制器支持16k、32k及64k字節(jié)的塊存儲(chǔ)器,具有flash接口,有8位或16位的數(shù)據(jù)線和24位的地址線接口。RTL8019AS-PQFP可以在發(fā)送的數(shù)據(jù)上自動(dòng)添加報(bào)頭、報(bào)起始符和報(bào)校驗(yàn)和。由于RTL8019AS-PQFP控制器的高集成度,直接搭建簡(jiǎn)單的外圍硬件就可實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收等通信功能。
RTL8019AS-PQFP控制器管腳的連接方式?jīng)Q定了控制器內(nèi)存的起始地址,以太網(wǎng)連接方式、地址線的連接、控制器的復(fù)位方式、數(shù)據(jù)線寬度以及控制器的工作模式等是決定程序編寫的關(guān)鍵選擇。本設(shè)計(jì)中RTL8019AS-PQFP采用的硬件設(shè)計(jì)見(jiàn)圖1。
圖1 RTL8019AS-PQFP硬件設(shè)計(jì)圖
可以看出,該電路設(shè)計(jì)將65腳接高電平,這個(gè)管腳的狀態(tài)決定了控制器具體采用哪種工作方式,包括即插即用、免跳線和跳線三種方式。按圖中的方式,控制器采用了跳線方式。當(dāng)控制器上電復(fù)位后,在33腳下降沿控制器將讀入各個(gè)引腳的狀態(tài)并將其寫入到控制器配置寄存器中作為系統(tǒng)默認(rèn)的初始配置。IOS0-IOS3管腳是I/O基地址選擇位,用于選擇輸入輸出內(nèi)存的起始地址。本設(shè)計(jì)中使其置為低電平,則內(nèi)存起始地址為0x300。由于控制器的管腳內(nèi)部都接入下拉電阻,所以當(dāng)管腳懸空時(shí),其相應(yīng)的狀態(tài)為低電平。RTL8019AS-PQFP在復(fù)位時(shí)會(huì)記錄96管腳的電平,電平狀態(tài)決定通信數(shù)據(jù)總線的寬度:高電平時(shí)為16位總線寬度,低電平時(shí)為8位總線寬度。本設(shè)計(jì)中采用16位數(shù)據(jù)總線寬度,即讀寫數(shù)據(jù)通過(guò)16位數(shù)據(jù)線D[0:15]管腳實(shí)現(xiàn)。
RTL8019AS-PQFP內(nèi)部寄存器和存儲(chǔ)器的相對(duì)讀寫地址為00H~1FH,5根地址線的尋址范圍為20H,所以需要5根地址線來(lái)實(shí)現(xiàn)所有寄存器的尋址。因此,本設(shè)計(jì)中RTL8019AS-PQFP的低五位地址SA0~SA4管腳與主控芯片的低五位地址總線直接相連,在系統(tǒng)初始配置中已將起始地址設(shè)為0x300,因而在地址線連接時(shí)還必須令地址線SA8和SA9管腳為1,SA5~SA7地址線接低電平,使其地址鎖定在0x300,這樣就能正常訪問(wèn)到RTL8019AS-PQFP的寄存器??刂破鞯腎NT0中斷腳連接到主控芯片的外部中斷管腳,實(shí)現(xiàn)數(shù)據(jù)的中斷接收。
RTL8019AS-PQFP復(fù)位方式有硬件復(fù)位和軟件復(fù)位兩種,向33管腳寫入高電平可實(shí)現(xiàn)RTL8019AS-PQFP的硬件復(fù)位,對(duì)RTL8019AS-PQFP中地址為18H寄存器進(jìn)行一次讀操作可起到軟件復(fù)位的功能。RTL8019AS-PQFP的讀寫控制引腳IORB(管腳29)和IOWB(管腳30)直接和主控芯片的讀寫控制腳相連,片選AEN管腳連接主控芯片的片選引腳。
RTL8019AS-PQFP芯片的初始化首先要使芯片停止工作,清空所有中斷和接收RAM,然后設(shè)置接收內(nèi)存區(qū),讀取內(nèi)存區(qū)的開始和結(jié)束地址,最后將芯片恢復(fù)為正常工作模式,這些都需要設(shè)置相應(yīng)的寄存器。
數(shù)據(jù)發(fā)送時(shí),首先要將通信的數(shù)據(jù)存儲(chǔ)在特定的內(nèi)存地址,然后將各種報(bào)頭添加到數(shù)據(jù)頭部,包括ARP首部、TCP首部、IP首部和以太網(wǎng)首部,將校驗(yàn)和及以太網(wǎng)尾部添加到數(shù)據(jù)尾部,完成整個(gè)數(shù)據(jù)的打包。設(shè)置發(fā)送數(shù)據(jù)包的長(zhǎng)度,將長(zhǎng)度值寫入到相應(yīng)寄存器中,置位相應(yīng)的發(fā)送數(shù)據(jù)寄存器,如果發(fā)送失敗,還設(shè)有重發(fā)機(jī)制,可以啟動(dòng)重新發(fā)送。數(shù)據(jù)發(fā)送的流程圖如圖2所示。
圖2 數(shù)據(jù)發(fā)送流程圖
如果接收到正確的數(shù)據(jù)包,控制器會(huì)設(shè)置相應(yīng)的寄存器,將收到的數(shù)據(jù)讀出后,相應(yīng)的寄存器會(huì)發(fā)生變化,所以可以通過(guò)這兩個(gè)寄存器的數(shù)值來(lái)判斷是否接收到正確的數(shù)據(jù)包。如果接收到正確的數(shù)據(jù)包,主控芯片通過(guò)遠(yuǎn)程直接存儲(chǔ)訪問(wèn)控制器的內(nèi)存地址讀取數(shù)據(jù)包。主控芯片接收到數(shù)據(jù)包后需要將各種報(bào)頭和報(bào)尾進(jìn)行解析,將有用的數(shù)據(jù)存儲(chǔ),然后將數(shù)據(jù)按照正確的協(xié)議進(jìn)行解析,放入特定的內(nèi)存中提供給應(yīng)用程序。接收過(guò)程的流程圖如圖3所示。
圖3 數(shù)據(jù)接收流程圖
本文通過(guò)比較目前市場(chǎng)上常見(jiàn)的持久蠕變?cè)囼?yàn)機(jī)測(cè)控系統(tǒng)的數(shù)據(jù)通信方式,考慮以太網(wǎng)通信方式的優(yōu)點(diǎn),決定在持久蠕變?cè)囼?yàn)機(jī)中采用TCP/IP協(xié)議作為數(shù)據(jù)通信方式。選用RTL8019AS-PQFP作為以太網(wǎng)通信的控制器,通過(guò)對(duì)控制器的研究,設(shè)計(jì)了以太網(wǎng)通信部分的硬件電路圖,通過(guò)對(duì)以太網(wǎng)協(xié)議的學(xué)習(xí),編寫了以太網(wǎng)傳輸部分的程序,通過(guò)修改持久蠕變?cè)囼?yàn)機(jī)軟件,最終實(shí)現(xiàn)了以太網(wǎng)通信在持久蠕變?cè)囼?yàn)機(jī)中的應(yīng)用。