基于SOPC技術的事故現(xiàn)場處理平臺設計與實現(xiàn)
摘 要:本文介紹了利用SOPC設計方法,以Altera公司的Nios軟核處理器為核心完成的事故現(xiàn)場處理平臺的設計。就其中最重要的兩部分——SCCB總線控制模塊和SRAM讀寫控制模塊的具體實現(xiàn)做了詳細介紹,并給出了SRAM寫控制器的實際仿真結果。最后,總結了SOPC的設計方法。
關鍵詞:SOPC;事故現(xiàn)場處理平臺;IP核;SCCB總線
引言
當前移動警務的廣泛應用,使得交警在事故現(xiàn)場就能夠對肇事司機和車輛進行現(xiàn)場處理。但是,大部分的應用只是停留在車牌號碼等非常簡單的文本數(shù)據(jù)的傳輸上,如果能夠將移動警務的內(nèi)容拓展到圖像數(shù)據(jù),將事故現(xiàn)場的圖像等信息實時地傳給控制中心,就可以更加迅速和精確地對事故進行現(xiàn)場處理。SOPC(Systems-on-a-Programmable Chip)是Altera公司大力倡導的基于PLD的SoC設計方法,有設計靈活、便捷的特點,不僅在產(chǎn)品的性能、速度和連接上具有優(yōu)勢,而且可以縮短上市時間、降低成本。本文介紹的利用SOPC方法,基于Altera公司的Nios軟核處理器的事故現(xiàn)場處理平臺是一臺便攜式的移動處理系統(tǒng),可實現(xiàn)現(xiàn)場數(shù)據(jù)采集、無線傳輸以及和控制中心通過無線方式交互數(shù)據(jù)的功能。
事故現(xiàn)場處理平臺
構成及硬件設計
平臺構成
事故現(xiàn)場處理平臺可以分為五個部分:圖像采集部分、壓縮存儲部分、無線傳輸部分、信息顯示部分和遠端服務器部分,如圖1所示。除了外部必備的攝像頭、輸入輸出設備、無線模塊及大容量存儲器外,所有的控制邏輯全部和處理器一起,都集成在FPGA內(nèi)部,使得系統(tǒng)的體積、功耗及成本都有明顯的下降。而且,由于PCB板上走線不合理而帶來的對設計性能的影響被降到了最低。
硬件設計
本設計的硬件框圖如圖2所示。輸入輸出設備利用標準的GPIO實現(xiàn)控制,在Altera的Quartus II軟件中已經(jīng)集成了GPIO的控制模塊,只需通過SOPC Builder 軟件的圖形界面就可進行添加。無線模塊的控制采用標準串口,其控制模塊也已集成。
需要自己開發(fā)的模塊就是SRAM的讀寫控制模塊。因為圖像數(shù)據(jù)的緩存和處理需要用到大量的存儲空間,而開發(fā)板所提供的存儲資源顯然不夠,所以在采集板上也加上了外擴的SRAM,需要為它們開發(fā)讀寫控制模塊。
SCCB總線控制模塊及
SRAM讀寫控制模塊的
設計與仿真
在本系統(tǒng)的設計過程中,最為重要和困難的部分就是將自己所需要的用戶IP核集成到FPGA資源中。下面詳細介紹一下這兩個模塊的設計和構成:
SCCB總線控制模塊
系統(tǒng)中使用的攝像頭型號是OmniVision公司的OV7649 CAMERACHIPS芯片及其配套的CMOS鏡頭。這是一款低電壓的CMOS圖像傳感器芯片,通過其特有的SCCB(Serial Camera Control Bus)總線的控制,可以實現(xiàn)全幀、半幀、子采樣等各種形式的圖像輸出,輸出格式可選擇配制成YUV、RGB或者原始RGB等,另外可進行自動曝光控制,圖像增益控制等。而所有的配置,都是通過SCCB總線進行更改。
狀態(tài)機模型可簡化為6種狀態(tài):Idle空閑;Bit_Start比特開始;Bit_Mid_LOW比特傳輸中低位傳輸;Bit_Mid_HIGH比特傳輸中高位傳輸;Bit_End比特傳輸結束;Trans_End整個傳輸結束。根據(jù)具體的跳轉流程,用VHDL語言中的條件語句可以方便地完成,在此不作贅述。
TYPE states IS(Idle, Bit_Start,Bit_Mid_LOW,Bit_ Mid_HIGH,Bit_End, Trans_End);
SIGNAL nowState: states;
下面對其中填充幀數(shù)據(jù)的過程進行描述:
case nowState is
when Idle =>
......
when Bit_Start =>
......
end case;
在仿真過程中,由于要就很長一段時間的信號進行分析,所以限于篇幅,無法將仿真結果盡列于此。在工程實際使用中,SCCB總線控制模塊已經(jīng)被驗證無誤,能夠正確地實現(xiàn)攝像頭的配置,并且拍出的圖片質(zhì)量也達到了預期水平。
SRAM讀寫
控制模塊
系統(tǒng)中選用的存儲芯片為IDT71V424。和所有的存儲芯片一樣,IDT71V424芯片通過片選(CS)、讀使能(OE)、寫使能(WE)三條控制線進行控制。設計的難點并不是怎樣將數(shù)據(jù)寫進SRAM,而是怎樣按照攝像頭的數(shù)據(jù)輸出速率將數(shù)據(jù)寫進SRAM。攝像頭的數(shù)據(jù)輸出由場同步信號(VSYNC)和行同步信號(HREF)進行同步。
實現(xiàn)時沒有直接用CPU對CS、WE、OE信號進行控制,而是產(chǎn)生一個doWrite信號,當此信號為高電平時,控制相應的CS、WE、OE信號進行寫操作,在兩個獨立進程中實現(xiàn)。這樣做的好處是使得各部分的耦合盡量的小,便于各自調(diào)試。
為了將輸出數(shù)據(jù)與寫入數(shù)據(jù)進行同步,系統(tǒng)不是對第一個場同步信號就作出反應,而是數(shù)過若干個場同步信號(VSYNC)后,等一切穩(wěn)定運行了,才開始接收數(shù)據(jù)。
仿真結果如圖3所示,在每個行周期內(nèi),數(shù)據(jù)都被正確地寫到了數(shù)據(jù)線上,Data_cam信號是攝像頭的輸出數(shù)據(jù),以偶數(shù)遞增的數(shù)據(jù)作為輸入的模擬,Data_sram是SRAM的數(shù)據(jù)線,只要在每個像素時鐘pclk的上升沿讀取Data_cam的數(shù)據(jù),就能保證數(shù)據(jù)的正確寫入。
由仿真結果可以很清楚的看到,設計是合理和有效的。并且,在工程實踐中,該SRAM控制器也已經(jīng)被證明能夠可靠工作。
設計總結
目前,單個芯片所能提供的晶體管數(shù)量已經(jīng)超過了大多數(shù)電子系統(tǒng)的需求,如何高效、充分地發(fā)揮這些器件資源就變成了一項重大的挑戰(zhàn)。任何一個電子系統(tǒng)設計幾乎都會用到一些已經(jīng)存在的IP模塊,如微處理器、DSP、存儲器等,與傳統(tǒng)IC設計不同的是,嵌入式軟件的設計也被集成到了SOPC的設計流程中。在SOPC的設計實踐中,我們認識到設計方法的革命就是需要完成一個轉變——從以功能設計為基礎的傳統(tǒng)流程轉變到以功能整合為基礎的全新流程。集成也是一種創(chuàng)新。在事故現(xiàn)場平臺的設計過程中有如下體會:
充分利用SOPC
設計方法的靈活性
既然是便攜式的設備,體積、功耗、集成度等就成為首先考慮的因素,器件選擇要盡可能地為這個目標服務。SOPC設計方法的精髓就是將所有的模塊集成到一塊芯片中,避免過多的外圍電路和器件造成體積、功耗的增多和可靠性的下降。采用USB模塊或CMOS鏡頭完成圖像數(shù)據(jù)采集任務的原因就是,其控制邏輯和協(xié)議的實現(xiàn)都可以在FPGA內(nèi)部解決,而如果采用模擬器件,則不可避免地要增加外圍電路,造成種種困難。
系統(tǒng)化和模塊化的
設計方法和思路
系統(tǒng)性和自上而下的設計概念一直貫徹于設計中,始終著眼于通過各個模塊的有效連結和運轉,構成一個完整的閉環(huán)系統(tǒng)。通過Nios軟核處理器將各個模塊有機連接,不論對各個模塊的具體實現(xiàn)細節(jié)有怎樣地更改,都不會改變最初的系統(tǒng)設計的功能和性能,可以保證系統(tǒng)的完整性和可行性。
系統(tǒng)是由模塊有機組成的,而Nios的最大優(yōu)勢則是模塊化的硬件結構,以及由此帶來的靈活性和可裁減性。在以團隊為單位的設計過程中,模塊化便于將系統(tǒng)的任務分解,使得各人有目的的去解決單個模塊的設計、調(diào)試問題,不斷改進,最后再將各個模塊按照預先定義好的標準接口進行有機整合。這既符合當前業(yè)界實際的開發(fā)流程,也方便了實驗室研究性學習的培養(yǎng)方式。
系統(tǒng)的可擴展性
由于QuartusII軟件中SOPC Builder對外圍接口的擴展極為方便,而且也支持直接對模塊進行更新、升級,使得系統(tǒng)的擴展和完善變得更加容易。
可擴展性不僅表現(xiàn)在對既有設計的升級上,如果對系統(tǒng)不同的部分作不同程度地修改,再進行重新組合,就能夠帶來全新的應用。比如說,將無線模塊換成網(wǎng)絡接口,那么就可以用作監(jiān)控系統(tǒng);再比如說,將前端攝像頭部分換成特殊數(shù)據(jù)的輸入,就可以作為遠程無線抄表系統(tǒng)。這樣在應用方面的可擴展性,也正體現(xiàn)了設計之初的靈活、可裁減等特點,使得產(chǎn)品的應用領域大大拓寬,同時也延長了產(chǎn)品的壽命周期。■
參考文獻
1.周博等.挑戰(zhàn)SOC——基于NIOS的SOPC設計與實踐.北京:清華大學出版社,2004.7
評論