基于BES7456芯片的OSD的應(yīng)用平臺設(shè)計
2 OSD芯片應(yīng)用平臺的設(shè)計與實現(xiàn)
2.1 軟件應(yīng)用平臺的建立
2.1.1 使用、調(diào)試注意事項
在運行整個OSD系統(tǒng)時必須在MCU上運行軟件來控制BES7456芯片的時序,本系統(tǒng)的MCU采用的是Maxim公司生產(chǎn)的MAXQ2000單片機,這款單片機主要的好處是有專用的SPI接口。與MCU的在線通信調(diào)試可以通過JTAG接口,運行于Windows平臺下的IAR EmbeddedWorkbench 2.10A是專門用于MAXQ系列微控制器的集成開發(fā)工具之一,目前已被大多數(shù)MAXQ系列芯片開發(fā)所使用。在IAR下建立新工程時,應(yīng)該注意需要設(shè)置的
編譯選項:General Option/Target/Device 并選MAX200X,以及General Option/Debugger/JTAG,并在COM port中選擇相應(yīng)的接口,可以在電腦的設(shè)備管理器中查看所安裝的接口。
2.1.2 SPI接口、時序、使用方法
BES7456支持高達10 MHz接口時鐘(SCLK)。圖2為寫數(shù)據(jù)時序,圖3是從器件讀數(shù)據(jù)的時序。寫寄存器時,拉低可使能串行接口。在SCLK的上升沿從SDIN讀取數(shù)據(jù)。當變?yōu)楦唠娖綍r,數(shù)據(jù)鎖存到輸入寄存器。如果傳輸過程中變高,程序終止(即數(shù)據(jù)不寫入寄存器)。變低之后,器件等待從SDIN讀入第一個字節(jié),以確定正在執(zhí)行的數(shù)據(jù)傳輸類型。本文引用地址:http://cafeforensic.com/article/150578.htm
讀寄存器時,如上文所述,拉低CS在SCLK的上升沿鎖入SDIN。然后數(shù)據(jù)在SCLK的下降沿從SDOUT輸出。SPI命令長度為16位:最高8位(MSB)代表寄存器地址,最低8位(LSB)代表數(shù)據(jù)(如圖2、圖3所示)。這種格式有兩個例外:
①自動遞增寫模式,用于訪問顯示存儲器,是一個8位操作。寫數(shù)據(jù)前必須寫入起始地址。對顯示存儲器執(zhí)行自動遞增寫命令時,8位地址由內(nèi)部產(chǎn)生,串口只需8位數(shù)據(jù),如圖4所示。
②從顯示存儲器讀字符數(shù)據(jù)時,若處于16位工作模式,應(yīng)該是24位(8位地址+16位數(shù)據(jù))。執(zhí)行讀操作時,只需要8位地址,如圖3所示。
2.1.3 應(yīng)用信息
(1)字符存儲器CM(Character-Memory)操作
BES7456的字符存儲器一次只能寫入或讀出全部的字符(54字節(jié)),這可通過SPI端口,經(jīng)過MCU(MAxQ2000)實現(xiàn)。這里給出寫入字符操作,讀出操作類似可以相應(yīng)得出:寫入VM0[3]=0以禁止OSD顯示→寫入CMAH[7:0]-xxH,選擇寫入字符(0~255)→寫入CMAL[7:0]=xxH,選擇寫入字符的4個像素字節(jié)(0~63)→寫入CMDI[7:0]=xxH設(shè)置字符所選部分像素值→重復(fù)前兩步,直到字符數(shù)據(jù)的54個字節(jié)寫入RAM中→寫入VM0[3]=1,使能OSD圖像。
評論