張志亮,姜 甄
(上海理工大學 電氣工程學院,上海200092)
最近幾年,以太網(wǎng)技術(shù)日趨成熟,得到了空前的發(fā)展,在各個領(lǐng)域中,TCP/IP協(xié)議為主的開放式互聯(lián)網(wǎng)技術(shù)得到廣泛應用。但是在很多情況下,以RS-232串口為主要代表的傳統(tǒng)異步串行接口設(shè)備依舊在廣泛的應用中。在很多場合中,設(shè)備串行數(shù)據(jù)需要同一網(wǎng)絡來傳輸,這就要解決舊設(shè)備和現(xiàn)代通信網(wǎng)絡之間的互聯(lián)。
20世紀90年代以來,嵌入式技術(shù)在國內(nèi)外得到了很大的發(fā)展。通信領(lǐng)域中,先進的數(shù)字技術(shù)已經(jīng)完全代替了傳統(tǒng)的模擬技術(shù)。廣播領(lǐng)域中,美國已經(jīng)進入了數(shù)字化電視時代,歐洲流行的數(shù)字廣播電視已經(jīng)在全球得到了認可,并且發(fā)展速度迅猛,數(shù)字音頻廣播也已經(jīng)正式打入國際市場。同時,各種計算機軟件、新型元器件和集成電路在通信和消費者需求品中作用也日益增大。例如,在維納斯計劃中應用的生產(chǎn)機頂盒,最核心的技術(shù)就是應用了32以上的高端芯片級嵌入式的技術(shù)。個人的領(lǐng)域中,嵌入式技術(shù)的主要用途是為個人的商用,成為了個人通信和數(shù)據(jù)移動必不可少的工具,如在手寫文字輸入、語音撥號上網(wǎng)、收發(fā)電子郵件等方面取得一定成效。
前端機接口總線為 RS-232通信總線,采用MAX3232進行設(shè)計。該芯片采用+3.3 V電源供電,RE和DE分別為接受和發(fā)送的使能管腳,將RE和DE連接在一起構(gòu)成半雙工的通信方式。
單片機可以當作普通的串行通信一樣傳輸或接受數(shù)據(jù),只要接受和發(fā)送數(shù)據(jù)的時候分別使能RE和DE管腳。由于RS-232總線的傳輸距離比較遠,在傳輸速度比較快的時候容易造成信號的反射,為此,在電路上增加了R16作為專門的匹配電阻,以防止信號的反射,其大小與傳輸線的直流電阻差不多大。另外需要注意的是RS-232總線為差分傳輸模式,所以即使不接地也可以通信,但是在工程應用中往往是需要將傳輸線的屏蔽層接到電路中的地線上,這樣可以有效地防止傳輸過程中外部干擾的串入。
以太網(wǎng)接口電路是整個系統(tǒng)的支撐,CP2200有三種工作方式:I/O方式、儲存器方式和DMA方式。該系統(tǒng)中應用I/O方式,CP2200所有控制寄存器的基地址都是300H,所以在連接地址線的時候,高位被連接到固定的高電平上,只有A0到A3連接到單片機的I/O管腳上,IOR和IOW是控制線,用來傳送讀或?qū)懙拿罱oCP2200芯片。
這部分電路提供了一個完整的操作界面,使用戶能夠很好地收集和采集到數(shù)據(jù),設(shè)置系統(tǒng)工作時的參數(shù)。這部分包括LCD顯示屏、鍵盤、LED指示燈等電路。
選用了NOKIA的LCD作為顯示器件,采用SPI總線與CPU通信,點陣數(shù)為84×48,UT1用來驅(qū)動單片機的管腳去控制LCD的背光,背光是否點亮可以通過鍵盤來控制。電路的下面為鍵盤用來輸入信息和設(shè)置系統(tǒng)的工作參數(shù);LED是受遠程計算機控制的,可以根據(jù)具體應用場合和實際需要換成其他受控器件,如繼電器、晶閘管等。
系統(tǒng)軟件的設(shè)計是本系統(tǒng)的核心部分,也是最具有難度的部分。由于單片機資源有限,把TCP的核心部分轉(zhuǎn)接到單片機中,同時再把不需要的部分全部舍棄。本系統(tǒng)的軟件以4層形式來表示:以太網(wǎng)物理層、以太網(wǎng)接口層、互聯(lián)網(wǎng)絡層、網(wǎng)絡傳輸層。以太網(wǎng)物理層用來驅(qū)動以太網(wǎng)控制器。以太網(wǎng)接口層用來完成以太網(wǎng)卡的識別,其中應用的重要協(xié)議為ARP協(xié)議?;ヂ?lián)網(wǎng)絡層用來完成最基本的網(wǎng)絡傳輸協(xié)議任務,其中應用的協(xié)議為IP協(xié)議,它是一個極具代表性的協(xié)議,作用如同交通工具,把數(shù)據(jù)送往正確的目的地,還有ICMP等協(xié)議。網(wǎng)絡傳輸層包括TCP、UDP等重要協(xié)議,其中TCP協(xié)議是一種目前已應用非常廣泛的網(wǎng)絡協(xié)議,它是數(shù)據(jù)的指揮部,指揮數(shù)據(jù)按照要求進行傳輸,并且為數(shù)據(jù)傳輸提供了高可靠性,增加了傳輸安全性。
對以太網(wǎng)控制器與八位的8051單片機之間的通信,可選中斷方式或查詢方式的其中一種來進行控制。若采用中斷方式,稍作修改可成為查詢方式的驅(qū)動程序,可以實現(xiàn)在主程序中不對以太網(wǎng)控制器進行不斷查詢,因此形成了一個相對比較獨立的驅(qū)動程序模塊,從而能較直接地與TCP/IP協(xié)議的模塊進行接口。
在中斷方式下,以太網(wǎng)接入驅(qū)動程序主要由3大部分組成:接受數(shù)據(jù)模塊、發(fā)送數(shù)據(jù)模塊和以太網(wǎng)控制器中斷服務程序。數(shù)據(jù)通過以太網(wǎng)控制器中斷服務程序進行發(fā)送,可以提高系統(tǒng)的實用性。中斷服務器的核心任務是發(fā)送接受以太網(wǎng)幀,所有程序也是為這兩個過程服務的。
TCP協(xié)議,即傳輸控制協(xié)議,它在網(wǎng)絡通信過程中起著不可替代的作用,是一種網(wǎng)絡傳輸層的協(xié)議。它在數(shù)據(jù)通信方面具有高可靠性,同時也具備處理網(wǎng)絡傳輸過程中的錯誤和信息丟失方面的能力,像數(shù)據(jù)傳輸?shù)闹匕l(fā)和超時。TCP協(xié)議是IP協(xié)議的上層協(xié)議,它的首部也具備20個固定字節(jié),但是和IP首部是不同的。
TCP協(xié)議的工作流程分為三步:第一步建立連接,第二步傳送數(shù)據(jù),第三步釋放連接。作為面向連接的TCP協(xié)議,首先得建立TCP連接,然后進入數(shù)據(jù)的傳輸環(huán)節(jié)。建立TCP連接應用的是客戶服務器方式,客戶通常定義為主動發(fā)起連接的應用進程,服務器通常定義為被動等待建立連接的應用進程。TCP協(xié)議必須經(jīng)過3次握手才能建立正確連接。
連接完成后,就進入雙方的數(shù)據(jù)傳輸環(huán)節(jié)了。在傳輸數(shù)據(jù)進程中,TCP報文都會得到對方發(fā)出的ACK應答。如果收到對方應答,表示發(fā)出的數(shù)據(jù)已經(jīng)到達并吸收。如果沒有收到對方的應答,發(fā)送方就會再發(fā)送此報文。如果還是沒有,則再次發(fā)送,以此循環(huán)。因為設(shè)置了重發(fā)次數(shù),如果達到了重發(fā)次數(shù)還沒收到對方的ACK應答,則宣告本次發(fā)送失敗,不能再使用,并關(guān)閉TCP連接,關(guān)閉過程通過4次握手才能確定。TCP報文數(shù)據(jù)處理過程類似于IP數(shù)據(jù)的處理,都是一個加包解包過程,不同之處在于TCP加包解包就處理其報文段。
在科技突飛猛進的21世紀,網(wǎng)絡幾乎涉及各個行業(yè),包括數(shù)據(jù)采集和儀器儀表范疇。在一個數(shù)據(jù)采集系統(tǒng)中,開發(fā)數(shù)據(jù)采集系統(tǒng)固然不簡單,但開發(fā)網(wǎng)絡協(xié)議更具有挑戰(zhàn)性,將耗費更多的時間精力和財力。因此,為了實現(xiàn)數(shù)據(jù)采集和儀器儀表的數(shù)據(jù)遠程傳輸,應用本系統(tǒng)將具有更大的意義。此系統(tǒng)使具有網(wǎng)絡遠程傳輸功能的設(shè)備更易于開發(fā),大幅度減少其開發(fā)周期,節(jié)約不必要的投入,實現(xiàn)了設(shè)備經(jīng)濟型這一現(xiàn)實指標。本系統(tǒng)已經(jīng)應用于許多領(lǐng)域,優(yōu)勢顯著。例如,在印刷票據(jù)的在線識別系統(tǒng)中已經(jīng)得到成功的運用,由于印刷票據(jù)在線識別設(shè)備用于印刷廠中,具有非常強的電磁干擾,使用串口長距離傳輸時,穩(wěn)定性不好,而使用了此系統(tǒng)后,不需要重新設(shè)計原來的識別設(shè)備,卻增加了數(shù)據(jù)傳輸?shù)目垢蓴_性,也具有連接以太網(wǎng)的功能。
[1]葉正清,張 志.基于PIC18F97J60的以太網(wǎng)通信接口設(shè)計[J].石油工程建設(shè).研究與開發(fā),2008,(12):36-39.
[2]紀珍從.基于SPI總線的低頻信號數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].機床電器,2008,(01):5-8.
[3]彭 軍.傳感器與檢測技術(shù)[M].西安:西安電子科技大學出版社,2003.
[4]關(guān)守平,姚 永.嵌入式系統(tǒng)的網(wǎng)絡接口模塊設(shè)計及應用[J].儀器儀表學報,2007,(04):267-269.
[5]謝 望.傳感器技術(shù)的現(xiàn)狀和發(fā)展趨勢[J].儀器儀表用戶,2006,13,(05):1-2.
[6]王小菊,潘琢金.嵌入式網(wǎng)絡接口模塊設(shè)計及協(xié)議棧實現(xiàn)[J].沈陽航空工業(yè)學院學報,2007,(01):48-52.