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