《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于WinCE6.0的數字調頻收音機設計原理
基于WinCE6.0的數字調頻收音機設計原理
單片機與嵌入式系統
摘要: 本設計利用數字收音機芯片Si4730,為基于WincE6.0的智能系統集成FM功能提供了一種很好的解決方案,該方案實現了全頻手動與自動搜臺等功能。
Abstract:
Key words :

本設計利用數字收音機芯片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亚洲国产精品_日韩亚洲一区二区
久久精品国产免费看久久精品| 亚洲手机在线| 亚洲私人影院| 欧美一区2区三区4区公司二百| 一区二区日韩伦理片| 欧美日韩四区| 9国产精品视频| 久久精品国产亚洲一区二区| 欧美一区二区成人| 国产精品久久国产精麻豆99网站| 欧美大片va欧美在线播放| 久久成人精品电影| 99v久久综合狠狠综合久久| 亚洲国产精品电影| 国产视频欧美视频| 国产精品区免费视频| 欧美午夜a级限制福利片| 欧美日韩国产电影| 欧美另类高清视频在线| 欧美大片免费| 欧美大片免费久久精品三p| 免费观看成人| 欧美aⅴ一区二区三区视频| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品99久久久久久www| 99热这里只有精品8| 亚洲高清在线播放| 亚洲福利视频一区二区| 亚洲福利一区| 91久久久久| 欧美一区二区三区男人的天堂 | 国产精品一区亚洲| a4yy欧美一区二区三区| 亚洲视频在线观看一区| 久久精品国产一区二区三区| 黄色影院成人| 亚洲欧美日韩精品综合在线观看| 亚洲福利电影| 欧美国产在线电影| 欧美激情视频免费观看| 欧美伦理91i| 欧美视频在线观看| 国产精品青草久久| 国产在线乱码一区二区三区| 精品99一区二区| 亚洲国产精品久久| 一区二区毛片| 午夜一级在线看亚洲| 亚洲国产精品成人精品| 亚洲精品综合在线| 亚洲精品一区二区在线观看| 午夜久久福利| 欧美性淫爽ww久久久久无| 亚洲国产一区视频| 亚洲精品一区在线观看| 亚洲五月六月| 久久精品视频一| 一区二区三区不卡视频在线观看 | 国产欧美日韩精品丝袜高跟鞋 | 亚洲黑丝一区二区| 亚洲全部视频| 欧美一区三区二区在线观看| 亚洲激情欧美激情| 久久午夜影视| 亚洲一区二区精品视频| 国产亚洲激情在线| 亚洲国产精品福利| 国产一区二区福利| 亚洲精品三级| 久久久伊人欧美| 亚洲第一精品久久忘忧草社区| 日韩视频一区二区三区在线播放免费观看| 国户精品久久久久久久久久久不卡 | 国产精品久久毛片a| 在线观看欧美视频| 国产一区二区三区高清| 国产精品白丝av嫩草影院| 免费黄网站欧美| 亚洲美女一区| 亚洲电影免费观看高清完整版在线观看 | 一区二区高清| 欧美日韩国产系列| 亚洲欧美综合v| 在线观看国产精品网站| 欧美国产一区二区三区激情无套| 欧美亚洲日本国产| 91久久线看在观草草青青| 亚洲视频国产视频| 国产精品v欧美精品v日本精品动漫| 蜜臀久久99精品久久久画质超高清 | 亚洲一区二区高清视频| 国产专区一区| 国产精品国产馆在线真实露脸| 性做久久久久久免费观看欧美| 亚洲国产精品悠悠久久琪琪| 欧美高清视频一二三区| 校园春色综合网| 欧美午夜在线| 欧美日韩岛国| 欧美日韩国产在线| 日韩视频在线免费观看| 亚洲欧美国产高清| 亚洲精品影视| 欧美日韩亚洲视频一区| 免费观看在线综合色| 亚洲免费电影在线| 亚洲大片免费看| 亚洲国产日韩在线一区模特| 蜜桃av综合| 噜噜噜91成人网| 欧美成人午夜77777| 性欧美8khd高清极品| 亚洲欧美在线aaa| 欧美中文字幕不卡| 欧美激情a∨在线视频播放| 男女精品网站| 免费成人高清| 久久精品一区| 香蕉久久夜色精品国产| 欧美一区1区三区3区公司| 激情av一区二区| 极品尤物一区二区三区| 亚洲福利av| 国产一区二区精品久久| 国产欧美日韩免费| 国产亚洲成av人片在线观看桃| 亚洲激情黄色| 一区二区三区回区在观看免费视频| 亚洲国产一区在线观看| 亚洲激情网站| 中文一区二区在线观看| 亚洲影院在线| 亚洲精品精选| 久久激情视频久久| 国产精品国产a级| 亚洲免费不卡| 久久爱www| 99综合电影在线视频| 午夜精品久久久| 久久疯狂做爰流白浆xx| 欧美xx69| 国产免费一区二区三区香蕉精| 国产揄拍国内精品对白| 一区二区不卡在线视频 午夜欧美不卡'| 欧美伊久线香蕉线新在线| 亚洲激情在线观看| 亚洲国产另类久久精品| 亚洲一区二区四区| 日韩亚洲国产精品| 免费观看成人网| 一区福利视频| 亚洲日本中文字幕| 亚洲欧美bt| 欧美区在线观看| 国产日韩精品在线| 亚洲尤物视频在线| 亚洲一区二区三区高清不卡| 欧美国产专区| 亚洲国产激情| 亚洲精品在线三区| 久久在线精品| 伊人色综合久久天天五月婷| 欧美一区二区视频观看视频| 久久夜色精品| 国产精品一区久久久| 在线午夜精品| 亚洲香蕉在线观看| 国产精品中文字幕在线观看| 久久精品亚洲一区二区三区浴池 | 国产精品自拍三区| 性伦欧美刺激片在线观看| 久久国内精品视频| 亚洲欧美一区二区三区极速播放| 久久久综合网| 国产日韩亚洲| 亚洲国产一区二区精品专区| 久久精品国产第一区二区三区最新章节| 国产欧美一级| 亚洲高清资源综合久久精品| 欧美激情视频一区二区三区免费 | 欧美一级精品大片| 欧美69wwwcom| 欧美日韩亚洲一区二| 亚洲免费观看高清完整版在线观看熊 | 国产免费观看久久| 欧美一区二区三区的| 欧美成人免费小视频| 亚洲日本国产| 久久国产视频网| 久久精品99无色码中文字幕 | 欧美中在线观看| 日韩午夜激情电影| 欧美大学生性色视频| 亚洲毛片视频| 久久综合一区二区三区| 亚洲一级在线观看| 欧美日韩黄色一区二区| 亚洲精品小视频在线观看| 国产日产欧美a一级在线| 99国产精品久久久|