基于SOPC技術(shù)的遠程測控系統(tǒng)設(shè)計
在高溫、高壓、強放射性等惡劣環(huán)境下,由于測量者不能長期置身其中,使得測控非常困難。在Nios II軟核CPU上移植μ c/OS-II實時操作系統(tǒng)和TCP/IP協(xié)議棧,容易實現(xiàn)網(wǎng)絡(luò)通信,為遠程測控提供了條件。以此為基礎(chǔ)設(shè)計的嵌入式系統(tǒng)具有結(jié)構(gòu)小巧、實時性強、穩(wěn)定性高等特點,在工業(yè)測控領(lǐng)域中應(yīng)用前景廣泛。
1 遠程測控系統(tǒng)的硬件架構(gòu)
遠程測控系統(tǒng)的硬件架構(gòu)如圖1所示。從圖中可以看出,Nios II軟核CPU及各種所需的外設(shè)IP均通過SOPCBui lder集成在一片F(xiàn)PGA中,構(gòu)成本系統(tǒng)所需硬件的可重構(gòu)部分,實現(xiàn)真正的可編程片上系統(tǒng)(SOPC)。
1.1 I P核設(shè)計
為了在低成本情況下完成預(yù)定功能,選擇了Cyclone FPGA系列器件中的EP1C6。EP1C6無論從邏輯資源還是存儲器均能滿足設(shè)計要求。在本系統(tǒng)中,我們設(shè)計或選用了如下主要的IP核。
1.1.1 UART帶Avalon接口的通用異步接收器/發(fā)送器。UART內(nèi)核執(zhí)行RS-232協(xié)議,它為FPGA上的嵌入式系統(tǒng)和外部設(shè)備提供了串行字符流的通信方式。帶Avalon接口的JTAG-UART內(nèi)核還提供Nios CPU系統(tǒng)到PC機的連接通路,通過JTAG-UART在PC機上調(diào)試NiosCPU所需要的程序,并通過監(jiān)控程序?qū)φ麄€系統(tǒng)的運行進行控制。
1.1.2 GPIO。并行輸入/輸出內(nèi)核。它提供Avalon從控制器端口到通用I/O口間的映射接口。該IP核是常規(guī)的外設(shè)控制接口。通過GPIO,對內(nèi)控制SOPC系統(tǒng)中的其他部分,對外充當并行I/O接口,讀取開關(guān)量,對LED、LCD等外設(shè)進行控制。
1.1.3 SDRAM 該IP核是外部存儲器SDRAM的控制接口。通過它完成SDRAM的時序控制。軟件設(shè)計中, SDRAM的時序控制對用戶是完全透明的。
1.1.4 EPCS。帶Avalon接口的EPCS設(shè)備控制器內(nèi)核。該IP核允許Nios II系統(tǒng)訪問EPCS串行配置芯片,該芯片主要用于存儲程序代碼或一些非易失性數(shù)據(jù)。
1.1.5三態(tài)總線橋。該IP核是Avalon和Avalon-TriBUS總線以及Avalon和Wishbone總線的橋接控制器,用于連接兩種不同總線。考慮有些外設(shè)需要自行開發(fā)I2CIP核,這些外設(shè)不能直接連到Avalon總線上,需要通過橋接控制器。
1.2 檢測和執(zhí)行模塊
由于遠程測控系統(tǒng)設(shè)計的目的不同,該模塊選用的IP核也不完全相同。SOPC Builder自帶的IP庫中并不包含I2C配置接口模塊,該模塊需要根據(jù)配制芯片的寄存器特點和功能進行專門設(shè)計,并以I2C核的形式通過SOPCBuilder連接到系統(tǒng)的Avalon總線上。
1.3 傳輸接口模塊
本系統(tǒng)有三種數(shù)據(jù)傳輸方式:串口、USB接口和以太網(wǎng)接口。串口、USB接口通過UART接Avalon總線。以太網(wǎng)接口芯片選用了SMSC公司的LAN91c11 1芯片,該芯片內(nèi)部集成了以太網(wǎng)介質(zhì)訪問(MAC)及物理層收發(fā)器(PHY),支持10/1OOM全雙工傳輸模式、自動協(xié)商等功能。LAN91C111芯片通過FPGA內(nèi)的適配器模塊連接到EP1C6內(nèi)部的Avalon總線上,從而實現(xiàn)系統(tǒng)接入Internet。
2 遠程測控系統(tǒng)的軟件體系
本系統(tǒng)有兩大功能:數(shù)據(jù)的遠程采集及傳送??紤]到使用互聯(lián)網(wǎng)進行遠程數(shù)據(jù)傳輸?shù)膹?fù)雜性,在設(shè)計中使用嵌入式操作系統(tǒng)和TCP/IP協(xié)議棧是必然選擇。
軟件系統(tǒng)體系結(jié)構(gòu)如圖2所示。主要包括嵌入式操作系統(tǒng)的移植;網(wǎng)絡(luò)協(xié)議棧的實現(xiàn);應(yīng)用級代碼編寫等部分。為了方便用戶編程,Nios II IDE提供了設(shè)備驅(qū)動程序,即硬件抽象層(HAL)系統(tǒng)庫。HAL應(yīng)用程序接口(API)與ANSI C標準庫綜合在一起,可以使用類似C語言的庫函數(shù)來訪問硬件設(shè)備或文件,如printf()、fopen()等,而無須關(guān)心底層硬件的實現(xiàn)細節(jié)。
tcp/ip相關(guān)文章:tcp/ip是什么
評論