基于MAX7456的字符疊加系統設計
1.3 系統軟件設計
該系統通過串口接收命令,然后由中斷處理程序顯示疊加字符的軟件流程如圖3所示。本文引用地址:http://www.j9360.com/article/187799.htm
上電后,系統先對串口進行初始化,然后設置視頻的輸出模式和線程模式,接著單片機就等待串口傳來的命令,當有命令滿足中斷條件時,單片機進入中斷處理程序,將要顯示的字符在指定的位置上以指定的屬性疊加在視頻信號上。
單片機與MAX7456的通信主要是通過SPI接口來實現的,SPI的時序圖如圖4所示。當單片機向MAX7456寫數據時,首先拉低使能SPI口,在SCLK上升沿數據輸入SDIN。當
變為高電平時,數據被鎖存至輸入寄存器,如果
在傳輸過程中變為高電平,則本次操作失敗。
變為低電平后,器件等待第一個輸入到SDIN中的字節。以確定所執行數據傳輸的類型。SPI命令為16位,高8位代表寄存器地址,低8位代表數據。
2 創建新字符
由于MAX7456器件內部只集成了256個字符,這些字符并不能滿足所有的需要,因此需要創建所需要的字符。用戶定義的字符集結合輸入視頻流產生CVBS和OSD視頻輸出。最多可存儲256個12×18像素字符,可以進行動態設置。在525線模式時,顯示13行x30字符;在625線模式時,顯示16行x30字符。MAX7456 OSD含有兩組存儲器:顯示存儲器(SRAM)和非易失字符存儲器(NVM)。
顯示存儲器(SRAM)存儲480個字符地址,這些地址“指向”存儲在NVM字符存儲器中的字符。顯示存儲器中的內容可由用戶編程,具有SPI兼容串行接口。顯示存儲器地址對應于監視器的固定位置。每一字符都需要兩個字節,第1個字節含有字符存儲器中的字符數,第2個字節含有字符屬性狀態位,字符從左向右,自上而下排序。
非易失字符存儲器存儲要顯示的字符或圖形映射。字符存儲器中的內容可由用戶編程,采用SPI兼容串行接口。每一字符含有12行×18列像素。每一像素含有2個比特:00=黑色,不透明;0l=透明;10=白色,不透明;11=透明。因此,每個字符有12×18=216個像素,一個8位字節表示4個像素,所以每個字符需要216/4=54字節的數據。為方便尋址,存儲器組織結構采用64字節塊,每前54個字節表示一個字符,剩余10個字節沒有使用。所以,字符存儲器長度是64×256=16 384字節。因此,每個顯示存儲器地址位置包含的數值實際是對應于所選字符的64字節塊地址。
使用MAX7456提供的GUI軟件,能夠控制器件,下載定制圖形。字符存儲器數據在一個文件中,文件的文件擴展名是*.mcm字符存儲器。用記事本打開這個文件可以看到文件共有16 385行,第1行顯示的是MAX7456,第2行到最后一行顯示的都是8個二進制的數據。修改這些8位的二進制數就能夠得到需要的字符或圖形。
3 系統在導航中的應用
將攝像頭信號接入所設計的字符疊加系統,視頻輸出接LCD顯示屏,在顯示屏上疊加導航所需要的信息:南京理工大學(NJUST)、日期(2009年12月8日)、緯度(Lat 32.518)、經度(Lon 118.137)、速度(V:15 m/s),航向(H:65.86),疊加效果如圖5所示。
從圖5可以看到,字符采用的是白底黑邊,無論光線強弱都可以很清楚地顯示所需要的信息,實際應用表明,本文設計的字符疊加系統操作方便,工作穩定,可以在比較復雜的環境中使用。
4 結束語
本文設計的視頻疊加系統具有電路結構簡單,成本較低,使用方便的特點,能實現視頻圖像中任意字符的疊加,當需要大的字符或者圖案顯示的時候,可將一個大的字符分成多個小的字符,也就是用多個54字節顯示。實際使用證明該系統具有體積小、顯示清晰、工作穩定、功耗低等特點,因此該系統可以應用于軍事、航空、社會生活等監控系統中。
模數轉換器相關文章:模數轉換器工作原理
雙控開關相關文章:雙控開關原理
評論