《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于SOPC技術(shù)的事故現(xiàn)場(chǎng)處理平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
基于SOPC技術(shù)的事故現(xiàn)場(chǎng)處理平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
摘要: 本文介紹了利用SOPC設(shè)計(jì)方法,以Altera公司的Nios軟核處理器為核心完成的事故現(xiàn)場(chǎng)處理平臺(tái)的設(shè)計(jì)。就其中最重要的兩部分——SCCB總線控制模塊和SRAM讀寫控制模塊的具體實(shí)現(xiàn)做了詳細(xì)介紹,并給出了SRAM寫控制器的實(shí)際仿真結(jié)果。最后,總結(jié)了SOPC的設(shè)計(jì)方法。
關(guān)鍵詞: CPLD SoPC
Abstract:
Key words :

摘 要:本文介紹了利用SOPC設(shè)計(jì)方法,以Altera公司的Nios軟核處理器為核心完成的事故現(xiàn)場(chǎng)處理平臺(tái)的設(shè)計(jì)。就其中最重要的兩部分——SCCB總線控制模塊和SRAM讀寫控制模塊的具體實(shí)現(xiàn)做了詳細(xì)介紹,并給出了SRAM寫控制器的實(shí)際仿真結(jié)果。最后,總結(jié)了SOPC的設(shè)計(jì)方法。
關(guān)鍵詞:SOPC;事故現(xiàn)場(chǎng)處理平臺(tái);IP核;SCCB總線

引言
當(dāng)前移動(dòng)警務(wù)的廣泛應(yīng)用,使得交警在事故現(xiàn)場(chǎng)就能夠?qū)φ厥滤緳C(jī)和車輛進(jìn)行現(xiàn)場(chǎng)處理。但是,大部分的應(yīng)用只是停留在車牌號(hào)碼等非常簡(jiǎn)單的文本數(shù)據(jù)的傳輸上,如果能夠?qū)⒁苿?dòng)警務(wù)的內(nèi)容拓展到圖像數(shù)據(jù),將事故現(xiàn)場(chǎng)的圖像等信息實(shí)時(shí)地傳給控制中心,就可以更加迅速和精確地對(duì)事故進(jìn)行現(xiàn)場(chǎng)處理。SOPC(Systems-on-a-Programmable Chip)是Altera公司大力倡導(dǎo)的基于PLD的SoC設(shè)計(jì)方法,有設(shè)計(jì)靈活、便捷的特點(diǎn),不僅在產(chǎn)品的性能、速度和連接上具有優(yōu)勢(shì),而且可以縮短上市時(shí)間、降低成本。本文介紹的利用SOPC方法,基于Altera公司的Nios軟核處理器的事故現(xiàn)場(chǎng)處理平臺(tái)是一臺(tái)便攜式的移動(dòng)處理系統(tǒng),可實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)采集、無線傳輸以及和控制中心通過無線方式交互數(shù)據(jù)的功能。

事故現(xiàn)場(chǎng)處理平臺(tái)
構(gòu)成及硬件設(shè)計(jì)
平臺(tái)構(gòu)成
事故現(xiàn)場(chǎng)處理平臺(tái)可以分為五個(gè)部分:圖像采集部分、壓縮存儲(chǔ)部分、無線傳輸部分、信息顯示部分和遠(yuǎn)端服務(wù)器部分,如圖1所示。除了外部必備的攝像頭、輸入輸出設(shè)備、無線模塊及大容量存儲(chǔ)器外,所有的控制邏輯全部和處理器一起,都集成在FPGA內(nèi)部,使得系統(tǒng)的體積、功耗及成本都有明顯的下降。而且,由于PCB板上走線不合理而帶來的對(duì)設(shè)計(jì)性能的影響被降到了最低。
硬件設(shè)計(jì)
本設(shè)計(jì)的硬件框圖如圖2所示。輸入輸出設(shè)備利用標(biāo)準(zhǔn)的GPIO實(shí)現(xiàn)控制,在Altera的Quartus II軟件中已經(jīng)集成了GPIO的控制模塊,只需通過SOPC Builder 軟件的圖形界面就可進(jìn)行添加。無線模塊的控制采用標(biāo)準(zhǔn)串口,其控制模塊也已集成。
需要自己開發(fā)的模塊就是SRAM的讀寫控制模塊。因?yàn)閳D像數(shù)據(jù)的緩存和處理需要用到大量的存儲(chǔ)空間,而開發(fā)板所提供的存儲(chǔ)資源顯然不夠,所以在采集板上也加上了外擴(kuò)的SRAM,需要為它們開發(fā)讀寫控制模塊。

SCCB總線控制模塊及
SRAM讀寫控制模塊的
設(shè)計(jì)與仿真
在本系統(tǒng)的設(shè)計(jì)過程中,最為重要和困難的部分就是將自己所需要的用戶IP核集成到FPGA資源中。下面詳細(xì)介紹一下這兩個(gè)模塊的設(shè)計(jì)和構(gòu)成:
SCCB總線控制模塊
系統(tǒng)中使用的攝像頭型號(hào)是OmniVision公司的OV7649 CAMERACHIPS芯片及其配套的CMOS鏡頭。這是一款低電壓的CMOS圖像傳感器芯片,通過其特有的SCCB(Serial Camera Control Bus)總線的控制,可以實(shí)現(xiàn)全幀、半幀、子采樣等各種形式的圖像輸出,輸出格式可選擇配制成YUV、RGB或者原始RGB等,另外可進(jìn)行自動(dòng)曝光控制,圖像增益控制等。而所有的配置,都是通過SCCB總線進(jìn)行更改。
狀態(tài)機(jī)模型可簡(jiǎn)化為6種狀態(tài):Idle空閑;Bit_Start比特開始;Bit_Mid_LOW比特傳輸中低位傳輸;Bit_Mid_HIGH比特傳輸中高位傳輸;Bit_End比特傳輸結(jié)束;Trans_End整個(gè)傳輸結(jié)束。根據(jù)具體的跳轉(zhuǎn)流程,用VHDL語(yǔ)言中的條件語(yǔ)句可以方便地完成,在此不作贅述。
TYPE states IS(Idle, Bit_Start,Bit_Mid_LOW,Bit_ Mid_HIGH,Bit_End, Trans_End);
SIGNAL nowState: states;
下面對(duì)其中填充幀數(shù)據(jù)的過程進(jìn)行描述:
case nowState is
when Idle =>
......
when Bit_Start =>
......
end case;
在仿真過程中,由于要就很長(zhǎng)一段時(shí)間的信號(hào)進(jìn)行分析,所以限于篇幅,無法將仿真結(jié)果盡列于此。在工程實(shí)際使用中,SCCB總線控制模塊已經(jīng)被驗(yàn)證無誤,能夠正確地實(shí)現(xiàn)攝像頭的配置,并且拍出的圖片質(zhì)量也達(dá)到了預(yù)期水平。
SRAM讀寫
控制模塊
系統(tǒng)中選用的存儲(chǔ)芯片為IDT71V424。和所有的存儲(chǔ)芯片一樣,IDT71V424芯片通過片選(CS)、讀使能(OE)、寫使能(WE)三條控制線進(jìn)行控制。設(shè)計(jì)的難點(diǎn)并不是怎樣將數(shù)據(jù)寫進(jìn)SRAM,而是怎樣按照攝像頭的數(shù)據(jù)輸出速率將數(shù)據(jù)寫進(jìn)SRAM。攝像頭的數(shù)據(jù)輸出由場(chǎng)同步信號(hào)(VSYNC)和行同步信號(hào)(HREF)進(jìn)行同步。
實(shí)現(xiàn)時(shí)沒有直接用CPU對(duì)CS、WE、OE信號(hào)進(jìn)行控制,而是產(chǎn)生一個(gè)doWrite信號(hào),當(dāng)此信號(hào)為高電平時(shí),控制相應(yīng)的CS、WE、OE信號(hào)進(jìn)行寫操作,在兩個(gè)獨(dú)立進(jìn)程中實(shí)現(xiàn)。這樣做的好處是使得各部分的耦合盡量的小,便于各自調(diào)試。
為了將輸出數(shù)據(jù)與寫入數(shù)據(jù)進(jìn)行同步,系統(tǒng)不是對(duì)第一個(gè)場(chǎng)同步信號(hào)就作出反應(yīng),而是數(shù)過若干個(gè)場(chǎng)同步信號(hào)(VSYNC)后,等一切穩(wěn)定運(yùn)行了,才開始接收數(shù)據(jù)。
仿真結(jié)果如圖3所示,在每個(gè)行周期內(nèi),數(shù)據(jù)都被正確地寫到了數(shù)據(jù)線上,Data_cam信號(hào)是攝像頭的輸出數(shù)據(jù),以偶數(shù)遞增的數(shù)據(jù)作為輸入的模擬,Data_sram是SRAM的數(shù)據(jù)線,只要在每個(gè)像素時(shí)鐘pclk的上升沿讀取Data_cam的數(shù)據(jù),就能保證數(shù)據(jù)的正確寫入。
由仿真結(jié)果可以很清楚的看到,設(shè)計(jì)是合理和有效的。并且,在工程實(shí)踐中,該SRAM控制器也已經(jīng)被證明能夠可靠工作。

設(shè)計(jì)總結(jié)
目前,單個(gè)芯片所能提供的晶體管數(shù)量已經(jīng)超過了大多數(shù)電子系統(tǒng)的需求,如何高效、充分地發(fā)揮這些器件資源就變成了一項(xiàng)重大的挑戰(zhàn)。任何一個(gè)電子系統(tǒng)設(shè)計(jì)幾乎都會(huì)用到一些已經(jīng)存在的IP模塊,如微處理器、DSP、存儲(chǔ)器等,與傳統(tǒng)IC設(shè)計(jì)不同的是,嵌入式軟件的設(shè)計(jì)也被集成到了SOPC的設(shè)計(jì)流程中。在SOPC的設(shè)計(jì)實(shí)踐中,我們認(rèn)識(shí)到設(shè)計(jì)方法的革命就是需要完成一個(gè)轉(zhuǎn)變——從以功能設(shè)計(jì)為基礎(chǔ)的傳統(tǒng)流程轉(zhuǎn)變到以功能整合為基礎(chǔ)的全新流程。集成也是一種創(chuàng)新。在事故現(xiàn)場(chǎng)平臺(tái)的設(shè)計(jì)過程中有如下體會(huì):
充分利用SOPC
設(shè)計(jì)方法的靈活性
既然是便攜式的設(shè)備,體積、功耗、集成度等就成為首先考慮的因素,器件選擇要盡可能地為這個(gè)目標(biāo)服務(wù)。SOPC設(shè)計(jì)方法的精髓就是將所有的模塊集成到一塊芯片中,避免過多的外圍電路和器件造成體積、功耗的增多和可靠性的下降。采用USB模塊或CMOS鏡頭完成圖像數(shù)據(jù)采集任務(wù)的原因就是,其控制邏輯和協(xié)議的實(shí)現(xiàn)都可以在FPGA內(nèi)部解決,而如果采用模擬器件,則不可避免地要增加外圍電路,造成種種困難。
系統(tǒng)化和模塊化的
設(shè)計(jì)方法和思路
系統(tǒng)性和自上而下的設(shè)計(jì)概念一直貫徹于設(shè)計(jì)中,始終著眼于通過各個(gè)模塊的有效連結(jié)和運(yùn)轉(zhuǎn),構(gòu)成一個(gè)完整的閉環(huán)系統(tǒng)。通過Nios軟核處理器將各個(gè)模塊有機(jī)連接,不論對(duì)各個(gè)模塊的具體實(shí)現(xiàn)細(xì)節(jié)有怎樣地更改,都不會(huì)改變最初的系統(tǒng)設(shè)計(jì)的功能和性能,可以保證系統(tǒng)的完整性和可行性。
系統(tǒng)是由模塊有機(jī)組成的,而Nios的最大優(yōu)勢(shì)則是模塊化的硬件結(jié)構(gòu),以及由此帶來的靈活性和可裁減性。在以團(tuán)隊(duì)為單位的設(shè)計(jì)過程中,模塊化便于將系統(tǒng)的任務(wù)分解,使得各人有目的的去解決單個(gè)模塊的設(shè)計(jì)、調(diào)試問題,不斷改進(jìn),最后再將各個(gè)模塊按照預(yù)先定義好的標(biāo)準(zhǔn)接口進(jìn)行有機(jī)整合。這既符合當(dāng)前業(yè)界實(shí)際的開發(fā)流程,也方便了實(shí)驗(yàn)室研究性學(xué)習(xí)的培養(yǎng)方式。
系統(tǒng)的可擴(kuò)展性
由于QuartusII軟件中SOPC Builder對(duì)外圍接口的擴(kuò)展極為方便,而且也支持直接對(duì)模塊進(jìn)行更新、升級(jí),使得系統(tǒng)的擴(kuò)展和完善變得更加容易。
可擴(kuò)展性不僅表現(xiàn)在對(duì)既有設(shè)計(jì)的升級(jí)上,如果對(duì)系統(tǒng)不同的部分作不同程度地修改,再進(jìn)行重新組合,就能夠帶來全新的應(yīng)用。比如說,將無線模塊換成網(wǎng)絡(luò)接口,那么就可以用作監(jiān)控系統(tǒng);再比如說,將前端攝像頭部分換成特殊數(shù)據(jù)的輸入,就可以作為遠(yuǎn)程無線抄表系統(tǒng)。這樣在應(yīng)用方面的可擴(kuò)展性,也正體現(xiàn)了設(shè)計(jì)之初的靈活、可裁減等特點(diǎn),使得產(chǎn)品的應(yīng)用領(lǐng)域大大拓寬,同時(shí)也延長(zhǎng)了產(chǎn)品的壽命周期。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。