<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種智能無(wú)線(xiàn)多媒體數字播放系統的設計方案

一種智能無(wú)線(xiàn)多媒體數字播放系統的設計方案

作者: 時(shí)間:2011-07-12 來(lái)源:網(wǎng)絡(luò ) 收藏

  3 點(diǎn)播的實(shí)現

  微處理器S3C2440A和芯片CYWUSB6934之間通過(guò)SPI接口進(jìn)行通信,在Linux中兩者之間的通信就必須通過(guò)SPI驅動(dòng)程序來(lái)實(shí)現。而點(diǎn)播則是在用戶(hù)啟動(dòng)Linux中的點(diǎn)播程序時(shí),識別接收到的數據后,自動(dòng)調用音視頻文件進(jìn)行。

  3.1 SPI驅動(dòng)

  在Linux操作系統中,所有外圍設備的控制都是通過(guò)驅動(dòng)程序實(shí)現的,設備驅動(dòng)程序是操作系統內核與機器硬件之間的接口。

  SPI,是英語(yǔ)Serial Peripheral interface的縮寫(xiě),顧名思義就是串行外圍設備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在 EEPROM,FLASH,實(shí)時(shí)時(shí)鐘,AD轉換器,還有信號處理器和信號解碼器之間。SPI,是一種高速的,全雙工,同步的通信總線(xiàn),并且在芯片的管腳上只占用四根線(xiàn),節約了芯片的管腳,同時(shí)為PCB的布局上節省空間,提供方便,正是出于這種簡(jiǎn)單易用的特性,現在越來(lái)越多的芯片集成了這種通信協(xié)議。手持終端需要通過(guò)SPI接口控制無(wú)線(xiàn)收發(fā)芯片,這就需使用SPI接口驅動(dòng)程序來(lái)建立無(wú)線(xiàn)收發(fā)芯片與內核之間的通信橋梁。SPI接口以主從方式進(jìn)行工作,其接口包括4種信號:(1)MOSI:主器件數據輸出,從器件數據輸入;(2)MISO:主器件數據輸入,從器件數據輸出;(3)SCLK:時(shí)鐘信號,由主器件產(chǎn)生;(4)/SS:從器件使能信號,由主器件控制。

  圖2為S3C2440A與CYWUSB6934之間SPI接口的連接圖。圖中nSS控制CYWUSB6934作為從器件,SPIMOSI和SPIMISO是它們之間的數據傳輸通道,SPICLK為時(shí)鐘信號。當SPI作為主控制器時(shí),由SPPRE寄存器中相應的比特位控制。而當SPI為從設備時(shí),時(shí)鐘信號則是由其他設備提供。某些情況下,在將數據寫(xiě)入SPTDAT寄存器之前,nSS應該被置為高電平。在本系統中主要用到的S3C2440A內部與SPI相關(guān)的寄存器如下:

 ?。?)SPCON寄存器:主要用于設置時(shí)鐘開(kāi)啟、SPI傳輸格式、SPI傳輸模式。其中傳輸模式有3種,分別是polling模式、DMA模式、中斷模式。

 ?。?)SPSTA寄存器:SPI接口的狀態(tài)寄存器,用于指示數據接收或發(fā)送是否已經(jīng)完成。

 ?。?)SPPIN寄存器:用于檢測是否有多個(gè)主機。

 ?。?)SPPRE寄存器:用于設置SPI傳輸時(shí)鐘頻率。其值通過(guò)如下計算式確定:

  Baud rate=PCLK/2/(Prescaler value+1)

  其中Prescaler value的初始值為0x00。

 ?。?)SPTDAT和SPRDAT寄存器:發(fā)射和接收數據寄存器。

  在Linux系統啟動(dòng)時(shí),要對以上寄存器進(jìn)行賦值,就必須通過(guò)SPI驅動(dòng)程序。而驅動(dòng)程序就是作為系統和外部設備的一個(gè)橋梁,在這里只有將SPI通道正確打開(kāi),系統才能夠通過(guò)這個(gè)橋梁對外部無(wú)線(xiàn)芯片的基本工作寄存器進(jìn)行操作,完成數據的收發(fā)。

  Linux中的I/O子系統向內核中的其他部分提供了一個(gè)統一的標準設備接口,這是通過(guò)include/linux/fs.h中的數據結構file_operations完成的[11]。圖3所示為本系統中SPI驅動(dòng)設備描述符函數組成框圖。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>