DM8168的McSPI/McASP/McBSP接口
McSPI接口
SPI管腳:
| 管腳 | 類型 | 描述 |
| SPI_SCLK | I/O | SPI串行時鐘(MASTER時:輸出;SLAVE:輸入) |
| SPI_D0 | I/O | 能被配置為輸入或輸出(MOSI:master out,slave in或MISO:master in slave out) |
| SPI_D1 | I/O | 能被配置為輸入或輸出(MOSI:master out,slave in或MISO:master in slave out) |
| /SPI_CS0 | I/O | SPI片選0,MASTER時:輸出;SLAVE:輸入,低有效 |
| /SPI_CS1 | I/O | SPI片選1,MASTER時:輸出;SLAVE:輸入,低有效 |
| /SPI_CS2 | I/O | SPI片選2,MASTER時:輸出;SLAVE:輸入,低有效 |
| /SPI_CS3 | I/O | SPI片選3,MASTER時:輸出;SLAVE:輸入,低有效 |
時序:
SPI接口可以進行以下配置:
- SPI字長
- SPI使能產生可編程
- SPI使能斷言
- SPI使能極性
- SPI時鐘頻率
- SPI時鐘相位(PHA)
- SPI時鐘極性(POL)
McASP接口
McASP0管腳:
| 管腳 | 類型 | 描述 |
| MCA[0]_ACLKR | I/O | McASP0接收位時鐘 |
| MCA[0]_AHCLKR | I/O | McASP0接收高頻主時鐘I/O |
| MCA[0]_AFSR | I/O | McASP0接收幀同步IO |
| MCA[0]_AMUTEIN | I/O | McASP0禁音輸入 |
| MCA[0]_ACLKX | I/O | McASP0發送位時鐘 |
| MCA[0]_AHCLKX | I/O | McASP0發送高頻主時鐘I/O |
| MCA[0]_AFSX | I/O | McASP0發送幀同步 |
| MCA[0]_AMUTE | O | McASP0禁音輸出 |
| MCA[0]_AXR[5] | I/O | McASP0發送/接收數據I/Os |
| MCA[0]_AXR[4] | I/O | |
| MCA[0]_AXR[3] | I/O | |
| MCA[0]_AXR[2] | I/O | |
| MCA[0]_AXR[1] | I/O | |
| MCA[0]_AXR[0] | I/O |
McASP1管腳:
| 管腳 | 類型 | 描述 |
| MCA[1]_ACLKR | I/O | McASP1接收位時鐘 |
| MCA[1]_AHCLKR | I/O | McASP1接收高頻主時鐘I/O |
| MCA[1]_AFSR | I/O | McASP1接收幀同步IO |
| MCA[1]_AMUTEIN | I/O | McASP1禁音輸入 |
| MCA[1]_ACLKX | I/O | McASP1發送位時鐘 |
| MCA[1]_AHCLKX | I/O | McASP1發送高頻主時鐘I/O |
| MCA[1]_AFSX | I/O | McASP1發送幀同步 |
| MCA[1]_AMUTE | O | McASP1禁音輸出 |
| MCA[1]_AXR[1] | I/O | McASP1發送/接收數據I/Os |
| MCA[1]_AXR[0] | I/O |
McASP2管腳:
| 管腳 | 類型 | 描述 |
| MCA[2]_ACLKR | I/O | McASP2接收位時鐘 |
| MCA[2]_AHCLKR | I/O | McASP2接收高頻主時鐘I/O |
| MCA[2]_AFSR | I/O | McASP2接收幀同步IO |
| MCA[2]_AMUTEIN | I/O | McASP2禁音輸入 |
| MCA[2]_ACLKX | I/O | McASP2發送位時鐘 |
| MCA[2]_AHCLKX | I/O | McASP2發送高頻主時鐘I/O |
| MCA[2]_AFSX | I/O | McASP2發送幀同步 |
| MCA[2]_AMUTE | O | McASP2禁音輸出 |
| MCA[2]_AXR[1] | I/O | McASP2發送/接收數據I/Os |
| MCA[2]_AXR[0] | I/O |
幾個概念:
- 位、字、slot、幀
圖中,位(bit)b0-b7構成字(word),這個字加4個附著位(pad)構成slot,在這個slot中的對齊方式是左對齊。幀(Frame)由兩個slot(slot0、slot1)構成。
- McAsp支持的TDM格式
(A)FS的寬度可以是1bit
FS還可以設置延遲時間:
(A)???? FS的寬度可以是1bit
(B)???? 是上一幀的最后一位,這個最后一位與slot0之間不允許有間隙
- McAsp支持的I2S格式:
(A)???? 支持AXR0-AXR5共6個數據腳
在I2S方式,我們通常用通道(channel)來代替Slot。一般兩個通道:左通道和右通道
l? McASP支持的S/PDIF
McASP的發送器支持S/PDIF格式。S/PDIF格式是將時鐘(CLOCK)、幀(FRAME)和數據(Data)編碼成一個信號,通過AXRx腳來發送。所以需要了解編碼方式、子幀格式、幀格式。
(1)???? 編碼方式(BMC:Biphase-Mark Code)
(2)???? 子幀格式
| Preamble code | Previous logical state | Logical state on pin AXRn | Description |
| B(或Z) | 0/1 | 1110 1000/00010111 | 塊的開始和子幀1 |
| M(或X) | 0/1 | 1110 0010/00011101 | 子幀1 |
| W(或Y) | 0/1 | 1110 0100/00011011 | 子幀2 |
但是DM8168的DIT僅產生Previous logical state為0的Preamble,因為McASP在發送DIT模式的時候是采用偶極性的編碼方案。
(3)???? 幀格式
?
McBSP接口
管腳定義:
| 管腳 | 類型 | 描述 |
| MCB_CLKR | I/O | McBSP的接收時鐘 |
| MCB_FSR | I/O | McBSP的接收幀同步 |
| MCB_DR | I | McBSP的接收輸入輸入 |
| MCB_CLKX | I/O | McBSP的發送時鐘 |
| MCB_FSX | I/O | McBSP的發送幀同步 |
| MCB_DX | O | McBSP的發送數據輸出 |
| MCB_CLKS | I | McBSP的源時鐘 |
時序:
我們可以設置每幀的相位數(單相位或雙相位);每幀的字數(對于單相位,每幀字數可以達128,但是對雙相位,只能是2個字,對應,每個相位1個字);每個相位中的字的長度。
- 單相位幀
在這種方式,可以設置每幀的字數(word個數)、每個字(word)的位數(bit數)等
- 雙相位幀
這種方式,每個相位,只能設置1個字。在這里第一個相位的字是16bit,第二個相位的字是8bit
?
總結
- McSPI與McASP和McBSP的區別是非常明顯的,不多說
- McBSP能實現部分McASP的功能,比如都支持TDM和I2S,因此二者在功能上存在交叉
總結
以上是生活随笔為你收集整理的DM8168的McSPI/McASP/McBSP接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今天觉得自己好像比较紧张
- 下一篇: darknet yolov3 yolov