亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于WinCE 6.0的數(shù)字調(diào)頻收音機的設(shè)計*

        2011-03-20 02:31:58王波李會勇鐘君
        關(guān)鍵詞:驅(qū)動程序收音機命令

        王波,李會勇,鐘君

        (電子科技大學(xué)電子工程學(xué)院,成都611731)

        本設(shè)計利用數(shù)字收音機芯片Si4730,為基于WinCE 6.0的智能系統(tǒng)集成FM功能提供了一種很好的解決方案,該方案實現(xiàn)了全頻手動與自動搜臺等功能。

        1 基于WinCE 6.0的系統(tǒng)設(shè)計流程

        如圖1所示,基于WinCE 6.0的系統(tǒng)設(shè)計一般分為3個過程:針對不同的硬件平臺設(shè)計BSP包,BSP包括Boot-loader、OAL和驅(qū)動程序;針對系統(tǒng)的需求,利用Platform Builder for CE 6.0選擇合適的組件,構(gòu)建操作系統(tǒng)并導(dǎo)出SDK;在SDK的支撐下開發(fā)應(yīng)用程序。

        圖1 基于WinCE 6.0的系統(tǒng)設(shè)計流程

        WinCE 6.0與其早期版本相比,開發(fā)工具有了較大的變化。Platform Builder已經(jīng)不是一個單獨發(fā)行的工具,Platform Builder 6.0已經(jīng)成為Visual Studio.Net 2005的一個插件,所以在Visual Studio.Net 2005集成開發(fā)環(huán)境中即可完成WinCE 6.0的系統(tǒng)定制、驅(qū)動開發(fā)和應(yīng)用程序開發(fā)。

        2 數(shù)字收音機芯片Si4730

        2.1 Si4730簡介

        Si4730/31是Silicon Labs公司推出的高集成度AM/FM收音機芯片,原理圖如圖2所示。

        圖2 Si4730/31原理框圖

        *廣東省與教育部產(chǎn)學(xué)研結(jié)合項目(項目編號:2009B090300455);國家自然科學(xué)基金委與中國工程物理研究院資助項目(10776003)。

        Si4731具有RDS/RBDS功能和數(shù)字音頻接口。在不包括天線的情況下,Si4730/31及其外圍電路只需15mm2。它的功能十分豐富,包括自動搜臺、自動校準(zhǔn)、數(shù)字調(diào)諧、自適應(yīng)噪聲抑制能力等,這些特性非常適合于便攜式設(shè)備[2]。由于不需要RDS/RBDS功能,所以這里選用Si4730這款芯片。

        2.2 Si4730的控制接口

        Si4730的外圍電路非常簡單,如圖3所示。Si4730提供了3種控制方式:2線模式(兼容I2C總線)、SPI模式、3線模式。芯片通過RST引腳上升沿時GPO1與GPO2的引腳狀態(tài)來決定采用哪種方式,當(dāng)GPO1與GPO2懸空時Si4730為2線模式。SEN引腳接高電平時,器件地址為0xC6H;接低電平時,地址為0x22H。

        圖3 Si4730外圍電路

        3 接口電路與驅(qū)動程序的設(shè)計

        本設(shè)計的硬件平臺采用S3C2440處理器,已經(jīng)完成BSP包的開發(fā)以及WinCE 6.0操作系統(tǒng)的移植。

        3.1 接口電路的設(shè)計

        由于S3C2440具有I2C接口,所以只需將其與Si4730的I2C接口互相連接。Si4730的復(fù)位引腳RST與S3C2440的GPB5引腳相連。

        3.2 驅(qū)動程序的設(shè)計

        驅(qū)動程序由兩部分組成:I2C總線的驅(qū)動和GPIO口的驅(qū)動。I2C總線的驅(qū)動用于操作系統(tǒng)與Si4730之間的通信,GPIO口的驅(qū)動用于應(yīng)用程序控制Si4730的復(fù)位。

        3.2.1 Si4730的命令

        Si4730的命令有兩種:一種是控制命令,如調(diào)諧到某一頻率、自動搜索等;一種是屬性命令,如設(shè)置接收信號的強度門限、輸出音量的大小等。常用的命令有以下幾種:

        ①上電(POWER_UP),命令格式為{0x01,0xd0,0x05}。

        ②獲取芯片信息(GET_REV),命令格式為{0x10}。

        ③調(diào)諧到某一頻率(FM_TUNE_FREQ),命令格式為{0x20,0x00,ARG2,ARG3,0x00}。其中ARG2與ARG3是頻率的十六進(jìn)制數(shù),例如102.3MHz,則ARG2為0x27,ARG3為0xF6。

        ④自動搜索(FM_SEEK_START),命令格式為{0x21,0x0c}。

        3.2.2 I2C總線驅(qū)動的實現(xiàn)

        這里采用流接口驅(qū)動程序的設(shè)計方法開發(fā)I2C總線驅(qū)動。I2C總線驅(qū)動提供給操作系統(tǒng)的流接口為I2C_Init()、I2C_Open()、I2C_Close()、I2C_Write()、I2C_Read()、I2C_IOControl()等,應(yīng)用程序通過調(diào)用CreateFile()、WirteFile()和DeviceIoControl()等接口函數(shù)來訪問設(shè)備[3]。在已編譯完成的WinCE 6.0鏡像工程中添加I2C總線驅(qū)動的流程如圖4所示。

        圖4 添加I 2 C總線驅(qū)動程序流程

        ①添加子工程。在鏡像工程的Solution Explorer窗口中,右鍵選擇Add New Subproject,新建子工程。

        ②編寫I2C總線驅(qū)動程序。在Source files下新建I2c.c的源文件,并在該文件中編寫驅(qū)動代碼,驅(qū)動程序的主要內(nèi)容就是實現(xiàn)流接口函數(shù)。讀I2C總線的實現(xiàn)函數(shù)為BOOL WRITE_IIC(UINT32slvAddr,UINT8n,UINT8*data)。寫I2C總線的實現(xiàn)函數(shù)為BOOL READ_IIC(UINT32slvAddr,UINT32addr,UINT8n,UINT8*data)。I2C_IOControl()的作用是傳遞I/O控制命令給設(shè)備,在該函數(shù)里實現(xiàn)了對Si4730的控制[4]。部分代碼如下:

        ③注冊表中注冊設(shè)備驅(qū)動程序。打開platform.reg文件,在其中添加注冊信息如下:

        ④將驅(qū)動程序打包進(jìn)鏡像中。打開platform.bib配置文件,添加如下代碼:

        I2c.dll$(_FLATRELEASEDIR)\I2c.dll NK SHK

        ⑤創(chuàng)建驅(qū)動程序的def文件。工程需要def文件導(dǎo)出相應(yīng)的函數(shù),文件的部分內(nèi)容為:

        3.2.3 GPIO驅(qū)動的實現(xiàn)Si4730工作時需要一個復(fù)位信號,這里使用S3C2440

        的GPB5口來進(jìn)行控制。在驅(qū)動中設(shè)置寄存器GPXCON

        為輸出功能,設(shè)置寄存器GPXDAT的值為0或1來控制輸出口為低電平或高電平[5]。相關(guān)代碼如下:

        4 應(yīng)用程序設(shè)計

        4.1 功能實現(xiàn)

        應(yīng)用程序的作用是調(diào)用驅(qū)動程序的流接口函數(shù)控制Si4730,從而實現(xiàn)FM的功能。在應(yīng)用層中需要用到的API是CreateFile()、DeviceIoControl()、ReadFile()、WriteFile(),函數(shù)的參數(shù)說明可以參考Visual Studio 2005的幫助文件。

        程序中首先使用CreateFile()打開設(shè)備句柄:

        I2Cdriver=CreateFile(L"I2C:",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);

        然后就可使用DeviceIoControl()、ReadFile()、Write-File()等API函數(shù)對設(shè)備進(jìn)行控制,如調(diào)諧的實現(xiàn):

        DeviceIoControl(I2Cdriver,IOCTL_FM_TUNE,NULL,0,NULL,0,NULL,NULL);

        4.2 界面設(shè)計

        良好的界面是應(yīng)用程序重要的部分,如圖5所示,界面中應(yīng)該有如下幾個部分:播放、頻率向上調(diào)諧、頻率向下調(diào)諧、音量控制等。

        圖5 FM的界面

        [1]楊磊,李會勇.基于WinCE的嵌入式網(wǎng)絡(luò)收音機[J].單片機與嵌入式系統(tǒng)應(yīng)用,2010(11).

        [2]薛大龍,陳世帝,王韻.WinCE嵌入式系統(tǒng)開發(fā)——從基礎(chǔ)到實踐[M].北京:電子工業(yè)出版社,2008.

        [3]劉洪運,王衛(wèi)東.基于Si472x設(shè)計實現(xiàn)DSP收音機[J].信息技術(shù),2010(6):28.

        [4]王輝平,吳璟宇,康惠駿.基于IIC總線數(shù)字收音機的控制實現(xiàn)[J].儀表技術(shù),2008(11):58.

        [5]田磊,宋圓方.基于WinCE的IIC設(shè)備驅(qū)動的實現(xiàn)[J].西安郵電學(xué)院學(xué)報,2008(1):128.

        [6]Samsung Electronics Co.,Ltd.S3C2440Auser's manual(Revision 0.14),2004.

        猜你喜歡
        驅(qū)動程序收音機命令
        只聽主人的命令
        這是一臺獨一無二的收音機
        好日子(2020年8期)2020-08-29 13:33:24
        兼具藍(lán)牙和收音機功能 Cambridge Audio(劍橋)AXR85
        移防命令下達(dá)后
        流淌在歲月里的音符 4款多功能收音機賞析
        這是人民的命令
        解讀《巨型收音機》中的幻滅感
        短篇小說(2014年11期)2014-02-27 08:32:46
        藍(lán)色命令
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        国产女主播福利一区在线观看| 亚洲女同同性一区二区| 亚洲av永久一区二区三区| 蜜臀人妻精品一区二区免费 | 久久精品久99精品免费| 精人妻无码一区二区三区| 精品露脸国产偷人在视频| 久久精品亚洲精品国产色婷| 国产免费av片在线观看| 女人下面毛多水多视频| 好吊色欧美一区二区三区四区| 久久精品亚洲中文字幕无码网站| 亚洲 欧美 激情 小说 另类| 国产女同一区二区在线| 国产激情一区二区三区在线蜜臀| 白色月光免费观看完整版| 成人免费av高清在线| 亚洲国产精品18久久久久久| 五十六十日本老熟妇乱| 亚洲av蜜桃永久无码精品| 国产乱人伦av在线无码| аⅴ天堂一区视频在线观看| 成年女人午夜特黄特色毛片免| 国产亚洲精品免费专线视频| 森中文字幕一区二区三区免费 | 青青草原亚洲在线视频| 日韩一区二区中文字幕| 国产精品女同一区二区免费站| 亚洲精品成人av在线| 欧美交换配乱吟粗大25p| 国产xxxxx在线观看免费| AV中文字幕在线视| 国产一区二区三区日韩精品| 午夜亚洲精品一区二区| 中文字幕成人乱码熟女精品国50 | 免费在线国产不卡视频| 国产精品美女久久久网站三级| 高黄暴h日本在线观看| 中文字幕亚洲乱码熟女在线| 又黄又爽又色又刺激的视频| 亚洲AⅤ乱码一区二区三区|