spi協(xié)議及工作原理分析 作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò ) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對面交流海量資料庫查詢(xún) 收藏 3. SSPSR.SSPSR 是 SPI 設備內部的移位寄存器(Shift Register). 它的主要作用是根據 SPI 時(shí)鐘信號狀態(tài), 往 SSPBUF 里移入或者移出數據, 每次移動(dòng)的數據大小由 Bus-Width 以及 Channel-Width 所決定.Bus-Width 的作用是指定地址總線(xiàn)到 Master 設備之間數據傳輸的單位.例如, 我們想要往 Master 設備里面的 SSPBUF 寫(xiě)入 16 Byte 大小的數據: 首先, 給 Master 設備的配置寄存器設置 Bus-Width 為 Byte; 然后往 Master 設備的 Tx-Data 移位寄存器在地址總線(xiàn)的入口寫(xiě)入數據, 每次寫(xiě)入 1 Byte 大小的數據(使用 writeb 函數); 寫(xiě)完 1 Byte 數據之后, Master 設備里面的 Tx-Data 移位寄存器會(huì )自動(dòng)把從地址總線(xiàn)傳來(lái)的1 Byte 數據移入 SSPBUF 里; 上述動(dòng)作一共需要重復執行 16 次.Channel-Width 的作用是指定 Master 設備與 Slave 設備之間數據傳輸的單位. 與 Bus-Width 相似,Master 設備內部的移位寄存器會(huì )依據 Channel-Width 自動(dòng)地把數據從 Master-SSPBUF 里通過(guò) Master-SDO 管腳搬運到 Slave 設備里的 Slave-SDI 引腳, Slave-SSPSR 再把每次接收的數據移入 Slave-SSPBUF里.通常情況下, Bus-Width 總是會(huì )大于或等于 Channel-Width, 這樣能保證不會(huì )出現因 Master 與 Slave 之間數據交換的頻率比地址總線(xiàn)與 Master 之間的數據交換頻率要快, 導致 SSPBUF 里面存放的數據為無(wú)效數據這樣的情況.4. SSPBUF.我們知道, 在每個(gè)時(shí)鐘周期內, Master 與 Slave 之間交換的數據其實(shí)都是 SPI 內部移位寄存器從 SSPBUF 里面拷貝的. 我們可以通過(guò)往 SSPBUF 對應的寄存器 (Tx-Data / Rx-Data register) 里讀寫(xiě)數據, 間接地操控 SPI 設備內部的 SSPBUF.例如, 在發(fā)送數據之前, 我們應該先往 Master 的 Tx-Data 寄存器寫(xiě)入將要發(fā)送出去的數據, 這些數據會(huì )被 Master-SSPSR 移位寄存器根據 Bus-Width 自動(dòng)移入 Master-SSPBUF 里, 然后這些數據又會(huì )被 Master-SSPSR 根據 Channel-Width 從 Master-SSPBUF 中移出, 通過(guò) Master-SDO管腳傳給 Slave-SDI 管腳,Slave-SSPSR 則把從Slave-SDI 接收到的數據移入 Slave-SSPBUF 里.與此同時(shí), Slave-SSPBUF 里面的數據根據每次接收數據的大小(Channel-Width), 通過(guò) Slave-SDO 發(fā)往 Master-SDI, Master-SSPSR 再把從 Master-SDI 接收的數據移入 Master-SSPBUF.在單次數據傳輸完成之后, 用戶(hù)程序可以通過(guò)從 Master 設備的 Rx-Data 寄存器讀取 Master 設備數據交換得到的數據.5. Controller.Master 設備里面的 Controller 主要通過(guò)時(shí)鐘信號(Clock Signal)以及片選信號(Slave Select Signal)來(lái)控制 Slave 設備. Slave 設備會(huì )一直等待, 直到接收到 Master 設備發(fā)過(guò)來(lái)的片選信號, 然后根據時(shí)鐘信號來(lái)工作.Master 設備的片選操作必須由程序所實(shí)現. 例如: 由程序把 SS/CS 管腳的時(shí)鐘信號拉低電平, 完成 SPI 設備數據通信的前期工作; 當程序想讓 SPI 設備結束數據通信時(shí), 再把 SS/CS 管腳上的時(shí)鐘信號拉高電平. 上一頁(yè) 1 2 下一頁(yè)
評論