《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可编程逻辑 > 业界动态 > 基于以太网的信号发生与采集控制系统的研究

基于以太网的信号发生与采集控制系统的研究

2008-03-27
作者:邱维宝, 傅 星, 邬 泳
關(guān)鍵詞: TCP/IP 协议栈 控制系统 D/A 上位机

  摘 要: 介紹了帶以太網(wǎng)接口功能的信號(hào)發(fā)生與采集控制系統(tǒng)" title="控制系統(tǒng)">控制系統(tǒng)的設(shè)計(jì)方法。其中,使用ARM移植LwIP協(xié)議棧" title="協(xié)議棧">協(xié)議棧實(shí)現(xiàn)TCP/IP" title="TCP/IP">TCP/IP協(xié)議完成以太網(wǎng)通訊。信號(hào)發(fā)生部分使用FPGA依據(jù)DDS原理產(chǎn)生可調(diào)的信號(hào)波形,同時(shí),系統(tǒng)采用ARM內(nèi)置的A/D轉(zhuǎn)換器采集外部信號(hào)用于反饋控制。
  關(guān)鍵詞: 以太網(wǎng) TCP/IP協(xié)議 ARM FPGA DDS


  現(xiàn)階段,隨著電子技術(shù)的飛速發(fā)展,直接數(shù)字頻率合成(DDS)技術(shù)以其頻率轉(zhuǎn)換速度快、分辨率高、相位可控等優(yōu)點(diǎn)被廣泛用于任意波形發(fā)生系統(tǒng)當(dāng)中,例如通訊系統(tǒng)、雷達(dá)及電子對(duì)抗系統(tǒng)等。而作為當(dāng)今最受歡迎的局域網(wǎng)之一的以太網(wǎng),現(xiàn)已成為社會(huì)重要的基礎(chǔ)信息設(shè)施,是遠(yuǎn)程網(wǎng)絡(luò)化控制的理想媒介。將兩者結(jié)合起來(lái)正是本系統(tǒng)設(shè)計(jì)的主要內(nèi)容。下面詳細(xì)介紹基于以太網(wǎng)的信號(hào)發(fā)生與采集控制系統(tǒng)的方案。
1 系統(tǒng)平臺(tái)
  系統(tǒng)在實(shí)現(xiàn)信號(hào)發(fā)生器的功能的同時(shí)要與上位機(jī)" title="上位機(jī)">上位機(jī)通過(guò)以太網(wǎng)交換數(shù)據(jù),因而系統(tǒng)的難點(diǎn)一是以太網(wǎng)的通訊,二是可任意調(diào)整的信號(hào)發(fā)生,即要能實(shí)現(xiàn)波形頻率的任意改變。
  目前以太網(wǎng)通訊的方案比較多,可以選用專用的以太網(wǎng)接口模塊,也可以移植協(xié)議棧或者自己編寫(xiě)協(xié)議棧,還可以嵌入帶有以太網(wǎng)接口的操作系統(tǒng)來(lái)完成通訊,例如μClinux、DSP/BIOS操作系統(tǒng)等。由于項(xiàng)目本身對(duì)成本的要求,故采用在軟件上實(shí)現(xiàn)TCP/IP的方案。由于TCP/IP協(xié)議比較復(fù)雜,在缺乏功能強(qiáng)大的操作系統(tǒng)支持的嵌入式設(shè)備上實(shí)現(xiàn)并非易事,對(duì)于特定的應(yīng)用,嵌入式設(shè)備往往只需要TCP/IP協(xié)議中某一小部分即可,故考慮移植現(xiàn)有的開(kāi)放源代碼的輕量級(jí)TCP/IP協(xié)議棧。目前這類協(xié)議棧有很多種,例如TinyTCP、uip、 LwIP等,其中,前兩個(gè)協(xié)議棧的設(shè)計(jì)目標(biāo)是降低TCP/IP代碼的尺寸和內(nèi)存的消耗,同時(shí)也簡(jiǎn)化了TCP/IP協(xié)議棧,比較適合對(duì)通訊協(xié)議要求不高且控制系統(tǒng)核心為單片機(jī)的場(chǎng)合。LwIP協(xié)議棧資源需求比較多,但功能相對(duì)齊全,并提供一套非常完善的內(nèi)存管理方法,很適合32位控制系統(tǒng)。目前隨著具有32位CPU的ARM的廣泛使用,其價(jià)格也低廉很多,且集成了豐富的外圍模塊,故本系統(tǒng)選擇ARM移植LwIP實(shí)現(xiàn)以太網(wǎng)通訊。
  可調(diào)信號(hào)的產(chǎn)生也有多種方案,比較常見(jiàn)的是使用DDS的方法實(shí)現(xiàn)。DDS技術(shù)已被廣泛地用于任意信號(hào)發(fā)生系統(tǒng)當(dāng)中。目前市面上有很多DDS專用芯片,但價(jià)格都比較昂貴且可擴(kuò)展性不高,故系統(tǒng)選用性價(jià)比很高的FPGA來(lái)實(shí)現(xiàn),這樣可以靈活地產(chǎn)生系統(tǒng)所需的控制信號(hào),并提供了很大的擴(kuò)展空間。系統(tǒng)在FPGA內(nèi)部專門(mén)開(kāi)啟了一個(gè)RAM用于存儲(chǔ)系統(tǒng)所需信號(hào)的周期性數(shù)據(jù),用戶可根據(jù)要求存入數(shù)據(jù)并可實(shí)時(shí)地更改包括信號(hào)頻率、幅值和相位等的參數(shù)。
  因此,系統(tǒng)平臺(tái)選用基于ARM和FPGA兩個(gè)處理器來(lái)設(shè)計(jì)。其中,ARM作為整個(gè)系統(tǒng)的主控單元完成與以太網(wǎng)的通訊、控制系統(tǒng)的信號(hào)發(fā)生、輸入信號(hào)的采集、液晶顯示和鍵盤(pán)掃描以及數(shù)據(jù)存儲(chǔ)等功能。FPGA主要完成對(duì)ARM輸入的控制信號(hào)進(jìn)行DDS轉(zhuǎn)換,完成DDS的核心部分并輸出可控的信號(hào)波形。
2 硬件電路設(shè)計(jì)
  ARM采用三星公司的S3C44B0X,該芯片內(nèi)部集成了ARM7TDMI核,具有71個(gè)通用可編程I/O口,8個(gè)外部中斷源,可直接外接SDRAM擴(kuò)大系統(tǒng)內(nèi)存,內(nèi)部具有日歷功能的RTC(實(shí)時(shí)時(shí)鐘)等模塊。以太網(wǎng)接口芯片選用集成MAC層和PHY層的RTL8019AS。FPGA采用Altera公司Cyclone系列的EP1C3TT144C8,此芯片有近3000個(gè)邏輯單元,13個(gè)M4K RAM塊,共59 904bits RAM可供使用。本系統(tǒng)中采用144管腳的TQFP封裝的芯片,共有104個(gè)用戶可用I/O口,在FPGA器件中是一款性價(jià)比很高的芯片。由于FPGA內(nèi)部有較大的RAM空間,故可根據(jù)系統(tǒng)DDS要求的分辨率開(kāi)設(shè)相應(yīng)空間的RAM空間作為DDS的周期數(shù)據(jù)存儲(chǔ)器。FPGA配置芯片選用Altera公司的EPC2,系統(tǒng)可采用JTAG模式燒寫(xiě)FPGA和EPC2,上電后FPGA采用PS模式從EPC2導(dǎo)入程序。D/A" title="D/A">D/A轉(zhuǎn)換器選擇Maxim公司的MAX5856A,它是具有雙通道、8bits分辨率、200MSps采樣率的高速D/A轉(zhuǎn)換器,實(shí)際測(cè)試可以滿足系統(tǒng)的要求。濾波部分采用的是一個(gè)兩階巴特沃茲低通濾波電路。為提高系統(tǒng)的人性化控制,系統(tǒng)加入了液晶顯示和鍵盤(pán)控制,方便用戶使用。SDRAM用于擴(kuò)充ARM內(nèi)存以供網(wǎng)絡(luò)協(xié)議棧。Flash用于存儲(chǔ)ARM的程序,NFlash存儲(chǔ)一些系統(tǒng)固化的信息,同時(shí)可存儲(chǔ)系統(tǒng)運(yùn)行過(guò)程中所采集的數(shù)據(jù)和通過(guò)以太網(wǎng)收到的數(shù)據(jù)。系統(tǒng)固化的常用波形數(shù)據(jù)可脫離上位機(jī)獨(dú)立工作,增加了系統(tǒng)的應(yīng)用場(chǎng)合。系統(tǒng)的硬件原理圖如圖1所示。


3 軟件設(shè)計(jì)
  系統(tǒng)的軟件主要包括在ARM上實(shí)現(xiàn)TCP/IP協(xié)議和與上位機(jī)通訊,液晶顯示與數(shù)據(jù)存儲(chǔ),控制FPGA按照要求工作。在FPGA實(shí)現(xiàn)DDS的軟件部分,用Verilog語(yǔ)言編寫(xiě)。其中,ARM的主要工作是移植輕量級(jí)的TCP/IP協(xié)議棧LwIP完成以太網(wǎng)通訊。
  LwIP是瑞士計(jì)算機(jī)科學(xué)院(Swedish Institute of Computer Science)的Adam Dunkels等開(kāi)發(fā)的一套用于嵌入式系統(tǒng)的開(kāi)放源代碼TCP/IP協(xié)議棧。LwIP既可以移植到操作系統(tǒng)上,又可以在無(wú)操作系統(tǒng)的情況下獨(dú)立運(yùn)行。LwIP TCP/IP實(shí)現(xiàn)的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM的占用,一般它需要10KB的RAM和40KB左右的ROM就可以運(yùn)行,這使LwIP協(xié)議棧可以在低端嵌入式系統(tǒng)中使用。
  LwIP的特性如下:支持多網(wǎng)絡(luò)接口下的IP轉(zhuǎn)發(fā),支持ICMP協(xié)議,包括實(shí)驗(yàn)性擴(kuò)展的UDP(用戶數(shù)據(jù)報(bào)協(xié)議)、阻塞控制、RTT估算、快速恢復(fù)和快速轉(zhuǎn)發(fā)的TCP,提供專門(mén)的內(nèi)部回調(diào)接口(Raw API)用于提高應(yīng)用程序性能,可選擇Berkeley接口API(多線程情況下),在最新的版本中支持ppp,新版本中增加了IP fragment的支持,支持DHCP協(xié)議、動(dòng)態(tài)分配IP地址等。
  由于系統(tǒng)所要傳輸?shù)臄?shù)據(jù)量并不大,對(duì)速度要求也不高,但對(duì)系統(tǒng)傳輸?shù)姆€(wěn)定性有很高的要求,所以采用TCP/IP協(xié)議棧的TCP協(xié)議建立可靠鏈接來(lái)保證數(shù)據(jù)的穩(wěn)定性。
  軟件設(shè)計(jì)的主要工作集中于以太網(wǎng)驅(qū)動(dòng)程序的編寫(xiě)和LwIP的移植以及TCP協(xié)議處理后的數(shù)據(jù)處理。系統(tǒng)底層的驅(qū)動(dòng)由自己編寫(xiě),主要是控制RTL8019AS的收發(fā)數(shù)據(jù)控制。系統(tǒng)接收以太網(wǎng)數(shù)據(jù)采用查詢的方式,若RTL8019AS的緩存中收到數(shù)據(jù)則對(duì)數(shù)據(jù)進(jìn)行處理。先將此次收到的數(shù)據(jù)全部讀入系統(tǒng)的內(nèi)存中,將其轉(zhuǎn)換為L(zhǎng)wIP標(biāo)準(zhǔn)數(shù)據(jù)包格式之后移交給LwIP協(xié)議棧處理。在系統(tǒng)建立Pbuf Pool結(jié)構(gòu)鏈,用來(lái)存儲(chǔ)接收數(shù)據(jù)包,為每個(gè)以太網(wǎng)鏈接建立一個(gè)netif以完成以太網(wǎng)的通訊。系統(tǒng)調(diào)試時(shí)借助于Spynet軟件對(duì)網(wǎng)絡(luò)通訊過(guò)程中的數(shù)據(jù)進(jìn)行抓包,使調(diào)試更加便捷。圖2描述了系統(tǒng)對(duì)收到的以太網(wǎng)數(shù)據(jù)包處理的簡(jiǎn)略的流程圖。其中,TCP部分比較復(fù)雜,通訊之前需與上位機(jī)進(jìn)行三次握手之后才能正確地建立鏈接。詳細(xì)部分可查閱標(biāo)準(zhǔn)的TCP/IP協(xié)議棧說(shuō)明書(shū)。

?


  信號(hào)發(fā)生部分采用DDS原理,由FPGA完成DDS的主要部分。其設(shè)計(jì)原理圖如圖3所示。其中,指令/數(shù)據(jù)控制模塊主要完成與ARM之間的數(shù)據(jù)交換,并按照系統(tǒng)要求給出相位控制字和頻率控制字來(lái)控制系統(tǒng)的波形產(chǎn)生。累加器和加法器完成對(duì)信號(hào)周期相位信號(hào)的產(chǎn)生,用以選通波形存儲(chǔ)器中的數(shù)據(jù)。波形存儲(chǔ)器由FPGA內(nèi)部的RAM塊組成,這里使用了雙口RAM,系統(tǒng)對(duì)信號(hào)輸出精度要求不高,故選用8位D/A轉(zhuǎn)換器,則DDS的數(shù)據(jù)存儲(chǔ)RAM大小設(shè)定為256個(gè)字節(jié),系統(tǒng)可以根據(jù)要求隨時(shí)寫(xiě)入所要產(chǎn)生波形的周期數(shù)據(jù)。外部接8位高速D/A轉(zhuǎn)換器完成數(shù)/模轉(zhuǎn)換,并接濾波處理電路。由于系統(tǒng)所選D/A轉(zhuǎn)換器在開(kāi)始工作之前需要配置一些參數(shù),且由FPGA數(shù)據(jù)線輸出,故在波形存儲(chǔ)器與D/A轉(zhuǎn)換器之間需要加一個(gè)轉(zhuǎn)換模塊,用于區(qū)分上電初始化和正常工作兩個(gè)過(guò)程。該方法在理論上可實(shí)現(xiàn)任意周期性信號(hào)波形的產(chǎn)生,在系統(tǒng)實(shí)際調(diào)試中,系統(tǒng)可輸出相位幅值可調(diào)的正余弦波、三角波等常見(jiàn)波形以及可用于演示雷達(dá)工作的線性調(diào)頻信號(hào)等,頻率可以達(dá)到1MHz。
  該信號(hào)發(fā)生與采集控制系統(tǒng)不僅實(shí)現(xiàn)了信號(hào)發(fā)生器的功能,還完成了與網(wǎng)絡(luò)鏈接,可用于需要網(wǎng)絡(luò)化控制的場(chǎng)合中。并且系統(tǒng)的成本低、功能全、人性化高,可實(shí)現(xiàn)反饋控制,具有廣闊的應(yīng)用前景。
參考文獻(xiàn)
1 Dunkels A. Design and implementation of the lwIP TCP/IP stack. Swedish Institute of Computer Science, February,2001
2 Dunkels A. Minimal TCP/IP implementation with proxy support. SICS Technical Report, February 2001
3 Shanmugam R等著, 尹浩瓊等譯. TCP/IP詳解 = Special edition using TCP/IP.北京:電子工業(yè)出版社,2003
4 田 澤. 嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用.北京:航空航天大學(xué)出版社,2005
5 Morelli D. Modulating direct digital synthesizer in a quick- Logic FPGA.http://www.quicklogic.com/2001

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。