當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]引言SOPC(System On a Programmable Chip,可編程芯片系統(tǒng))就是在一個(gè)可編程芯片上實(shí)現(xiàn)一個(gè)電子系統(tǒng)的技術(shù)。SOPC是可編程邏輯器件技術(shù)和SoC(System on Chip)技術(shù)發(fā)展與融合的產(chǎn)物[1?2]。SOPC的關(guān)鍵技術(shù)之一就是IP核,

引言

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

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

1 Avalon總線

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

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

表1 Avalon從端口信號(hào)

 

 

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

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

2.1 SHT11溫濕度傳感器

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

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

 

 

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

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

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

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

moduleSHT11(

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

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

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

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

wr,//Avalon寫(xiě)請(qǐng)求

rd,//Avalon讀請(qǐng)求

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

addr,//Avalon地址總線

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

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

);

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

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

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

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

 

 

圖2 狀態(tài)機(jī)

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

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

2.4 軟件設(shè)計(jì)

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

 

 

圖3 時(shí)序仿真圖

 

 

圖4 Avalon接口信號(hào)

由于在NiosII IDE 環(huán)境下可直接編寫(xiě)用戶程序,所以可以不用編寫(xiě)驅(qū)動(dòng)程序。在NiosII IDE 環(huán)境下,可直接調(diào)用函數(shù)IOWR (BASE,OFFSET,DATA) 和IORD(BASE ,OFFSET) 對(duì)內(nèi)部寄存器進(jìn)行讀寫(xiě)。Avalon總線在wr和rd的控制下進(jìn)行讀寫(xiě)。

3 測(cè)試

農(nóng)業(yè)智能大棚(該花卉的適宜溫度是18 ℃,適宜濕度是58 RH),也就是棚內(nèi)維持在作物適宜生長(zhǎng)的溫度、濕度等。若有變化,其將會(huì)調(diào)節(jié)相應(yīng)的外圍設(shè)備,來(lái)保持最佳環(huán)境。在大棚中,在測(cè)試節(jié)點(diǎn)上,SHT11監(jiān)測(cè)實(shí)時(shí)的溫度和濕度,將數(shù)據(jù)送到nRF24L01,數(shù)據(jù)通過(guò)基站最終到達(dá)終端虛擬控制中心。其所獲得的數(shù)據(jù)變化曲線如圖5、圖6所示。

 

 

圖5 溫度隨時(shí)間的變化曲線圖 圖6 濕度隨時(shí)間的變化曲線圖

結(jié)語(yǔ)

本文介紹了基于Avalon總線SHT11溫濕度傳感器自定義IP核的開(kāi)發(fā)流程,利用有限狀態(tài)機(jī)設(shè)計(jì)了驅(qū)動(dòng)硬件邏輯,并且基于NiosII嵌入式處理器構(gòu)建了一個(gè)用戶定制的嵌入式系統(tǒng)。在SOPC中,設(shè)計(jì)人員可以靈活添加IP核,減輕設(shè)計(jì)負(fù)擔(dān),避免重復(fù)工作。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉