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