《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于PIC單片機和嵌入式TCP/IP技術的海水有機磷農藥數據采集系統
基于PIC單片機和嵌入式TCP/IP技術的海水有機磷農藥數據采集系統
葛玉榮,田玉周,王旭柱,李 怡
(中國海洋大學 電子工程系,山東 青島266071)
摘要: 介紹海水有機磷農藥現場實時數據采集系統的設計。具體討論了由PIC單片機構成的子系統和基于網絡單片機Sx52BD實現的數據傳輸模塊,并對LabWindows/CVI編寫的數據處理軟件進行了說明。
Abstract:
Key words :

摘   要: 介紹海水有機磷農藥現場實時數據采集系統的設計。具體討論了由PIC單片機構成的子系統和基于網絡單片機Sx52BD實現的數據傳輸模塊,并對LabWindows/CVI編寫的數據處理軟件進行了說明。
關鍵詞: FIFO  實時數據采集  TCP/IP協議

  海洋生態環境越來越受到人們的重視。如何快速有效、實時、定量地對海水中有機磷農藥的濃度進行現場監測,是海洋生態環境現場快速監測系統要解決的問題之一。為此,研制了用于海水有機磷農藥現場監測的生物傳感器。該傳感器通過含有農藥的海水和不含農藥海水對生物酶的抑制作用的不同,用標準加入法[1][2]檢測海水中有機磷農藥的濃度。為實現對整個測試裝置的自動控制和實時、快速地讀取測量數據,設計、開發了基于PIC單片機和嵌入式TCP/IP技術的快速、實時數據采集系統。
1  有機磷濃度的測量原理[2]
  對有機磷濃度的測量采用生物傳感器。利用含不同濃度農藥的海水對生物酶抑制作用不同,通過電極把抑制轉換成電信號,不同的濃度得到不同的峰值,通過峰值得到抑制率。抑制率的計算公式為:
  

  其中,f1為在標準海水中測得的峰值,f2為加入農藥之后測得的峰值。
  系統中設置四個測試通道,第一通道是純凈的海水,是參照通道;第二通道是要測試的海水;第三通道為加入已知濃度農藥的海水;第四通道為加入另外一個已知濃度的海水(和第三通道不同)。根據有機磷農藥濃度的對數與相應的酶活抑制率(即峰值下降百分率)在一定范圍內呈線性的關系,可以采用加標法原理推算得到海水樣品有機磷農藥的濃度。原理如圖1所示。由圖1得到計算有機磷濃度的公式:
  

其中,c1、c2為三、四通道加入標準農藥的濃度,cx為要測試海水中農藥的濃度,η0、η1、η2為二、三、四通道的抑制率。通過公式(2)可以求出在第二通道待測海水中農藥的濃度。
2  系統硬件原理
  由測試原理可知,需要同時采集四通道的信號,每通道求取二次基線和峰值,整個測試過程需要50分鐘。為確保精度,每隔1ms采集一次四個通道的數據,要求系統能快速采集并完成數據傳輸。為實現快速采集,設計了由精簡指令集單片機PIC1673[3]和快速A/D轉換器組成的單片機數據采集控制模塊為實現大容量、快速的數據傳輸,系統設計了基于嵌入式TCP/IP技術的網絡傳輸模塊。鑒于PC機在數據處理上的優勢,由上位機數據處理模塊對數據進行處理。單片機數據采集控制模塊和網絡傳輸模塊之間通過FIFO高速緩沖存儲器進行通信。系統框圖如圖2所示。

2.1 系統工作流程
  由上位機發出啟動命令和用于控制反應裝置工作的各電磁閥動作的時間參數給網絡傳輸模塊;網絡傳輸模塊把命令存入FIFO高速緩沖存儲器;采集模塊從FIFO高速緩沖存儲器中讀到命令,按照上位機傳來的時間參數,控制整個反應裝置自動工作,同時把采集到的數據放入FIFO高速緩沖存儲器。網絡接口模塊采用TCP/IP協議對FIFO中的數據打包,傳給上位機。上位機對接到的數據進行處理,得到最后的濃度。
2.2 單片機數據采集模塊
  采集模塊的原理框圖如圖3所示。

  選擇多通道串行十二位A/D轉換器TCL2543進行A/D轉換。TCL2543的轉換速度為10?滋s一次,以滿足系統對采樣頻率的要求。同時由于是串行的A/D,所以占用系統的I/O線較少。TCL2543的基準電壓接入2.5V,因此要求輸入模擬信號的電壓范圍為0~2.5V。系統生物傳感器來的阻抗大約為1012Ω,范圍是-0.2V~+0.2V的電信號,所以信號在進入A/D轉換器之前,通過預處理電路進行了阻抗和電壓變換。
  CPU選擇PIC16C73B單片機,它是Microchip公司生產的一款基于EPROM 的8 位高性能微控制器。芯片上集成了一個8位算術邏輯單元和工作寄存器,4KB程序存儲器,192個數據寄存器,三個端口共22根I/O線,三個定時/計數器及二個串行口等。它具有精簡指令集(RISC)和哈佛結構,同時可運用二級流水線指令進行取數和執行,指令大部分可在單周期執行。該機可靠性好,速度比同類單片機快幾倍[3]。系統連接時,RA0~RA3與TLC2543進行通信;RB0~RB7接FIFO的數據端口;RC4~RC7作為雙向FIFO的控制線。
上位機發來的命令由網絡傳輸模塊存入命令FIFO。為使PIC1673B單片機能隨時判斷FIFO命令緩沖存儲器中是否有命令,把FIFO命令緩沖存儲器的不空狀態線接到單片機PIC1673的外部中斷引腳,一旦有中斷來,則馬上讀命令進行處理。采集來的數據寫入數據FIFO緩沖存儲器中,等待網絡傳輸模塊的讀取。
2.3 網絡傳輸模塊
  網絡傳輸模塊原理框圖如圖4所示。CPU采用網絡單片機Sx52BD芯片。Sx52BD是UBICOM公司的8位MCU,速度可達100 MHz,工作在50 MHz時執行指令速度可達到50MIPS。它主要完成數據協議在網絡層和傳輸層的解包打包。當有數據從RJ45傳輸過來時,單片機對數據報進行分析,并將得到的數據存入FIFO高速命令緩沖存儲器;反之,當數據緩沖器不為空時,單片機對數據以TCP/IP協議打包,通過網絡傳輸到上位機。

  以太網接口芯片CS8900主要完成數據鏈路層的協議。CS8900A是Cirrus Logic公司生產的低功耗、高性能的16位可編程以太網控制器[4]。它內部集成了在片RAM、10BASE-T收發濾波器,提供8位和16位二種接口,支持I/O、Memory、DMA三種傳輸模式。本系統選擇比較簡單易用的I/O模式,通過8位數據總線對其進行配置和數據的讀寫。
  在發送過程中,如果在一定的時間內接不到上位機接收數據的確認,則需要重發。如果要將數據從FIFO高速數據緩沖存儲器中再次讀出,則需要再次打包。為節約時間,在系統中擴展2KBSRAM,把當前發送的數據報備份,如果需要重發,直接從SRAM中取出。
2.4 網絡傳輸模塊和數據采集模塊之間的數據傳輸
  PIC1673B單片機和SX52BD單片機I/O線都為三態線,理論上可以直接相連,通過I/O線傳送數據。但正因為是三態線,每次傳輸數據時首先要對端口初始化設置數據的傳輸方向,同時一方在發送時,要保證另一方處于接收狀態,即雙方要同步。而且一次只能傳輸一個數據,速度慢。因此,網絡傳輸模塊和數據采集模塊之間的數據傳輸采用共享存儲器的方式。用二個FIFO高速緩沖存儲器作為共享存儲器實現數據采集模塊和傳輸模塊之間的數據傳送。不需要Sx52BD單片機即可直接和PIC1673單片機通信,從而節省了單片機的開銷,提高了速度。
3  系統軟件設計
  系統軟件主要包括:采集模塊的數據采集程序,網絡傳輸模塊的通信程序,上位機的數據處理程序。
3.1 采集模塊程序
  采集模塊主要在命令FIFO存儲器不為空時,讀取啟動命令,控制反應裝置自動工作,同時采集數據。程序流程如圖5所示。

  03h命令是發送測試反應裝置各電磁閥動作時間參數的命令。單片機從命令FIFO存儲器讀到此命令后,把緊跟其后的13個數據作為裝置中13個電磁閥何時動作的參數賦值給相應的內部寄存器,以此做為電磁閥開關的定時時間。02h命令是啟動采集系統工作的命令。單片機讀到此命令后,控制裝置開始工作,同時啟動A/D轉換,開始數據采集。
  A/D轉換器TCL2543轉換的通道號和讀出數據的長度以及導前位由I/O周期的前8位設置[5],選擇輸出的數據長度為12位。注意在每次I/O周期讀取的數據都是上次轉換的結果,當前的轉換結果在下一個I/O周期中被串行移出。第一次讀數時由于內部的調整,讀取的結果可能不正確,應丟棄。為使讀取的數據更準確,消除干擾的影響,程序中對讀取的數據進行了均值濾波。讀入的A/D轉換的數據是單極性的,但輸入電壓范圍是-0.2V~+0.2V, 因此,在程序中需做數據的處理和定標,把單極性的電壓值變成雙極性的電壓值。
3.2 網絡傳輸模塊采用的TCP/IP協議
  網絡傳輸模塊采用簡化了的TCP/IP協議,主要有以下幾種:
  (1)ARP:地址解析協議,ARP為IP地址到對應的硬件地址之間提供動態映射。歸根結底,網內設備是靠其端口地址,即MAC地址來區分的,這個過程是自動完成的。因此系統要隨時響應主機發出的ARP請求,才能實現主機對它的訪問[6]。
  (2)ICMP:Internet控制報文協議,ICMP經常被認為是IP層的一個組成部分。它傳遞差錯報文以及其他需要注意的信息。ICMP實現了主機對本系統的連接故障檢測。
  (3)UDP:傳輸層協議。其作用是為不同的應用進程提供端口號。對于服務器而言,不同的端口對應不同的服務。它主要用于實時數據流的傳輸。
  (4)IP協議:負責整個通信子網數據包的傳輸。它只提供對數據包的盡力傳輸服務,如有連接、可靠傳輸等其他服務,則要在更高層去實現。
  系統實現的協議間的承載關系為:IP/UDP,IP/ICMP,ARP直接在鏈路層之上。
3.3 網絡傳輸模塊通信程序
  網絡傳輸模塊收發數據流程如圖6所示。

  程序在初始化網卡時把CS8900的RXCFG寄存器設置為0103H。當接收到一個正確的數據報后,CS8900產生一個接收中斷。初始化后,主機方先要與本模塊建立握手連接。然后,如果CS8900有中斷產生,則接收上位機的數據報,把數據報讀入內部的RAM,根據數據報不同的類型做相應的處理。CS8900無中斷,說明無接收數據,則檢測數據緩存FIFO是否為空。若不為空則讀出數據,按照UDP協議進行打包后,送入CS8900發送。同時把打包后的數據暫存到外部SRAM中,啟動定時器。若在一定的時間內沒有從主機方收到確認,則重發該幀。
  對接收到的數據幀,如果收到ARP請求,則立刻發送ARP響應,以便主機得到本系統的MAC地址;若收到ICMP,則置其TTL值為128,再將原數據發出。系統收到UDP數據幀時,要判斷是上位機發來的命令還是接收數據確認的回應。如果是命令,則解碼后存入FIFO命令緩沖存儲器;如果是接收數據的確認回應,則清除SRAM中對應的數據報。
3.4 上位機數據處理程序
  上位機數據處理軟件采用LabWindows/CVI編寫。LabWindows/CVI是美國NI公司開發的32位面向計算機測控領域的軟件開發平臺。它將C語言平臺與數據采集、分析和表達等測控專業工具有機地結合起來,提供強大的函數庫以便于對采集的數據進行分析處理[7]。在本系統中,用LabWindows/CVI編寫了簡單易用的虛擬儀器面板,可以通過此面板對采集的參數進行設置,將工作時間參數和系統啟動信號打包發送給網絡傳輸模塊,以實現對數據采集全過程的控制;對上傳數據進行解碼;對解碼后的采集數據進行處理,形成四通道的時間-電壓曲線,求出最終的濃度。
4  結束語
  本采集系統用在海水有機磷農藥的現場實時監測上,對馬拉硫磷的檢測限為0.5μg/L,測定值與理論值之間的誤差在10%以內。用Labwindows編寫的數據處理程序具有易于操作的界面,直觀的圖形顯示形式,能自動計算基線和峰值以及最終的濃度。同時,本系統還可以用在其他要求多通道快速實時數據采集的場合,只要根據不同的要求相應改變系統軟件即可。
參考文獻
1   孟范平,唐學璽,李永祺.有機磷農藥海洋生物傳感器監測技術.海洋高新技術產業化高級論壇論文集,中國工程院,2000
2   何東海.利用乙酰膽堿酯酶生物傳感器監測海水有機磷農藥.中國海洋大學碩士學位論文,2004,6
3   竇振中.PIC系列單片機原理和程序設計.北京:北京航空航天大學出版社,1998
4   陳學全,關宇東.嵌入式TCP/IP協議單片機技術在網絡通信中的應用.電子技術應用,2002;(8)
5   潘志東,劉增華.串行A/D轉換器TLC2543原理及應用.電測與儀表,2001;(3)
6   科默.TCP/IP網絡互連技術.北京:清華大學出版社,1995
7   王承,何志偉,許東芹.虛擬儀器-現代儀器發展的新階段.  測控技術,2001;20(10)
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产成人艳妇aa视频在线 | 亚洲人成77777在线观看网 | 国产精品视频免费一区二区三区 | 国产网站免费在线观看 | 欧美激情精品久久久久久久久久 | 久久久久久久国产高清 | 97免费公开视频 | 精品免费国产一区二区女 | 国产69精品久久久久777 | 国产成人综合在线 | 四虎成年永久免费网站 | 国产99欧美精品久久精品久久 | 两性视频久久 | 精品久久精品久久 | 人人爽人人看 | 青草免费在线观看 | 国产精品视频网站你懂得 | 精品福利一区二区三区免费视频 | 中文字幕天天躁日日躁狠狠躁免费 | 久草综合在线 | 国产区在线观看视频 | 激情 亚洲 | 国产精品一区二区国产 | 蜜臀网站 | 99精品视频在线在线视频观看 | 五月花精品视频在线观看 | 99资源在线 | 精品无人区乱码一区二区三区手机 | 成人在线亚洲 | 五月精品| 国产精品亚洲精品 | 久99久热只有精品国产男同 | 欧美视频在线第一页 | 精品国产高清久久久久久小说 | 精品一区二区三区高清免费观看 | 国产一区二区视频在线观看 | 久久99精品福利久久久 | 久久精品国产国产精品四凭 | 国产成人精品在线观看 | 人人人人草 | 4399在线观看免费mv |