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

基于ATmega128的工業酶生產數據采集器的通信設計

2008-04-12 00:00:00
現代電子技術 2008年13期

摘 要:隨著生物工程規模化生產的發展,自動控制的理論和方法已經在生化工業中得到了很好的應用。以工業酶發酵數據采集器為課題,采集器以ATMEL公司的ATmega128為核心,簡要介紹了工業酶發酵數據采集器的設計組成,重點介紹了利用ATmega128的USART接口完成數據采集器與上位機通信的實現方法。通信協議采用了已被廣泛應用的Modbus協議,最終實現了對工業酶發酵罐系統可靠的遠程監控。

關鍵詞:ATmega128;USART;Modbus;工業酶發酵

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 引 言

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

2 數據采集器的總體要求及功能設計

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

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

(3) 顯示:現場LCD使用AT320240進行動態顯示。

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

采集系統示意圖如圖1所示。

圖1 采集系統示意圖

3 AVR單片機簡介

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

AVR單片機也是RISC架構的單片機,本項目所用的單片機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]

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

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

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

UCSRA,UCSRB,UCSRC是USART得以實現其功能的關鍵。

UCSRA、B、C定義如下:

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

USART有4種工作模式,分別為:正常異步模式、倍速異步模式、主機同步模式、從機同步模式。UCSRC的UMSEL位用來對同步和異步模式進行選擇,UCSRA的U2X位用來對倍速模式設置;另外,數據幀的結構由UCSRB和UCSRC的UCSZ2:0位、UPM1:0位和USBS位設定,它們分別定義了幀數據位長度、校驗模式和停止位位數。

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

4.2 用Modbus協議實現通信

Modbus協議[3]規定:

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

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

本設計使用的是Modbus協議的RTU傳輸模式,消息幀格式為:

起始位設備地址功能代碼數據CRC校驗結束符

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

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

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

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

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

4.2.1 主機接收命令

(1) 實時環境參數上傳使能

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

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

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

(3) 當前各開關狀態查詢

上位機查詢幀的數據域中會附帶一個或幾個開關對應的地址代碼。采集器接收到這個命令后,會按地址代碼將消泡蠕動泵開關、補料蠕動泵開關、循環泵開關、PH蠕動泵開關、加熱管開關、電磁閥等開關當前的狀態放入應答幀的數據域中發往上位機。

4.2.2 主機發送命令

(1) 軟件復位

采集器除了有自己復位系統外,還應該能夠對上位機下發的復位命令給出響應。采集器接收到這個命令后,將進行軟件復位及寄存器的初始化。

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

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

(3) 修改酶發酵環境溫度給定值

采集器接收到這個命令后,就會根據當前要求,改變恒溫設定值。

(4) 修改發酶酵環境PH給定值

采集器接收到這個命令后,就會根據當前要求,改變PH設定值。

(5) 修改發酶酵環境溶氧量給定值。

5 程序設計及實現

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

5.1 ATmega128的USART0初始化

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

接口初始化程序段如下:

5.2 數據發送和接收的實現

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

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

當定時計數器中斷寄存器TIFR的OCF1A位變為1時,說明數據間的時間間隔已達到協議要求,一個完整的幀已經接收完成,程序進入定時計數器1的比較匹配A中斷子程序,對接收到的幀進行處理。流程圖如圖3所示。

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

圖2 接收數據流程圖

6 結 語

Modbus通訊協議作為一種標準的工業控制網絡協議,是一種普遍通用的串行通信協議。工程上實現單片機與上位機通信的方法有很多。本文基于工程需要,

[CM(22]

詳細闡述了在8位AVR單片機ATmega128上實現[CM)]

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

圖3 中斷子程序流程圖

參 考 文 獻

[1]沈文,詹衛前.AVR單片機C語言開發入門指導[M].北京:清華大學出版社,2003.

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

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

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

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

劉 飛 男,1965年出生,江南大學教授,博士生導師,博士。主要從事復雜系統性能分析與綜合、先進控制理論與應用、工業系統監控等研究。

主站蜘蛛池模板: 97久久人人超碰国产精品| 57pao国产成视频免费播放| 免费人成又黄又爽的视频网站| 国产精品嫩草影院av| 欧美在线中文字幕| 欧美亚洲日韩中文| 国产精品久久久久久久伊一| 精品91在线| 欧美国产日韩在线| 久久福利网| 色妞www精品视频一级下载| 国产黄色爱视频| 免费A级毛片无码免费视频| 成人国产一区二区三区| 午夜性爽视频男人的天堂| 久久国产精品嫖妓| 国产91视频免费观看| 亚洲欧洲日产国码无码av喷潮| 热热久久狠狠偷偷色男同| 高h视频在线| 少妇人妻无码首页| 亚洲一区第一页| 国产性猛交XXXX免费看| 99在线免费播放| 青青草一区| 国产成人凹凸视频在线| 日本成人不卡视频| 欧美区国产区| 精品久久人人爽人人玩人人妻| 国产91色| 永久免费精品视频| 国产丝袜无码精品| 无码日韩视频| 国产va在线观看| 中文字幕伦视频| 无码国产偷倩在线播放老年人| 免费一级大毛片a一观看不卡| 91久久国产综合精品女同我| 日韩欧美中文| 日本少妇又色又爽又高潮| 真人高潮娇喘嗯啊在线观看| 欧美日韩精品在线播放| 久视频免费精品6| 色悠久久久| 午夜国产不卡在线观看视频| 亚洲天堂久久| 999精品在线视频| 国产精品爽爽va在线无码观看 | 99re热精品视频国产免费| 国产综合亚洲欧洲区精品无码| 日本五区在线不卡精品| 国内毛片视频| 国产清纯在线一区二区WWW| 亚洲激情区| 久久综合九九亚洲一区| 久久一级电影| 国产a网站| 日本亚洲国产一区二区三区| 国产成人你懂的在线观看| 青青青草国产| 色噜噜狠狠色综合网图区| 亚洲乱码在线视频| 国产精品视屏| 中文字幕色站| 亚洲成人在线免费观看| 国产免费怡红院视频| 国产伦片中文免费观看| 国产精品原创不卡在线| 毛片基地美国正在播放亚洲 | 国产精品成人观看视频国产| 91精品久久久久久无码人妻| 五月婷婷丁香综合| 国产欧美高清| 免费毛片全部不收费的| 日韩一区二区三免费高清| 99精品伊人久久久大香线蕉 | 四虎影视永久在线精品| 动漫精品啪啪一区二区三区| 特级aaaaaaaaa毛片免费视频| 久久婷婷六月| 丝袜高跟美脚国产1区| 特级aaaaaaaaa毛片免费视频|