新闻中心

EEPW首页>消费电子>设计应用> 一种基于WinCE6.0的数字调频收音机的设计

一种基于WinCE6.0的数字调频收音机的设计

作者: 时间:2011-06-27 来源:网络 收藏

2.2 Si4730的控制接口
Si4730的外围电路非常简单,如图3所示。Si4730提供了3种控制方式:2线模式(兼容I2C总线)、SPI模式、3线模式。芯片通过RST引脚上升沿时GP01与GP02的引脚状态来决定采用哪种方式,当GP01与GP02悬空时Si4730为2线模式。SEN引脚接高电平时,器件地址为0xC6H;接低电平时,地址为0x22H。

本文引用地址://m.amcfsurvey.com/article/166128.htm

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()等接口函数来访问设备。在已编译完成的.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



评论


相关推荐

技术专区

关闭