新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于雙DSP的并聯(lián)控制系統(tǒng)中串行通信的研究

        基于雙DSP的并聯(lián)控制系統(tǒng)中串行通信的研究

        作者: 時間:2010-01-07 來源:網(wǎng)絡(luò) 收藏

          TMS320F2812 的SPI 是一個高速的同步輸入/輸出端口,一般用來實(shí)現(xiàn) 控制器 之間和 與外圍設(shè)備之間的。SPI 有兩種操作模式:主操作模式和從操作模式。主片 控制了時鐘信號(SPICLK),它可以在任何時候通過發(fā)送SPICLK 信號來啟動數(shù)據(jù)傳輸。無論是主片還是從片,數(shù)據(jù)都是在SPICLK 的某個邊沿移出移位寄存器,在SPICLK 相反的邊沿鎖存在移位寄存器中,并且輸出和接受數(shù)據(jù)都是同時進(jìn)行的。

          芯片的 SCI 是一個雙線的異步接口,也稱UART 口,一般用于接上位機(jī)(以下簡稱PC 機(jī))。

          3 同步通信模塊的設(shè)計

          3.1 SPI 模塊的硬件設(shè)計

          讓兩個 分別工作在主、從操作模式下,兩者的引腳連接如圖2 所示。主處理器通 過SPICLK 腳向整個通信網(wǎng)提供時鐘,控制著系統(tǒng)的數(shù)據(jù)傳輸;通過SPISTE 腳給從處 理器提供片選信號,低電平有效;通過SPISIMO 腳把數(shù)據(jù)輸出到從處理器的SPISIMO 腳上; 通過SPISOMI 腳接受從機(jī)處理器SPISOMI 腳上的數(shù)據(jù)。


          3.2 同步通信流程設(shè)計及軟件實(shí)現(xiàn)

          在設(shè)計時,主處理器先向從處理器發(fā)送給定信息,發(fā)送完畢后,循環(huán)發(fā)送0,使SPICLK 不停地有時鐘脈沖輸出,并等待接受從處理器發(fā)送的數(shù)據(jù)。從處理器先是等待給定信息,如果接收到非零數(shù)據(jù),則進(jìn)行下一步運(yùn)行并不斷向主處理器發(fā)送當(dāng)前數(shù)據(jù)。

          SPI 通信主處理器的流程圖和從處理器的流程圖分別如圖3、圖4 所示。


          在完成兩個DSP 時鐘和中斷初始化后,分別對其SPI 寄存器進(jìn)行設(shè)置,讓其分別處于 master 和slave 模式。主、從處理器都采用查詢方式發(fā)送數(shù)據(jù),中斷方式接受數(shù)據(jù)。

          查詢方式發(fā)送是判斷SPI 發(fā)送緩沖器已滿標(biāo)志位(SPISTS.bit.BUFFULL_FLAG)是否為空,如果為空,則將數(shù)據(jù)寫入發(fā)送緩沖寄存器(SPITXBUF)中,啟動SPISIMO 引腳的數(shù)據(jù)發(fā)送,數(shù)據(jù)發(fā)送完畢后SPISTS.bit.BUFFULL_FLAG 自動清零,等待下一次發(fā)送。

          中斷方式接受是在SPI 中斷使能位(SPICTL.bit.SPIINTENA)置位的情況下,如果接收 到數(shù)據(jù)傳送到SPI 串行數(shù)據(jù)寄存器(SPIDAT)中,SPI 中斷標(biāo)志位(SPISTS.bit.INT_FLAG)置位且觸發(fā)中斷,并將數(shù)據(jù)轉(zhuǎn)移到接受緩沖寄存器(SPIRXBUF)中,如果SPIRXBUF 中數(shù)據(jù)被讀取,則SPISTS.bit.INT_FLAG 自動清零,等待下一次接受中斷。



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 松滋市| 永嘉县| 雷州市| 沙湾县| 资兴市| 历史| 平远县| 施秉县| 巴林右旗| 微山县| 莱西市| 周口市| 霍邱县| 韶山市| 如皋市| 黑山县| 天祝| 方山县| 丰原市| 宜阳县| 勃利县| 岢岚县| 华阴市| 松滋市| 论坛| 阳江市| 杭锦旗| 日照市| 科尔| 明光市| 攀枝花市| 祁门县| 翁源县| 汉阴县| 泰州市| 建瓯市| 博爱县| 滨州市| 宜丰县| 宁明县| 潢川县|