999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TCP和μC/OS-Ⅱ的數據采集系統研究①

2017-11-01 07:17:28
化工自動化及儀表 2017年6期
關鍵詞:系統

王 捷 艾 紅

(1.北方工業大學電氣與控制工程學院;2.北京信息科技大學自動化學院)

基于TCP和μC/OS-Ⅱ的數據采集系統研究①

王 捷1艾 紅2

(1.北方工業大學電氣與控制工程學院;2.北京信息科技大學自動化學院)

基于ARM7處理器LPC2210的鎖相環功能與處理器的時鐘頻率,描述了A/D轉換時鐘頻率的計算公式。設計了基于ARM7的數據采集系統。闡述了基于I2C總線協議實現數據存儲的功能,說明了向存儲器寫入數據,從存儲器中讀取數據的函數調用。基于ARM7和μC/OS-Ⅱ操作系統的多任務應用,給出了創建多任務的流程圖。通過網頁可以顯示實時數據采集值、報警上下限值、實時時鐘和歷史數據。基于TCP 協議實現了數據采集與網絡傳輸系統的功能。

數據采集 TCP協議 μC/OS-Ⅱ操作系統 網頁顯示

在工業測量控制領域,需要獲取大量的實時工業現場參數,使用ARM處理器不僅具有一般采集系統的優點,還加入了一些新的功能和特性,如網絡功能。μC/OS-Ⅱ操作系統中重要的概念之一是任務。一個任務也稱作一個線程,是一個簡單的程序。每個任務都是整個應用的一部分,每個任務被賦予一定的優先級。μC/OS-Ⅱ是搶占式實時多任務內核,采用基于優先級的任務調度策略[1,2]。筆者實現了基于TCP協議的網絡傳輸數據采集系統。在數據采集過程中,采用串行E2PROM芯片CAT24WC02對歷史數據進行存儲。為了使網頁增加交互性,系統應用了JavaScript技術設計界面。利用開放的TCP通信協議,任何計算機都可以使用通用的網絡瀏覽軟件訪問設備,現場設備的信息可以通過網頁的形式顯示出來。基于ARM處理器嵌入μC/OS-Ⅱ操作系統設計數據采集系統,進一步擴展了Web服務器的應用范圍。

1 數據采集系統的構成

系統采用ARM7處理器LPC2210。基于ARM7的數據采集系統如圖1所示,包括時鐘電路、電源電路、復位電路、鍵盤與顯示模塊、數據存儲器及信號放大電路等。

圖1 基于ARM7的數據采集系統框圖

2 數據采集與存儲

2.1 鎖相環與時鐘頻率

LPC2210具有鎖相環PLL電路,PLL接收的輸入時鐘頻率范圍為10~25MHz。FOSC是晶振頻率,M是PLLCFG寄存器中MSEL位的倍頻值,鎖相環PLL輸出的處理器時鐘頻率cclk=M×FOSC。VPB分頻器決定了處理器時鐘cclk與外設器件所使用的時鐘pclk之間的關系。通過VPB總線為外設提供所需的pclk時鐘。A/D轉換器的基本時鐘由VPB時鐘提供。編程分頻器可以將時鐘調至逐次逼近轉換所需的4.5MHz。VPB分頻器連接如圖2所示。

圖2 VPB分頻器連接

2.2 數據采集功能實現

LPC2210具有8路10位逐次逼近式A/D轉換器,測量范圍為0~3V,每秒可執行四十萬次10位采樣。10位精度要求的轉換需要11個A/D轉換時鐘。將VPB時鐘pclk進行分頻得到A/D轉換時鐘。該時鐘必須不大于4.5MHz。ADC轉換時鐘分頻值的計算公式如下:

其中CLKDIV是A/D控制寄存器ADCR的15~8位;pclk是VPB提供的時鐘;adclk是ADC時鐘,其值不能大于4.5MHz。A/D模塊功能如圖3所示。

圖3 A/D模塊功能

使用引腳AIN0和AIN1兩個通道進行10位A/D轉換,A/D轉換時鐘設置為1MHz。進行A/D模塊設置,程序中的語句x<

ADCR = (1 << 0) | // SEL = 1 ,選擇通道0

((Fpclk / 1000000 - 1) << 8) | // CLKDIV = Fpclk /1000000-1,即A/D轉換時鐘為1MHz

(0 << 16) |//轉換由軟件控制,需要11個時鐘方能完成

(0 << 17) | // CLKS = 0,11個時鐘/10位

(1 << 21) | // PDN = 1,正常工作模式(非掉電轉換模式)

(0 << 22) | // TEST[1:0] = 00,正常模式(非器件測試模式)

(1 << 24) | // START = 1,立即啟動ADC轉換

(0 << 27); // EDGE=0,該位在START字段為010~111時有效

DelayNS(10);

ADC_Data = ADDR; //讀取ADC轉換結果,并清除A/D轉換完成標志位

while(1)

{ ADCR = (ADCR&0xFFFFFF00)|0x01|(1 << 24); //選擇第一通道進行第1次轉換

while( (ADDR&0x80000000)==0 ); //等待轉換結束

ADCR = ADCR | (1 << 24); //再次啟動轉換

while( (ADDR&0x80000000)==0 );

ADC_Data = ADDR; //讀取ADC轉換結果

ADC_Data = (ADC_Data>>6) & 0x3FF;

ADC_Data = ADC_Data * 3300;

ADC_Data = ADC_Data / 1024; //數據處理

sprintf(str, "%4dmV at VIN1", ADC_Data); //顯示第1個通道A/D采集結果

ISendStr(60, 23, 0x30, str);

ADCR = (ADCR&0xFFFFFF00)|0x02|(1 << 24);//選擇第二通道并進行第1次轉換

while( (ADDR&0x80000000)==0 ); //等待轉換結束

ADCR = ADCR | (1 << 24);//再次啟動轉換

while( (ADDR&0x80000000)==0 );

ADC_Data = ADDR;//讀取ADC轉換結果

ADC_Data = (ADC_Data>>6) & 0x3FF;

ADC_Data = ADC_Data * 3300;

ADC_Data = ADC_Data / 1024; //數據處理

sprintf(str, "%4dmV at VIN2", ADC_Data); //顯示第2個通道A/D采集結果

ISendStr(60, 21, 0x30, str);

DelayNS(10); }

return(0);}

數據采集系統采集數據的過程以函數形式進行。首先設置ADCR控制寄存器的值,選擇通道,寫入A/D轉換時鐘頻率,軟件控制轉換操作,選擇正常工作模式。當設置完A/D控制寄存器ADCR并延時一段時間后,從A/D數據寄存器ADDR中讀取選中通道的A/D轉換結果。

2.3 數據存儲功能

存儲器CAT24WC02支持I2C總線數據傳送協議。采用字節寫方式時,主設備ARM處理器LPC2210的I2C接口首先向從設備CAT24WC02發送起始條件和從設備地址信息,在收到CAT24WC02的應答信號后,ARM處理器發送要寫入的第1個字節地址[3,4]。系統設計采用選擇性讀模式,ARM處理器可以對CAT24WC02存儲器中的任意字節數據進行讀操作。首先主設備ARM處理器LPC2210的I2C接口向從設備CAT24WC02發送起始命令、CAT24WC02的設備地址和要讀取的字節數據地址,CAT24WC02發送應答信號后,ARM處理器接收一個字節的數據。

向存儲器寫入數據。在確定了I2C總線控制器件地址與子地址之后,進行數據存儲。將data_buf [0]中的1字節數據寫入到存儲器中,基本程序設計如下:

#define CAT24WC02 0xA0 //定義器件地址

Uint8 data_buf[4];

IRcvStr(CAT24WC02,0x00, data_buf, 1)

//data_buf [0]中的1個字節數據寫入到存儲器中

從存儲器中讀取一個字節數據。在確定了I2C總線控制器件地址與子地址之后,進行數據讀取。從CAT24WC02存儲器中的0x00中獲取一個字節數據,基本程序設計如下:

#define CAT24WC02 0xA0 //定義器件地址

Uint8 data_buf[4];

ISendStr(CAT24WC02,0x00, data_buf, 1)

//從CAT24WC02器件的0x00中獲取一個字節的數據

3 μC/OS-Ⅱ操作系統與多任務

3.1 多任務

μC/OS-Ⅱ操作系統可以管理多達64個任務,保留了8個任務供系統使用,因此用戶可以有多達56個應用任務。一個任務通常是一個無限的循環,看起來像其他C函數一樣,有函數返回類型,有形式參數變量。形式參數變量是由用戶代碼在第1次執行時帶入的。該變量的類型是一個指向void的指針。這是為了允許用戶在應用程序中傳遞任何類型的數據任務。當任務完成以后,任務可以自我刪除,使這個任務的代碼不再運行。多任務體現在μC/OS-Ⅱ操作系統程序、TCP通信任務程序、鍵盤服務任務程序、實時時鐘任務程序和按鍵控制網頁小燈任務程序設計。創建多任務task0流程如圖4所示。

圖4 創建多任務task0流程

3.2 實時時鐘任務程序設計

實時時鐘RTC提供一套計數器在系統工作時對時鐘進行測量。從RTC實時時鐘系統中獲取當前的時、分、秒和當前日期,對時間的數值數據處理是將RTC實時時鐘系統中獲得的時間值進行ASCII碼轉換,再將時間結構體中的秒、分、時、日、月、年進行BCD碼轉換,為數碼管的每一位的正常顯示做準備。數碼管顯示是在ARM7處理器的硬件平臺上,數碼管低6位實時顯示時、分、秒,前兩位數碼管分時顯示年、月、日,循環顯示。設計時以i作為狀態變量,每過一秒鐘i進行自加,當變量i為0~2時,數碼管前兩位顯示年,當變量i為3~7時,數碼管前兩位顯示月,當變量i為8~14時,數碼管前兩位顯示日。隨著秒鐘的不斷跳變,數碼管可以顯示年、月、日、時、分、秒。

4 基于TCP協議的數據采集

在基于ARM7處理器的數據采集系統中,能夠通過鍵盤設定實現采集通道數據的報警上下限,并利用報警系統對采樣數據實現上下限報警。可以獲得上位計算機下傳的實時時間,即年、月、日、時、分、秒,并在數據采集系統上顯示。在上位機上,通過瀏覽器可以看到從數據采集系統傳輸來的兩個通道采樣數據和數據的報警上下限值。可以通過按鍵控制小燈,或者當報警超限時點亮報警燈。打開Internet Explorer瀏覽器,在地址欄輸入http://192.168.0.174 并按回車鍵,網頁上出現從基于ARM7的數據采集系統硬件平臺發送的VIN1通道和VIN2通道的報警上下限值及當前VIN1通道和VIN2通道的數據采集值。ADC數據監測結果界面如圖5所示。當前VIN1通道和VIN2通道的數據采集值超出報警上下限時,蜂鳴器報警且網頁當前數據采集值變紅。網頁上可以顯示當前VIN1通道和VIN2通道的變化率是否正常。如果采集的數據變化率過快,網頁可以顯示報警。點擊網頁上 “顯示歷史數據”按鈕,將VIN1通道和VIN2通道采集的歷史數據值顯示在網頁中。點擊網頁上 “關閉歷史數據”按鈕,將歷史數據欄收起。點擊網頁上 “清除歷史數據”按鈕,則清除網頁上的歷史數據。

圖5 ADC數據監測結果界面

5 結束語

CPU在沒有操作系統時,運行主程序要通過外部中斷,執行相對應的中斷子程序,這需要很多步驟去完成。尤其是在網絡傳輸等多任務環境下,沒有操作系統顯得力不從心。在移植操作系統后,使得多任務并行執行變得簡單,尤其是在添加或刪減各個任務時,變得尤為方便。數據采集系統以單任務的形式調試成功后,將所有單任務組織成一個多任務的系統,最重要的是設置好每個任務的優先級,使它們能夠穩定地執行。實踐證明多任務系統可以很好地實現網絡傳輸的數據采集功能。基于ARM7和μC/OS-Ⅱ操作系統設計數據采集系統由多任務完成,采用TCP/IP協議實現數據顯示功能。通過網頁瀏覽實時數據采集值、報警上下限值和數據采集系統的工作狀態,實現了利用TCP網絡進行傳輸與顯示多路數據的功能。

[1] 趙玉鳳,楊厚俊,范延濱. μC/OS-Ⅱ在ARM Cortex A9處理器上的移植與實現[J]. 工業控制計算機,2016,29(6):10~11.

[2] 毛衛平. 基于ARM的海洋溫度數據監測系統設計[J]. 艦船科學技術,2016,38(5A):127~129.

[3] 趙華瑋. 一種基于Linux嵌入式的智能瓦斯監測設計[J]. 自動化與儀器儀表,2016,(8):106~107.

[4] 王平,楊濤,侯守全,等. LabVIEW中DAQ數據采集系統設計[J]. 自動化儀表,2015,36(7):31~33.

ResearchonDataAcquisitionSystemBasedonTCPandμC/OS-Ⅱ

WANG Jie1, AI Hong2

(1.CollegeofElectricalandControlEngineering,NorthChinaUniversityofTechnology; 2.CollegeofAutomation,BeijingInformationScience&TechnologyUniversity)

Based on PLL function and clock frequency of the ARM7 processor LPC2210, the calculation formula of A/D conversion clock frequency was described and the ARM7-based data acquisition system was designed; and the function of data storage based on I2C bus protocol was expounded and writing the data to the

memory and reading the function call of data from the memory were explained. Basing on ARM7 and μC/OS- Ⅱ operating system-based multi-task application to present the flow chart of creating multi tasks was implemented, including the display of real-time data acquisition values, the upper and lower limits of the alarm, real-time clock and data collection of historical data and other functions through the web page and the realization of the function of data acquisition and network transmission system based on TCP protocol.

data acquisition,TCP protocol, μC/OS-Ⅱ operating system,web page display

北京市自然科學基金項目(4162025)。

王捷(1962-),講師, 從事智能儀表與自動化裝置的研究。

聯系人艾紅(1962-),教授,從事智能儀表與自動化裝置的研究,hong_ai@126.com。

TH865

A

1000-3932(2017)06-0591-05

2016-12-13,

2017-01-18)

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 91黄色在线观看| 日韩在线欧美在线| 91无码人妻精品一区| 久久精品丝袜| 日韩美毛片| 2018日日摸夜夜添狠狠躁| 亚洲成a人片77777在线播放| 超清人妻系列无码专区| 国内精品久久久久久久久久影视| 老司机午夜精品网站在线观看| 色欲色欲久久综合网| 午夜性爽视频男人的天堂| 国产精品成人AⅤ在线一二三四| 久久精品娱乐亚洲领先| 97亚洲色综久久精品| 在线观看免费人成视频色快速| 欧美日本中文| 久久精品亚洲中文字幕乱码| 日韩第一页在线| 狼友视频国产精品首页| 亚洲欧美另类日本| 亚洲天堂成人在线观看| 亚洲人成网7777777国产| 54pao国产成人免费视频| 精品国产香蕉在线播出| 97国产成人无码精品久久久| 日韩在线欧美在线| 久996视频精品免费观看| 激情亚洲天堂| 人人91人人澡人人妻人人爽| 国产chinese男男gay视频网| 性69交片免费看| 伊人欧美在线| 国产在线视频二区| 日韩午夜片| 女人18毛片一级毛片在线| 3D动漫精品啪啪一区二区下载| 日韩欧美国产三级| 黄色网在线免费观看| 亚洲精品大秀视频| 一区二区三区国产精品视频| 国产精品综合色区在线观看| 99精品国产电影| 日a本亚洲中文在线观看| 日韩无码黄色网站| 免费一级成人毛片| 久久久久久久97| 国产精品浪潮Av| 国产三级毛片| 极品国产在线| 91人人妻人人做人人爽男同| 国产性生大片免费观看性欧美| 国产二级毛片| 日本人妻丰满熟妇区| 永久成人无码激情视频免费| 亚洲第一成网站| 日韩一区二区三免费高清| 亚洲免费播放| 国产乱视频网站| 性视频一区| 久久青青草原亚洲av无码| 亚洲男人在线| 熟妇人妻无乱码中文字幕真矢织江| 亚洲爱婷婷色69堂| 色噜噜狠狠狠综合曰曰曰| 国产无遮挡猛进猛出免费软件| 亚洲日本中文综合在线| 国产国产人在线成免费视频狼人色| 欧美一级夜夜爽www| 国内精品久久九九国产精品| 婷婷伊人五月| 色哟哟色院91精品网站| 国产成人欧美| 色噜噜综合网| 在线观看亚洲成人| 国产在线精彩视频二区| 九九九久久国产精品| 国产特级毛片aaaaaa| 日韩在线永久免费播放| 99久久成人国产精品免费| 2019年国产精品自拍不卡| 欧美日韩国产成人高清视频 |