摘 要:本文介紹了利用SOPC設計方法,,以Altera公司的Nios軟核處理器為核心完成的事故現(xiàn)場處理平臺的設計。就其中最重要的兩部分——SCCB總線控制模塊和SRAM讀寫控制模塊的具體實現(xiàn)做了詳細介紹,,并給出了SRAM寫控制器的實際仿真結果,。最后,總結了SOPC的設計方法,。
關鍵詞:SOPC,;事故現(xiàn)場處理平臺;IP核;SCCB總線
引言
當前移動警務的廣泛應用,,使得交警在事故現(xiàn)場就能夠對肇事司機和車輛進行現(xiàn)場處理,。但是,大部分的應用只是停留在車牌號碼等非常簡單的文本數(shù)據(jù)的傳輸上,,如果能夠將移動警務的內容拓展到圖像數(shù)據(jù),,將事故現(xiàn)場的圖像等信息實時地傳給控制中心,就可以更加迅速和精確地對事故進行現(xiàn)場處理,。SOPC(Systems-on-a-Programmable Chip)是Altera公司大力倡導的基于PLD的SoC設計方法,,有設計靈活、便捷的特點,,不僅在產品的性能,、速度和連接上具有優(yōu)勢,而且可以縮短上市時間,、降低成本,。本文介紹的利用SOPC方法,基于Altera公司的Nios軟核處理器的事故現(xiàn)場處理平臺是一臺便攜式的移動處理系統(tǒng),,可實現(xiàn)現(xiàn)場數(shù)據(jù)采集,、無線傳輸以及和控制中心通過無線方式交互數(shù)據(jù)的功能。
事故現(xiàn)場處理平臺
構成及硬件設計
平臺構成
事故現(xiàn)場處理平臺可以分為五個部分:圖像采集部分,、壓縮存儲部分,、無線傳輸部分、信息顯示部分和遠端服務器部分,,如圖1所示,。除了外部必備的攝像頭、輸入輸出設備,、無線模塊及大容量存儲器外,,所有的控制邏輯全部和處理器一起,都集成在FPGA內部,,使得系統(tǒng)的體積,、功耗及成本都有明顯的下降。而且,,由于PCB板上走線不合理而帶來的對設計性能的影響被降到了最低,。
硬件設計
本設計的硬件框圖如圖2所示。輸入輸出設備利用標準的GPIO實現(xiàn)控制,,在Altera的Quartus II軟件中已經集成了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總線控制模塊已經被驗證無誤,能夠正確地實現(xiàn)攝像頭的配置,,并且拍出的圖片質量也達到了預期水平,。
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信號進行控制,而是產生一個doWrite信號,,當此信號為高電平時,,控制相應的CS、WE,、OE信號進行寫操作,,在兩個獨立進程中實現(xiàn)。這樣做的好處是使得各部分的耦合盡量的小,,便于各自調試,。
為了將輸出數(shù)據(jù)與寫入數(shù)據(jù)進行同步,系統(tǒng)不是對第一個場同步信號就作出反應,,而是數(shù)過若干個場同步信號(VSYNC)后,,等一切穩(wěn)定運行了,才開始接收數(shù)據(jù),。
仿真結果如圖3所示,,在每個行周期內,數(shù)據(jù)都被正確地寫到了數(shù)據(jù)線上,,Data_cam信號是攝像頭的輸出數(shù)據(jù),,以偶數(shù)遞增的數(shù)據(jù)作為輸入的模擬,Data_sram是SRAM的數(shù)據(jù)線,,只要在每個像素時鐘pclk的上升沿讀取Data_cam的數(shù)據(jù),,就能保證數(shù)據(jù)的正確寫入。
由仿真結果可以很清楚的看到,,設計是合理和有效的,。并且,在工程實踐中,,該SRAM控制器也已經被證明能夠可靠工作,。
設計總結
目前,單個芯片所能提供的晶體管數(shù)量已經超過了大多數(shù)電子系統(tǒng)的需求,,如何高效,、充分地發(fā)揮這些器件資源就變成了一項重大的挑戰(zhàn)。任何一個電子系統(tǒng)設計幾乎都會用到一些已經存在的IP模塊,,如微處理器,、DSP,、存儲器等,與傳統(tǒng)IC設計不同的是,,嵌入式軟件的設計也被集成到了SOPC的設計流程中。在SOPC的設計實踐中,,我們認識到設計方法的革命就是需要完成一個轉變——從以功能設計為基礎的傳統(tǒng)流程轉變到以功能整合為基礎的全新流程,。集成也是一種創(chuàng)新。在事故現(xiàn)場平臺的設計過程中有如下體會:
充分利用SOPC
設計方法的靈活性
既然是便攜式的設備,,體積,、功耗、集成度等就成為首先考慮的因素,,器件選擇要盡可能地為這個目標服務,。SOPC設計方法的精髓就是將所有的模塊集成到一塊芯片中,避免過多的外圍電路和器件造成體積,、功耗的增多和可靠性的下降,。采用USB模塊或CMOS鏡頭完成圖像數(shù)據(jù)采集任務的原因就是,其控制邏輯和協(xié)議的實現(xiàn)都可以在FPGA內部解決,,而如果采用模擬器件,,則不可避免地要增加外圍電路,造成種種困難,。
系統(tǒng)化和模塊化的
設計方法和思路
系統(tǒng)性和自上而下的設計概念一直貫徹于設計中,,始終著眼于通過各個模塊的有效連結和運轉,構成一個完整的閉環(huán)系統(tǒng),。通過Nios軟核處理器將各個模塊有機連接,,不論對各個模塊的具體實現(xiàn)細節(jié)有怎樣地更改,都不會改變最初的系統(tǒng)設計的功能和性能,,可以保證系統(tǒng)的完整性和可行性,。
系統(tǒng)是由模塊有機組成的,而Nios的最大優(yōu)勢則是模塊化的硬件結構,,以及由此帶來的靈活性和可裁減性,。在以團隊為單位的設計過程中,模塊化便于將系統(tǒng)的任務分解,,使得各人有目的的去解決單個模塊的設計,、調試問題,不斷改進,,最后再將各個模塊按照預先定義好的標準接口進行有機整合,。這既符合當前業(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)了設計之初的靈活,、可裁減等特點,,使得產品的應用領域大大拓寬,同時也延長了產品的壽命周期,。