新聞中心

        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所示。

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


        通信相關文章:通信原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淳化县| 元江| 张家界市| 玉环县| 望谟县| 深圳市| 中江县| 湖南省| 喀什市| 阿城市| 德化县| 肥城市| 雷山县| 广东省| 信阳市| 玉环县| 乌拉特中旗| 酒泉市| 犍为县| 湘潭市| 曲沃县| 出国| 宜宾县| 灯塔市| 班戈县| 新干县| 香格里拉县| 文登市| 延边| 遂昌县| 盐池县| 北安市| 聂荣县| 沧州市| 徐州市| 延寿县| 青岛市| 青阳县| 如皋市| 绍兴县| 娄底市|