在SOPC上,從狀態機的角度,介紹一種SCCB控制核的VHDL設計方法。將其設計模塊嵌入到FPGA中用于實現對SCCB總線的控制。能利用SCCB總線來完成CMOS圖像傳感芯片OV7649參數的配置,并配合NIOS軟核處理器的軟件實現對事故現場處理系統中圖像的采集與處理。最后給出在QuartusII軟件平臺中進行EDA的綜合結果與時序仿真圖。
引言
我們開發的基于SOPC的事故現場處理系統可實現現場圖像采集,圖像數據壓縮,無線傳輸,以及和遠端控制中心通過無線方式交互數據的功能。系統分為5個部分:圖像采集部分,壓縮存儲部分,無線傳輸部分,信息顯示部分,遠端服務器部分。系統構成框圖如圖1所示:

圖1 事故現場處理平臺構成框圖
本系統采用了Altera公司的APEX EP20K 200E芯片, 該芯片利用了Altera公司的SOPC――Nios軟核處理器技術,Nios軟核處理器是一個基于流水線技術設計的通用RISC微處理器,通過將包括16或32位高性能處理器在內的多種應用模塊嵌入到一個通用的FPGA/CPLD內,并針對Altera公司的可編程系統的設計思想做了相應的優化,邏輯器件實現了一個完全可重置的嵌入式系統。NIOS最大的優點在于它的靈活性,可裁減性,能夠將CPU和FPGA的優點集于一身,真正在FPGA中實現SOPC。SOPC( System on a Programmable Chip),即片上可編程系統,與傳統的SOC設計相比,其設計更靈活、更便捷,不僅性能、速度、連接具有優勢,而且可以縮短上市時間。
為了實現數據圖像的采集,必須有效控制SCCB總線來完成對CMOS圖像傳感芯片OV7649參數的配置。SCCB (Serial Camera Control Bus)串行控制總線接口提供簡單的控制方式,通過SCCB接口,我們可以對CMOS圖像傳感芯片OV7649內部所有寄存器的值進行修改,從而完成對0V7649的控制。SCCB總線是雙向、兩線或三線(multi-slave)、串行接口標準,具有總線仲裁機制,非常適合在器件之間進行近距離、非經常性的數據通信。由于本系統中只使用一個CMOS圖像傳感芯片,故采用兩線SCCB總線機制。我們沒有使用傳統的軟件編程實現SCCB控制的方法,從系統小型化,充分利用FPGA的邏輯資源,提高硬件系統集成度的角度出發,選定在FPGA內自行設計SCCB控制核的方法,實現對CMOS圖像傳感芯片OV7649參數的配置。下面著重介紹如何使用VHDL進行SCCB總線控制核設計。
一、 總體設計思想
SIO_C和SIO_D分別為SCCB總線的時鐘線和數據線。目前,SCCB總線通信協議只支持100Kb/s或400Kb/s的傳輸速度,并且支持兩種地址形式:①從設備地址(ID Address,8bit),分為讀地址和寫地址,高7位用于選中芯片, 第0位是讀/寫控制位(R/W),決定是對該芯片進行讀或寫操作;②內部寄存器單元地址(Sub_ Address,8bit),用于決定對內部的哪個寄存器單元進行操作,通常還支持地址單元連續的多字節順序讀寫操作。SCCB控制總線功能的實現完全是依靠SIO_C、SIO_D兩條總線上電平的狀態以及兩者之間的相互配合實現的。SCCB總線傳輸的啟動和停止條件如圖2所示:
熱點新聞
推薦產品