基於ADuC812微控制器實現環境監測下位機的軟硬體電路設計

2020-12-05 電子發燒友

基於ADuC812微控制器實現環境監測下位機的軟硬體電路設計

孫曉靖,仇潤鶴,陸 發表於 2020-12-03 10:38:26

  作者:孫曉靖 , 仇潤鶴 , 陸迎光

1 引言

ADuC812 是美國AD公司率先研製出的真正意義上的完整的數據採集系統晶片,是投入市場的第一種微轉換器產品。它性能優良,價格便宜,開發手段完備,是一種新型的高度集成的高精度12位數據採集系統。其內部的12位A/D轉換周期僅為4us,比常用的AD574快好幾倍。用ADuC812代替由常規晶片構成的數據採集系統,將大大降低產品的成本、縮小設備的體積、提高系統的可靠性和電氣性能指標。

ADuC812 晶片內,不僅包含了可重新編程的非易失性閃速/電擦除程序存儲器的高性能8位(與8051兼容)MCU,還包含了高性能的自校準多通道(8個輸入通道) ADC,兩個12位DAC,32條可編程I/O接口。ADuC812微控制器內核與8051指令兼容,用戶現有的軟體都可以直接移植,因而應用開發方便。它具有9個中斷源(2個優先級),片內還集成了8K字節的閃速/電擦除程序存儲器、640位元組的閃速/電擦除數據存儲器以及256位元組RAM。另外,它還包括一個看門狗定時器和電源監控器,ADC與數據存儲器之間的DMA方式,存儲保護功能,一個通用的異步串行收發器,SPI和I2C總線接口。 ADuC812具有24位地址的外部數據尋址能力, 可尋址16MB的外部數據存儲器空間。

2 遠程環境監測信息系統整體介紹

該遠程環境監測信息系統是針對當今環境遠程監測自動化、網絡化、信息化的要求而設計的,它是由分布於遠距離各個監測站的多個下位機和位於中心站的上位機組成,其結構如圖1所示。

圖1、系統結構圖

上下位機是通過MODEM和電話線路實現遠程通信的。上位機將各下位機傳送來的數據存入資料庫,並對各環境數據做出數據分析。

下位機分布在大範圍、遠距離的各個環境監測站點,對大氣、水質、酸雨等各監測儀送來的各種環境數據進行實時採集。對環境監測儀輸出的SO2、NO2、NO等變化緩慢的參數每2分鐘採樣一次,對酸雨計輸出的酸雨參數每0.5mm雨量採樣一次。採樣數據要求連續保存7天,每天的平均值保存一個月,並且存儲在下位機中的採樣數據隨時準備接受上位機的查詢和向上位機傳送。

3下位機硬體電路設計

下位機硬體電路的設計,主要是考慮被測信號的變化速率和通道數,以及對測量精度、解析度、速度的要求等。該數據採集系統電路包括:ADuC812、模擬放大轉換電路、外部數據存儲器28F128、串行口通信以及鍵盤和LCD顯示器,如圖2所示。

圖2、硬體結構圖

3.1 採集電路的模擬信號輸入

在ADuC812 中,P1.0—P1.7初始化後為8通道的模擬輸入口。如果用於數字量輸入,編程時應首先把埠寫「0」。本電路將P1口設為8路由各環境監測儀輸出的模擬量輸入。由於ADC的基準電壓是2.5伏,而各監測儀輸出的模擬量一般為0「1伏或4」20毫安,因而需要模擬放大轉換電路把輸入信號轉換成0—2.5 伏的標準輸入。轉換電路如圖3所示。

圖3、模擬放大轉換電路

3.2 ADuC812與外部數據存儲器的接口電路

為滿足本設計系統大量數據的存儲要求,在採用常規晶片構成的系統中要採用10片128K的HM628128數據存儲器(RAM),這樣,不但成本高、電路設計複雜、系統的可靠性和電氣性能指標也低。由於ADuC812具有24位地址的外部數據尋址能力,本方案中,我們採用一片28F640。28F640是一超大容量閃速存儲器,單片容量為8MB,不但更好的滿足了本系統的設計要求,而且當採集參數增加,或採樣時間變化時,同樣能滿足要求,因而提高了系統的兼容性。

為實現對28F640 的訪問,ADuC812利用兩片8位鎖存器74HC573與28F640相連。P0口分時輸出低8位地址A0「A7和8位數據,利用地址鎖存信號ALE可以將低8位地址鎖存到8位鎖存器U2中。P2口分時輸出高8位地址和中8位地址,可以利用地址鎖存信號ALE將高8位地址鎖存到8位鎖存器U4中。這樣就實現了24位尋址空間。由於28F640隻有A0」A22共23位地址線,所以鎖存器輸出的A23地址線懸空。

3.3 鍵盤、顯示器接口電路

外接鍵盤和LCD顯示器的目的是:當數據發送錯誤或人工查詢數據時,可通過鍵盤選擇要查詢的參數並在顯示器上顯示出來,使下位機的工作更加靈活方便。

為了連接鍵盤和顯示器,需要擴展一片8155I/O口擴展晶片,採用4*4觸摸式鍵盤和點陣式液晶顯示器。鍵盤上的鍵值分別與各路環境參數對應,若為「0」按下,則調顯示子程序,此後每按一個鍵,此按鍵值對應的環境參數在顯示器上顯示出來。若不是「0」鍵按下,則把鍵值送累加器A。當為「F」鍵按下時,則退出顯示子程序。

3.4 串行通信接口電路

由於要通過MODEM、電話線與上位PC機通信,所以須利用MAX232晶片作為RS—232口電平匹配與驅動。MAX232是包含兩路接收器和驅動器的IC晶片,其內部有一個電源電壓變換器,可以把輸入的+5V電源電壓變換成為RS—232C輸出電平所需的±10伏電壓。

4下位機軟體設計

4.1 軟體整體設計

下位機的軟體設計主要由3部分組成:數據採集及存儲子程序,鍵盤掃描與液晶顯示程序,與上位機的通信子程序。流程圖如圖4。

主程序中,首先進行鍵盤、顯示器、AD模塊和通信埠的初始化。數據採集及存儲子程序編寫為定時中斷子程序,採用定時器2定時,每2分鐘調一次數據採集及存儲子程序,採集一次數據。而酸雨數據的採集是通過外部中斷INT1,每當酸雨量達0.5mm時向ADuC812發一個中斷請求,ADuC812採集一次酸雨數據。

主程序循環掃描鍵盤,當有鍵按下時,轉鍵盤掃描子程序。主程序中把與上位機的通信程序設置為外部中斷子程序,中斷信號由INT0輸入。當上位機要求傳送數據時,通過撥號,選中某一下位機,則此下位機程序跳轉到通信子程序,完成與上位機的通信。

圖4、軟體流程圖

4.2 軟體設計特點

ADuC812微控制器內核與8051指令兼容,用戶現有的軟體都可以直接移植,但在ADC轉換模塊和數據的存取方面與8051編程不同。

在數據採集及存儲子程序中,ADC首先要初始化。對ADuC812 的AD轉換模塊的操作是通過對ADCON1,ADCON2和ADCON3這3個特殊功能寄存器(SFR)來控制的。ADCON1控制轉換與採集時間、硬體轉換模式以及掉電模式。在對ADCON1的設置中,ADC正常工作,時鐘分頻比為2。由於輸入信號模擬放大轉換電路的輸出阻抗都小於8KΩ,所以選擇 ADC採集時鐘為1。設置定時器2轉換位T2C,由此,得ADCON1=52H。ADCON2控制ADC通道選擇和轉換模式。由於本數據採集系統為8通道順序採集,ADC每次需要將8個通道的模擬輸入量依次進行轉換,因此,要把通道號CHAG的值送入ADCON2中。ADCON3未用。一旦特殊功能寄存器 ADCON1「3完成設置,ADC將轉換模擬輸入並在特殊功能寄存器ADCDADAH/L中提供ADC 12位結果字。

CPU用中斷方式管理A/D轉換器。當A/D轉換完成時,向CPU發請求信號,CPU響應中斷,中斷處理子程序負責對轉換的數據進行讀出並將其存儲至外部數據存儲器28F128中,然後通道號加1,相應的閃速存儲器地址也加1。

當用戶訪問微轉換器ADuC812 的16MB的外部數據空間時,必須添加一個數據頁指針DPP,與普通MCS-51一樣,一條向DPTR送數的MOV指令仍只送16位的數據到DPH和 DPL,但一個使DPH溢出的INC DPTR指令,將使地址增加一頁而不是加1。頁的大小與DPP有關。因此利用數據頁指針DPP可實現16MB外部數據空間的訪問。

對28F640 的讀寫是以頁編程操作為基礎。28F640是超大容量閃速存儲器,為了保證對各種操作的可靠進行,晶片內部增加了控制邏輯。如用來接受各種操作命令的用戶命令單元接口(CUI)和擦寫狀態機(WSM)等。當進行數據交換時,首先是將晶片的片選端使能,使存儲器進入工作狀態,然後再將相應命令字送入CUI。 CUI根據命令要求按地址鎖存器的尋址去控制WSM對相應的存儲單元或存儲塊區域自動執行編程算法和必要的延時,從而完成數據塊的擦除、寫入、鎖存等操作。

5結束語

把ADuC812晶片應用在遠程環境監測信息系統下位機的設計上,顯著提高了數據採集系統的性能並大幅度地減少了開發時間和成本,適應了現代環境監測的要求。根據具體要求稍加修改,本系統還可適用於氣象、電力、水文等需要實時監測的各個部門。

責任編輯:gt

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 採用PDIUSBD12晶片和ADuC812晶片實現串行總線接口設計
    採用PDIUSBD12晶片和ADuC812晶片實現串行總線接口設計 王澤兵 齊和平 發表於 2020-04-04 10:45:00 隨著計算機技術和信息技術的飛速發展
  • 基於微控制器PICl6F628實現數字調光電子鎮流器的設計
    基於微控制器PICl6F628實現數字調光電子鎮流器的設計 王守志 , 毛興武 發表於 2020-12-04 09:55:43 引言 可調光螢光燈電於鎮流器具有明顯的節電效果
  • 一種智慧型手機獲取監測環境溫度、溼度的實現方法
    編者按:本文介紹一種利用智慧型手機耳機接口音頻傳輸,來實現智慧型手機拓展監測環境溫度、溼度的應用設計與實現方案,同時提出了可兼容2種不同耳機接口標準的解決方案,增強了智慧型手機拓展應用價值。
  • 基於Cotex-M3內核的智能低壓斷路器控制器設計
    具體是通過微控制器中集成的PWM輸入捕獲模式採樣變換後的信號來間接計算電流的變化率,大大縮短了過載、短路故障電流的響應時間。智能低壓斷路器控制器,除實現故障保護功能外,還能對環網供配電系統的現場參數進行實時性監測、區域聯網通信等,真正能實現「分布式控制、集中管理」,降低現場維護的難度,提高了整個區域環網供配電系統的安全性和可靠性。
  • UPS蓄電池在線監測系統的設計
    摘要:蓄電池是UPS系統的重要組成部分,對蓄電池進行在線監測,及時掌握蓄電池的健康狀態,對提高UPS系統的可靠性具有重要意義。本文設計了一種基於ARM的蓄電池在線監測系統。
  • 基於FPGA的永磁同步電機控制器設計
    摘要:提出一種基於FPGA的永磁同步電機控制器的設計方案,該設計可應用於具有高動態性能要求的永磁同步電機伺服控制系統。為提高伺服控制系統的實時性,簡化電路及節省成本,該系統設計採用Ahera公司生產的CycloneIII EP3C25Q240C8型FPGA器件實現電機控制器。嵌入NiosⅡCPU軟核配合片內硬體乘法器及可編程邏輯門陣列,實現軟硬體協同工作。通過QuartusⅡ軟體自帶的SignalTaplI嵌入式邏輯分析儀進行板上調試驗證,得到帶有死區輸出的PWM波形。
  • 基於RS485總線的溫溼度監控系統設計
    主控PC微機通過RS-232C串口向總線通訊協議轉換控制器發送命令幀信息,總線控制器接口電路負責RS-232C電平和RS-485電平之間的相互轉換,轉發此通訊幀向RS-485總線網絡廣播。在通訊幀中包含主控微機所要求的下位現場單元編號,所有下位現場單元單片機都收聽廣播,在收到廣播幀後,進行編號對比操縱,各下位單片機把收到的編號與自己的編號進行比較,編號相同的下位單片機控制器為被選中的下位機,對接收到的幀信息進行處理,其餘下位單片機控制器皆為未選中的下位機,需要丟棄收到的幀信息並繼續進行網絡偵聽工作[3]。
  • 基於STM32F107VCT6微控制器的控制系統解決方案
    針對需要設計了基於STM32F107VCT6微控制器的控制系統解決方案,並詳細介紹了控制系統的軟硬體設計和樁體的電氣部分設計。該系統提供包括人機互動、充電控制、電能計量、IC卡付費、票據列印、運行狀態監測、充電保護和充電信息存儲和上傳等多種完善的功能,滿足充電過程的要求。
  • 基於CPLD的鍵盤控制器設計
    可再編程的特點輔之簡便易用的設計工具,使設計可以進行晚期更改,提高了產品設計的靈活性,降低了風險。在單片機應用系統中,利用鍵盤接口輸入數據,是實現現場實時調試、數據調整和各種參數設置最常用的方法。單片機的外圍鍵盤擴展電路有多種實現方式,例如直接利用單片機的I/O接口,或者採用8255A接口晶片,就可以實現外圍鍵盤的擴展功能。
  • 基於LIN總線的電動車窗控制器設計
    2.1 微控制器的選擇 主節點微控制器的功能主要是對按鍵進行檢測,並按LIN2.0協議的幀格式發送相應控制命令,同時還需具有休眠功能,在無操作時最大限度地節省汽車能源。MCP2021內部包含一個電壓調整電路,在溫度範圍內,可輸出電壓為5.0 V,50 mA電源,誤差為±3%。穩壓器採用LDO設計,具有短路保護功能,在輸出電壓降到3.5 V以下時將關閉輸出。MCP2021還具有熱關斷保護功能。經過特別設計的穩壓器可在汽車環境下工作,在電池反向連接、+43 V瞬變負載突降和雙電池啟動情況下不至毀壞[2]。
  • 全網同步監測裝置GPS接口模塊的改進設計與實現
    1 GPS接口模塊設計中應注意的問題全網同步監測裝置中GPS接口板的主要功能是將GPS接收設備提供的標準串行通訊接口和PPS秒脈衝轉換為基於計算機總線的高精度時間定標系統。GPS接口板除向計算機總線系統提供時間標籤外,還要接收總線外來的命令和狀態字節,以實現全網同步監測裝置下位機部分主從CPU結構的協調運行。接口板上單片機與計算機總線系統數據交換頻繁,時序複雜多變。為解決計算機總線和單片機讀寫速度不同的矛盾,通常選用雙口RAM做為數據緩衝器和數據存儲器。
  • 基於LPC1114的智能節能LED檯燈控制器設計
    摘要:本設計採用NXP基於ARM Cortex M0的MCU--LPC1114作為核心控制器,利用其豐富的片內外設,通過環境光線傳感器和超聲波測距傳感器實時採集環境光線強度和用戶到LED檯燈的使用距離,並與通過用戶按鍵設置的
  • 9種乙太網接口的設計與實現,涵蓋原理分析及電路圖
    本文為大家介紹各種乙太網接口的設計方案。本文引用地址:http://www.eepw.com.cn/article/201609/303910.htm嵌入式系統乙太網接口的設計本文將介紹以8051系列單片機系統為例的嵌入式系統與10Mbps乙太網控制器晶片DM9008的接口電路實現及編程方法。
  • 基於Nios的FFT算法軟硬體協同設計
    摘要:在深入研究Nios自定製指令的軟硬體接口的基礎上,利用Matlab/DSP Builder建立快速傅立葉變換FFT核心運算指令基本模型,然後用Altera公司提供的Singacompiler工具對其進行編譯,產生 QuartusⅡ能夠識別的VHDL
  • 基於USB總線的多路電話錄音系統的設計
    本文闡述一種基於USB總線的多路電話錄音系統的實現方法,錄音系統採用高性能的混合信號微控制器晶片C8051F320作為控制器內核。該微控制器內部集成有USB控制器來控制USB的傳輸,簡化了系統硬體電路的設計;軟體方面利用Cygnal/Silicon Laboratories公司提供的USBXpress軟體開發包進行PC端應用程式和微控制器端固件程序的編程。該方法充分利用已有資源,開發簡單,易於實現。
  • 基於RFID的門禁系統設計
    為了提高門禁系統的現代化管理和遠程監控能力,介紹了一種基於Web技術的門禁系統。系統採用無線射頻技術,當讀寫器的射頻範圍內出現非接觸式IC卡時,讀卡並將信息通過串口通信傳送給伺服器進行相關的數據處理,並構建了基於C/S模式的管理平臺,管理員可通過Web網頁對門禁控制器查詢和控制,從而有效地實現在網際網路的任何位置對信息的實時監控。
  • 基於Nios II的AT24C02接口電路設計與實現
    針對這種保存的數據量不大和存儲速度要求不高的特點,可採用「NiosⅡ+AT24C02"設計方案進行設計。本文在討論了I2C通信協議的基礎上,利用FPGA技術,設計了NiosⅡ與AT24C02」之間進行通信的接口電路。本接口電路能產生基於I2C通信協議的讀寫操作時序,成功實現了對AT24C02的讀寫功能。
  • 一種基於Arduino的光電編碼器檢測儀設計方案
    其語法規則類似C/C++語言,IDE環境和語言把單片機與硬體相關的一些參數都參數化並進行了很好的封裝,把埠都打包,寄存器、地址指針之類的基本不用管,大大降低了軟體開發難度。因此不用開發者去了解其硬體結構即可對其編程,實現設計者的設計意圖和創意[3].
  • 以單片機為核心的步進電機控制系統驅動設計
    傳統的細分驅動電路由細分環行分配器、放大器和合成器等部分組成。這種電路應用複雜,靈活性差。本文利用A3967SLB作為步進電機微控晶片,簡化了步進電機的控制實現。由於單片機資源沒有PC豐富,人機界面也沒有PC友好,因此,本文採用了主從式結構,即PC用於管理,單片機用於執行。
  • 基於射頻識別技術的智能電能表的設計
    RFID應用支撐軟硬體主要負貴實現與企業=或組織應用相關的功能。  1 工作原理  電能計星晶片根據電壓、電流輸人信號生產電能量脈衝信號和電流方向信號送給MCU進行處理。MCU對電量脈衝進行累計。計算出電量並存貯,同時根據當前費率對剩餘電蘭進行減法處理,並判斷是否告警或斷電。