《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種基于WinCE6.0的數字調頻收音機的設計
一種基于WinCE6.0的數字調頻收音機的設計
單片機與嵌入式系統
王 波,李會勇,鐘 君
摘要: 摘要:提出一種基于WinCE6.0的數字調頻收音機的設計方案,介紹了基于WinCE6.0的系統設計流程和數字調頻收音機芯片Si4730的特性,詳細分析了WinCE6.0下驅動程序和應用程序的設計方法,并通過基于S3C2440的硬件平
Abstract:
Key words :

摘要:提出一種基于WinCE 6.0的數字調頻收音機的設計方案,介紹了基于WinCE 6.0的系統設計流程和數字調頻收音機芯片Si4730" title="Si4730">Si4730的特性,詳細分析了WinCE6.0" title="WinCE6.0">WinCE6.0下驅動程序和應用程序的設計方法,并通過基于S3C2440" title="S3C2440">S3C2440的硬件平臺加以驗證。該方案具有可靠性高、功耗低、界面美觀等優點。
關鍵詞:WinCE6.0;Si4730;I2C總線驅動程序" title="I2C總線驅動程序">I2C總線驅動程序;S3C2440

    本設計利用數字收音機芯片Si4730,為基于WincE6.0的智能系統集成FM功能提供了一種很好的解決方案,該方案實現了全頻手動與自動搜臺等功能。

1 基于WinCE6.0的系統設計流程
    如圖1所示,基于WinCE 6.0的系統設計一般分為3個過程:針對不同的硬件平臺設計BSP包,BSP包括Boot-loader、OAL和驅動程序;針對系統的需求,利用Platform Builder for CE 6.0選擇合適的組件,構建操作系統并導出SDK;在SDK的支撐下開發應用程序。

b.JPG


    WinCE 6.0與其早期版本相比,開發工具有了較大的變化。Platform Builder已經不是一個單獨發行的工具,Platform Builder 6.0已經成為Visual Studio.Net 2005的一個插件,所以在visual Studio.Net 2005集成開發環境中即可完成WinCE6.0的系統定制、驅動開發和應用程序開發。

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

c.JPG


    Si4731具有RDS/RBDS功能和數字音頻接口。在不包括天線的情況下,Si4730/31及其外圍電路只需15 mm2。它的功能十分豐富,包括自動搜臺、自動校準、數字調諧、自適應噪聲抑制能力等,這些特性非常適合于便攜式設備。由于不需要RDS/RBDS功能,所以這里選用Si4730這款芯片。
2.2 Si4730的控制接口
    Si4730的外圍電路非常簡單,如圖3所示。Si4730提供了3種控制方式:2線模式(兼容I2C總線)、SPI模式、3線模式。芯片通過RST引腳上升沿時GP01與GP02的引腳狀態來決定采用哪種方式,當GP01與GP02懸空時Si4730為2線模式。SEN引腳接高電平時,器件地址為0xC6H;接低電平時,地址為0x22H。

k.JPG



3 接口電路與驅動程序的設計
    本設計的硬件平臺采用S3C2440處理器,已經完成BSP包的開發以及WinCE 6.0操作系統的移植。
3.1 接口電路的設計
    由于S3C2440具有I2C接口,所以只需將其與Si4730的I2C接口互相連接。Si4730的復位引腳RST與S3C2440的GPB5引腳相連。
3.2 驅動程序的設計
    驅動程序由兩部分組成:I2C總線的驅動和GPIO口的驅動。I2C總線的驅動用于操作系統與Si4730之間的通信,GPIO口的驅動用于應用程序控制Si4730的復位。
3.2.1 Si4730的命令
    Si4730的命令有兩種:一種是控制命令,如調諧到某一頻率、自動搜索等;一種是屬性命令,如設置接收信號的強度門限、輸出音量的大小等。常用的命令有以下幾種:
    ①上電(POWER_UP),命令格式為{0x01,0xd0,0x05}。
    ②獲取芯片信息(GET_REV),命令格式為{0x10}。
    ③調諧到某一頻率(FM_TUNE_FREQ),命令格式為{0x20,0x00,ARG2,ARG3,0x00}。其中ARG2與ARG3是頻率的十六進制數,例如102.3 MHz,則ARG2為0x27,ARG3為0xF6。
④自動搜索(FM_SEEK_START),命令格式為{0x21,0x0c)。
3.2.2 I2C總線驅動的實現
    這里采用流接口驅動程序的設計方法開發I2C總線驅動。I2C總線驅動提供給操作系統的流接口為I2C_Init()、I2C Open()、I2C Close()、I2C Write()、I2C Read()、I2C_IOControl()等,應用程序通過調用CreateFile()、WirteFile()和DeviceloControl()等接口函數來訪問設備。在已編譯完成的WinCE6.0鏡像工程中添加I2C總線驅動的流程如圖4所示。

l.JPG


    ①添加子工程。在鏡像工程的Solution Explorer窗口中,右鍵選擇Add New Subproject,新建子工程。
    ②編寫I2C總線驅動程序。在Source files下新建I2c.c的源文件,并在該文件中編寫驅動代碼,驅動程序的主要內容就是實現流接口函數。讀I2C總線的實現函數為BooL_WRITE_IIC(UINT32 slvAddr,UINT8 n,UINT8*data)。寫I2C總線的實現函數為BooL READ_IIC(UINT32 slvA-ddr,UINT32 addr,UINT8 n,UINT8*data)。I2C_IOControl()的作用是傳遞I/O控制命令給設備,在該函數里實現了對Si4730的控制。部分代碼如下:
    m.JPG
    d.JPG
    ③注冊表中注冊設備驅動程序。打開platform.reg文件,在其中添加注冊信息如下:
    e.JPG
    ④將驅動程序打包進鏡像中。打開platform.bib配置文件,添加如下代碼:
     I2c.dll$(_FLATRELEASEDIR)\I2c.dll NK SHK
    ⑤創建驅動程序的def文件。工程需要def文件導出相應的函數,文件的部分內容為:
    f.JPG
3.2.3 GPIO驅動的實現
    Si4730工作時需要一個復位信號,這里使用S3C2440的GPB5口來進行控制。在驅動中設置寄存器GPXCON為輸出功能,設置寄存器GPXDAT的值為0或1來控制輸出口為低電平或高電平。相關代碼如下:
    g.JPG
    h.JPG
4 應用程序設計
4.1 功能實現
    應用程序的作用是調用驅動程序的流接口函數控制Si4730,從而實現FM的功能。在應用層中需要用到的API是CreateFile()、Devicelo Control()、ReadFile()、WriteFile(),函數的參數說明可以參考Visual Studio 2005的幫助文件。
    程序中首先使用CreateFile()打開設備句柄:
    I2Cdriver=CreateFile(L“I2C:”,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
    然后就可使用DeviceIocontrol()、ReadFile()、Write File()等API函數對設備進行控制,如調諧的實現:
    DeviceloControl(I2Cdriver,IOCTL_FM_TUNE,NULL,0,NULL,0,NULL,NULL);
4.2 界面設計
    良好的界面是應用程序重要的部分,如圖5所示,界面中應該有如下幾個部分:播放、頻率向上調諧、頻率向下調諧、音量控制等。

a.JPG

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
aa日韩免费精品视频一| 91久久久在线| 亚洲国产高清一区| 韩国欧美一区| 国产综合自拍| 国产午夜精品久久久久久久| 国产精品毛片| 欧美午夜宅男影院| 国产精品hd| 国产精品久在线观看| 国产精品看片你懂得| 国产精品入口日韩视频大尺度| 欧美日韩国产综合视频在线观看中文 | 久久精品国产91精品亚洲| 香蕉久久久久久久av网站| 午夜视频在线观看一区二区三区| 性欧美大战久久久久久久免费观看| 午夜视频在线观看一区二区| 久久er精品视频| 久久久久国产精品午夜一区| 麻豆久久婷婷| 欧美大片在线观看一区二区| 欧美韩日一区二区三区| 欧美日韩免费看| 国产精品欧美久久| 国产日产亚洲精品系列| 国内精品视频在线播放| 在线观看亚洲视频| 99视频精品全部免费在线| 亚洲影院在线| 亚洲国产精品一区| 99精品欧美一区| 亚洲影院色在线观看免费| 欧美一级二区| 免费一区视频| 欧美日韩亚洲一区二区三区| 国产精品一区=区| 国际精品欧美精品| 亚洲精品乱码久久久久久日本蜜臀| 日韩午夜av电影| 午夜激情一区| 亚洲精品久久久久久久久久久久| 一区二区三区成人精品| 性做久久久久久免费观看欧美| 久久在线视频| 欧美日韩亚洲在线| 国产美女精品人人做人人爽| 影音先锋亚洲一区| 中国女人久久久| 久久精品国产欧美激情| 99视频精品免费观看| 欧美一级视频精品观看| 美女成人午夜| 国产精品久久一级| 一区二区三区在线高清| 99视频一区二区| 亚洲成色最大综合在线| 亚洲一区二区三区成人在线视频精品| 久久精品国产清自在天天线 | 国产午夜精品理论片a级大结局 | 亚洲精品久久7777| 亚洲欧美影院| 亚洲久久在线| 久久精品国产亚洲aⅴ| 欧美日韩国产在线一区| 黄色精品一二区| 亚洲天堂偷拍| 亚洲黄一区二区| 午夜精品久久一牛影视| 欧美成人嫩草网站| 国产欧美在线播放| av成人激情| 亚洲人成网站在线播| 欧美一区二区三区喷汁尤物| 欧美激情一区在线| 国内精品久久国产| 亚洲午夜电影网| 亚洲精品永久免费精品| 久久久久久久91| 国产精品久久久久秋霞鲁丝 | 999在线观看精品免费不卡网站| 久久精品国产亚洲高清剧情介绍| 亚洲综合色丁香婷婷六月图片| 欧美成人免费在线视频| 国产一区二区三区黄视频| 一本色道久久综合亚洲91| 亚洲精品国产拍免费91在线| 欧美一区二区免费视频| 欧美日韩在线播放一区| 亚洲国产精品久久91精品| 欧美在线亚洲在线| 欧美一二三视频| 欧美色图五月天| 日韩亚洲欧美高清| 亚洲精品久久久久中文字幕欢迎你 | 欧美视频观看一区| 亚洲国产精品成人综合色在线婷婷| 亚洲欧美一区二区三区在线 | 亚洲欧美高清| 欧美日韩精品久久久| 亚洲福利视频专区| 91久久精品久久国产性色也91| 欧美在线短视频| 国产精品美女久久久久久2018 | 欧美成人精品在线观看| 激情久久五月天| 亚洲第一综合天堂另类专| 久久精品99国产精品酒店日本| 国产精品麻豆成人av电影艾秋| 一区二区三区国产盗摄| 亚洲天堂黄色| 国产精品国产馆在线真实露脸 | 小处雏高清一区二区三区| 欧美日韩国产欧| 亚洲精品午夜精品| av成人福利| 欧美日本不卡| 99国产精品久久久久久久成人热 | 久久国内精品自在自线400部| 国产精品扒开腿爽爽爽视频| 亚洲最黄网站| 亚洲影院免费观看| 国产精品久久久久久久免费软件 | 国产精品一区二区你懂的| 亚洲一区二区三区激情| 午夜视频一区二区| 国产欧美日韩精品丝袜高跟鞋| 亚洲欧美在线播放| 久久久久久久999精品视频| 国产一区二区三区久久 | 亚洲一区免费看| 国产精品视频一二| 欧美在线免费看| 蜜桃av一区二区三区| 亚洲国产精品日韩| 一区二区三区免费网站| 国产精品久久激情| 午夜国产精品影院在线观看| 久久久久久伊人| 亚洲国产精品激情在线观看| 一个人看的www久久| 国产精品久久77777| 欧美一区二区三区在线视频| 可以看av的网站久久看| 亚洲激情中文1区| 亚洲一区国产| 国产主播精品在线| 亚洲精品国产无天堂网2021| 欧美日韩精品三区| 亚洲欧美激情视频在线观看一区二区三区| 久久精彩免费视频| 亚洲国产高清aⅴ视频| 亚洲四色影视在线观看| 国产精品视频福利| 亚洲国产成人tv| 欧美日韩免费观看中文| 午夜精品一区二区三区在线| 免费观看在线综合| 一本色道**综合亚洲精品蜜桃冫| 欧美在线视频二区| 亚洲国产欧美日韩另类综合| 亚洲你懂的在线视频| 黄色成人在线网址| 一区二区久久久久| 国产亚洲一级高清| 一本一本久久| 国色天香一区二区| 一区二区三区www| 国内精品伊人久久久久av一坑| 日韩亚洲精品视频| 国产三区二区一区久久| 亚洲精品乱码久久久久久黑人| 国产精品久久久久一区二区三区共 | 性色一区二区三区| 亚洲大片av| 午夜免费电影一区在线观看| 伊人春色精品| 亚洲欧美日韩一区在线| 亚洲大片免费看| 欧美一区成人| 亚洲美女免费精品视频在线观看| 久久精品国产亚洲5555| 99视频一区二区| 美女国产一区| 午夜欧美不卡精品aaaaa| 欧美日韩精品一区二区三区四区 | 91久久线看在观草草青青| 欧美一区在线直播| 日韩视频永久免费| 久久网站热最新地址| 亚洲一区二区欧美日韩| 欧美激情在线| 久久精品91久久香蕉加勒比| 国产精品精品视频| 日韩视频永久免费观看| 激情成人综合| 欧美一区二区三区免费观看| av72成人在线| 欧美高清在线一区二区| 亚洲成色最大综合在线|