• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > SPI接口基礎上的各種串行通信工作方式配置及驅動編程

    SPI接口基礎上的各種串行通信工作方式配置及驅動編程

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

      圖2中,筆者設計的基本協議如下:SPI的工作模式是主機用PCA定時器進行數據連續發、收,從機用串行中斷進行數據連續收、發。建立收發數據包,每個數據包8個字節,主從機均建立一個8個字節的發送數據緩沖區(spi send buf[8])和一個8個字節的接收數據緩沖區(spi_re cv_buf[8]),并建立一個完整數據包接收完畢標志(spi_recv_flag)。當用戶需要發送數據時,隨時可以將發送數據包填入發送緩沖區,當需要接收數據時,隨時測試接收標志是否置傳,這樣從接收數據緩沖區中得到對方發來的數據包。按照上述協議,設置好以后,用戶的數據收發只要面對本協議設置的通信緩沖區,而無需關注如何工作。從而滿足數據雙向傳輸、隨機收發的要求。基本協議構造示意圖如圖3所示。

      注意:筆者主機顯示設備為LCD12864,從機顯示設備為8個數碼管,為縮短篇幅,其顯示驅動程序未列出。從程序中可以看出,在發送一個字節的同時,接收一個字節,這是SPI與其他方式本質的不同。此外,筆者在接近1 MHz的極限速率下作了測試,數據傳輸穩定。

      3 高級協議的設計和實現

      基本協議較簡單,可以保證通信雙方能夠可靠地進行數據傳輸,但上述協議的實現依賴于從機中斷方式。而SPI中斷與UART串行中斷共用,當從機串行口用于其他通信時,就要避免通信中斷的相互干擾。復雜電子系統通信配置圖如圖4所示。

      圖4中的單片機串口只是數據發送,而無需接收數據,也只需單向數據傳輸。采用查詢方式,不占用中斷,串行4號中斷用于SPI通信。因此,可以用SPI基本協議完成單片機雙機通信功能。若電子系統與上位機之間有信息交互的要求,并且收發數據皆為隨機,此時系統通信的配置模式如圖4所示。

    數字通信相關文章:數字通信原理


    通信相關文章:通信原理




    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 沁源县| 油尖旺区| 田东县| 长治市| 徐水县| 广安市| 蕉岭县| 叶城县| 长垣县| 石渠县| 岳阳市| 卢氏县| 綦江县| 慈溪市| 岚皋县| 荥阳市| 庆阳市| 潜山县| 边坝县| 阳曲县| 增城市| 荣昌县| 云南省| 乡城县| 安多县| 广东省| 乌鲁木齐县| 乌审旗| 伊金霍洛旗| 胶州市| 肃南| 南木林县| 建瓯市| 清河县| 白水县| 琼海市| 阜城县| 房山区| 锡林郭勒盟| 姚安县| 内黄县|