基于DSP+FPGA的多混沌實(shí)時(shí)視頻圖像加密系統
2 系統的總體設計
選用TI公司的TMS320C6713 DSP,該款DSP為高性能32位浮點(diǎn)型,其主頻可達到300MHz,處理速度高達2400MIPS,片上共有264k×8位存儲器,內置2個(gè)MCASP、2個(gè)MCBSP、2個(gè)I2C、1組GPIO、2個(gè)32位定時(shí)器、1個(gè)16位主機接口HPI和32位EMIF總線(xiàn)。選用Altera公司CycloneII系列的EP2C5 FPGA,該款FPGA擁有4608個(gè)邏輯單元,片上共計119808比特的RAM,2個(gè)高性能的鎖相環(huán),13個(gè)18×18的硬件乘法器以及具有142個(gè)用戶(hù)可用的IO口。
系統的CCD攝像頭直接與視頻解碼芯片SAA7111相連,SAA7111將采集到的模擬圖像數據轉換成RGB565格式的圖像數據,FPGA將接收到的圖像數據存入到SDRAM1,然后發(fā)送一個(gè)信號給DSP;FPGA同時(shí)檢測DSP對SDRAM2的數據加密完了的標志信號,這時(shí)FPGA讀取SDRAM2中的數據,將數字圖像數據通過(guò)ADV7123轉換模擬圖像數據,通過(guò)VGA接口顯示。當DSP得到FPGA發(fā)送過(guò)來(lái)中斷信號后讀取SDRAM1的圖像數據,然后根據多混沌加密算法對其進(jìn)行加密,然后將加密后的數據存儲到SDRAM1中,同時(shí)發(fā)送一個(gè)加密完成的標志信號給FPGA。系統整體設計框圖如圖2所示。本文引用地址:http://dyxdggzs.com/article/201610/306065.htm
2.1 FPGA子系統設計
FPGA子系統需要實(shí)現的功能包括SAA7111的初始化、SDRAM接口控制以及VGA實(shí)時(shí)顯示模塊。
視頻解碼芯片SAA7111在系統的視頻輸入處理部分,需要對其進(jìn)行合理的配置后,才能實(shí)現將模擬視頻信號轉換成相應格式的數字圖像數據。SAA7111片內有32個(gè)控制寄存器,其中20個(gè)是可編程的,FPGA需通過(guò)I2C接口對其進(jìn)行初始化,初始化流程圖如圖3所示。在對SAA7111進(jìn)行配置時(shí),首先時(shí)鐘信號采用400kHz較為可靠,其次是I2C總線(xiàn)的開(kāi)始信號、停止信號和應答信號,再次是設置好SAA7111相應寄存器的數據。
SDRAM的主要任務(wù)是完成圖像數據的存儲及加密數據輸出。FPGA控制SDRAM程序主要由命令狀態(tài)機模塊和數據傳輸2個(gè)子模塊組成。系統上電時(shí)需有100-200μs的等待時(shí)間,然后FPGA對其進(jìn)行初始化。在進(jìn)行完初始化之后,便可以對SDRAM進(jìn)行讀寫(xiě)控制。對SDRAM進(jìn)行讀寫(xiě)操作時(shí),需先激活要讀寫(xiě)的行和列,才可以對相應的行列進(jìn)行數據讀寫(xiě),讀寫(xiě)完成后FPGA將對SDRAM產(chǎn)生一個(gè)預充電的命令。
FPGA對SDRAM1和SDRAM2是采取乒乓緩存的方式控制。假如這時(shí)FPGA對SDRAM1進(jìn)行存儲圖像數據,寫(xiě)完數據后對SDRAM2進(jìn)行讀數據;當FPGA對SDRAM1寫(xiě)完數據后,DSP讀取SDRAM1里的數據,加密后將數據存入SDRAM1;下一次就是FPGA對SDRAM2進(jìn)行寫(xiě)數據,如此反復交叉進(jìn)行操作。
VGA顯示子模塊主要是產(chǎn)生VGA時(shí)序控制信號,VGA時(shí)序控制信號主要包括RGB數據信號、行同步信號及場(chǎng)同步信號。
評論