新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Blackfin入門教程 SPORT

        Blackfin入門教程 SPORT

        作者: 時間:2016-10-15 來源:網絡 收藏

        ADSP-BF53x上有兩個SPORT口,SPORT(synchronous serial ports)接口是ADSP-BF53x上速度最快的串口,其速度可以達到系統時鐘的1/2, 每一個SPORT口有兩根接收數據線和兩根傳輸數據線,支持全雙工模式傳輸。

        本文引用地址:http://www.104case.com/article/201610/307426.htm

        SPORT接口通常用做一些高速的數據傳輸,它支持I2S模式,通常將SPORT接口連接音頻的編解碼器芯片,作為音頻數據輸出接口。

        SPORT時鐘頻率配置: SPORTx_TCLK frequency = (SCLK frequency)/(2 x (SPORTx_TCLKDIV + 1)) SPORTx_RCLK frequency = (SCLK frequency)/(2 x (SPORTx_RCLKDIV + 1)) SPORT同步信號頻率配置:

        SPORTxTFS frequency = (TSCLKx frequency)/(SPORTx_TFSDIV + 1)

        SPORTxRFS frequency = (RSCLKx frequency)/(SPORTx_RFSDIV + 1) 寄存器 功能 SPORTx_TX_CONFIG SPORTx傳輸配置寄存器 SPORTx_RX_CONFIG SPORTx傳輸配置寄存器 SPORTx_TX SPORTx傳輸寄存器 SPORTx_RX SPORTx接收寄存器 SPORTx_TSCLKDIV SPORTx傳輸時鐘配置寄存器 SPORTx_RSCLKDIV SPORTx接收時鐘配置寄存器 SPORTx_TFSDIV SPORTx傳輸同步信號配置寄存器 SPORTx_RFSDIV SPORTx接收同步信號配置寄存器 SPORTx_STAT SPORTx狀態寄存器 *pSPORT0_TCLKDIV = TCLKDIV; //配置SPORT傳輸接口的時鐘頻率

        *pSPORT0_TFSDIV = TFSDIV; //配置SPORT傳輸接口的同步頻率

        *pSPORT0_TCR1 = ITFS|TFSR|ITCLK;//配置SPORT傳輸工作模式

        *pSPORT0_TCR2 = 31; //配置SPORT以32Bit數據傳輸

        *pDMA2_PERIPHERAL_MAP = 0x2000; //設置SPORT傳輸接口DMA

        *pDMA2_CONFIG = WDSIZE_32 | DI_EN |FLOW_1; //設置DMA工作模式

        *pDMA2_START_ADDR = (void *)iTxBuffer; //設置DMA 傳輸數據起始地址

        *pDMA2_X_COUNT = 1000; //設置DMA傳輸次數

        *pDMA2_X_MODIFY = 4; //設置DMA每次地址增量變化

        *pDMA2_CONFIG = (*pDMA2_CONFIG | DMAEN); //使能傳輸DMA

        *pSPORT0_TCR1 = (*pSPORT0_TCR1 | TSPEN); //使能傳輸SPORT

        *pSIC_IAR0 = 0xffffffff;

        *pSIC_IAR1 = 0xfffff32f; //配置SPORT DMA中斷等級

        *pSIC_IAR2 = 0xffffffff;

        register_handler(ik_ivg9, Sport0_RX_ISR); //注冊接收中斷

        register_handler(ik_ivg10, Sport0_TX_ISR); //注冊傳輸中斷

        *pSIC_IMASK = 0x00000600; //使能中斷

        EX_INTERRUPT_HANDLER(Sport0_TX_ISR) //傳輸DMA中斷函數

        {

        *pDMA2_IRQ_STATUS = 0x0001; //清楚中斷標志位

        printf(SPORT TX DMA Done!n); //打印信息

        *pSIC_IMASK = ~0x00000400; //關閉傳輸中斷

        } 代碼實現了通過SPORT0接口利用SPORT0 DMA傳輸數據和接收數據,SPORT接口時鐘和同步信號采用內部由系統時鐘配置分頻獲取。

        代碼描述了SPORT接口使用DMA傳輸時常用的配置,沒有和其他設備做通訊,所以看不到接收的實際數據。

        對于BF60x系列,只能用CCES環境編譯,CCES中自帶了SPORT驅動,與VDSP環境不同的是,CCES提供的驅動,兼容RTOS;就是說CCES中系統自帶的接口驅動是操作系統格式接口的;所以這種方式下的驅動,需要摸索: 如圖中的兩個merroy,要是獨立的;否則,兩個HSPORT只能有一個被配置(重復配置);



        關鍵詞: ADI BLACKFIN

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 车险| 花莲市| 城固县| 常宁市| 安泽县| 新营市| 保康县| 伊宁市| 黑龙江省| 镇雄县| 云和县| 荆门市| 甘洛县| 灵寿县| 卓资县| 邮箱| 沙雅县| 镇安县| 商洛市| 岳阳市| 响水县| 阿坝| 太白县| 海阳市| 克山县| 舟曲县| 公安县| 沁水县| 江孜县| 林口县| 隆林| 望江县| 竹北市| 夏津县| 临沧市| 左权县| 金湖县| 云浮市| 威远县| 韶关市| 雅江县|