亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ATmega128的工業(yè)酶生產(chǎn)數(shù)據(jù)采集器的通信設(shè)計

        2008-04-12 00:00:00
        現(xiàn)代電子技術(shù) 2008年13期

        摘 要:隨著生物工程規(guī)?;a(chǎn)的發(fā)展,自動控制的理論和方法已經(jīng)在生化工業(yè)中得到了很好的應(yīng)用。以工業(yè)酶發(fā)酵數(shù)據(jù)采集器為課題,采集器以ATMEL公司的ATmega128為核心,簡要介紹了工業(yè)酶發(fā)酵數(shù)據(jù)采集器的設(shè)計組成,重點介紹了利用ATmega128的USART接口完成數(shù)據(jù)采集器與上位機通信的實現(xiàn)方法。通信協(xié)議采用了已被廣泛應(yīng)用的Modbus協(xié)議,最終實現(xiàn)了對工業(yè)酶發(fā)酵罐系統(tǒng)可靠的遠(yuǎn)程監(jiān)控。

        關(guān)鍵詞:ATmega128;USART;Modbus;工業(yè)酶發(fā)酵

        Communication Technique of Industrial Enzyme Production Data Collector 

        Based on ATmega128

        NIU Rui,LIU Fei

        (College of Communications and Control Engineering,Jiangnan University,Wuxi,214122,China)

        Abstract:With the development of biotechnological production on a large scale,the theory and technique on automatic control have been well used in biochemical industry.The research task of this paper is industrial enzyme fermentation data collector which use ATmega128 of ATMEL corporation as its core.This paper concisely introduces the composition of industrial enzyme fermentation data collector and mainly illuminate the technique that use USART interface of ATmega128 to build communications bewteen data collector and host-computer.Communication protocol of this system is Modbus protocol.Ultimately we achieve remote monitoring the system of industrial enzyme fermentation pots.

        Keywords:ATmega128;USART;Modbus;industrial enzyme fermentation

        

        1 引 言

        近年來,我國的生物工程技術(shù)發(fā)展迅速,酶發(fā)酵過程是生物工程研究成果轉(zhuǎn)化為工業(yè)產(chǎn)品的重要環(huán)節(jié)。發(fā)酵的過程都是一個微生物生長代謝的復(fù)雜過程,發(fā)酵系統(tǒng)都體現(xiàn)出多參數(shù)、非線性、強耦合的特征。因此對發(fā)酵過程可靠的數(shù)據(jù)采集是對生物發(fā)酵系統(tǒng)進(jìn)行分析的前提和基礎(chǔ)。ATMEL公司的AVR單片機,是一種高性能低功耗的8位單片機。由于優(yōu)越的性價比,目前已廣泛應(yīng)用于計算機外部設(shè)備、工業(yè)實時控制、儀器儀表、通訊設(shè)備、家用電器等各個領(lǐng)域。本文簡要介紹了以AVR的ATmega128為MCU設(shè)計開發(fā)的工業(yè)酶發(fā)酵數(shù)據(jù)采集器,并詳細(xì)說明了基于ATmega128的工業(yè)酶發(fā)酵數(shù)據(jù)采集器與上位機進(jìn)行通信的一種實現(xiàn)方法。

        2 數(shù)據(jù)采集器的總體要求及功能設(shè)計

        (1) 輸入:采集器主要對生物酶發(fā)酵環(huán)境的PH值、溶氧量、發(fā)酵溫度、進(jìn)入發(fā)酵罐的空氣流量、是否有泡沫等數(shù)據(jù)進(jìn)行采集。需要采集的數(shù)據(jù)在進(jìn)入單片機采集器之前,已經(jīng)通過專用的前置測量變送模塊變換成了0~5 V的標(biāo)準(zhǔn)電壓量。ATmega128只需要對這些標(biāo)準(zhǔn)信號采集和處理。采集器一共設(shè)計了16個數(shù)字量輸入通道和4 個模擬量輸入通道。16個數(shù)字量輸入使用了ATmega128上與I2C總路線接口兼容的TWI(two wire interface)接口,并采集使用了I2C總線擴展芯片PCF8574進(jìn)行端口擴展。 4 個模擬量輸入采集全部使用了ATmega128自身提供的10位精度的模數(shù)轉(zhuǎn)換器。

        (2) 輸出:在工業(yè)酶發(fā)酵罐系統(tǒng)中,需要對控制算法的參數(shù)進(jìn)行設(shè)定,需要對發(fā)酵過程PH值、溶氧量、發(fā)酵溫度等環(huán)境參數(shù)的給定值進(jìn)行設(shè)定,還需要對一些開關(guān)量輸出控制信號,如:消泡蠕動泵開關(guān)、補料蠕動泵開關(guān)、循環(huán)泵開關(guān)、PH蠕動泵開關(guān)、加熱管開關(guān)、電磁閥等。

        (3) 顯示:現(xiàn)場LCD使用AT320240進(jìn)行動態(tài)顯示。

        (4) 傳輸:上位機與單片機采集器之間采用主從查詢結(jié)構(gòu),半雙工通信方式,上位機作為主設(shè)備,單片機采集器作為從設(shè)備。主設(shè)備定時通過RS 232(距離15 m以內(nèi))或RS 485(1.5 km以內(nèi))按順序向從設(shè)備廣播從機地址,采集器處于監(jiān)聽狀態(tài),把接收到的地址與自身的地址相比較,若相同,就把采集到的最新的信號值通過總線傳給上位機。

        采集系統(tǒng)示意圖如圖1所示。

        圖1 采集系統(tǒng)示意圖

        3 AVR單片機簡介

        AVR單片機是1997年由ATMEL公司研發(fā)出的增強型內(nèi)置FLASH的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機[1]。它采用流水線操作(Pipelining)和等長指令體系結(jié)構(gòu),在一個時鐘周期可以完成一條指令,同時采用了通用快速寄存器組的結(jié)構(gòu)大量使用寄存器之間的操作,并使用了哈佛結(jié)構(gòu),使取指令和取數(shù)據(jù)可同時進(jìn)行。

        AVR單片機也是RISC架構(gòu)的單片機,本項目所用的單片機ATmega128L是一款高性能低功耗AVR8位單片機,工作電壓2.7~5.5 V,工作頻率范圍0~16 MHz,實際的工作電壓為5 V。這款芯片有128 kB FLASH/4 kB E2PROM/4 kB SRAM,有JTAG和串口支持,64個通用 I/O 端口。

        4 硬件接口及通信

        4.1 ATmega128的UART接口[2]

        工業(yè)酶發(fā)酵數(shù)據(jù)采集器,我們使用的是AVR系列中的ATmega128這個型號,其中與實現(xiàn)Modbus通信相關(guān)的接口是ATmega128片內(nèi)集成的通用同步/異步串行接口USART,在ATmega128中一共配備了2個這種USART接口:USART0和USART1。USART在內(nèi)部對寄存器進(jìn)行了改進(jìn),功能上與普通的異步通信接口UART兼容。

        ATmega128的USART單元中有五個寄存器:一個波特率寄存器UBRR、三個控制和狀態(tài)寄存器UCSRA、UCSRB、UCSRC和一個數(shù)據(jù)寄存器UDR。進(jìn)行通信之前要對USART進(jìn)行初始化,初始化通常要設(shè)定包括波特率、工作模式、幀格式、收發(fā)使能以及中斷使能等,都必須通過對USART寄存器進(jìn)行設(shè)置才能完成。

        UBRR是一個16位的寄存器,其中低12位有效,這12位包含了USART的波特率信息。

        UCSRA,UCSRB,UCSRC是USART得以實現(xiàn)其功能的關(guān)鍵。

        UCSRA、B、C定義如下:

        UCSRC主要用來定義數(shù)據(jù)幀的格式;最低位為同步模式下,時鐘極性設(shè)置位。

        USART有4種工作模式,分別為:正常異步模式、倍速異步模式、主機同步模式、從機同步模式。UCSRC的UMSEL位用來對同步和異步模式進(jìn)行選擇,UCSRA的U2X位用來對倍速模式設(shè)置;另外,數(shù)據(jù)幀的結(jié)構(gòu)由UCSRB和UCSRC的UCSZ2:0位、UPM1:0位和USBS位設(shè)定,它們分別定義了幀數(shù)據(jù)位長度、校驗?zāi)J胶屯V刮晃粩?shù)。

        UDR既是USART的發(fā)送數(shù)據(jù)緩沖寄存器又是接收數(shù)據(jù)緩沖寄存器,將數(shù)據(jù)寫入UDR,讀取UDR中的數(shù)據(jù),即可完成數(shù)據(jù)的發(fā)送和接收。

        4.2 用Modbus協(xié)議實現(xiàn)通信

        Modbus協(xié)議[3]規(guī)定:

        主設(shè)備查詢幀格式為:設(shè)備(或廣播)地址、功能代碼、要發(fā)送的數(shù)據(jù)、錯誤檢測域。

        從設(shè)備回應(yīng)幀格式為:回應(yīng)功能代碼(傳輸錯誤將被修改)、要返回的數(shù)據(jù)、錯誤檢測域。

        本設(shè)計使用的是Modbus協(xié)議的RTU傳輸模式,消息幀格式為:

        起始位設(shè)備地址功能代碼數(shù)據(jù)CRC校驗結(jié)束符

        T1-T2-T3-T48 b8 bn個8 b16 bT1-T2-T3-T4

        使用RTU模式,消息發(fā)送至少要以3.5個字符時間為間隔。整個消息幀必須是一個連續(xù)的流傳輸。

        上位機在發(fā)送給采集器的數(shù)據(jù)幀中會在功能代碼段指示出采集器將執(zhí)行的功能。上位機下發(fā)的命令可以分為兩個大類:主機接收命令和主機發(fā)送命令。

        上位機下發(fā)主機接收命令后,等待采集器返回數(shù)據(jù)。如果采集器接收后經(jīng)過CRC校驗后沒有出錯,在應(yīng)答幀的數(shù)據(jù)域中將放入上位機要求返回的參數(shù)值;如果校驗后發(fā)現(xiàn)出錯,就將功能代碼最高位改寫為1,以此使上位機知道出錯,這時應(yīng)答幀的數(shù)據(jù)域中不包含任何參數(shù)返回值,上位機收到應(yīng)答幀后將重發(fā)命令;如果超過規(guī)定時間上位機仍然沒有收到應(yīng)答,上位機將進(jìn)行超時重發(fā)。

        上位機下發(fā)主機發(fā)送命令后,等待采集器作出響應(yīng),這種命令的應(yīng)答幀中不包含任何參數(shù)返回值。如果采集器接收后經(jīng)過CRC校驗后沒有出錯,將回應(yīng)一個標(biāo)準(zhǔn)的應(yīng)答幀告訴上位機命令已正確下發(fā);如果校驗后發(fā)現(xiàn)出錯,就將功能代碼最高位改寫為1,以此使上位機知道出錯,上位機收到應(yīng)答幀后將重發(fā)命令;如果超過規(guī)定時間上位機仍然沒有收到應(yīng)答,上位機將進(jìn)行超時重發(fā)。

        4.2.1 主機接收命令

        (1) 實時環(huán)境參數(shù)上傳使能

        采集器接收到這個命令后,每5 s自動將生物酶發(fā)酵環(huán)境的PH值、溶氧量、發(fā)酵溫度、進(jìn)入發(fā)酵罐的空氣流量、是否有泡沫等重要指標(biāo)參數(shù)放入應(yīng)答幀的數(shù)據(jù)域中發(fā)往上位機。

        (2) 實時數(shù)據(jù)上傳停止

        采集器接收到這個命令后,將停止環(huán)境參數(shù)實時自動上傳功能。

        (3) 當(dāng)前各開關(guān)狀態(tài)查詢

        上位機查詢幀的數(shù)據(jù)域中會附帶一個或幾個開關(guān)對應(yīng)的地址代碼。采集器接收到這個命令后,會按地址代碼將消泡蠕動泵開關(guān)、補料蠕動泵開關(guān)、循環(huán)泵開關(guān)、PH蠕動泵開關(guān)、加熱管開關(guān)、電磁閥等開關(guān)當(dāng)前的狀態(tài)放入應(yīng)答幀的數(shù)據(jù)域中發(fā)往上位機。

        4.2.2 主機發(fā)送命令

        (1) 軟件復(fù)位

        采集器除了有自己復(fù)位系統(tǒng)外,還應(yīng)該能夠?qū)ι衔粰C下發(fā)的復(fù)位命令給出響應(yīng)。采集器接收到這個命令后,將進(jìn)行軟件復(fù)位及寄存器的初始化。

        (2) 修改控制算法的參數(shù)值

        上位機通過對實時數(shù)據(jù)的分析和計算如果發(fā)現(xiàn)當(dāng)前使用的控制算法的模型參數(shù)值與實現(xiàn)環(huán)境存在誤差,就要對參數(shù)值進(jìn)行修定。上位機查詢幀的數(shù)據(jù)域中會附帶新的參數(shù)值,采集器接收到這個命令后,將模型算法子程序的實參改為修定值。

        (3) 修改酶發(fā)酵環(huán)境溫度給定值

        采集器接收到這個命令后,就會根據(jù)當(dāng)前要求,改變恒溫設(shè)定值。

        (4) 修改發(fā)酶酵環(huán)境PH給定值

        采集器接收到這個命令后,就會根據(jù)當(dāng)前要求,改變PH設(shè)定值。

        (5) 修改發(fā)酶酵環(huán)境溶氧量給定值。

        5 程序設(shè)計及實現(xiàn)

        作為下位機的數(shù)據(jù)采集器的Modbus通信接口模塊使用的是AVR單片機C語言編寫的??梢栽赑C上開發(fā)時通過ATmega128的JTAG口進(jìn)行在線仿真,開發(fā)完成后也可以通過JTAG口下載到ATmega128的FLASH程序存儲器中。

        5.1 ATmega128的USART0初始化

        本設(shè)計使用的是USART0接口,工作模式為普通異步模式,波特率目標(biāo)值9 600,實際值9 615,偏差0.2%,數(shù)據(jù)字符長度8 b,停止位1位,未使用硬件奇偶校驗。

        接口初始化程序段如下:

        5.2 數(shù)據(jù)發(fā)送和接收的實現(xiàn)

        在完成通信功能時,使用了USART0的發(fā)送結(jié)束中斷和接收結(jié)束中斷,中斷向量號分別為19和21。USART0接收數(shù)據(jù)流程圖如圖2所示。

        在控制通信時序時,使用了ATmega128定時計數(shù)器1[4]的比較匹配A中斷,中斷向量號為13。

        當(dāng)定時計數(shù)器中斷寄存器TIFR的OCF1A位變?yōu)?時,說明數(shù)據(jù)間的時間間隔已達(dá)到協(xié)議要求,一個完整的幀已經(jīng)接收完成,程序進(jìn)入定時計數(shù)器1的比較匹配A中斷子程序,對接收到的幀進(jìn)行處理。流程圖如圖3所示。

        由于已經(jīng)使能了發(fā)送中斷,當(dāng)UDR中有數(shù)據(jù)時,USART的發(fā)送緩沖器會自動完成發(fā)送。在發(fā)送中斷子程序執(zhí)行發(fā)送時,要屏蔽接收中斷以防止UDR被意外修改出錯。

        圖2 接收數(shù)據(jù)流程圖

        6 結(jié) 語

        Modbus通訊協(xié)議作為一種標(biāo)準(zhǔn)的工業(yè)控制網(wǎng)絡(luò)協(xié)議,是一種普遍通用的串行通信協(xié)議。工程上實現(xiàn)單片機與上位機通信的方法有很多。本文基于工程需要,

        [CM(22]

        詳細(xì)闡述了在8位AVR單片機ATmega128上實現(xiàn)[CM)]

        Modbus通訊協(xié)議模塊(Modbus RTU模式),實現(xiàn)生物發(fā)酵數(shù)據(jù)采集器與上位機通信的一種方法。經(jīng)現(xiàn)場測試,可以保證采集器與上位機監(jiān)控器的可靠通信。本文所用的設(shè)計思想和方法對類似下位機通信模塊的設(shè)計具有一定的借鑒和參考價值。

        圖3 中斷子程序流程圖

        參 考 文 獻(xiàn)

        [1]沈文,詹衛(wèi)前.AVR單片機C語言開發(fā)入門指導(dǎo)[M].北京:清華大學(xué)出版社,2003.

        [2]ATmega128/Atmega128L Datasheet:8 b Microcontroller with 128K bytes in-System Programmable Flash.

        [3]Modbus通信協(xié)議[EB/OL].http://www.chinalong.net.

        [4]曹國華,高藝,姜濤,等.高速嵌入式單片機原理與接口技術(shù)[M].北京:國防工業(yè)出版社,2004.

        作者簡介 牛 睿 女,1983年出生,江南大學(xué)碩士研究生。主要從事單片機工業(yè)應(yīng)用方面的研究。

        劉 飛 男,1965年出生,江南大學(xué)教授,博士生導(dǎo)師,博士。主要從事復(fù)雜系統(tǒng)性能分析與綜合、先進(jìn)控制理論與應(yīng)用、工業(yè)系統(tǒng)監(jiān)控等研究。

        国产不卡av一区二区三区| 亚洲妇女水蜜桃av网网站| 国产午夜无码精品免费看动漫| 亚洲国产一区二区精品| 久久天堂一区二区三区av| 日本在线看片免费人成视频1000| 91老司机精品视频| 国产精品一级黄色大片| 亚洲乱码av中文一区二区| 亚洲国产成人片在线观看无码| 国产精品理人伦国色天香一区二区 | 国产亚洲综合一区二区三区| 大肉大捧一进一出好爽视频mba| 亚洲日韩一区二区一无码| 久久国产精品av在线观看| 国产人妻熟女高跟丝袜| 无码国产伦一区二区三区视频| 亚洲成年网站在线777| 日韩精品一区二区三区含羞含羞草| 91久久精品色伊人6882| 久久久久久亚洲精品中文字幕| 中文亚洲爆乳av无码专区| 国产一区二区三区再现| 国产 精品 自在 线免费| 欧美mv日韩mv国产网站| 日韩在线视频不卡一区二区三区| av在线高清观看亚洲| 国产免费内射又粗又爽密桃视频| 国产欧美成人| 亚洲最大视频一区二区三区| 中文字幕有码无码人妻av蜜桃| 国产大学生粉嫩无套流白浆| 亚洲无码中文字幕日韩无码| 国产精品日韩av一区二区| 国产男女无遮挡猛进猛出| 国产成人拍精品免费视频| 91亚洲精品久久久中文字幕| 国产成人综合日韩精品无码| 中文字幕美人妻亅u乚一596| 国产真实二区一区在线亚洲| 女色av少妇一区二区三区 |