音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于FPGA的智能溫度采集系統(tǒng)的設(shè)計和實現(xiàn)

出處:無憂電子開發(fā)網(wǎng)    發(fā)布于:2011-09-02 18:56:34

1引言

   目前大多數(shù)溫度采集系統(tǒng)都是利用智能溫度傳感器DS18B20和單片機來進行設(shè)計的。本課題嘗試使用FPGA芯片進行設(shè)計。FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。鑒于此,本課題使用硬件描述語言設(shè)計FPGA控制器來實現(xiàn)傳感器控制,同時用VC來實現(xiàn)用戶控制界面。

    現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)是當(dāng)今應(yīng)用廣泛的一類可編程專用集成電路(ASIC)。FPGA作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。電子設(shè)計工程師利用它可以在辦公室或?qū)嶒炇依镌O(shè)計出所需的專用集成電路,從而大大縮短了產(chǎn)品上市時間,降低了開發(fā)成本。此外,可編程邏輯器件還具有靜態(tài)可重復(fù)編程和動態(tài)在系統(tǒng)重構(gòu)的特性。這使得硬件的功能可以像軟件一樣通過編程來修改,極大地提高了電子系統(tǒng)設(shè)計的靈活性和通用性。

    本系統(tǒng)中溫度傳感器采用的MAXIM 公司的1-Wire 器件DS18B20 溫度傳感器由于其結(jié)構(gòu)簡單、安裝方便、功耗低、測溫范圍寬而被廣泛的應(yīng)用于化工、糧食、環(huán)境監(jiān)測等需要實現(xiàn)多點測溫的地方[3];1-Wire 技術(shù)采用一根信號線進行雙向數(shù)據(jù)傳輸,一個控制器可以控制一個或多個從機設(shè)備,與其他標(biāo)準(zhǔn)串行數(shù)據(jù)通信方式如SPI、I2C 相比,單總線具有節(jié)省系統(tǒng)I/O 口線資源、結(jié)構(gòu)簡單、成本低廉、便于總線擴展和維護等諸多優(yōu)點。

    由于 1-Wire 總線只有一根信號線,所以要完成通信就要在一根信號線上實現(xiàn)數(shù)據(jù)的雙向傳輸。1-Wire 通信協(xié)議對時序的要求非常嚴(yán)格,協(xié)議中一共規(guī)定了五種類型的通信時序,分別為初始化(復(fù)位)時序、寫“1”時序、寫“0”時序、讀“1”時序和讀“0”時序,如圖1 所示。所有通信都由這五種典型時序組合完成,就是說要控制好這五種時序,才能實現(xiàn)對1-Wire 器件的控制。

  2智能溫度采集器的設(shè)計

    采用可編程邏輯器件通過對器件內(nèi)部的設(shè)計來實現(xiàn)系統(tǒng)功能,是一種基于芯片的設(shè)計方法。設(shè)計者可以根據(jù)需要定義器件的內(nèi)部邏輯和管腳,將電路板設(shè)計的大部分工作放在芯片的設(shè)計中進行,通過對芯片設(shè)計實現(xiàn)數(shù)字系統(tǒng)的邏輯功能。靈活的內(nèi)部功能塊組合、管腳定義等,可大大減輕電路設(shè)計和電路板設(shè)計的工作量和難度,有效地增強設(shè)計的靈活性,提高工作效率。同時采用可編程邏輯器件,設(shè)計人員在實驗室可反復(fù)編程,修改錯誤,以期盡快開發(fā)產(chǎn)品,迅速占領(lǐng)市場。

    基于芯片的設(shè)計方法有很多有點,它可以減少芯片的數(shù)量,不必使用多個芯片,縮小系統(tǒng)體積,減少連線,降低出錯幾率,降低能源消耗,提高系統(tǒng)的性能和可靠性。在FPGA的設(shè)計中常用的設(shè)計方法有兩種:自下而上和自上而下。幾乎所有的復(fù)雜的數(shù)字系統(tǒng)的設(shè)計,都是可以按照層次進行細(xì)分的,將系統(tǒng)的層次按照功能逐步的進行細(xì)化,直到每一部分都有自己特定的功能并且不容易再進行分割為止。自上而下的設(shè)計方法非常重要,因為只有在上面的層次上才能全面確定下面模塊的輸入輸出和功能行為的規(guī)格,并由此進行設(shè)計。自下而上的設(shè)計方法雖然并不太重要,但是有時也行得通,其原因是有些模塊的規(guī)格本身是就是事先確定的或者基本可以確定的。

  針對溫度采集控制器系統(tǒng)的特點,決定采用自上而下的設(shè)計方法,并且將整個系統(tǒng)分為Control Unit(控制模塊)和Data Path(數(shù)據(jù)傳輸)兩部分來進行設(shè)計(如圖1所示)。這樣設(shè)計有以下優(yōu)點:(1)Control Unit在內(nèi)部FSM的控制下,在每一個狀態(tài)會有輸出,控制Data Path中數(shù)據(jù)的傳輸,使其滿足DS18B20的時序要求;(2)Data Path則完成了所有的數(shù)據(jù)流傳輸,并實時的反饋給Control Unit一些輸入,從而使其狀態(tài)轉(zhuǎn)換能夠正確完成;(3)如果要有附加的控制流和數(shù)據(jù)流要添加進整個FPGA系統(tǒng),則只要在Control Unit中更改相應(yīng)的狀態(tài)和Data Path中做相應(yīng)修改就可,不需要進行系統(tǒng)方案的修改。


圖1、智能溫度采集器的系統(tǒng)結(jié)構(gòu)框圖

  在設(shè)計Control Block的時候一般采取有限狀態(tài)機(FSM)的方法。FSM是指輸出取決于過去輸入部分和當(dāng)前輸入部分的時序邏輯電路。一個狀態(tài)都有可以實現(xiàn)的進入條件,每個狀態(tài)在所有輸入條件下都有明確的下一狀態(tài),包括下一狀態(tài)和目前狀態(tài)相同的狀態(tài)的情況。顯然,如果下一狀態(tài)只有和目前狀態(tài)相同的狀態(tài)才是可實現(xiàn)的,那么FSM一旦進入這個狀態(tài)就不會再改變了,這種“死機”狀態(tài)當(dāng)然是要避免的。在此系統(tǒng)的 Control Block中的FSM采用摩爾型,設(shè)計出“下一狀態(tài)邏輯”從而使得“狀態(tài)寄存器”能在每一個時鐘沿正確的進行狀態(tài)轉(zhuǎn)換,并確定好“輸出邏輯”,在每一個狀態(tài)都能輸出正確的控制流來對 Data Path中的數(shù)據(jù)流進行正確的控制,保證整個系統(tǒng)能夠正確的工作。

   數(shù)據(jù)通道實現(xiàn)的是數(shù)據(jù)間的運算和傳輸。數(shù)據(jù)可能是8/16/32/64位的,一般有位的運算并沒有太大的不同。但是,它又要同時實現(xiàn)Control Block中的FSM的功能,其設(shè)計是要和 Control Block中的FSM的結(jié)構(gòu)一起考慮的。一旦FSM確定了,數(shù)據(jù)通道的計劃就要著手進行。由于數(shù)據(jù)通道的性能決定了整個系統(tǒng)的性能的高低,所以它又非常的關(guān)鍵。以往通用處理器因為生產(chǎn)數(shù)量大,數(shù)據(jù)通道用全定制的方法設(shè)計比較多,線路和版圖設(shè)計的精雕細(xì)刻,以求換得低的芯片生產(chǎn)成本和用其他方法難以達到的性能水平。這種情況在現(xiàn)代的SOC產(chǎn)品里有了很大的改變,因為SOC產(chǎn)品的產(chǎn)量一般都比較小,而且設(shè)計者都希望同一個處理器核的設(shè)計能夠用于不同工藝生產(chǎn)的產(chǎn)品。這樣,全定制的設(shè)計就不合適了。一般來說,數(shù)據(jù)通道是一定形式的流水線,因為數(shù)據(jù)的讀取、運算和結(jié)果的寫入都在同一個周期內(nèi)實現(xiàn),時鐘頻率就很難提高,所以高性能處理器的數(shù)據(jù)通道現(xiàn)在都采用流水線設(shè)計。數(shù)據(jù)通道和數(shù)據(jù)寄存器和數(shù)據(jù)存儲器的關(guān)系十分密切,這當(dāng)然是由處理器的結(jié)構(gòu)確定的。在此系統(tǒng)中的 Data Path的數(shù)據(jù)流處理功能并不是非常的復(fù)雜,可以不用采取流水線設(shè)計,并在FSM的控制下進行正確的數(shù)據(jù)流傳輸,同時會反饋給FSM中的“下一狀態(tài)邏輯”一些Inputs信號來使其能夠進行正確的狀態(tài)轉(zhuǎn)換。

  3智能溫度采集器的實現(xiàn)

  系統(tǒng)開發(fā)環(huán)境。本課題硬件設(shè)計采用XILINX公司SPARTAN-3器件開發(fā)板進行編程驗證,其特性如下:(1)具有二十萬門,十二個嵌入式18x18乘法器支持高性能DSP應(yīng)用,216 Kbit的塊RAM,50 MHZ內(nèi)部時鐘晶振;(2)板上2Mbit Platform Flash;(3)八個開關(guān),四個按鈕,八個LED,四個七段顯示;(4)串口,VGA口,PS/兩個鼠標(biāo)/一個鍵盤口;(5)三組各40個引腳的擴展連接;(6)三個強電流的電壓整流器(3.3V,2.5V,1.2V);(7)配合JTAG3編程線和Xilinx的P4&MultiPRO線。系統(tǒng)硬件設(shè)計采用Verilog HDL設(shè)計語言,設(shè)計流程在Xilinx公司提供的開發(fā)工具ISE中完成,配合MODELSIM SE仿真工具。SPARTAN-3開發(fā)板上使用MAX3222電平轉(zhuǎn)換器,轉(zhuǎn)換RS-232C的EIA電平+12V與TTL電平+3.3V。在本系統(tǒng)中,串口的波特率采用115200 bit/s,以達到其快速度。上位機軟件編程采用VC++ 6.0。

  控制器邏輯功能流程圖。首先設(shè)計各個硬件模塊,其中主控模塊狀態(tài)機先只實現(xiàn)一些基本功能指令的流程控制,仿真測試單獨的模塊。然后連接各個模塊組成完整的硬件電路并進行一些基本功能指令的測試。再串口調(diào)試助手及示波器檢驗硬件電路對一線總線上單個DS18B20的初始化(INITAILIZATION)、發(fā)送匹配ROM命令(MATCH ROM)、發(fā)送溫度轉(zhuǎn)換命令(CONVERT T)、發(fā)送引腳讀取命令(READ SCRATCHPAD)、發(fā)送讀時隙脈沖(READ TIMESLOTS)的操作結(jié)果。串口調(diào)試結(jié)果正確后聯(lián)合上位機程序?qū)崿F(xiàn)基本的“Read Temperature”功能。上位機調(diào)試結(jié)果正確后硬件電路繼續(xù)添加其他功能,調(diào)試“搜索ROM命令(SEARCH ROM)和讀取ROM ID命令”,在FSM中實現(xiàn)搜索算法將溫度采集擴展至一線總線上多個DS18B20。整個系統(tǒng)邏輯框圖可見圖2。


圖2、智能溫度控制器邏輯功能流程圖

  控制器邏輯功能模塊。FPGA實現(xiàn)的控制器處于PC端上位機與溫度傳感器DS18B2O中間。FPGA的主要設(shè)計任務(wù)便是接收從串口得來的PC端上位機命令,通過內(nèi)部狀態(tài)機邏輯的判斷和控制,通過Data Path將命令傳達至溫度傳感器DS18B20,并將命令的執(zhí)行結(jié)果返回給上位機。FPGA主要實現(xiàn)1-wire收發(fā)器和RS232收發(fā)器,對兩邊起溝通作用。整個硬件模塊大致分成三層(圖3),層為RS232串行通信模塊和時鐘分頻模塊fenpin,第二層為主控模塊 Control Block,第三層為 Data Path部分:讀/寫模塊bytebit。


圖3、智能溫度控制器系統(tǒng)模塊層次結(jié)構(gòu)圖

  l)RS232串行通信模塊。負(fù)責(zé)外部上位機串行bit與主控模塊Control Block并行byte間的數(shù)據(jù)傳輸。RS232串行通信速率采用 115200 bit/S。Uartrec從上位機接受一個字節(jié)com命令發(fā)給主控模塊Control Block,同時Uarttran從主控模塊Control Block接收一個字節(jié)result回應(yīng)發(fā)給上位機。

  2)分頻模塊fenpin。由50 MHZ內(nèi)部晶振產(chǎn)生與DS18B20同步的1 MHZ時鐘。

  3)主控模塊 Control Block。負(fù)責(zé)狀態(tài)轉(zhuǎn)化控制,實現(xiàn) Data Path和RS232收發(fā)器的溝通。通過內(nèi)部FSM邏輯的判斷和控制,將命令傳達至傳感器,并將命令的執(zhí)行結(jié)果返回給上位機。由兩個延時子模塊組成。初始化模塊init,負(fù)責(zé)初始化總線上所有DS18B20,并在初始化成功后主控模塊初始化狀態(tài)。若初始化失敗,將繼續(xù)初始化。若超過設(shè)定初始化時間仍不能成功初始化,將停止初始化并報警。溫度轉(zhuǎn)化等待模塊Convert,負(fù)責(zé)在讀/寫模塊bytebit向DS18B20發(fā)出convert命令后延時800 ms再主控模塊轉(zhuǎn)化完畢。根據(jù)DS18B20用戶手冊,溫度轉(zhuǎn)化多用750 ms。所以采用800 ms的保守估算。

  4)Data Path。由讀/寫模塊bytebit構(gòu)成,負(fù)責(zé)主控模塊Control Block和DS18B20之間的數(shù)據(jù)通信。由主控模塊Control Block的r_w信號決定是發(fā)WRITE TIME SLOTS還是發(fā)READ TIME SLOTS。

  4結(jié)束語

    本系統(tǒng)采用FPGA和一線式數(shù)字溫度轉(zhuǎn)換器DS18B20來實現(xiàn)檢測高,硬件結(jié)構(gòu)簡單,整個系統(tǒng)的速度快,靈活性高具有較強的抗干擾能力,不僅可以在汽車空調(diào)、醫(yī)療儀器等設(shè)備上進行單點溫度測量,電路加以改動后還可以對糧食倉庫,樓宇只能控制,煤礦等場合進行多點溫度檢測。

  


  

參考文獻:

[1]. DS18B20 datasheet http://m.58mhw.cn/datasheet/DS18B20_819975.html.
[2]. CPLD datasheet http://m.58mhw.cn/datasheet/CPLD_1136600.html.
[3]. MAXIM  datasheet http://m.58mhw.cn/datasheet/MAXIM+_1062568.html.
[4]. VGA datasheet http://m.58mhw.cn/datasheet/VGA_2568786.html.
[5]. MAX3222 datasheet http://m.58mhw.cn/datasheet/MAX3222_1107771.html.
[6]. TTL datasheet http://m.58mhw.cn/datasheet/TTL_1174409.html.
[7]. ROM datasheet http://m.58mhw.cn/datasheet/ROM_1188413.html.
[8]. RS232 datasheet http://m.58mhw.cn/datasheet/RS232_585128.html.
[9]. com datasheet http://m.58mhw.cn/datasheet/com_1118194.html.


關(guān)鍵詞:FPGA

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!