新聞中心

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

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


        通信相關文章:通信原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 垣曲县| 广东省| 南漳县| 金门县| 屏南县| 望奎县| 镇安县| 收藏| 海伦市| 建瓯市| 北碚区| 铜梁县| 鲁甸县| 洛隆县| 达尔| 阿拉善盟| 浮山县| 陈巴尔虎旗| 新干县| 肥东县| 克拉玛依市| 枞阳县| 巨鹿县| 丹棱县| 集安市| 镇原县| 长丰县| 玛纳斯县| 镇坪县| 垣曲县| 封开县| 华亭县| 衡南县| 三江| 武汉市| 昌都县| 霍城县| 沈阳市| 温州市| 淮南市| 通榆县|