日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于雙C8051F020微控制器的應(yīng)用系統(tǒng)
基于雙C8051F020微控制器的應(yīng)用系統(tǒng)
 更新時(shí)間:2009-12-2 16:13:57  點(diǎn)擊數(shù):0
【字體: 字體顏色
 
摘要:本文使用2片C8051F020微控制器,通過其自身的SMBus總線進(jìn)行擴(kuò)展,實(shí)現(xiàn)了多路模擬量和數(shù)字量的輸入與輸出的應(yīng)用系統(tǒng)。應(yīng)用系統(tǒng)使用了USB-UART橋接電路,實(shí)現(xiàn)了虛擬串口的USB傳輸。文中首先簡(jiǎn)要介紹了C8051F020 MCU與CP2101橋接電路的特點(diǎn),然后詳細(xì)闡述了SMBus的總線協(xié)議,并說明了上下位機(jī)的通信協(xié)議以及兩片下位機(jī)的基于SMBus的數(shù)據(jù)通信,最后給出了主下位機(jī)的程序流程圖。
關(guān)鍵詞:應(yīng)用系統(tǒng);C8051F020;SMBus;串行通信;USB

引言


    由于MCU(微控制器)在可靠性、體積、功耗、性價(jià)比等方面都具有明顯的優(yōu)勢(shì),所以由其組成的上下位機(jī)形式的儀器(下位機(jī)部分),已經(jīng)在許多工業(yè)控制和數(shù)據(jù)采集系統(tǒng)中得到廣泛應(yīng)用。在實(shí)際應(yīng)用中,如果一片MCU芯片的功能不能滿足實(shí)際需求時(shí),就需要進(jìn)行擴(kuò)展。在本文中,我們使用兩片C8051F020微控制器通過SMBus(System   Management  Bus)系統(tǒng)管理總線進(jìn)行擴(kuò)展,使其滿足了15路模擬量輸入(AD)、6數(shù)字量輸入、2路開關(guān)量輸出以及1路PWM波輸出的設(shè)計(jì)要求。

 

系統(tǒng)硬件構(gòu)成

整個(gè)系統(tǒng)的裝置示意圖如圖1所示。我們選擇美國(guó)Silicon公司的微控制器(MCU)C8051F020(簡(jiǎn)稱F020)作為應(yīng)用系統(tǒng)的CPU。F020是一種混合信號(hào)SOC型8位單片機(jī),它有一個(gè)8通道的、轉(zhuǎn)換速率為100Kbps的12位ADC,以及一個(gè)8通道的、轉(zhuǎn)換速率為500Kbps的8位ADC;2個(gè)12位DAC;64KB FlashRom,4KB RAM;有22個(gè)中斷源和5個(gè)定時(shí)器/計(jì)數(shù)器;內(nèi)部有兩個(gè)增強(qiáng)型全雙工UART、SPI總線和SMBus總線[1]。

CP2101是美國(guó)Silicon公司推出的USB-UART橋接電路。該電路的集成度高,內(nèi)置USB2.0全速功能控制器、USB收發(fā)器、晶體振蕩器、EEPROM及異步串行數(shù)據(jù)總線(UART),支持調(diào)制解調(diào)器全功能信號(hào),全部功能集成在一個(gè)5mm ´5mm IC中。

                                          圖1 典型的SMBus配置

在PC機(jī)上安裝CP2101的驅(qū)動(dòng)程序以后,CP2101就作為PC機(jī)的一個(gè)虛擬 COM 口 (VCP),對(duì)它的操作與對(duì)PC機(jī)的COM口操作完全一樣,因此無(wú)需修改現(xiàn)有的 COM 口應(yīng)用就可以實(shí)現(xiàn)通過 USB 向基于CP2101 的器件傳輸數(shù)據(jù),保證了對(duì)已有的串口通訊程序的兼容。其數(shù)據(jù)傳輸?shù)牟ㄌ芈史秶鸀?00b/s~921.6kb/s[2]。

 

2  SMBus總線

SMBus總線標(biāo)準(zhǔn)最早由Intel公司于1995年發(fā)布,它以Philips公司的I2C總線為基礎(chǔ),面向于“不同系統(tǒng)組成芯片與系統(tǒng)其他部分間的通訊”[3]。SMBus接口的工作電壓可以在(3.0~5.0)V之間,總線上不同器件的工作電壓可以不同。SCL串行時(shí)鐘線和SDA串行數(shù)據(jù)線是雙向的,因此兩條線上都需要上拉電阻或類似電路將它們連到電源電壓,在沒有數(shù)據(jù)傳輸時(shí),兩條線都處于高電平。典型的SMBus配置如圖2所示。SMBus采用多種線路條件作為器件的握手信號(hào)。在一次數(shù)據(jù)傳輸過程中,SDA只能在SCL為低電平時(shí)改變。在SCL為高電平時(shí),SDA發(fā)生改變則開始和停止信號(hào)。

圖3  一次典型的SMBus數(shù)據(jù)傳輸過程

SMBus協(xié)議有兩種可能的數(shù)據(jù)傳輸類型:從主發(fā)送器到所尋址的從接收器(寫)和從被尋址的從發(fā)送器到主接收器(讀)。這兩種數(shù)據(jù)傳輸都由主器件啟動(dòng),主器件還提供串行時(shí)鐘。一次典型的SMBus數(shù)據(jù)傳輸包括一個(gè)起始條件(START)、一個(gè)地址字節(jié)(位7-1:7 位從地址;位0:R/W 方向位)、一個(gè)或多個(gè)字節(jié)的數(shù)據(jù)和一個(gè)停止條件(STOP)。每個(gè)接收的字節(jié)(由一個(gè)主器件或從器件)都必須用SCL高電平期間的SDA低電平來確認(rèn)(ACK)。如果接收器件不確認(rèn),則發(fā)送器件將讀到一個(gè)“非確認(rèn)”(NACK),這用SCL 高電平期間的SDA高電平表示。

所有的數(shù)據(jù)傳輸都由主器件啟動(dòng),可以尋址一個(gè)或多個(gè)目標(biāo)從器件。主器件產(chǎn)生一個(gè)起始條件,然后發(fā)送地址和方向位。在數(shù)據(jù)傳輸結(jié)束時(shí),主器件產(chǎn)生一個(gè)停止條件,結(jié)束數(shù)據(jù)交換并釋放總線。圖3示出了一次典型的SMBus數(shù)據(jù)傳輸過程[1]。

3 系統(tǒng)通信的設(shè)計(jì)

    系統(tǒng)的任務(wù)主要對(duì)模擬量進(jìn)行AD轉(zhuǎn)換,對(duì)數(shù)字量進(jìn)行計(jì)數(shù),并將這些數(shù)據(jù)最終要傳給上位微機(jī)進(jìn)行顯示與數(shù)據(jù)處理,上位機(jī)根據(jù)其處理結(jié)果控制PWM波的頻率及占空比。

3.1  上下位機(jī)的數(shù)據(jù)通信[4-5]

由于我們使用了USB-UART橋接電路CP2101,因而上下位機(jī)的程序仍是按照UART形式編寫。為保證雙方傳輸?shù)臄?shù)據(jù)準(zhǔn)確可靠,程序中使用軟件握手:上位機(jī)首先給下位機(jī)傳波特率參數(shù),其值為600H,300H,180H,C0H,60H,0CH之一,下位機(jī)對(duì)收到波特率參數(shù)進(jìn)行驗(yàn)證,如果為其中之一,則發(fā)送字節(jié)AAH給上位機(jī),并更新下位機(jī)波特率,反之認(rèn)為是噪聲干擾,丟棄此數(shù)據(jù),再重新等待接收。上位機(jī)收到AAH字節(jié)后,就更新新的波特率,然后向下位機(jī)發(fā)送控制命令子,如采樣通道選擇,單端方式還是差分方式,開關(guān)量的狀態(tài),采樣周期和采樣時(shí)間等,以及是否要求從下位機(jī)工作,如果要求從下位機(jī)工作,還要正確建立主從下位機(jī)的通信,之后再向上位機(jī)發(fā)應(yīng)答字節(jié)55H。協(xié)議還采用超時(shí)重發(fā)功能,可自動(dòng)連接5次。

3.2 主從下位機(jī)的SMBus通信[6]

為使SMBus通信程序便于編寫,我們規(guī)定第1片為主片,第二片為從片。SMBus的工作由下列寄存器中的內(nèi)容決定:狀態(tài)寄存器(SMB0STA)、控制寄存器 (SMB0CN)、地址寄存器(SMB0ADR)和數(shù)據(jù)寄存器(SMB0DAT)。要通過SMBus通訊協(xié)議實(shí)現(xiàn)兩片芯片之間的數(shù)據(jù)通信,關(guān)鍵在于如何利用單片機(jī)中的狀態(tài)寄存器中的狀態(tài)碼,通過軟件編程來實(shí)現(xiàn)對(duì)狀態(tài)碼的查詢。每一個(gè)狀態(tài)碼都對(duì)應(yīng)一個(gè)當(dāng)前的通信狀態(tài)和將要執(zhí)行的操作,因此,根據(jù)所得到的狀態(tài)碼來確定當(dāng)前的通信狀態(tài),以實(shí)現(xiàn)相互間的通信。

在編程時(shí),SMBus通信協(xié)議是利用中斷查詢狀態(tài)碼的方式實(shí)現(xiàn)的,為使雙方的通信可靠,也規(guī)定了軟件握手:初始化后,從片等待主片的命令字節(jié)33H,從片收到33H后給主片發(fā)CCH應(yīng)答字節(jié),主片收到CCH字節(jié)后,根據(jù)上位機(jī)要求給從片發(fā)送相應(yīng)的命令字節(jié)(采樣周期,采樣時(shí)間,采樣通道,開關(guān)量狀態(tài)等),然后發(fā)送BBH字節(jié)個(gè)主片,并啟動(dòng)相應(yīng)AD轉(zhuǎn)換,主片收到BB后才進(jìn)行AD轉(zhuǎn)換,保證主片與從片對(duì)模擬量的同步采樣。

 

4 系統(tǒng)軟件設(shè)計(jì)

    考慮到系統(tǒng)靈活性,我們編程使得通道選擇、采樣時(shí)間、采樣周期、數(shù)字量輸入、開關(guān)量的控制、PWM波的頻率及占空比、從下位機(jī)的工作情況等由用戶在上位機(jī)上指定,然后以命令字傳給下位機(jī),具體為:用4個(gè)字節(jié)分別表示兩片MCU的AD通道是否被選中,每個(gè)字節(jié)位上為1表示該通道被選中,否則不選該通道。用3個(gè)字節(jié)存放采樣周期,其最小單位為10微妙,5個(gè)字節(jié)存放采樣時(shí)間,一個(gè)字節(jié)用于開關(guān)量,2個(gè)字節(jié)用于存放PWM波的頻率,2個(gè)字節(jié)用于存放占空比值,1個(gè)字節(jié)用于表示數(shù)字量輸入是否被選中。對(duì)于輸入的數(shù)字量,輸入是渦輪流量計(jì)來的脈沖,輸入脈沖數(shù)的確定是采樣引腳電平變化的方法來確定的。為保證小流量時(shí)的精度,按4秒鐘所計(jì)脈沖數(shù),通過其轉(zhuǎn)換關(guān)系來確定流量。其中引腳電平采樣的時(shí)間設(shè)為100微妙。

為減輕下位機(jī)的任務(wù),其采集的原始數(shù)據(jù)直接送給上位機(jī)進(jìn)行處理,保證下位機(jī)有高的采樣速率和高的傳輸速率。圖4給出了下位機(jī)主片的工作流程圖。

結(jié)束語(yǔ)

我們使用了自身帶有AD轉(zhuǎn)換電路及SMBus通信總線接口C8051F020微控制器,實(shí)現(xiàn)了兩片MCU之間數(shù)據(jù)的高速可靠的數(shù)據(jù)通信。而且還使用了USB-UART橋接電路,保證了下位機(jī)與上位機(jī)有高的數(shù)據(jù)傳輸率。并且,在上位機(jī)軟件設(shè)計(jì)時(shí)考慮到應(yīng)用系統(tǒng)的通用性,可根據(jù)實(shí)際需求選用不同的傳感器,并在上位機(jī)上進(jìn)行相應(yīng)的選擇,就能得到所需的測(cè)量數(shù)據(jù)及曲線,使得該應(yīng)用系統(tǒng)有較強(qiáng)的通用性。

參考文獻(xiàn):

[1] 潘琢金,施國(guó)君. C8051FXXX高速SOC單片機(jī)原理及應(yīng)用. 北京:北京航空航天大學(xué)出版社,2002.

[2] CP2101數(shù)據(jù)手冊(cè). http://www.xhl.com.cn

/xhl/downfile/CP210x.pdf.

[3]謝瑞和.串行技術(shù)大全.北京:清華大學(xué)出版社,2003.4 .

[4] 陳建平,姚凱學(xué),等. 通用動(dòng)態(tài)測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn). 貴州大學(xué)學(xué)報(bào)(自然科學(xué)版), 2004,

21(1):79-82.

[5] 范逸之 陳立元. Visual Basic 與RS-232串行通信控制[M],北京:中國(guó)青年出版社,2002.

[6] 王力,王開和,等. 基于C8051F的SMBus實(shí)現(xiàn)多點(diǎn)測(cè)溫系統(tǒng). 天津科技大學(xué)學(xué)報(bào),2004,19(3):

  • 上一篇: 基于AT89C51的音量控制電路與程序設(shè)計(jì)
  • 下一篇: 沒有了
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1