<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)valon總線(xiàn)SHT11溫濕度傳感器自定義IP核的開(kāi)發(fā)

基于A(yíng)valon總線(xiàn)SHT11溫濕度傳感器自定義IP核的開(kāi)發(fā)

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

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

本文引用地址:http://dyxdggzs.com/article/201609/303623.htm

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

1 

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

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

表1 Avalon從端口信號

1.jpg

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

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

2.1 

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

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

2.jpg

圖1 系統結構圖

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

2.2 接口模塊的設計

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

moduleSHT11(

clk,//系統時(shí)鐘

n_rest,//系統復位

data_i,//Avalon寫(xiě)數據總線(xiàn)

data_o,//Avalon讀數據總線(xiàn)

wr,//Avalon寫(xiě)請求

rd,//Avalon讀請求

sysclk,//系統時(shí)鐘

addr,//Avalon地址總線(xiàn)

SCK,//時(shí)鐘線(xiàn)輸出

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

);

2.3 行為模塊的實(shí)現

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

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

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

3.jpg

圖2 狀態(tài)機

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

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

2.4 軟件設計

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>