新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 智能无线多媒体数字播放系统的设计与实现

智能无线多媒体数字播放系统的设计与实现

作者:时间:2012-04-14来源:网络收藏

(5)SPTDAT和SPRDAT寄存器:发射和接收数据寄存器。

在Linux系统启动时,要对以上寄存器进行赋值,就必须通过SPI驱动程序。而驱动程序就是作为系统和外部设备的一个桥梁,在这里只有将SPI通道正确打开,系统才能够通过这个桥梁对外部无线芯片的基本工作寄存器进行操作,完成数据的收发。

Linux中的I/O子系统向内核中的其他部分提供了一个统一的标准设备接口,这是通过include/linux/fs.h中的数据结构file_operations完成的[11]。图3所示为本系统中SPI驱动设备描述符函数组成框图。

智能无线多媒体数字播放系统的设计与实现

图3中驱动程序的struct file_operations( )只使用了系统提供的4个子函数接口:open( )、write( )、ioctl( )和release( )。其中open( )用于完成SPI设备的打开、初始化相关寄存器、准备进行设备I/O操作;write( )完成通过SPI接口进行写操作;ioctl( )是进行读写以外的其他操作,通过对I/O口高低电平的改变实现不同功能;release( )用于关闭设备,释放占用内存[12]。

S3C2440A SPI的传输形式是由SPI控制寄存器SPCON中的1bit位和2bit位的值共同决定的。1bit位是CPHA(Clock Phrase Select),它用来选择传输格式为Format A或Format B,置0为Format A,置1为Format B;2bit位是CPOL(Clock Polarity),它决定时钟信号是高电平触发还是低电平触发,置0为active high,置1为active low。由图3可以看出,CYWUSB6934的SPI单字节读出时钟是高电平触发的,又如虚线箭头处时钟信号的上升沿正与图4中SPI时钟相吻合,而在图4中cmd的2bit位是传输字节中的最高2位,再根据图5中MOSI的MSB就应该是传输字节的最高2位,为00,所以选择方式为Format A高电平触发。

智能无线多媒体数字播放系统的设计与实现

智能无线多媒体数字播放系统的设计与实现



评论


技术专区

关闭