基于Android系統(tǒng)的家庭體感娛樂平臺(tái)
uboot中修改支持LAN9220網(wǎng)卡:針對(duì)硬件原理圖修改初始化I/O口、IRQ口,根據(jù)OMAP3530手冊的寄存器描述調(diào)整配置,完成網(wǎng)卡ID號(hào)識(shí)別、網(wǎng)卡初始化和makefile修改。
內(nèi)核中修改支持LAN9220網(wǎng)卡:從原理圖確認(rèn)網(wǎng)卡訪問基址為0x18000000(gpmc_cs3的基址),這個(gè)是物理地址,總線位寬為16,中斷引腳為GPMC_IRQ(對(duì)應(yīng)OMAP3530的GPIO65),增加LAN9220平臺(tái)設(shè)備,配置內(nèi)核將LAN9220靜態(tài)編譯進(jìn)內(nèi)核。
1.4.2 HDMI驅(qū)動(dòng)
HDMI驅(qū)動(dòng)包括平臺(tái)設(shè)備注冊和中斷、熱插拔初始化、HDMI音頻設(shè)備注冊和初始化、視頻分辨率設(shè)置和初始化,參考AD9889B AD9389B Programmer’S Guide.pdf和EIA/CEA-861-B標(biāo)準(zhǔn)。
1.4.3 音頻驅(qū)動(dòng)
uboot中對(duì)音頻的輸出設(shè)置:
函數(shù)int misc_init r(void)中*((uint*)0x4807402c)=0x1f10;
//0x1f10或0x1f07
根據(jù)芯片手冊設(shè)置為低位0x10對(duì)應(yīng)的音頻采樣頻率fs為44.1 kHz,128fs;低位0x07對(duì)應(yīng)的音頻采樣頻率fs為44.1 kHz,256fs。
計(jì)算方法為:
實(shí)際應(yīng)用中兩者都可以,我們使用的是采樣頻率fs為44.1 kHz,128fs。
在內(nèi)核中對(duì)HDMI音頻進(jìn)行初始化,并修改音頻驅(qū)動(dòng)。在函數(shù)static int omap_mcbsp_dai_set_dai_fmt(structsnd_soc_dai*cpu_dai,unsigned int fmt)中令:
計(jì)算方法為:
此處必須和uboot中配置一致,統(tǒng)一為44.1 kHz,128fs,或是44.1 kHz,256fs,這里使用的是采樣頻率fs為44.1 kHz,128fs。
1.4.4 顯示驅(qū)動(dòng)
DSS顯示驅(qū)動(dòng)原理:
FB0→GFX→LCD,F(xiàn)B1→VID1→LCD
復(fù)制GFX層到HDMI和TV,實(shí)現(xiàn)HDMI和TV的CVBS同時(shí)輸出相同視頻內(nèi)容。
FB0→GFX→HDMI→HDMI→VID1→TV→TV
其中,F(xiàn)B為FrameBuffer,GFX為圖形顯示層,VID為視頻顯示層。
2 操控手柄識(shí)別和游戲內(nèi)容
2.1 操控的手柄識(shí)別
Android系統(tǒng)識(shí)別體感手柄,需要確認(rèn)內(nèi)核配置:
Device Drivers--> Input device support
*> Event interface
*> Event debugging
Device Drivers-->HID Devices
*>Generic HID support
*>USB Human Interface Device(full HID)support
評(píng)論