基于高速A/D轉換器的視頻數據采集系統
2.2 FIFO存儲器
uPD42280是一種2 Mbit的雙口FIFO(先入先出)存儲器。在本系統中作為A/D轉換數據的緩存,容量大且性價比較高,能滿足一幀圖像數據約25萬個像素點存儲的要求。A/D轉換數據按照一定的時鐘節拍順序寫入或讀出,它的讀寫時鐘速率最高可達33 MHz。uPD42280本身的數據是8 bit并行輸入輸出,通過控制它的WE引腳、WRST引腳、RE引腳和RRST引腳的電平高低,實現數據的寫入和讀取。圖4為uPD42280的讀、寫周期時序。本文引用地址:http://www.104case.com/article/195048.htm
在寫控制周期,WE若處于低有效狀態(WRST此時為高電平),數據在下一周期上升沿到來前寫入存儲器地址中;WE若處于高禁能狀態。寫入暫停,寫地址指針保持。在WE處于低有效狀態時。若WRST處于低電平,則寫地址指針將從當前地址回到地址0,WRST回復高電平后,數據也將從地址0開始寫入。在讀控制周期,RE若處于低有效狀態(RRST此時為高電平),數據在下一周期上升沿到時被讀取;RE若處于高禁能狀態,讀取暫停,讀地址指針保持。在RE處于低有效狀態時,若RRST處于低電平,則讀地址指針將從當前地址回到地址0,RRST回復高電平后,數據也將從地址0開始讀取。
在本系統中,uPD42280的讀寫時鐘與TLC5510的工作時鐘使用同一信號源(4 MHz),既保證了FIFO的寫操作與A/D轉換操作的同步,避免出現數據漏接或混接現象,又可以使數據讀取時,讀取速率僅由處理器IO口的讀取時間決定。通過處理器IO口控制讀、寫使能信號,讀、寫地址復位信號,可完成一幀圖像數據的讀寫和更新。在處理器的總線頻率為32 MHz時,單行視屏信號掃描時間內(約50 us),IO口最終可讀入約190個有效像素的灰度值。去除行消隱區和圖像中心對正需要省略的點,本系統每行視頻信號可采集到的有效像素點為160個。
需要注意的是,uPD42280本身外圍電路很簡單,只需要在電源與地之間加1個去耦電容即可。但是由于FIFO存儲器有別于RAM,是不能進行內部尋址操作的,只能是簡單的地址復位。所以在軟件控制時一定要注意邏輯,嚴格按照讀寫時序去控制4個引腳,才能保證一場圖像的完整寫入和讀取。
本系統創新之處在于將高速A/D轉換器TLC5510與FIFO存儲器uPD42280聯合使用,實現視頻信號的轉換和數據存儲。這樣做使得整個前端的轉換和存儲完全由幾個IO口控制,對單片機本身的性能要求低、資源要求少,僅僅用到了單片機的兩路中斷和多路普通IO口。這樣的設計使得本系統移植性很強,可用于多種單片機或DSP。并且這兩款核心器件都是8 bit并行數據輸入輸出,速度很快,可以實現視頻數據的高速傳輸。
3 軟件流程
軟件部分主要包括初始化、寫操作、讀操作和圖像處理。首先將處理器的IO口,中斷口初始化,PORTB8位作為數據入口,輸入使能;PORTK0~PORTK3作為存儲器的讀寫使能和地址控制線,輸出使能,PORTJ0、PORTJ1分別響應行、場中斷,上升沿觸發。
模擬信號相關文章:什么是模擬信號
晶振相關文章:晶振原理 攝像頭相關文章:攝像頭原理
評論