1 引言 隨著網絡時代的到來和信息化要求的不斷提高,特別是Internet的不斷普及和Intranet在企業中日益增多,為此,將計算機網絡技術和智能傳感器技術相結合就有必要和可能。智能傳感器網絡概念由此而產生。智能傳感器網絡化技術致力于研究智能傳感器的網絡通信功能,將傳感器技術,通信技術和計算機技術融合,實現信息的采集、傳輸和處理真正統一和協同。本文研制了一種基于片上系統芯片的傳感器模塊軟硬件設計。 2 傳感器模塊硬件系統結構 傳感器模塊(STIM)原理框圖如圖1所示,主要包括:變送器陣列模塊、信號調理模塊、多通道數據采集模塊、TEDS模塊及TII智能接口等部分。為了增強系統的集成度,設計采用了集成式的片上數據采集系統ADuC812。 傳感器的輸出信號經調理模塊放大調理,輸入至ADuC812片內的多通道ADC,ADC對相應通道模數轉換后,存儲于RAM中,然后通過TII智能接口將數據讀入NCAP。為了方便TEDS內容的升級與更新,系統采用異步串行口來下載電子數據表格至ADuC812的片內Flash。此外,異步串行口還可用來下載和調試用戶程序,方便系統開發。 3 傳感器系統硬件詳細設計 3.1 STIM傳感器前端信號采集電路設計 溫度傳感器采用AD公司的AD590芯片實現的,它是單片集成兩端感溫電流源。其電路原理圖如圖2所示,其中R1=5.1KΩ,R2=R3=10KΩ,R4=2KΩ,R5和R6分別選10KΩ的電位器。AD590受溫度變化產生電流信號時,在電阻R1兩端產生電勢差,從而在運放輸入端產生電壓信號,由加法電路進行調節零點漂移;由運放OP07進行比例放大,放大倍數由電位器R6調節,使測試溫度范圍在0"65℃,輸出電壓相應為0"2.5V。 3.2 復位電路設計 ADuC812需要外接POR(Power-on reset,上電復位)電路。上電復位電路在電源電壓低于2.5V時,要使RESET引腳保持高電平;而且,在電源電壓高于2.5V時,RESET引腳保持低電平至少10ms。在本模塊中采用專門的POR芯片ADM810設計的POR電路。ADM810是CMOS監控電路芯片,能夠監控電源電壓、電源故障和微處理器的工作狀態。復位信號RESET用于啟動或重新啟動CPU,在上電期間只要電源電壓VCC大于1.0V,就能保證輸出高電平電壓。在VCC上升期間RESET保持高電平直到電源電壓升至復位門(4.65V)以上,在超過此門限后,內部定時器大約再維持200ms后釋放RESET,使其返回低電平。無論何時,只要電源電壓降低到復位門限以下(即電源跌落),RESET引腳就會變高,如果在已經開始的復位脈沖期間出現電源跌落,復位脈沖至少再維持140ms。在掉電期間,一旦電源電壓VCC降到復位門限以下,只要VCC不比1.0V還低,就能使RESET維持高電平。 3.3 TII接口模塊 TII接口是硬件設計的重點,該接口不是一種額外的網絡協議,而是連接NCAP和STIM的接口,主要定義二者之間的點對點連接,同步時鐘的短距離接口。TII是基于SPI協議的串口通信接口,其中DIN,DOUT,DCLK和NIOE完成通訊功能,NTRIG和NACK實現與STIM有關的通道讀寫、觸發和應答,STIM使用NINT信號要求從NCAP得到服務,NCAP使用NSDET信號檢測STIM模塊,實現STIM的即插即用。系統采用ADuC812的SPI總線和其它的I/O資源來模擬實現TII十線接口。連接示意圖如圖3所示。為了實現STIM模塊的熱插拔,需對TII接口的供電電源進行處理,可以在STIM方面加入熱插拔保護電路,當然也可以在NCAP方面加入保護電路。本系統在NCAP方面加入了保護電路。 3.4 信號調理存儲電路設計 數據采集系統的設計過程中,輸入數據采集系統的電信號與ADC的輸入范圍并不一定匹配,因而,一般不直接送入ADC進行轉換,必需對輸入的信號進行信號調理,經過信號調理后的模擬信號符合ADC的要求。將傳感器送來的信號送入放大器OPA4350,此時放大器OPA4350形成一個電壓跟隨器,起到阻抗變換的作用,以增大輸出電流。從放大器輸出的信號輸入ADuC812控制器的AD轉換通道進行數據采集。 由于ADuC812內部只有256字節數據RAM,因此,需外擴大容量RAM,在此選用了IS61C256,擴展了32K數據區。考慮到ADuC812內部集成了640字節Flash,可以作為電子數據表格的存儲區,所以無需外擴Flash存儲器。 3.5 在線下載與調試 程序存儲器陣列可以按兩種模式之一來編程:一種是串行下載(在線編程)模式;另一種是并行編程模式。并行編程模式與常規的第三方提供的閃速或EEPROM器件編程器完全兼容,但應用起來較復雜,需要對ADuC812中支持并行編程所需的外部引腳進行配置。所以,在本模塊的開發和調試過程中采用的是串行下載模式。作為工廠引導代碼的一部分,ADuC812本身具有在線編程的程序,使經過標準UART串行接口實現串行代碼下載變得容易,只需通過一個與地相連的1kΩ電阻將ADuC812的/PSEN引腳拉至低電平,那么上電時器件將自動進入串行下載模式。本系統使用圖4的RS-232接口電路,從而實現上位機與ADuC812的串行接口通信。 4 傳感器模塊軟件設計 程序軟件是系統的靈魂,系統依靠程序軟件的運行實現傳感器模塊的所有功能。程序軟件的合理設計可以有效的發揮擴展系統硬件的功能。本模塊的軟件設計模型的結構化來自于IEEE1451.2標準的結構。系統的處理器是與51系列單片機兼容的ADuC812,可以采用面向MCS-51的程序設計語言,包括ASM51匯編語言和C51高級語言。與以往的80C51單片機不同,ADuC812具有在線調試和下載功能,它由支持ADuC812的開發工具包Quickstart開發系統來提供。也就是說,在用戶系統保留ADuC812的情況下,通過開發系統與ADuC812的串行接口通信,直接對用戶系統進行調試。 1、STIM的軟件模塊。 STIM必須包含一個TEDS、控制與狀態寄存器、通道、中斷標志、地址和函數編譯邏輯、數據傳輸與處理函數,觸發和觸發承認函數、一個TII驅動和一個傳感器接口。IEEE1451.2STIM的軟件分了四個主要部分:(1)傳感器接口STIM模塊;(2)傳感器獨立接口TII模塊;(3)電子數據表格TEDS模塊;(4)地址與函數功能模塊。 2、數據采集程序。 為了使數據采集系統得到高精度的數據,不但硬件上需要采取上述的一些抗干擾以及提高精度的措施,如對供電電源進行嚴格穩壓處理,對ADC輸入信號進行RC高頻濾波,采用高精度、高穩定度的ADC基準源,采用高精度的傳感器等等,同時軟件上的優化也相當重要,合適的軟件設計能進一步提高精度,提高數據采集系統整體性能。 3、TEDS下載程序。 本系統的TEDS下載程序是RS232串行通訊程序,分為單片機程序和上位機程序兩部分組成。這里研究單片機程序的開發。PC機和單片機之間要實現串行通信,除了要遵守RS232串行通訊協議外,還必須具有各自的通信應用軟件。通信軟件的設計思路是:PC機為主動方式,在通訊開始后由PC機向單片機發送請求,單片機返回應答信號,通訊正常后,單片機根據PC機發送來的命令,執行相應功能并應答。單片機流程圖如圖5。 5 系統測試 本測試系統的大體設計思路是:以ADuC812作為下位機,當接收到上位機的指令采集數據,通過串口將采集到的數據傳給上位機,上位機將得到的測試數據很容易被轉化成直觀的圖表等形式,并可以保存于計算機中以便將來使用。本系統需要為單片機和上位機分別編制軟件,以實現數據的溝通,本系統采用VB來編寫上位機的程序,用匯編語言來編寫ADuC812的程序。由于VB具有MSCOMM控件,我們可以很方便地用串口來采集所需要的數據。而且,VB的程序通俗易懂,移植性較強,開發簡單、周期短,繪圖功能強大,特別適合應用到需要繪制曲線的系統。 |