久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4635|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

基于AVR單片機(jī)的溫度采集系統(tǒng)設(shè)計論文下載(word格式)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:408367 發(fā)表于 2018-10-12 00:57 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
目錄

摘要
Abstract
0 引言
1 課題背景及研究意義
1.1 溫度采集系統(tǒng)設(shè)計的意義及其應(yīng)用目的
1.2 AVR單片機(jī)簡介
1.2.1 AVR單片機(jī)的主要特點
1.2.2 AVR系列單片機(jī)簡介
1.3 ATmega16單片機(jī)系統(tǒng)結(jié)構(gòu)
1.3.1 ATmega16簡介
1.3.2 ATmega16的總體結(jié)構(gòu)
1.4 溫度傳感器
1.4.1 數(shù)字式溫度傳感器
1.5 串口概述
1.5.1 串口介紹
1.5.2 串口分類
1.6 protel DXP2004軟件基本概念以及使用
1.7 系統(tǒng)方案設(shè)計
1.7.1 軟件設(shè)計方案
2 數(shù)字式溫度傳感器DS18B20軟硬件設(shè)計
2.1 DS18B20 數(shù)字式溫度傳感器基本特性
2.2 DS18B20測溫模塊
2.2.1 DS18B20工作方式
2.2.2 DS18B20溫度數(shù)據(jù)
2.2.3 DS18B20在溫度采集系統(tǒng)中的應(yīng)用
3 ATmega16單片機(jī)軟硬件設(shè)計
3.1 ATmega16引腳說明
3.2系統(tǒng)硬件設(shè)計
3.2.1 復(fù)位線路的設(shè)計
3.2.2 晶振電路的設(shè)計
3.2.3 AD轉(zhuǎn)換濾波線路的設(shè)計
3.2.4 ISP下載接口設(shè)計
3.2.6 電源設(shè)計
3.2.7總設(shè)計圖
3.3 軟件系統(tǒng)設(shè)計
3.3.1 溫度采集軟件設(shè)計
3.3.2 串口軟件設(shè)計
3.3.3 程序
4.串口 RS232軟硬件設(shè)計
4.1 USART
4.2 串口的組成
4.3 串口電平轉(zhuǎn)換電路MAX232
5 研究總結(jié)
參考文獻(xiàn)
譯文
原文說明

摘  要

在國民經(jīng)濟(jì)各部門,如電力、化工、機(jī)械、冶金、農(nóng)業(yè)、醫(yī)學(xué)以及人們的日常生活中,溫度采集是十分重要的。在許多模擬量控制和監(jiān)視應(yīng)用中,溫度測控通常是基于 -55℃~125℃溫度范圍內(nèi)的應(yīng)用,如環(huán)境監(jiān)測、蔬菜大棚、糧庫、熱電偶冷端溫度補(bǔ)償、設(shè)備運行的可靠性等應(yīng)用。實時采集溫度信息,及時發(fā)現(xiàn)潛在故障,并采取相應(yīng)的處理措施,對確保設(shè)備良好運行具有重要意義。
本文介紹了一種基于 ATmega16單片機(jī)的溫度采集控制系統(tǒng),該系統(tǒng)能實現(xiàn)溫度檢測和數(shù)值顯示,系統(tǒng)主要由溫度采集、單片機(jī)控制、串口通訊,輸出控制幾個單元組成。溫度采集采用單總線數(shù)字傳感器 DS18B20進(jìn)行采集,溫度數(shù)據(jù)在傳感器內(nèi)部轉(zhuǎn)化為數(shù)字信號并傳送給單片機(jī);單片機(jī)對傳感器采集來的數(shù)據(jù)進(jìn)行處理,通過串口把傳感器采集到的溫度傳輸至PC機(jī)上。

0 引言

在國民經(jīng)濟(jì)各部門,如電力、化工、機(jī)械、冶金、農(nóng)業(yè)、醫(yī)學(xué)以及人們的日常生活中,溫度采集是十分重要的。在許多模擬量控制和監(jiān)視應(yīng)用中,溫度測控通常是基于 -55℃~125℃溫度范圍內(nèi)的應(yīng)用,如環(huán)境監(jiān)測、蔬菜大棚、糧庫、熱電偶冷端溫度補(bǔ)償、設(shè)備運行的可靠性等應(yīng)用。實時采集溫度信息,及時發(fā)現(xiàn)潛在故障,并采取相應(yīng)的處理措施,對確保設(shè)備良好運行具有重要意義。

本文介紹了一個基于AVR單片機(jī)的溫度控制系統(tǒng),該系統(tǒng)可以方便地實現(xiàn)溫度采集、溫度顯示等功能。本系統(tǒng)的溫度控制部分采用ATmega16單片機(jī)完成。該單片機(jī)有著體積小、功耗低、功能強(qiáng)、性能價格比高、使用電子元件較少、內(nèi)部配線少、制造調(diào)試方便等顯著優(yōu)點,將其用于溫度檢測和控制系統(tǒng)中可大大地提高控制質(zhì)量和自動化水平,具有良好的經(jīng)濟(jì)效益和推廣價值。利用單片機(jī)對溫度進(jìn)行測控的技術(shù),日益得到廣泛應(yīng)用。

在眾多的溫度控制系統(tǒng)中,測溫元件常常選用熱敏電阻、半導(dǎo)體測溫二極管、三極管、集成溫度傳感器等。相比而言,集成溫度傳感器具有線性好、穩(wěn)定度高、互換性強(qiáng)、易處理等突出優(yōu)點,故在許多場所得到了廣泛應(yīng)用。本系統(tǒng)中單片機(jī)作為下位機(jī),完成測溫任務(wù)。另外本系統(tǒng)還可以連接相應(yīng)的外圍加熱電路,當(dāng)環(huán)境溫度低于設(shè)定下限溫度時,單片機(jī)發(fā)出的指令,加熱器起動對環(huán)境進(jìn)行加熱,當(dāng)溫度回升到下限溫度時加熱器停止加熱。

系統(tǒng)軟件主要由初始化程序、主程序、監(jiān)控顯示程序等組成。其中初始化程序是對單片機(jī)的接口工作方式,A/D轉(zhuǎn)換方式等進(jìn)行設(shè)置;顯示程序包括對顯示模塊的初始化、顯示方式設(shè)定及輸出顯示;主程序則完成對采集數(shù)據(jù)進(jìn)行處理。

該系統(tǒng)應(yīng)用范圍相當(dāng)廣泛,同時采用單片機(jī)技術(shù), 由于單片機(jī)自身功能強(qiáng)大,因而系統(tǒng)設(shè)計簡單,工作可靠,抗干擾能力強(qiáng),也可在此基礎(chǔ)上加入通信接口電路,實現(xiàn)與上位機(jī)之間的通信。


1 課題背景及研究意義
1.1 溫度采集系統(tǒng)設(shè)計的意義及其應(yīng)用目的

目前,隨著現(xiàn)代信息技術(shù)的飛速發(fā)展,溫度測量采集系統(tǒng)在工業(yè)、農(nóng)業(yè)及人們的日常生活中扮演著一個越來越重要的角色,它對人們的生活具有很大的影響,所以溫度采集系統(tǒng)的設(shè)計與研究有十分重要的意義。

任何一個物體或者環(huán)境都有其溫度屬性,只有對其溫度進(jìn)行采集,才能更好的了解物體或者環(huán)境的特點,所以這就強(qiáng)調(diào)了溫度采集的重要性。在工業(yè)發(fā)展初期,人們通過各種簡單的工具來采集溫度,包括溫度計等,但這種采集方式也存在著許多的漏洞,包括數(shù)據(jù)不精確和不能及時得反映溫度的數(shù)據(jù)。后來隨著工業(yè)技術(shù)的迅猛發(fā)展,傳感器和單片機(jī)技術(shù)的出現(xiàn)改變了溫度采集系統(tǒng)的方式,溫度采集系統(tǒng)也得到了長足的進(jìn)步,已經(jīng)變得數(shù)字化和電子化,現(xiàn)今在工業(yè)中通過數(shù)字化的溫度采集模塊,溫度可以迅速得通過單片機(jī)進(jìn)行處理,并傳輸?shù)絇C機(jī)中,用來進(jìn)行進(jìn)一步的處理。

畢業(yè)設(shè)計強(qiáng)調(diào)綜合應(yīng)用所學(xué)知識能力的鍛煉與培養(yǎng),這是畢業(yè)設(shè)計有別于課程設(shè)計等其他實踐環(huán)節(jié)的重要方面,對大學(xué)生有著很重要的意義。本次課題的目的在于學(xué)習(xí)基于AVR單片機(jī)的溫度采集系統(tǒng)設(shè)計的基本原理及基本流程。本設(shè)計采用單片機(jī)作為數(shù)據(jù)處理與控制單元,為了進(jìn)行數(shù)據(jù)處理,單片機(jī)控制數(shù)字溫度傳感器,把溫度信號通過單總線從數(shù)字溫度傳感器傳遞單片機(jī)上。單片機(jī)數(shù)據(jù)處理之后,在通過串口連接至PC機(jī),顯示及進(jìn)一步處理。

1.2 AVR單片機(jī)簡介
1.2.1 AVR單片機(jī)的主要特點
  •     AVR系列單片機(jī)特點
    •     多種I/O接口,可直接驅(qū)動繼電器、LED、數(shù)碼電路等器件。
    •     內(nèi)帶模擬比較器。
    •     獨立的時鐘分頻器。
    •     具有休眠省電功能及閑置低功耗功能。
    •     增強(qiáng)形的高速同/異步串口與定時器/計數(shù)器及通信接口。
    •      具有硬件乘法器、獨立振蕩器的實時計數(shù)器RTC
    •     內(nèi)嵌高質(zhì)量的Flash程序存儲器,程序存儲器擦寫可達(dá)10000次以上,可支持ISPIAP
    •     硬件結(jié)構(gòu)采用局部寄存器存儲,簡化結(jié)構(gòu)、降低成本。
    •       采用Harvard總線結(jié)構(gòu),吸收了DSP雙總線的特點。
    •       具有DIPTQFPPLCC多種封裝形式。
  •     AVR51PIC單片機(jī)相比的特點
    •     在相同的系統(tǒng)時種下,AVR運行速度最快。
    •     AVR單片機(jī)的FLASHEEPROM存儲器可以反復(fù)燒寫、支持在ISP在線編程。
    •     片內(nèi)集成多種頻率的RC振蕩器、上電自動復(fù)位、看門狗、啟動延時等功能,電路設(shè)計相對比較簡單。
    •     I/O口作輸出時,可以輸出很強(qiáng)的高、低電平;I/O口作輸入時,可以帶有高阻抗或者帶上拉電阻。
    •     片內(nèi)采用了先進(jìn)的數(shù)據(jù)加密技術(shù),大大提高了破解的難度。
    •      空間大、品種多的片內(nèi)FLASH。、
    •     部分芯片的引腳與51系列的兼容性。如ATting2313兼容AT89C2051ATmega8515/162兼容AT89S51等。
  •     AVR單片機(jī)優(yōu)點
    •     高可靠性、高保密性、功能強(qiáng)、高速度、低功率。
    •     低功耗的CMOS技術(shù)。
    •     豐富的片上資源。
    •     增強(qiáng)型的驅(qū)動能力。
    •     型號種類多選擇性。
    •      性價比高。
    •     開發(fā)語言豐富。
1.2.2 AVR系列單片機(jī)簡介

ATMEL公司研發(fā)的AVR單片機(jī),為滿足不同的需求和應(yīng)用,分為Tiny系列、AT90系列和ATmega系列。這三個系列的所有型號的AVR單片機(jī),指令系統(tǒng)兼容,內(nèi)核相同,只是存儲器容量、片內(nèi)集成的外圍接口的數(shù)量和功能存在一些差異。用戶可以根據(jù)AVR單片機(jī)不同的引腳數(shù)目和價格各異進(jìn)行選擇,來滿足不同的應(yīng)用水平。

ATmega是AVR單片機(jī)的系列之一,ATmega系列單片機(jī)屬于AVR中的高檔產(chǎn)品。

ATmega系列AVR單片機(jī)主要有ATmega8/16/32/64/128以及ATmega8515/8535等。

該系列單片機(jī)兼容了AT90所具有的特點,并在AT90的基礎(chǔ)上進(jìn)行了較大的改善,新增許多接口功能,在系統(tǒng)的省電特性、穩(wěn)定性、抗干擾性、靈活性等方面有所提高。

1.3 ATmega16單片機(jī)系統(tǒng)結(jié)構(gòu)
1.3.1 ATmega16簡介

ATmega16是一種基于增強(qiáng)型的AVR RISC結(jié)構(gòu)的低功耗、CMOS技術(shù)的8位微控制器。由于其先進(jìn)的指令集以及單時鐘周期指令執(zhí)行時間,ATmega16的數(shù)據(jù)吞吐率高達(dá)1MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。是具有高可靠性、高速度、低功耗等特點,是一種高性價比的單片機(jī)。

ATmega16采用精簡指令集(RISC),一條指令可以在一個時鐘周期內(nèi)同時對兩個獨立的寄存器進(jìn)行訪問,是以字作為指令長度單位,同時具有取值周期短、可預(yù)取指令等特點,運行處理能力可達(dá)到1MIPS/MHz。

ATmega16單片機(jī)具有Flash程序存儲器、看門狗、EEPROM、同/異步串行口、TWI、SPI、A/D模擬轉(zhuǎn)換器、定時器/計數(shù)器等多種器件和增強(qiáng)可靠性的復(fù)位系統(tǒng)。同時有降低功耗抗干擾的休眠模式、中斷系統(tǒng)、輸入捕獲、比較匹配輸出、多樣化功能的定時器/計數(shù)器以及具有替換功能的I/O端口。

1.3.2 ATmega16的總體結(jié)構(gòu)

ATmega128單片機(jī)性能十分強(qiáng)大,內(nèi)部結(jié)構(gòu)相對比較復(fù)雜,其總體結(jié)構(gòu)包括以下幾個部分,分別介紹如下。







      •       快速存取RISC寄存器

快速存取RISC寄存器是由AVR的內(nèi)核中的32個通用工作寄存器構(gòu)成的,在一個時鐘周期內(nèi)可執(zhí)行一個完整的ALU操作。








      •       32個通用工作寄存器

在32個通用工作寄存器中,有6個可以用作3個16位的間接地址寄存器指針,以尋址數(shù)據(jù)空間,實現(xiàn)高效的地址運算。他們分別為X寄存器、Y寄存器、Z寄存器。







      •       Harvard結(jié)構(gòu)

AVR單片機(jī)采用CMOS技術(shù),具有高速度、低功耗的特點,同時還具有休眠功能。為了最大限度的提高并行處理的運行效率,它采用了Harvard結(jié)構(gòu),即程序存儲器和數(shù)據(jù)存儲器使用不同的存儲空間和總結(jié),可直接訪問全部的數(shù)據(jù)存儲器和程序存儲器,寄存器文件被雙向映射并能被訪問。算術(shù)邏輯單元(ALU)在執(zhí)行某一指令時,下一個指令被預(yù)先從程序存儲器中被提取處理,提高了MCU的運行效率。











      •       算術(shù)邏輯單元(ALU

算術(shù)邏輯單元(ALU)支持寄存器之間以及寄存器和常數(shù)之間的算術(shù)和邏輯運算,以及單一寄存器操作,每一次的運算結(jié)果都通過狀態(tài)寄存器(SREG)反映出來。







      •       程序存儲器

AVR的程序存儲器空間由引導(dǎo)程序區(qū)和應(yīng)用程序區(qū)組成。他們的讀和讀/寫保護(hù)由對應(yīng)的鎖定位來實現(xiàn)。







      •       I/O存儲器

I/O存儲器空間包含64個I/O寄存器空間,它們用來控制MCU的各個外圍功能。







      •       多種獨立的時鐘分頻器

多種獨立的時鐘分頻器為串行異步通信(URAT)、SPI提供傳輸。8/16位定時器/計數(shù)器可用作比較器、計數(shù)器外部中斷和PWM的控制輸出。AVR單片機(jī)定時器/計數(shù)器(單)雙向技術(shù)形成三角波和輸出比較匹配寄存器配合,可以生成占空比、頻率、相位可變的方波信號。








      •       其他電路

AVR單片機(jī)有自動上電復(fù)位電路(POR),獨立的看門狗電路(WDT)、低電壓檢測電路,多個復(fù)位源,只需在復(fù)位源接一個上拉電阻即可實現(xiàn)復(fù)位,不需要另加外部復(fù)位器件。

1.4 溫度傳感器

人們?yōu)榱藦耐饨绔@取信息,必須借助于感覺器官。而單靠人們自身的感覺器官,在研究自然現(xiàn)象和規(guī)律以及生產(chǎn)活動中它們的功能就遠(yuǎn)遠(yuǎn)不夠了。為適應(yīng)這種情況,就需要傳感器。因此可以說,傳感器是人類五官的延長,又稱之為電五官。

新技術(shù)革命的到來,世界開始進(jìn)入信息時代。在利用信息的過程中,首先要解決的就是要獲取準(zhǔn)確可靠的信息,而傳感器是獲取自然和生產(chǎn)領(lǐng)域中信息的主要途徑與手段。

在現(xiàn)代工業(yè)生產(chǎn)尤其是自動化生產(chǎn)過程中,要用各種傳感器來監(jiān)視和控制生產(chǎn)過程中的各個參數(shù),使設(shè)備工作在正常狀態(tài)或最佳狀態(tài),并使產(chǎn)品達(dá)到最好的質(zhì)量。因此可以說,沒有眾多的優(yōu)良的傳感器,現(xiàn)代化生產(chǎn)也就失去了基礎(chǔ)。

在基礎(chǔ)學(xué)科研究中,傳感器更具有突出的地位。傳感器早已滲透到諸如工業(yè)生產(chǎn)、宇宙開發(fā)、海洋探測、環(huán)境保護(hù)、資源調(diào)查、醫(yī)學(xué)診斷、生物工程、甚至文物保護(hù)等等極其之泛的領(lǐng)域。可以毫不夸張地說,從茫茫的太空,到浩瀚的海洋,以至各種復(fù)雜的工程系統(tǒng),幾乎每一個現(xiàn)代化項目,都離不開各種各樣的傳感器。

由此可見,傳感器技術(shù)在發(fā)展經(jīng)濟(jì)、推動社會進(jìn)步方面的重要作用,是十分明顯的。世界各國都十分重視這一領(lǐng)域的發(fā)展。相信不久的將來,傳感器技術(shù)將會出現(xiàn)一個飛躍,達(dá)到與其重要地位相稱的新水平。

1.4.1 數(shù)字式溫度傳感器

數(shù)字式溫度傳感器:就是能把溫度物理量,通過溫度敏感元件和相應(yīng)電路轉(zhuǎn)換成方便計算機(jī)、plc、智能儀表等數(shù)據(jù)采集設(shè)備直接讀取得數(shù)字量的傳感器。

1.5 串口概述1.5.1 串口介紹

串行接口簡稱串口,也稱串行通信接口(通常指COM接口),是采用串行通信方式的擴(kuò)展接口。

串行接口Serial Interface是指數(shù)據(jù)一位一位地順序傳送,其特點是通信線路簡單,只要一對傳輸線就可以實現(xiàn)雙向通信,并可以利用電話線,從而大大降低了成本,特別適用于遠(yuǎn)距離通信,但傳送速度較慢。一條信息的各位數(shù)據(jù)被逐位按順序傳送的通訊方式稱為串行通訊。串行通訊的特點是:數(shù)據(jù)位傳送,傳按位順序進(jìn)行,最少只需一根傳輸線即可完成;成本低但傳送速度慢。串行通訊的距離可以從幾米到幾千米;根據(jù)信息的傳送方向,串行通訊可以進(jìn)一步分為單工、半雙工和全雙工三種。

串口的出現(xiàn)是在1980年前后,數(shù)據(jù)傳輸率是115kbps~230kbps。串口出現(xiàn)的初期是為了實現(xiàn)連接計算機(jī)外設(shè)的目的,初期串口一般用來連接鼠標(biāo)和外置Modem以及老式攝像頭和寫字板等設(shè)備。串口也可以應(yīng)用于由于兩臺計算機(jī)(或設(shè)備)之間的互聯(lián)及數(shù)據(jù)傳輸。由于串口(COM)不支持熱插拔及傳輸速率較低目前部分新主板和大部分便攜電腦已開始取消該接口,目前串口多用于工控和測量設(shè)備以及部分通信設(shè)備中。

1.5.2 串口分類

串口通信的兩種最基本的方式:同步串行通信方式和異步串行通信方式。

串行接口按電氣標(biāo)準(zhǔn)及協(xié)議來分,包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422與RS-485標(biāo)準(zhǔn)只對接口的電氣特性做出規(guī)定,不涉及接插件、電纜或協(xié)議。

  •     RS-232

也稱標(biāo)準(zhǔn)串口,最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo)準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”。傳統(tǒng)的RS-232-C接口標(biāo)準(zhǔn)有22根線,采用標(biāo)準(zhǔn)25芯D型插頭座(DB25),后來使用簡化為9芯D型插座(DB9),現(xiàn)在應(yīng)用中25芯插頭座已很少采用。

RS-232采取不平衡傳輸方式,即所謂單端通訊。由于其發(fā)送電平與接收電平的差僅為2V至3V左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約15米,最高速率為20kb/s。RS-232是為點對點(即只用一對收、發(fā)設(shè)備)通訊而設(shè)計的,其驅(qū)動器負(fù)載為3~7kΩ。所以RS-232適合本地設(shè)備之間的通信。

  •     RS-422

標(biāo)準(zhǔn)全稱是“平衡電壓數(shù)字接口電路的電氣特性”,它定義了接口電路的特性。典型的RS-422是四線接口。實際上還有一根信號地線,共5根線。其DB9連接器引腳定義。由于接收器采用高輸入阻抗和發(fā)送驅(qū)動器比RS232更強(qiáng)的驅(qū)動能力,故允許在相同傳輸線上連接多個接收節(jié)點,最多可接10個節(jié)點。即一個主設(shè)備(Master),其余為從設(shè)備(Slave),從設(shè)備之間不能通信,所以RS-422支持點對多的雙向通信。接收器輸入阻抗為4k,故發(fā)端最大負(fù)載能力是10×4k+100Ω(終接電阻)。RS-422四線接口由于采用單獨的發(fā)送和接收通道,因此不必控制數(shù)據(jù)方向,各裝置之間任何必須的信號交換均可以按軟件方式(XON/XOFF握手)或硬件方式(一對單獨的雙絞線)實現(xiàn)。

RS-422的最大傳輸距離為1219米,最大傳輸速率為10Mb/s。其平衡雙絞線的長度與傳輸速率成反比,在100kb/s速率以下,才可能達(dá)到最大傳輸距離。只有在很短的距離下才能獲得最高速率傳輸。一般100米長的雙絞線上所能獲得的最大傳輸速率僅為1Mb/s。

  •     RS-485

是從RS-422基礎(chǔ)上發(fā)展而來的,所以RS-485許多電氣規(guī)定與RS-422相仿。如都采用平衡傳輸方式、都需要在傳輸線上接終接電阻等。RS-485可以采用二線與四線方式,二線制可實現(xiàn)真正的多點雙向通信,而采用四線連接時,與RS-422一樣只能實現(xiàn)點對多的通信,即只能有一個主(Master)設(shè)備,其余為從設(shè)備,但它比RS-422有改進(jìn),無論四線還是二線連接方式總線上可多接到32個設(shè)備。

RS-485與RS-422的不同還在于其共模輸出電壓是不同的,RS-485是-7V至+12V之間,而RS-422在-7V至+7V之間,RS-485接收器最小輸入阻抗為12kΩ、RS-422是4kΩ;由于RS-485滿足所有RS-422的規(guī)范,所以RS-485的驅(qū)動器可以用在RS-422網(wǎng)絡(luò)中應(yīng)用。

RS-485與RS-422一樣,其最大傳輸距離約為1219米,最大傳輸速率為10Mb/s。平衡雙絞線的長度與傳輸速率成反比,在100kb/s速率以下,才可能使用規(guī)定最長的電纜長度。只有在很短的距離下才能獲得最高速率傳輸。一般100米長雙絞線最大傳輸速率僅為1Mb/s

1.6 protel DXP2004軟件基本概念以及使用

Altium公司作為EDA領(lǐng)域里的一個領(lǐng)先公司,在原來Protel 99SE的基礎(chǔ)上,應(yīng)用最先進(jìn)的軟件設(shè)計方法,率先推出了一款基于Windows2000和Windows XP操作系統(tǒng)的EDA設(shè)計軟件Protel DXP。

Protel DXP2004是Altium公司于2004年推出的最新版本的電路設(shè)計軟件,該軟件能實現(xiàn)從概念設(shè)計,頂層設(shè)計直到輸出生產(chǎn)數(shù)據(jù)以及這之間的所有分析驗證和設(shè)計數(shù)據(jù)的管理。當(dāng)前比較流行的Protel 98、Protel 99 SE,就是它的前期版本。

Protel DXP 2004已不是單純的PCB(印制電路板)設(shè)計工具,而是由多個模塊組成的系統(tǒng)工具,分別是SCH(原理圖)設(shè)計、SCH(原理圖)仿真、PCB(印制電路板)設(shè)計、Auto Router(自動布線器)和FPGA設(shè)計等,覆蓋了以PCB為核心的整個物理設(shè)計。該軟件將項目管理方式、原理圖和PCB圖的雙向同步技術(shù)、多通道設(shè)計、拓樸自動布線以及電路仿真等技術(shù)結(jié)合在一起,為電路設(shè)計提供了強(qiáng)大的支持。如圖1-1,圖1-2所示為該軟件的工作界面及電路圖。


圖1-1 protel dxp2004 工作窗口


圖1-2 protel dxp2004 電路圖


與較早的版本——Protel99相比,Protel DXP 2004不僅在外觀上顯得更加豪華、人性化,而且極大地強(qiáng)化了電路設(shè)計的同步化,同時整合了VHDL和FPGA設(shè)計系統(tǒng),其功能大大加強(qiáng)了。

1.7 系統(tǒng)方案設(shè)計

系統(tǒng)方案設(shè)計由硬件設(shè)計方案和軟件設(shè)計方案組成,如圖1-3所示。

本系統(tǒng)的硬件包括溫度傳感器、AVR單片機(jī)以及PC機(jī)。其中AVR單片機(jī)和PC機(jī)通過串口連接。

圖1-3 系統(tǒng)設(shè)計示意圖

1.7.1 軟件設(shè)計方案

系統(tǒng)以DS18B20為傳感器用以將溫度模擬量轉(zhuǎn)化為電壓數(shù)字量以總線傳入單片機(jī),以ATmega16為主芯片,在主芯片對DS18B20傳入的溫度值進(jìn)行處理,由單片機(jī)程序控制,將經(jīng)處理后的溫度由LCD數(shù)碼管顯示出來。

本系統(tǒng)具有電路簡潔,性能可靠等特點,易于實現(xiàn)。


2 數(shù)字式溫度傳感器DS18B20軟硬件設(shè)計

根據(jù)系統(tǒng)設(shè)定環(huán)境,我選擇DS18B20作為溫度采集系統(tǒng)的數(shù)字式溫度傳感器。

DS18B20 是美國 Dallas 半導(dǎo)體公司的新一代數(shù)字式溫度傳感器,它具有獨特的單總線接口方式,即允許在一條信號線上掛接數(shù)十甚至上百個數(shù)字式傳感器,從而使測溫裝置與各傳感器的接口變得十分簡單,克服了模擬式傳感器與微機(jī)接口時需要的A/D轉(zhuǎn)換器及其它復(fù)雜外圍電路的缺點,由它組成的溫度測控系統(tǒng)非常方便,而且成本低、體積小、可靠性高等優(yōu)點。

2.1 DS18B20 數(shù)字式溫度傳感器基本特性

DS18B20數(shù)字式溫度傳感器的外部形狀、內(nèi)部芯片如圖2-1所示。它使用一根總線接口實現(xiàn)和外部微處理器的通信。溫度的測量范圍為-55~ + 125°C,測量精度為 0. 5°C。傳感器的供電寄生在通信的總線上 ,可以從一根總線通信中的高電平中取得,這樣可以不需要外部的供電電源。作為替代也可直接用供電端 (VDD)供電。當(dāng)使用總線寄生供電時 ,供電端必須接地,同時總線口在空閑的時候必須保持高電平,以便對傳感器充電。每一個 DS18B20 溫度傳感器都有一個自己特有的芯片序列號,我們可以將多個這樣的溫度傳感器掛接在一根總線上,實現(xiàn)多點溫度的檢測。


圖2-1  DS18B20外部形狀、管腳圖及接入圖

DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2-2所示。


圖2-2  DS18B20內(nèi)部結(jié)構(gòu)


DS18B20的特性:

(1)適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,寄生電源方式下可由數(shù)據(jù)線供電。

(2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。

(3)DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。

(4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。

(5)溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃。

(6)可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫。

(7)在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。

(8)測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時可傳送CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力。

(9)負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。

DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖3所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時被刷新。第5個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖3所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,DS18B20出廠時該位被設(shè)置為0,用戶要去改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。

DS18B20的測溫原理是這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入。器件中還有一個計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進(jìn)行計數(shù)進(jìn)而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1、溫度寄存器中,計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到減法計數(shù)器計數(shù)到0時,停止溫度寄存器的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測溫度值。

2.2 DS18B20測溫模塊2.2.1 DS18B20工作方式

根據(jù)DS18B20的協(xié)議規(guī)定,單片機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過以下4個步驟:

  • 每次讀寫前對DS18B20進(jìn)行復(fù)位初始化。復(fù)位要求CPU將數(shù)據(jù)線下拉480us,然后釋放,DS18B20收到信號后等待60us左右,然后發(fā)出60us~240us的低脈沖,主CPU收到此信號表示復(fù)位成功。如圖2-3所示。
  • 發(fā)送一條ROM指令。
  • 發(fā)送存儲器指令。
  • 進(jìn)行數(shù)據(jù)通信。

圖2-3 總線讀寫時序圖


2.2.2 DS18B20溫度數(shù)據(jù)

   DS18B20傳感器的內(nèi)部數(shù)據(jù)存儲器由9個字節(jié)組成。第一、二個字節(jié)是溫度數(shù)據(jù)字節(jié)(MSB、LSB),可以在系統(tǒng)配置寄存器中自行設(shè)置數(shù)據(jù)位數(shù)(9~12位),數(shù)據(jù)位越多溫度分辨率越高,9位數(shù)據(jù)溫度分辨率 為0.5°C,12位數(shù)據(jù)溫度分辨率0. 0625°C,多余的高位是溫度數(shù)據(jù)的符號擴(kuò)展位,溫度數(shù)據(jù)格式如表2-1所列。第三、四字節(jié)是溫度上下限報警值(TH、TL)。第五字節(jié)是系統(tǒng)置寄存器,寄存器各位定義如下:第八位是設(shè)置用來表示傳感器的工作狀態(tài),是測試狀態(tài)(設(shè)置為“1”)還是操作功能狀態(tài)(設(shè)置為“0”) ,出廠設(shè)置為操作功能狀態(tài),用戶不能修改;第七、六兩位是溫度轉(zhuǎn)換數(shù)據(jù)位的設(shè)置(00、01、10、11分別對應(yīng)9、10、11、12位溫度數(shù)據(jù)),出廠設(shè)置為 12 位溫度數(shù)據(jù)位,用戶可根據(jù)需要進(jìn)行修改;其余位無效。第六、七、八字節(jié)保留未用。第9個字節(jié)是CRC校驗碼,是前面8個字節(jié)的循環(huán)校驗碼,用在通信中,檢驗數(shù)據(jù)傳送的正確性。

表2-1 DS18B20溫度數(shù)據(jù)

2.2.3 DS18B20在溫度采集系統(tǒng)中的應(yīng)用

我們采用ATmega16單片機(jī)作為微處理器,DS18B20數(shù)字式溫度傳感器提供的9位溫度數(shù),指示器件的溫度信息經(jīng)過單接口由DS18B20送出,從DS18B20到單片機(jī)只需一條線,因此稱為單線。

我所設(shè)計的溫度采集系統(tǒng)主要有兩部分組成,一部分是溫度采集部分,一部分是溫度顯示部分。DS18B20數(shù)據(jù)線接AVR單片機(jī)PA7數(shù)據(jù)線和Vcc間接一4.7k上拉電阻。

其測溫程序流程如圖2-3。


圖2-3 測溫程序流程圖

3 ATmega16單片機(jī)軟硬件設(shè)計3.1 ATmega16引腳說明

根據(jù)AVR單片機(jī)特點及課題所設(shè)定環(huán)境,故選用ATmega16作為單片機(jī)。

圖3-1所示ATmega16單片機(jī)引腳圖。

圖3-1 ATmega16引腳圖

  •       VCC
    數(shù)字電路的電源端
  •       GND
    接地端
  •       端口A(PA7~PA0)
    端口A作為A/D轉(zhuǎn)換器的模擬輸入端。
    端口A8位雙向I/O口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對稱的驅(qū)動特性,可以輸出和吸收大電流。作為輸入使用時,若內(nèi)部上拉電阻使能,端口被外部電路拉低時將輸出電流。在復(fù)位過程中,即使系統(tǒng)時鐘還未起振,端口 A 處于高阻狀態(tài)。
  •       端口B(PB7~PB0)
    端口 B 8 位雙向 I/O 口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對稱的驅(qū)動特性,可以輸出和吸收大電流。作為輸入使用時,若內(nèi)部上拉電阻使能,端口被外部電路拉低時將輸出電流。在復(fù)位過程中,即使系統(tǒng)時鐘還未起振,端口 B 處于高阻狀態(tài)。
  •       端口C(PC7~PC0)
    端口 C 8 位雙向 I/O 口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對稱的驅(qū)動特性,可以輸出和吸收大電流。作為輸入使用時,若內(nèi)部上拉電阻使能,端口被外部電路拉低時將輸出電流。在復(fù)位過程中,即使系統(tǒng)時鐘還未起振,端口 C 處于高阻狀態(tài)。如果JTAG 接口使能, 即使復(fù)位出現(xiàn)引腳 PC5(TDI)PC3(TMS) PC2(TCK) 的上拉電阻被激活。
  •       端口D(PD7~PD0)
    端口 D 8 位雙向 I/O 口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對稱的驅(qū)動特性,可以輸出和吸收大電流。作為輸入使用時,若內(nèi)部上拉電阻使能,則端口被外部電路拉低時將輸出電流。在復(fù)位過程中,即使系統(tǒng)時鐘還未起振,端口 D 處于高阻狀態(tài)。
  •       RESET
    復(fù)位輸入引腳。持續(xù)時間超過最小門限時間的低電平將引起系統(tǒng)復(fù)位。
  •       XTAL1
    反向振蕩放大器與片內(nèi)時鐘操作電路的輸入端。
  •       XTAL2
    反向振蕩放大器的輸出端。
  • AVCC
    AVCC是端口AA/D轉(zhuǎn)換器的電源。不使用ADC時,該引腳應(yīng)直接與VCC 連接。使用ADC時應(yīng)通過一個低通濾波器與 VCC 連接。
  • AREF
    A/D 的模擬基準(zhǔn)輸入引腳。
3.2系統(tǒng)硬件設(shè)計

針對這次的課題設(shè)計內(nèi)容,我所設(shè)計的基本ATmega16硬件線路,包括以下幾部分:

1。復(fù)位線路

2。晶振線路

3。AD轉(zhuǎn)換濾波線路

4。ISP下載接口

5。JTAG仿真接口

6。電源

3.2.1 復(fù)位線路的設(shè)計

圖3-2 復(fù)位線路設(shè)計圖

ATmega16已經(jīng)內(nèi)置了上電復(fù)位設(shè)計。并且在熔絲位里,可以控制復(fù)位時的額外時間,故AVR外部的復(fù)位線路在上電時,可以設(shè)計得很簡單:直接拉一只10K的電阻到VCC即可(R0),如圖3-2所示。

為了可靠,再加上一只0.1uF的電容(C0)以消除干擾、雜波。

D3(1N4148)的作用有兩個:作用一是將復(fù)位輸入的最高電壓鉗在Vcc+0.5V 左右,另一作用是系統(tǒng)斷電時,將R0(10K)電阻短路,讓C0快速放電,讓下一次來電時,能產(chǎn)生有效的復(fù)位。

當(dāng)AVR在工作時,按下S0開關(guān)時,復(fù)位腳變成低電平,觸發(fā)AVR芯片復(fù)位。

重要說明:實際應(yīng)用時,如果不需要復(fù)位按鈕,復(fù)位腳可以不接任何的零件,AVR芯片也能穩(wěn)定工作。即這部分不需要任何的外圍零件。

3.2.2 晶振電路的設(shè)計

圖3-3 晶振電路設(shè)計圖

ATmega16已經(jīng)內(nèi)置RC振蕩線路,可以產(chǎn)生1M、2M、4M、8M的振蕩頻率。不過,內(nèi)置的畢竟是RC振蕩,在一些要求較高的場合,比如要與RS232通信需要比較精確的波特率時,建議使用外部的晶振線路,如圖3-3所示。

早期的90S系列,晶振兩端均需要接22pF左右的電容。ATmega系列實際使用時,這兩只小電容不接也能正常工作。不過為了線路的規(guī)范化,仍建議接上。

重要說明:實際應(yīng)用時,如果不需要太高精度的頻率,可以使用內(nèi)部RC振蕩。即這部分不需要任何的外圍零件。

3.2.3 AD轉(zhuǎn)換濾波線路的設(shè)計

為減小AD轉(zhuǎn)換的電源干擾,ATmega16芯片有獨立的AD電源供電。官方文檔推薦在VCC串上一只10uH的電感(L1),然后接一只0.1uF的電容到地(C3),如圖3-4所示。ATmega16內(nèi)帶2.56V標(biāo)準(zhǔn)參考電壓。也可以從外面輸入?yún)⒖茧妷海热缭谕饷媸褂肨L431基準(zhǔn)電壓源。不過一般的應(yīng)用使用內(nèi)部自帶的參考電壓已經(jīng)足夠。習(xí)慣上在AREF腳接一只0.1uF的電容到地(C4)。

重要說明:實際應(yīng)用時,如果想簡化線路,可以將AVCC直接接到VCC,AREF懸空。即這部分不需要任何的外圍零件。

圖3-4 AD轉(zhuǎn)換濾波線路設(shè)計圖

3.2.4 ISP下載接口設(shè)計

圖3-5 ISP下載接口設(shè)計圖

ISP下載接口,不需要任何的外圍零件。使用雙排2*5插座。由于沒有外圍零件,故PB5(MOSI)、PB6(MISO)、PB7(SCK)、復(fù)位腳仍可以正常使用,不受ISP的干擾,如圖3-5所示。

重要說明:實際應(yīng)用時,如果想簡化零件,可以不焊接2*5座。但在PCB設(shè)計時最好保留這個空位,以便以后升級AVR內(nèi)的軟件。
3.2.5 JTAG仿真接口設(shè)計

圖3-6 JTAG仿真接口設(shè)計圖

仿真接口也是使用雙排2*5插座。需要四只10K的上拉電阻。

重要說明:實際應(yīng)用時,如果不想使用JTAG仿真,并且不想受四只10K的上拉電阻的影響,可以將JP1-JP4斷開,如圖3-6所示。

3.2.6 電源設(shè)計

圖3-7 電源設(shè)計圖

AVR單片機(jī)最常用的是5V與3.3V兩種電壓。本線路以開關(guān)切換兩種電壓,并且以雙色二極管指示(5V時為綠燈,3.3V時為紅燈),如圖3-7所示。

二極管D1防止用戶插錯電源極性。D2可以允許用戶將電壓倒灌入此電路內(nèi),不會損壞1117-ADJ。

1117-ADJ的特性為1腳會有50uA的電流輸出,1-2腳會有1.25V電壓。利用這個特點,可以計算出輸出電壓:

當(dāng)SW開關(guān)打向左邊時,R6上的電流為 1.25/0.33 = 3.78ma 。R8上的電流為1117-ADJ 1腳電流加上R6上的電流,即0.05+3.78=3.83ma. 可以計算得R8上的電壓為3.84V。 于是得出VCC=1.25+3.83=5.08V。誤差在2%以內(nèi)。

當(dāng)SW開關(guān)打向右邊時,R6上的電流為 1.25/0.62 = 2.02ma 。R8上的電流為1117-ADJ 1腳電流加上R6上的電流,即0.05+2.02=2.07ma. 可以計算得R8上的電壓為2.07V。 于是得出VCC=1.25+2.07=3.32V。誤差在1%以內(nèi)。

使用1%精度的電阻,可以控制整個輸出電壓誤差在3%以內(nèi)。

重要說明:實際應(yīng)用時,根據(jù)使用1117-ADJ的品牌,輸入電壓可以低至7伏甚至更低。(也可以同時使用低壓降的二極管代替1N4007)。

3.2.7總設(shè)計圖

圖3-8 ATmega16硬件總設(shè)計圖

今將此設(shè)計圖,如圖3-8所示,制作成了以下的ATmega16功能小板。

正面圖:晶振可以使用螺絲固定的方法更換,方便做實驗,并達(dá)到一定的可靠性。VCC,GND均有一測試針,如圖3-9所示。

圖3-9 ATmega16功能板正面圖

底部圖:為了方便實驗,將這塊小板的輸出腳,按直插ATmega16的管腳排列定義。為防止不小心掉到地上導(dǎo)致插針折斷,加裝了一只40腳的圓孔IC座做保護(hù)。如果不小心折斷,可以方便地更換圓孔IC座,如圖3-10所示。

圖3-10 ATmega16功能板背面圖

3.3 軟件系統(tǒng)設(shè)計

ATmega16單片機(jī)軟件設(shè)計分為兩部分,第一部分為與數(shù)字溫度傳感器的軟件設(shè)計部分,第二部分為與串口相連的軟件設(shè)計。

3.3.1 溫度采集軟件設(shè)計

溫度采集軟件系統(tǒng)包括初始化程序、讀出溫度子程序、讀寫時序子程序組成。

1.初始化程序

系統(tǒng)啟動前,需要進(jìn)行初始化,其初始化流程圖如圖3-11所示。










圖3-11 初始化程序流程圖

2.讀出溫度子程序

讀出溫度子程序的主要功能是讀出RAM中的2字節(jié),讀出溫度的低八位和高八位,在讀出時需進(jìn)行CRC校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖3-12示


圖3-12 讀溫度程序流程圖

3.讀寫時序子程序

系統(tǒng)的讀寫時序的子程序如圖3-13、圖3-14、圖3-15所示。

圖3-13 讀時序圖(寫1、0時序、讀0、1時序)



圖3-14 寫時序子程序流程圖       圖3-15 讀時序子程序流程圖

3.3.2 串口軟件設(shè)計
  • USART I/O 數(shù)據(jù)寄存器- UDR

圖3-16 UDR地址圖

USART 發(fā)送數(shù)據(jù)緩沖寄存器和USART 接收數(shù)據(jù)緩沖寄存器共享相同的I/O 地址,稱為USART 數(shù)據(jù)寄存器或UDR(如圖3-16)。將數(shù)據(jù)寫入UDR 時實際操作的是發(fā)送數(shù)據(jù)緩沖器存器(TXB),讀UDR 時實際返回的是接收數(shù)據(jù)緩沖寄存器(RXB) 的內(nèi)容。在5、6、7 比特字長模式下,未使用的高位被發(fā)送器忽略,而接收器則將它們設(shè)置為0。只有當(dāng)UCSRA寄存器的UDRE標(biāo)志置位后才可以對發(fā)送緩沖器進(jìn)行寫操作。如果UDRE沒有置位,那么寫入UDR 的數(shù)據(jù)會被USART 發(fā)送器忽略。當(dāng)數(shù)據(jù)寫入發(fā)送緩沖器后,若移位寄存器為空,發(fā)送器將把數(shù)據(jù)加載到發(fā)送移位寄存器。然后數(shù)據(jù)串行地從TxD 引腳輸出。接收緩沖器包括一個兩級FIFO,一旦接收緩沖器被尋址FIFO 就會改變它的狀態(tài)。因此不要對這一存儲單元使用讀- 修改- 寫指令(SBI 和CBI)。使用位查詢指令(SBIC 和SBIS)時也要小心,因為這也有可能改變FIFO 的狀態(tài)。

  • USART 控制和狀態(tài)寄存器A UCSRA

圖3-17 UCSRA地址圖

UCSRA地址如圖3-17所示。各地址意義如下:

? Bit 7 – RXC: USART 接收結(jié)束

接收緩沖器中有未讀出的數(shù)據(jù)時RXC 置位,否則清零。接收器禁止時,接收緩沖器被刷新,導(dǎo)致RXC 清零。RXC 標(biāo)志可用來產(chǎn)生接收結(jié)束中斷。

? Bit 6 – TXC: USART 發(fā)送結(jié)束

發(fā)送移位緩沖器中的數(shù)據(jù)被送出,且當(dāng)發(fā)送緩沖器 (UDR) 為空時TXC 置位。執(zhí)行發(fā)送結(jié)束中斷時TXC 標(biāo)志自動清零,也可以通過寫1 進(jìn)行清除操作。TXC 標(biāo)志可用來產(chǎn)生發(fā)送結(jié)束中斷( 見對TXCIE 位的描述)。

? Bit 5 – UDRE: USART 數(shù)據(jù)寄存器空

UDRE標(biāo)志指出發(fā)送緩沖器(UDR)是否準(zhǔn)備好接收新數(shù)據(jù)。UDRE為1說明緩沖器為空,已準(zhǔn)備好進(jìn)行數(shù)據(jù)接收。UDRE標(biāo)志可用來產(chǎn)生數(shù)據(jù)寄存器空中斷(見對UDRIE位的描述)。復(fù)位后UDRE 置位,表明發(fā)送器已經(jīng)就緒。

? Bit 4 – FE: 幀錯誤

如果接收緩沖器接收到的下一個字符有幀錯誤,即接收緩沖器中的下一個字符的第一個停止位為0,那么FE 置位。這一位一直有效直到接收緩沖器(UDR) 被讀取。當(dāng)接收到的停止位為1 時, FE 標(biāo)志為0。對UCSRA 進(jìn)行寫入時,這一位要寫0。

? Bit 3 – DOR: 數(shù)據(jù)溢出

數(shù)據(jù)溢出時DOR 置位。當(dāng)接收緩沖器滿( 包含了兩個數(shù)據(jù)),接收移位寄存器又有數(shù)據(jù),若此時檢測到一個新的起始位,數(shù)據(jù)溢出就產(chǎn)生了。這一位一直有效直到接收緩沖器(UDR) 被讀取。對UCSRA 進(jìn)行寫入時,這一位要寫0。

? Bit 2 – PE: 奇偶校驗錯誤

當(dāng)奇偶校驗使能(UPM1 = 1),且接收緩沖器中所接收到的下一個字符有奇偶校驗錯誤時UPE 置位。這一位一直有效直到接收緩沖器 (UDR) 被讀取。對UCSRA 進(jìn)行寫入時,這一位要寫0。

? Bit 1 – U2X: 倍速發(fā)送

這一位僅對異步操作有影響。使用同步操作時將此位清零。此位置1 可將波特率分頻因子從16 降到8,從而有效的將異步通信模式的傳輸速率加倍。

? Bit 0 – MPCM: 多處理器通信模式

設(shè)置此位將啟動多處理器通信模式。MPCM 置位后, USART 接收器接收到的那些不包含地址信息的輸入幀都將被忽略。發(fā)送器不受MPCM設(shè)置的影響。詳細(xì)信息請參考 P150“多處理器通訊模式” 。

  • USART 控制和狀態(tài)寄存器B UCSRB

圖3-18 UCSRB地址圖

UCSRB地址如圖3-18所示。各地址意義如下:

? Bit 7 – RXCIE: 接收結(jié)束中斷使能

置位后使能RXC 中斷。當(dāng)RXCIE 為1,全局中斷標(biāo)志位SREG 置位, UCSRA 寄存器的RXC 亦為1 時可以產(chǎn)生USART 接收結(jié)束中斷。

? Bit 6 – TXCIE: 發(fā)送結(jié)束中斷使能

置位后使能TXC 中斷。當(dāng)TXCIE 為1,全局中斷標(biāo)志位SREG 置位,UCSRA 寄存器的TXC 亦為1 時可以產(chǎn)生USART 發(fā)送結(jié)束中斷。

? Bit 5 – UDRIE: USART 數(shù)據(jù)寄存器空中斷使能

置位后使能UDRE 中斷。當(dāng)UDRIE 為1,全局中斷標(biāo)志位SREG 置位,UCSRA 寄存器的UDRE 亦為1 時可以產(chǎn)生USART 數(shù)據(jù)寄存器空中斷。

? Bit 4 – RXEN: 接收使能

置位后將啟動USART 接收器。RxD 引腳的通用端口功能被USART 功能所取代。禁止接收器將刷新接收緩沖器,并使 FE、DOR 及PE 標(biāo)志無效。

? Bit 3 – TXEN: 發(fā)送使能

置位后將啟動將啟動USART 發(fā)送器。TxD 引腳的通用端口功能被USART 功能所取代。TXEN 清零后,只有等到所有的數(shù)據(jù)發(fā)送完成后發(fā)送器才能夠真正禁止,即發(fā)送移位寄存器與發(fā)送緩沖寄存器中沒有要傳送的數(shù)據(jù)。發(fā)送器禁止后,TxD引腳恢復(fù)其通用I/O功能。

? Bit 2 – UCSZ2: 字符長度

UCSZ2與UCSRC寄存器的UCSZ1:0結(jié)合在一起可以設(shè)置數(shù)據(jù)幀所包含的數(shù)據(jù)位數(shù)(字符長度)。

? Bit 1 – RXB8: 接收數(shù)據(jù)位 8

對9 位串行幀進(jìn)行操作時,RXB8 是第9 個數(shù)據(jù)位。讀取UDR 包含的低位數(shù)據(jù)之前首先要讀取RXB8。

? Bit 0 – TXB8: 發(fā)送數(shù)據(jù)位8

對9 位串行幀進(jìn)行操作時,TXB8 是第9 個數(shù)據(jù)位。寫UDR 之前首先要對它進(jìn)行寫操作。

  • USART 波特率寄存器- UBRRLUBRRH

UCSRC寄存器與UBRRH寄存器共用相同的I/O地址。

? Bit 15 – URSEL: 寄存器選擇

通過該位選擇訪問UCSRC 寄存器或UBRRH 寄存器。當(dāng)讀UBRRH 時,該位為0 ;當(dāng)寫UBRRH 時, URSEL 為0。

? Bit 14:12 – 保留位

這些位是為以后的使用而保留的。為了與以后的器件兼容,寫UBRRH 時將這些位清零。

? Bit 11:0 – UBRR11:0: USART 波特率寄存器

這個12 位的寄存器包含了USART 的波特率信息。其中UBRRH 包含了USART 波特率高4 位,UBRRL 包含了低8 位。波特率的改變將造成正在進(jìn)行的數(shù)據(jù)傳輸受到破壞。寫UBRRL 將立即更新波特率分頻器。

3.3.3 程序

由于程序內(nèi)容眾多,故指選取主要部分。

⑴初始化程序(部分):

  1. Void port _init(void)
  2. {
  3. PORTA = 0xFF;
  4. DDRA = 0xFF;
  5. PORTB = 0xFF;
  6. DDRB = 0x00;
  7. PORTC = 0xFF;
  8. DDRC = 0x00;
  9. PORTD = 0xFF;
  10. DDRD = 0xFF;
  11. }
  12. Void init devices(void)
  13. {
  14. CLI();
  15. port_init();
  16. LCDInit();
  17. UART_init();
  18. }

  19. ⑵溫度傳感器通信程序(部分):
  20. unsigned char ds1820_ack(void)
  21. {
  22. unsigned char ack;
  23. PORT |= portnum;
  24. PORT & = ~portnum;
  25. delay_us(500);
  26. PORT |= portnum;
  27. DDR &= ~portnum;
  28. delay_us(45);
  29. ack = portnum & ds18b20PortPIN;
  30. DDR|=portnum;
  31. PORT|=portnum;
  32. delay_us(500);
  33. }
  34. /*=====================================================
  35. //函數(shù)功能:讀取溫度
  36. =====================================================*/
  37. Read_Temperature(void)
  38. {
  39. unsigned char i;
  40. unsigned char a=0;
  41. unsigned char b=0;
  42. unsigned int t=0;
  43. float tt=0;
  44. ds1820_ack();
  45. write_byte(0xCC);
  46. write_byte(0x44);
  47. for(i = 0; i < 20; i++)
  48. delay_us(50);
  49. ds1820_ack();
  50. write_byte(0xCC);
  51. write_byte(0xBE);
  52. a =read_byte();
  53. b =read_byte();
  54. t=b;
  55. t<<=8;
  56. t=t|a;
  57. tt=t*0.0625;
  58. return (tt);
  59. }
  60. ⑶主程序:
  61. #define T_MIN -55 //溫度最小值
  62. #define T_MAX 125 //溫度最大值
  63. int T_min=10,T_max=50,T_pre,key_value;//溫度設(shè)置最小,最大值;當(dāng)前值,鍵值
  64. unsigned char String[16]; //顯示緩沖區(qū)
  65. void show_delay(unsigned int dly)
  66. void main()
  67. {
  68. float Temp=0;
  69. unsigned int i=0,j=0;
  70. init_devices();
  71. while(1)
  72. {
  73. key_value=getkey();
  74. Temp=Read_Temperature();
  75. T_pre=Temp;
  76. sprintf(String,"%d,%d,%d,.",T_pre,T_min,T_max);
  77. puts(String);
  78. //DisplayString(0,0,String);
  79. if(key_value==0)
  80. {
  81. for(i=0;i<20000;i++)
  82. }
  83. }
  84. else if(key_value==4)
  85. {
  86. LCDInit();
  87. sprintf(String,"Pre=%d",T_pre);
  88. DisplayString(0,0,String);
  89. sprintf(String,"Min=%d Max=%d",T_min,T_max);
  90. DisplayString(0,1,String);
  91. show_delay(15);
  92. }
  93. else if(key_value==5)
  94. {
  95. if(T_min>T_MIN)
  96. LCDInit();
  97. sprintf(String,"Pre=%d",T_pre);
  98. DisplayString(0,0,String);
  99. sprintf(String,"Min=%d Max=%d",T_min,T_max);
  100. DisplayString(0,1,String);
  101. show_delay(15);
  102. }
  103. LCDInit();
  104. sprintf(String,"Pre=%d",T_pre);
  105. DisplayString(0,0,String);
  106. sprintf(String,"Min=%d Max=%d",T_min,T_max);
  107. DisplayString(0,1,String);
  108. show_delay(15);
  109. }
  110. }
  111. }
復(fù)制代碼



4.串口 RS232軟硬件設(shè)計4.1 USART

ATmega16 單片機(jī)帶有一個全雙工的通用同步/異步串行收發(fā)模塊USART,該接口是一個高度靈活的串行通訊設(shè)備。其主要特點如下:

  •          全雙工操作,可同時進(jìn)行收發(fā)操作;
  •          支持同步或異步操作;
  •          支持56789位數(shù)據(jù)位,1位或者2位停止位的串行數(shù)據(jù)幀結(jié)構(gòu);
  •          三個完全獨立的中斷,TX發(fā)送完成,TX發(fā)送數(shù)據(jù)寄存器空,RX 接收完成;
  •          支持多機(jī)通訊模式;

相關(guān)寄存器:









      • USART 數(shù)據(jù)寄存器—UDR
      • USART 控制和狀態(tài)寄存器—UCSRAUCSRBUCSRC
      • 波特率寄存器—UBRRL UBRRH
4.2 串口的組成

串口由陰陽兩種接口組成。最常使用的信號引腳是TD、RD 和SG,因此最簡單的串口調(diào)試只需要包含3條引線就可以了。在RS232標(biāo)準(zhǔn)中,利用RD、TD作為接收、發(fā)送信號線,加入地線,約定好通訊的波特率,實現(xiàn)串行信號傳輸。

RS-232作為個人計算機(jī)上的通訊接口之一,由電子工業(yè)協(xié)會(Electronic Industries Association,EIA)所制定的異步傳輸標(biāo)準(zhǔn)接口。通常 RS-232 接口以9個引腳 (DB-9) 或是25個引腳 (DB-25) 的型態(tài)出現(xiàn),一般個人計算機(jī)上會有兩組RS-232接口,分別稱為COM1和COM2。

RS-232標(biāo)準(zhǔn)最初是為遠(yuǎn)程通信連接數(shù)據(jù)終端設(shè)備DTE(Data Terminal Equipment)與數(shù)據(jù)通信設(shè)備DCE(Data Communication Equipment)而制定的。典型的RS-232信號在正負(fù)電平之間擺動,在發(fā)送數(shù)據(jù)時,發(fā)送端驅(qū)動器輸出正電平在+5~+15V,負(fù)電平在-5~-15V之間。當(dāng)無數(shù)據(jù)傳輸時,線上為TTL,從開始傳送數(shù)據(jù)到結(jié)束,線上電平從TTL電平到RS-232電平再返回TTL電平。接收器典型的工作電平在+3~+12V與-3~-12V之間。RS-232是為點對點通訊而設(shè)計的,其驅(qū)動器負(fù)載為3~7kΩ。所以RS-232適合本地設(shè)備之間的通信。

4.3 串口電平轉(zhuǎn)換電路MAX232

PC 的串口工作TTL 信號是12V 的,而在我們一般使用的電路板上,電源信號電平是5V 的(在低功耗電路中是3.3V 的),為了將信號轉(zhuǎn)化為可用,需要做串口的電平轉(zhuǎn)換。這一部分電路已經(jīng)有相應(yīng)的生產(chǎn)廠商做出了各種集成芯片,例如MAXIM 公司的MAX232 芯片,如圖4-1所示。就是實現(xiàn)5V 電路中和PC 實現(xiàn)串口通信的電平轉(zhuǎn)換芯片,而MAX323可以實現(xiàn)3.3V 的電平轉(zhuǎn)換。

圖4-1 MAX232電路圖

常用的RS-232C接口有DB-25和DB-9兩種類型,其引腳的定義也各不相同。PC采用的是DB-9型連接器,只提供異步通信的9個信號。DB-9型連接器的引腳分配如表 4?1和圖4-2所示。

表 4?1 DB9的常用信號腳說明

9針串口(DB9)

針號

功能說明

縮寫

1

數(shù)據(jù)載波檢測

DCD

2

接收數(shù)據(jù)

RXD

3

發(fā)送數(shù)據(jù)

TXD

4

數(shù)據(jù)終端準(zhǔn)備

DTR

5

信號地

GND

6

數(shù)據(jù)設(shè)備準(zhǔn)備好

DSR

7

請求發(fā)送

RTS

8

清除發(fā)送

CTS

9

振鈴指示

DELL


最為常用的是三線制接法,即地、接收數(shù)據(jù)和發(fā)送數(shù)據(jù)三腳連接。本文中的串口的電路如圖 4?3所示。

圖 4?2 DB9的引腳定義圖       圖 4?3 串口的連接電路

5 研究總結(jié)

本論文描述了基于單片機(jī)的溫度采集系統(tǒng)設(shè)計,描述了采集信號到單片機(jī)處理最終到微機(jī)接收數(shù)據(jù)的實現(xiàn)過程,著力研究了實現(xiàn)的方法及其電路,并設(shè)計了過程的硬件電路。

(1)介紹了課題中數(shù)字式溫度傳感器和單片機(jī)的研究背景及其歷史發(fā)展,以及其基本構(gòu)造和原理。

(2)電路的結(jié)構(gòu)由數(shù)字式溫度傳感器、單片機(jī)等組成,有效的將它們結(jié)合是此次設(shè)計的難處及重點。

(3)在系統(tǒng)中,微機(jī)的接收程序主要是串口通信的設(shè)計。

本課題的研究中,我查閱了各種資料,在導(dǎo)師的幫助下,努力提高了數(shù)據(jù)采集的精度。但由于時間及本人能力經(jīng)驗所限,本課題的研究存在不足之處在所難免,在今后的工作中需進(jìn)一步改進(jìn)和完善。而且在以后的工作中我將會對單片機(jī)和輸入輸出接口進(jìn)行更近一步的研究,從而完善這個設(shè)計方案。

畢業(yè)設(shè)計終于完成了,雖然說,過程比較累,但我發(fā)現(xiàn)它對自己還是很有幫助的,比如說人比較懶,不愿意動,平時知識也不扎實,但在設(shè)計過程中碰到自己不懂的問題卻只有耐心下來,查書或在網(wǎng)上弄清楚答案。

通過這次畢業(yè)設(shè)計使我明白了自己原來知識還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺得自己什么東西都會,什么東西都懂,有點眼高手低。通過這次畢業(yè)設(shè)計,我才明白學(xué)習(xí)是一個長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識和綜合素質(zhì)。

總之,不管學(xué)會的還是學(xué)不會的的確覺得困難比較多,真是萬事開頭難,不知道如何入手。最后終于做完了有種如釋重負(fù)的感覺。此外,還得出一個結(jié)論:知識必須通過應(yīng)用才能實現(xiàn)其價值!有些東西以為學(xué)會了,但真正到用的時候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會用的時候才是真的學(xué)會了。


譯文

基于ARM單片機(jī)關(guān)于圖像采集在現(xiàn)場可編程門陣列的設(shè)計



這篇論文全面的展示了ARM7單片機(jī)在自行開發(fā)的現(xiàn)場可編程門陣列工作板上是如何設(shè)計重復(fù)添加組態(tài)指令和系統(tǒng)驗證的,當(dāng)時這ARM7與互補(bǔ)金屬氧化物半導(dǎo)體連接進(jìn)行圖像采集和圖像處理單元(IPU)實施在其他現(xiàn)場可編程門陣列工作板上,現(xiàn)在ARM7在這成為一個圖像處理單元的單片機(jī),圖像處理單元集合了圖像采集、卷積和排序在現(xiàn)場可編程門陣列上執(zhí)行3階流水線操作能加快系統(tǒng)運行,卷積和排序有助于進(jìn)一步過濾掉固定圖像噪聲和暗電流噪聲在互補(bǔ)金屬氧化物半導(dǎo)體圖像傳感器,并導(dǎo)致更好的圖像質(zhì)量,有ARM7單片機(jī)的現(xiàn)場可編程門陣列板和圖像處理單元可以用于教學(xué)中央處理器設(shè)計、控制器設(shè)計及系統(tǒng)單晶片設(shè)計,自從所有的電路在一個單一的現(xiàn)場可編程門整列芯片


1、原理簡介

這篇論文顯示了一個ARM7[1,2,3,4]的中央處理器在現(xiàn)場可編程門陣列工作板上是如何被設(shè)計成可添加重復(fù)組態(tài)指令和被測試的,然后ARM7單片機(jī)與互補(bǔ)金屬氧化物半導(dǎo)體鏈接在其他現(xiàn)場可編程門陣列工作板上進(jìn)行圖像采集和設(shè)備實施過程,現(xiàn)在ARM7已經(jīng)成為一個有圖像采集和運行單元的單片機(jī),有時候我們形象稱其為高速運轉(zhuǎn)的加速器。ARM7可以包含超過5個的指令組,即進(jìn)行數(shù)據(jù)處理、數(shù)據(jù)分支、數(shù)據(jù)轉(zhuǎn)移和協(xié)作處理器,前三個指令組的設(shè)計和驗證系統(tǒng)是用來描述在2-4部分,現(xiàn)場可編程門陣列圖像加速器包含的圖像采集算法通常是在8051系列CPU中完成,部分5描述系統(tǒng)單晶體建設(shè)和驗證導(dǎo)致ARM7作為一個圖像加速的界面控制器,最后的結(jié)論將被描述在部分6。

人們通常熟悉運用的中央處理器,像8051.80*86、ARM、MIPS系列等,但是很少人想到去描述他們,部分2和3描述成重復(fù)添加更多的組態(tài)指令包含在ARM7的中央處理器中的方式。

自從中央處理器電路可以被添加,他也可以拿走一些無用的組態(tài)來縮小現(xiàn)場可編程門陣列的設(shè)計。所以構(gòu)建特制的ARM單片機(jī)在現(xiàn)場可編程門陣列的中央處理器里為了某項具體的應(yīng)用是完全可能的。


2ARM7系統(tǒng)配置

圖1顯示在ARM7系統(tǒng)包括一個寄存器(REG)含有16-32位寄存器、內(nèi)存(MEM)、數(shù)據(jù)處理單元(DTU)、控制單元(CON)為組織和系統(tǒng)的操作序列。圖1同樣也顯示數(shù)據(jù)通道這四個單位之間的執(zhí)行指令28個中央處理器,不包括4位設(shè)計條件碼條件。如果條件極值是二進(jìn)制的指令數(shù)就可能包括4*28=112。為了簡單比較詳細(xì)的中央處理器就沒有顯示,這是一個普通的組合電路組成的一個算術(shù)與邏輯控制單元包含一個移位器和一個累加器。

圖1:ARM7系統(tǒng)配置的28個中央處理器指令


3、補(bǔ)充分支和數(shù)據(jù)轉(zhuǎn)移指令和控制單元

3.1、分支和數(shù)據(jù)傳輸電路

圖2顯示原理框圖中數(shù)據(jù)通道和控制數(shù)據(jù)為增加分支和數(shù)據(jù)轉(zhuǎn)移指令組,圖2和圖1相比,不斷提升的復(fù)雜性可以發(fā)現(xiàn)數(shù)據(jù)通道結(jié)構(gòu)、多路輸入中央處理器的間接尋址和控制單元(CON)。圖2中4比特的總線rd2和m2是輸出兩個乘法器用來連接rd和rn的尋址寄存器,輸入的兩個多路轉(zhuǎn)換器為了簡單沒有顯示。

分支指令用于改變程序的執(zhí)行序列,通常是通過改變程序計數(shù)器的值來完成的,數(shù)據(jù)傳送指令涉及到單個和多個之間的數(shù)據(jù)傳輸和存儲為寄存器如圖2所示。這個圖2中灰點的DO總線從存儲器到寄存器的D端口和其他點的R總線從寄存器塊到分配信息的D端口是為了數(shù)據(jù)傳輸?shù)哪康亩惶砑拥摹?/p>

圖2:ARM7框圖包含分支、數(shù)據(jù)轉(zhuǎn)移和中央處理器指令


3.2、控制單元

當(dāng)更多的指令被添加進(jìn)系統(tǒng),控制單元就變得越來越龐大和復(fù)雜,在圖2右下角落的控制單元有比圖1更多的輸入和輸出端,控制單元實際上是一種有限狀態(tài)機(jī),實現(xiàn)形式顯示在圖3的狀態(tài)圖中,大部分在ARM7中的指令在執(zhí)行過程中只有三個狀態(tài),也就是取碼F、解碼D和執(zhí)行E,長乘法(64位的產(chǎn)品)和分支連接(bl)指令都各自的需要額外的E1和E2狀態(tài)。數(shù)據(jù)傳輸包括加載和儲存體系結(jié)構(gòu)(ls)、多加載和儲存體系結(jié)構(gòu)(mls)都需要額外的狀態(tài)F1和F2,所以控制單元的輸入塊是解碼指令信號:l、bl、ls、mls,如上所述,ct代表多個過戶計數(shù),輸出塊的狀態(tài)是F、F1、F2、D、E、E1和E2如圖3放大圖便于閱讀。

圖3:控制單元圖和從圖2框圖擴(kuò)大的控制單元模塊


4、工作板展示平臺

圖4顯示了自主開發(fā)的現(xiàn)場可編程門陣列工作板提供了80萬門數(shù)賽靈思公司現(xiàn)場可編程門陣列芯片(xcv800)在中心中,ARM7中每36個指示就被驗證了在工作,幾個程序如分類揀選、算術(shù)運算和計數(shù)器被鍵入進(jìn)行驗證,圖5顯示了工作板在運行一個通過鍵盤輸入的24小時時間程序在右下角落和全部24小時時鐘電路通過并行接口都裝進(jìn)現(xiàn)場可編程門陣列芯片,這7段顯示的030903是單幀采集在3小時9分鐘3秒時這個24小時時鐘程序開始運行。

圖4:自制工作平臺                圖5:自制工作平臺單幀采集03:09:03在程序運行中


第二部分到第四部分簡要介紹了通過增加組態(tài)指令的設(shè)計方法和驗證我們的ARM7處理器,到目前為止,這個方法很管用,可以繼續(xù)添加越來越多的指令組。但是在接下來的段落里,重點是在ARM7處理器接口的應(yīng)用在圖像采集和處理單元(IPU)[5],執(zhí)行于300K計數(shù)的現(xiàn)場可編程門陣列芯片(xc2s300e)。


5、基于ARM7單片機(jī)或作為SoC設(shè)計

圖像處理單元(IPU)包括圖像采集、二維卷積和二維排序,影像采集是一個自行開發(fā)的基于現(xiàn)場可編程門陣列的8051軟件程序,二維卷積和二維排序是基于現(xiàn)場可編程門陣列版本的圖像處理算法,分別從Crookes到Maheshwari。

圖6:a.ARM7和IPU在不同的現(xiàn)場可編程門陣列工作板上。

     b.ARM7和IPU合并在一個單一的現(xiàn)場可編程門陣列芯片。


圖7:莉娜的照片通過這個實驗


采集、卷積和排序是通常做成系列形式,現(xiàn)在將他們整合在一個單一的現(xiàn)場可編程門陣列芯片中。圖像處理單元現(xiàn)在能夠被連接到自行開發(fā)的ARM7單片機(jī)中,顯示如圖6a。圖7顯示實驗結(jié)果利用莉娜的照片作為原始圖像,在使用圖6a中ARM7單片機(jī)執(zhí)行600k計數(shù)用一個總數(shù)是800K的計數(shù)現(xiàn)場可編程門陣列-2芯片,IPU使用一個300K計數(shù)的現(xiàn)場可編程門陣列-1芯片來執(zhí)行70K計數(shù)。可以合并這兩個正在執(zhí)行的現(xiàn)場可編程門陣列芯片在同一個IPU800K芯片,如圖6A所示。這種設(shè)計模式將成為一種片上系統(tǒng)設(shè)計的現(xiàn)場可編程門陣列的版本。


6、結(jié)束語

因為現(xiàn)場可編程門陣列是可以重新構(gòu)造里面的結(jié)構(gòu)單片機(jī)是為了給中央處理器可以量身定做,以滿足適合特定的用途,假如,假定一個800k現(xiàn)場可編程門陣列芯片電路完全被ARM7包括以致沒有足夠空間,則可以向另一個70k技術(shù)的加速器移動。因為所有計算在圖像處理完成圖像加速器電路,然后它可以是取出閑置的32*32乘數(shù)(占空間可以達(dá)到150k左右的計數(shù))同時保證空間可以得到70k計數(shù)圖像加速器能被包括在里面。

嵌入式ARM7與許多設(shè)備控制器在現(xiàn)場可編程門陣列芯片上,顯示如圖6B的虛線區(qū)域內(nèi)就是演示了一種片上系統(tǒng)的系統(tǒng)建筑設(shè)計,它可能會逐漸成為一種平臺能夠增加中央處理器設(shè)計的控制器的控制特別加速器或連接設(shè)備,如圖想處理、機(jī)電一體化、納米光學(xué)等各種技術(shù)。


原文說明

原文說明的內(nèi)容是: 譯文的外文原文

題名:ARM Based Microcontroller for Image Capturing in FPGA Design

作者:Chi-Jeng Chang, Wu-Ting Wu, Hui-Ching Su, Zen-Yi Huang, and Hsin-Yen Li

來源:ISVC 2005, LNCS 3804, PP. 672-677, 2005.



全部資料51hei下載地址(word格式論文):

基于單片機(jī)的溫度采集系統(tǒng)設(shè)計.zip (2.22 MB, 下載次數(shù): 22)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:154686 發(fā)表于 2018-10-24 10:29 | 只看該作者
此帖僅作者可見

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美亚洲在线视频 | 国产欧美一级二级三级在线视频 | 国产精品美女久久久久久免费 | 羞羞视频免费观看 | 国产99久久精品 | 亚洲国产免费 | 国产91精品久久久久久久网曝门 | 99精品网 | 久久国产精品一区二区三区 | 亚洲精品免费视频 | 免费国产黄网站在线观看视频 | 玖玖国产精品视频 | 在线国产中文字幕 | 国产成人精品综合 | 久久久人| 久久久久久久国产精品 | 国产精品精品视频一区二区三区 | 激情网站 | 精精国产xxxx视频在线播放 | 午夜精品一区二区三区在线观看 | 亚洲成人免费观看 | 欧美在线视频观看 | 欧美在线视频网 | 丁香六月激情 | 一区二区日韩 | 国产一级淫片免费视频 | 四虎成人精品永久免费av九九 | 日韩精品一区二区三区视频播放 | 一级欧美黄色片 | 一区二区视频在线 | 国产精品久久久久久久一区二区 | 久久在视频 | 久久国产婷婷国产香蕉 | 久久成人精品视频 | 男人久久天堂 | 国产精品久久久久久久久 | 国产日韩一区二区三区 | 久久久久久亚洲精品 | 国产精品视频二区三区 | 国产精品自在线 | 亚洲欧美日韩精品久久亚洲区 |