SSI總線協(xié)議
本文引用地址:http://butianyuan.cn/article/201612/330378.htm
從圖中可看出,SSI模塊由發(fā)送電路、接收電路、串行時鐘和幀同步時鐘產(chǎn)生電路組成。發(fā)送電路和接收電路相互獨立,但是共用串行時鐘和幀同步時鐘。
SSI模塊引腳信號描述:
SSICLKIN:SSI時鐘輸入信號。
SSI_BCLK:SSI串行比特時鐘。
SSI_MCLK:SSI串行主時鐘信號,在SSI主模式下,該信號也作為過采樣時鐘信號。
SSI_FS:SSI串行幀同步信號。
SSL_RXD:SSI串行接收數(shù)據(jù)信號。
SSI_TXD:SSI串行發(fā)送數(shù)據(jù)信號。
SSI的操作模式有3種基本同步操作模式:普通模式、網(wǎng)絡(luò)模式和門時鐘模式。
普通模式是最簡單的模式,一幀內(nèi)只能傳輸一個字,而且每一幀都需要幀同步信號來控制同步;網(wǎng)絡(luò)模式主要用于多時隙的情況下,一幀內(nèi)可以傳輸2個字到32個字不等;門時鐘SSI_BCLK模式下,串行比特時鐘SSI_BCLK指示了發(fā)送引腳或接收引腳上的有效數(shù)據(jù),所以不需要幀同步信號。
除了上述3種基本模式外,針對音頻上的應(yīng)用,SSI還支持兩種衍生模式——I2S模式和AC97模式,分別用于傳輸I2S和AC97音頻格式數(shù)據(jù)。
SSI的初始化,初始化SSI模塊的正確順序:①上電或重啟SSI(SSI_CR[SSI_EN]=0),即關(guān)閉SSI模塊功能。②配置SSI模塊。涉及的寄存器包括控制寄存器SSI_CR、中斷允許寄存器SSI_IER、發(fā)送配置寄存器SSI_TCR、接收配置寄存器SSI_RCR和時鐘控制寄存器SSI_CCR。③通過SSI_IER寄存器設(shè)置必要的中斷或DMA?! 、茉O(shè)置SSI_CR[SSI_EN]=1允許SSI模塊功能。⑤設(shè)置SSI_CR[TE/RE],開始發(fā)送/接收數(shù)據(jù)。
SSI的工作過程
(1)發(fā)送數(shù)據(jù):單通道時,數(shù)據(jù)從串行發(fā)送數(shù)據(jù)寄存器SSI_TX0中傳到發(fā)送移位寄存器TXSR中,再通過串行發(fā)送引腳SSI_TXD發(fā)送出去,然后根據(jù)用戶設(shè)置情況決定是否產(chǎn)生發(fā)送中斷。如果發(fā)送緩沖區(qū)TXFIFOO被允許,則SSI_TX0繼續(xù)從TXFIFOO中取數(shù)據(jù),直到TXFIFOO中的數(shù)據(jù)全部被發(fā)送,再通過用戶設(shè)置情況決定是否產(chǎn)生發(fā)送中斷。雙通道時,發(fā)送移位寄存器TXSR交替從SSI_TX0和SSI_TXl中取出數(shù)據(jù)。
(2)接收數(shù)據(jù):單通道時,數(shù)據(jù)從串行接收引腳SSI_RXD進(jìn)來,由接收移位寄存器RXSR傳輸給接收數(shù)據(jù)寄存器SSI_RX0,再根據(jù)用戶設(shè)置情況決定是否產(chǎn)生接收中斷。如果接收緩沖區(qū)RXFIFOO被允許,則SSI_RX0將數(shù)據(jù)寫入RXFIFOO,并繼續(xù)從接收移位寄存器中獲取數(shù)據(jù)。雙通道時,接收移位寄存器RXSR交替將數(shù)據(jù)傳輸給SSI_RX0和SSI_RXl。
評論