<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Avalon總線SHT11溫濕度傳感器自定義IP核的開發(fā)

          基于Avalon總線SHT11溫濕度傳感器自定義IP核的開發(fā)

          作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

          SOPC(System On a Programmable Chip,可編程芯片系統(tǒng))就是在一個可編程芯片上實現(xiàn)一個電子系統(tǒng)的技術(shù)。SOPC是可編程邏輯器件技術(shù)和SoC(System on Chip)技術(shù)發(fā)展與融合的產(chǎn)物[1?2]。

          本文引用地址:http://www.ex-cimer.com/article/201609/303623.htm

          SOPC的關(guān)鍵技術(shù)之一就是IP核,也就是知識產(chǎn)權(quán)核。所謂的IP核就是指將一些比較復(fù)雜的功能模塊,如音頻編/解碼、SDRAM等,設(shè)計成可以修改參數(shù)的模塊,可以直接調(diào)用。實際的SOPC設(shè)計過程,用戶常常有特殊的需求,而EDA廠商未提供該IP核。所以,在設(shè)計中添加用戶自定義組件顯得特別重要。

          1 

          SOPC組件通過Avalon交換架構(gòu)或者連接在一起,SOPC系統(tǒng)的可定制特性要求也具備靈活的可定制特性。Avalon總線是一種協(xié)議較為簡單的同步總線,有其規(guī)范及傳輸模式。

          Avalon總線是由Altera公司開發(fā)的一種專用的用于連接SOPC系統(tǒng)組件及從組件的內(nèi)部連線技術(shù),它是由SOPC Builder自動生成,是一種理想的用于系統(tǒng)處理器和外設(shè)之間的內(nèi)連總線。一般使用的是Avalon從端口。一個典型從端口包含的信號如表1所列。

          表1 Avalon從端口信號

          1.jpg

          Avalon總線使用很少的邏輯資源支持數(shù)據(jù)總線復(fù)用、地址譯碼、產(chǎn)生等待周期和高級交換式總線傳輸。該總線為用戶提供非常友好的接口,屏蔽搭建系統(tǒng)的細節(jié),減輕了系統(tǒng)搭建的工作量。

          2 自定義IP核的開發(fā)

          2.1 

          是瑞士Sensirion公司推出的SHTxx系列數(shù)字。它是基于先進的CMOSens數(shù)字傳感技術(shù),具有極高的可靠性和長期穩(wěn)定性。全量程標定,兩線數(shù)字接口,大大縮短研發(fā)時間,簡化外圍電路并降低費用。此外,具有體積小、響應(yīng)迅速、能耗低、可浸沒、抗干擾能力強、溫濕一體的特點,兼有露點測量,性價比高,使該產(chǎn)品能夠適于多種場合的應(yīng)用。SHT11的高級功能是通過狀態(tài)寄存器來實現(xiàn)的[3]。

          圖1為系統(tǒng)結(jié)構(gòu)圖。由圖可知,系統(tǒng)主要分為接口模塊和行為模塊,行為模塊實現(xiàn)芯片的驅(qū)動邏輯功能,接口模塊通過內(nèi)部總線和Avalon總線相連,實現(xiàn)了對行為模塊的控制。利用SOPC Builder建立系統(tǒng),通過數(shù)據(jù)線和時鐘線來控制SHT11。其中要加上10 kΩ的上拉電阻。

          2.jpg

          圖1 系統(tǒng)結(jié)構(gòu)圖

          采用自定義IP核的方式,也就是把SHT11看成外部存儲器或者是I/O設(shè)備,將其作為從設(shè)備連接到Nios II嵌入式處理器的Avalon總線上,系統(tǒng)用訪問I/O設(shè)備或者是讀寫寄存器的方式對其進行控制。所以,編寫自定義IP核的時候,根據(jù)實體SHT11的時序要求,編寫驅(qū)動、接口等,靈活地控制并實現(xiàn)復(fù)雜的時序。其中可以按照自己的需求靈活地定義狀態(tài)、標志位、控制位等。設(shè)計完成后,獨立添加到SOPC Builder,用戶可以直接使用。該方法比單純利用PIO內(nèi)核更加節(jié)省處理器的開銷,充分發(fā)揮了處理器的能力[4?6]。

          2.2 接口模塊的設(shè)計

          根據(jù)SHT11的描述,確定該模塊與Avalon所需要的接口信號。通過使用較少的信號來處理讀寫。系統(tǒng)通過時鐘線、數(shù)據(jù)線和SHT11相連,根據(jù)時鐘的時序向數(shù)據(jù)線寫命令,SHT11通過數(shù)據(jù)線輸出數(shù)據(jù)。設(shè)計模塊的輸入信號為:clk,sysclk, n_rest, data_i,data_o,wr,rd, addr。輸出信號為:SCK,DATA(DATA是雙向數(shù)據(jù)線)。端口信號的部分說明如下:

          moduleSHT11(

          clk,//系統(tǒng)時鐘

          n_rest,//系統(tǒng)復(fù)位

          data_i,//Avalon寫數(shù)據(jù)總線

          data_o,//Avalon讀數(shù)據(jù)總線

          wr,//Avalon寫請求

          rd,//Avalon讀請求

          sysclk,//系統(tǒng)時鐘

          addr,//Avalon地址總線

          SCK,//時鐘線輸出

          DATA,//數(shù)據(jù)輸入輸出(雙向)

          );

          2.3 行為模塊的實現(xiàn)

          行為模塊實現(xiàn)的是SHT11的功能。該部分是整個設(shè)計的核心,實現(xiàn)對SHT11的控制。設(shè)計時必須根據(jù)驅(qū)動控制的規(guī)范以及時序的要求來編寫。設(shè)計的過程中,信號的控制較為復(fù)雜,但在時序邏輯中,這又十分重要??梢栽O(shè)定一系列的寄存器,作為訪問硬件的通道[7?8]。

          根據(jù)其驅(qū)動規(guī)范,不同的命令實現(xiàn)相應(yīng)的功能。傳輸開始時,應(yīng)該發(fā)出啟動信號。啟動信號包括時鐘線為高,數(shù)據(jù)線由高變低,并在下一個時鐘線為高的時候?qū)?shù)據(jù)線變高。當(dāng)啟動信號開始后,輸入相應(yīng)指令(包含3位地址和5位命令),通過數(shù)據(jù)線,確定接收到ACK信號后,表示SHT11已經(jīng)正確接收命令。待一定的時間后,當(dāng)數(shù)據(jù)線由高拉低后開始信號的傳輸。系統(tǒng)通過確認數(shù)據(jù)線上的ACK來確定每個字節(jié)的傳輸。數(shù)據(jù)傳輸完畢,進行CRC校驗。校驗完畢后,ACK為高,結(jié)束傳輸。

          在進行設(shè)計時,采用嵌套狀態(tài)機來實現(xiàn)驅(qū)動邏輯。根據(jù)驅(qū)動控制器的讀寫命令及讀寫時序,采取不同狀態(tài)機來實現(xiàn),如圖2所示。輸入命令之后,根據(jù)不同的讀寫請求,進入不同的狀態(tài)機。

          3.jpg

          圖2 狀態(tài)機

          通過rd和wr以及地址addr控制數(shù)據(jù)線的讀寫。當(dāng)addr=1wr,則向數(shù)據(jù)線寫數(shù)據(jù)(data_i),data_i 的輸入格式是crc(1位)wr_data(16位)command(2位),當(dāng)addr=0wr,進入狀態(tài)機;當(dāng)addr=2 amp; amp;rd,從數(shù)據(jù)線讀取數(shù)據(jù)data_o。

          設(shè)內(nèi)部寄存器command,根據(jù)不同的命令,進入不同的狀態(tài)機循環(huán):若command為01,通過數(shù)據(jù)線向寄存器寫數(shù)據(jù);若command為 10,通過數(shù)據(jù)線從寄存器讀數(shù)據(jù);若command為其他,則讀取數(shù)據(jù)。當(dāng)傳送8位數(shù)據(jù)后,需判斷雙向數(shù)據(jù)線DATA的ACK信號的高低,當(dāng)接收到ACK 信號時,再根據(jù)相應(yīng)的命令,進行數(shù)據(jù)的傳輸。當(dāng)數(shù)據(jù)傳輸完畢后,需要經(jīng)行CRC校驗。圖3是仿真時序圖,實現(xiàn)向寄存器寫數(shù)據(jù)的功能。

          2.4 軟件設(shè)計

          該部分可以直接在SOPC Builder 中添加設(shè)計好的IP核和Verilog HDL 語言描述的文件,并根據(jù)Avalon 總線傳輸規(guī)范設(shè)置好相關(guān)的信號線,如圖4所示。這里要注意,使用的是從端口。完成后,將IP核添加至SOPC中,建立內(nèi)嵌系統(tǒng),并編譯下載到FPGA 器件中。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();