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

        ?

        基于有限狀態(tài)機(jī)的數(shù)字溫度傳感器控制系統(tǒng)設(shè)計(jì)*

        2010-04-26 05:08:40王曉磊李宏生
        艦船電子工程 2010年12期

        王曉磊 李宏生

        (東南大學(xué)微慣性儀表與先進(jìn)導(dǎo)航技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室 南京 210096)

        1 引言

        有限狀態(tài)機(jī)(Finite State Machine,FSM)及其技術(shù)是實(shí)用數(shù)字系統(tǒng)設(shè)計(jì)中實(shí)現(xiàn)高效率高可靠邏輯控制的重要途徑,是一種簡單、結(jié)構(gòu)清晰、設(shè)計(jì)靈活的方法,它易于建立、理解和維護(hù),特別應(yīng)用在具有大量狀態(tài)轉(zhuǎn)移和復(fù)雜時序控制的系統(tǒng)中,更顯其優(yōu)勢。

        有限狀態(tài)機(jī)模型可以用下面包含5種元素的集合來表示{X,Y,S,f,g},假設(shè)S={S1,S2,…,Sk}是FSM中狀態(tài)的集合;X={X1,X2,…,Xn}是FSM中輸入的集合;Y={Y1,Y2,…,Ym}是FSM中輸出的集合;f為狀態(tài)轉(zhuǎn)移函數(shù),表示由輸入信號變量X和當(dāng)前狀態(tài)X決定下一個狀態(tài),即:XY→S;g為輸出函數(shù),表示由輸入信號變量X和狀態(tài)S決定狀態(tài)機(jī)的輸出變量Y,即:XS→Y。從上面定義可以看出,有限狀態(tài)機(jī)包含5類基本要素:即狀態(tài)、輸入、輸出、轉(zhuǎn)移函數(shù)及輸出函數(shù)。它們分別用矢量函數(shù)表示如下[1]:

        根據(jù)有限狀態(tài)機(jī)是否使用輸入信號,分為Moore型有限狀態(tài)機(jī)和Mealy型有限狀態(tài)機(jī)。Moore型狀態(tài)機(jī)的輸出只與當(dāng)前的狀態(tài)有關(guān)而與輸入無關(guān),而Mealy型狀態(tài)機(jī)的輸出不僅與當(dāng)前狀態(tài)有關(guān),還與當(dāng)前的輸入有關(guān),它們共同決定Mealy狀態(tài)機(jī)的輸出。本控制系統(tǒng)采用Moore型有限狀態(tài)機(jī)實(shí)現(xiàn)數(shù)字溫度傳感器的控制。

        2 DS18B20的讀寫方式[2]

        DS18B20是單總線式數(shù)字溫度傳感器,支持“一線總線”接口,測量得到的數(shù)據(jù)為數(shù)字量,不需要經(jīng)過模數(shù)轉(zhuǎn)換。每一次命令和數(shù)據(jù)傳輸都是從主機(jī)啟動寫時序開始,如果要求從機(jī)回送數(shù)據(jù),在寫命令后,主機(jī)需啟動讀時序接收數(shù)據(jù)。

        DS18B20有嚴(yán)格的信號時序,包括:

        1)復(fù)位脈沖和應(yīng)帶脈沖

        單總線上的所有通信都是以初始化序列開始。主機(jī)輸出低電平,保持低電平時間至少480μ s,以產(chǎn)生復(fù)位脈沖。接著主機(jī)釋放總線,4.7kΩ上拉電阻將單總線拉高,延時 15~60μ s,并進(jìn)入接收模式。接著DS18B20拉低總線60~240μ s,以產(chǎn)生低電平應(yīng)答脈沖,若為低電平,再延時480μ s。如圖1所示。

        圖1 復(fù)位與應(yīng)答脈沖

        2)寫時隙

        寫時隙包括寫0時隙和寫1時隙。所有寫時隙至少需要60μ s,且在2次獨(dú)立的寫時隙之間至少需要1μ s的恢復(fù)時間,兩種寫時隙均起始于主機(jī)拉低總線。

        3)讀時隙

        DS18B20僅在主機(jī)發(fā)出讀時隙時,才向主機(jī)傳輸數(shù)據(jù),所以,在主機(jī)發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時隙,以便從機(jī)能夠傳輸數(shù)據(jù)。所有讀時隙至少需要60μ s,且在2次獨(dú)立的讀時隙之間至少需要1μ s的恢復(fù)時間。每個讀時隙都由主機(jī)發(fā)起,至少在時隙起始后的15μ s之內(nèi)采樣總線狀態(tài)。

        3 溫度控制模塊

        本設(shè)計(jì)采用Altera公司的 EP2C8T144I8N CYCLONEⅡ芯片作為系統(tǒng)控制器[3]。

        控制模塊包括clk_div分頻模塊和Temperature狀態(tài)機(jī)控制模塊。clk_div模塊功能是將系統(tǒng)時鐘20MHz分頻為1MHz;temperature模塊功能是向DS18B20輸出控制命令,并將DS18B20并將測量得到的數(shù)字溫度值輸出。

        在FPGA芯片中,一般信號線用做總線等雙向數(shù)據(jù)傳輸?shù)臅r候就要用到INOUT類型了。inout在具體實(shí)現(xiàn)上一般用三態(tài)門來實(shí)現(xiàn)。三態(tài)門的第三個狀態(tài)就是高阻‘Z'。當(dāng)inout端口不輸出時,將三態(tài)門置高阻。在 Temperature控制模塊中,sensor_DQ引腳在VerilogHDL語法中定義為inout類型,此引腳連接DS18B20的DQ引腳[4]。

        本系統(tǒng)設(shè)計(jì)中,定義了:

        對于sensor_DQ_out,可以通過組合邏輯或者時序邏輯根據(jù)sensor_DQ_in對其賦值。通過控制sensor_DQ_en的高低電平,從而設(shè)置sensor_DQ是輸出數(shù)據(jù)還是處于高阻態(tài),如果處于高阻態(tài),則此時當(dāng)做輸入端口使用,sensor_DQ_en可以通過相關(guān)電路來控制。

        4 有限狀態(tài)機(jī)實(shí)現(xiàn)時序控制

        為了保證測量數(shù)據(jù)的可靠傳輸,任一時刻單總線上只能有一個控制或數(shù)據(jù)信號。訪問DS18B20的操作順序遵循以下三步:

        第一步:初始化;

        第二步:ROM命令;

        第三步:DS18B20功能命令;

        單總線數(shù)字溫度傳感器DS18B20時序控制流程圖如圖5所示。

        圖5 狀態(tài)機(jī)時序控制流程圖

        采用VerilogHDL語言描述此Moore型有限狀態(tài)機(jī),FPGA通過單總線對DS18B20進(jìn)行操作,其one-hot編碼定義的狀態(tài)變量如表1所示[5]。

        表1 one-hot編碼定義

        其中,initial_pulse:復(fù)位和應(yīng)答脈沖狀態(tài),用于DS18B20的初始化,以及主從器件通信的開始;程序中首先發(fā)送480μ s的低電平,而后釋放總線90μ s,然后再釋放總線400μ s,檢測器件的應(yīng)答脈沖。

        skip_ROM:跳過ROM狀態(tài)。當(dāng)主機(jī)檢測到應(yīng)答脈沖后,發(fā)出ROM命令,本系統(tǒng)只連接單個DS18B20,故發(fā)出跳過 ROM(skip ROM)命令CCh。

        write_byte:寫字節(jié)狀態(tài)。由于DS18B20功能命令均為一個字節(jié)長度,故用于其他寫指令狀態(tài)的調(diào)用。

        write_0:寫 0時隙狀態(tài),用于主機(jī)向DS18B20寫低電平;程序中寫時隙15μ s,拉低總線;而后FPGA 發(fā)送60μ s的低電平;再經(jīng)過10μ s的恢復(fù)時間,這就完成了寫數(shù)據(jù)0。

        write_1:寫 1時隙狀態(tài),用于主機(jī)向DS18B20寫高電平;程序中寫時隙15μ s,拉低總線;而后FPGA 發(fā)送60μ s的高電平;再經(jīng)過10μ s的恢復(fù)時間,這就完成了寫數(shù)據(jù)1。

        convert_Temp:溫度轉(zhuǎn)換狀態(tài);FPGA發(fā)送命令數(shù)據(jù)44h,用于主機(jī)啟動溫度轉(zhuǎn)換。

        wait_750ms:等待器件溫度轉(zhuǎn)換狀態(tài);主機(jī)發(fā)出溫度轉(zhuǎn)換命令后,進(jìn)入wait_750ms狀態(tài),等待傳感器溫度轉(zhuǎn)換,以及數(shù)據(jù)存儲。

        read_scratchpad:讀暫存器(scratchpad)狀態(tài);FPGA發(fā)送命令數(shù)據(jù)BEh。

        get_Temp:讀取溫度轉(zhuǎn)換數(shù)據(jù)狀態(tài),主機(jī)命令DS18B20讀取溫度值。

        read_bit:位讀取狀態(tài);傳感器轉(zhuǎn)換后的數(shù)據(jù)存于暫存器,主機(jī)通過單總線一位一位的讀出,存于寄存器中;程序中先2μ s讀時隙,而后延時10μ s;再經(jīng)過3μ s的讀數(shù)據(jù)時間,而后延時 55μ s,這樣就完成了一位數(shù)據(jù)的讀出[6]。

        5 Signal TapⅡ硬件調(diào)試[7]

        嵌入式邏輯分析儀Signal TapⅡ主要用于分析數(shù)字系統(tǒng)的檢測和故障診斷問題,是數(shù)據(jù)域測試中一種非常有效的測試方式。它在對系統(tǒng)硬件模塊進(jìn)行監(jiān)測時,是將測得的樣本數(shù)據(jù)暫存于目標(biāo)器件的RAM中,然后通過器件的JTAG端口和USB BlasterⅡ下載線一起將樣本數(shù)據(jù)信息傳出并送入計(jì)算機(jī)進(jìn)行數(shù)據(jù)分析。通過實(shí)踐證明,在 FPGA上用這種方法抓取數(shù)字信號更便捷,更準(zhǔn)確,易實(shí)現(xiàn)更高的精度。

        其調(diào)試的基本步驟如下[8]:

        1)打開Signal TapⅡ編輯窗;

        2)調(diào)入待測信號;

        3)相關(guān)參數(shù)設(shè)置。首先設(shè)置采樣時鐘;其次設(shè)置采樣深度;最后設(shè)置觸發(fā)條件;

        4)下載、啟動并查看數(shù)據(jù)。

        當(dāng)測試程序下載到FPGA并運(yùn)行后,用Signal TapⅡ抓取DS18B20的輸入輸出端口以及讀取溫度數(shù)據(jù)信號如圖6所示。

        圖6 Signal TapⅡ調(diào)試圖

        6 結(jié)語

        文中分析了DS18B20的工作原理,并采用有限狀態(tài)機(jī)設(shè)計(jì)其控制邏輯,相比單片機(jī)控制,更具有實(shí)時性,實(shí)現(xiàn)了溫度采集接口,該接口可以作為一個獨(dú)立模塊嵌入到其他電路組成的應(yīng)用系統(tǒng)中。

        有限狀態(tài)機(jī)作為數(shù)字邏輯理論的一個重要組成部分,不僅是重要的軟件基礎(chǔ)理論,而且在硬件設(shè)計(jì)中也發(fā)揮著重要的作用,特別是在利用EDA技術(shù)進(jìn)行可編程ASIC設(shè)計(jì)時。

        [1]Zhang Peiren,Zhou Yanping.A Large-Scale Temperature Alarm System Based on 1-Wire Bus and CAN bus[J].Control&Automation,2003(2):25~26

        [2]李鋼,趙彥峰.1-Wire總線數(shù)字溫度傳感器DS18B20原理及應(yīng)用[J].現(xiàn)代電子技術(shù),2005,28(21):77~79

        [3]周岳斌.基于FPGA的數(shù)字溫度傳感器接口設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007,12:51~52

        [4]何文龍,房建東.基于FPGA的數(shù)字溫度傳感器控制方法[J].電子測量技術(shù),2008,11:178~181

        [5]劉小平,何云斌,董懷國.基于VerilogHDL的有限狀態(tài)機(jī)設(shè)計(jì)與描述[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(4):958~960

        [6]王凌,宋揚(yáng)等.基于有限狀態(tài)機(jī)的飛行器自毀系統(tǒng)時序控制設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009,8

        [7]胡文軍,李英輝.嵌入式邏輯分析儀在FPGA設(shè)計(jì)中的應(yīng)用[J].微計(jì)算機(jī)信息,2007,23:211~212,203

        [8]袁火平,盧艷娥,等.基于SignaltapⅡ的高速數(shù)據(jù)采集系統(tǒng)[J].微計(jì)算機(jī)信息,2008,24:9

        国产精品成人免费视频一区| 亚洲视频在线视频在线视频| 国产成人精品一区二区三区av| 日本一本免费一二区| 欧美大肥婆大肥bbbbb| 午夜tv视频免费国产区4| av免费看网站在线观看| av天堂最新在线播放| 国产男女免费完整视频| 在线天堂中文字幕| 国产精品国产三级国av在线观看 | 精品亚洲少妇一区二区三区| 精品亚洲av一区二区| 国产免费又色又爽粗视频| 亚洲国产一区二区a毛片| 岛国大片在线免费观看| 亚洲精品综合一区二区 | 亚欧色一区w666天堂| 亚洲av无码一区二区二三区下载 | 国产精品23p| 亚洲国内精品一区二区在线| 国产精品亚洲第一区二区三区| 四虎国产精品免费久久| 亚洲国产精品国语在线| 日本精品少妇一区二区| 无码人妻精品一区二区三区东京热| 日韩精品无码av中文无码版| 一区二区三区国产美女在线播放 | 国产麻豆精品久久一二三| 青青河边草免费在线看的视频| 亚洲av无码专区在线播放| 岛国成人在线| 牛仔裤人妻痴汉电车中文字幕| 精品人妻一区二区三区四区在线 | 人妖系列在线免费观看| 人妻少妇-嫩草影院| 精品久久久久久777米琪桃花| 国产精品无码mv在线观看| 亚洲国产中文字幕一区| av无码人妻中文字幕| 精品不卡久久久久久无码人妻|