新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 通信技術在三坐標測量系統中的應用

        通信技術在三坐標測量系統中的應用

        作者: 時間:2009-04-14 來源:網絡 收藏

          ③I2C接收模塊[7]的FPGA實現

          接收模塊接收到總線監視模塊發送來的起始位信號后,準備接收總線上的數據,接收到的地址后,判斷接收到的地址和電路板地址是否一致;當兩者一致時,向總線置應答信號ACK,繼續接收下面的數據,收到的數據置于接收FIFO中;如果地址不一致,則放棄總線。使用Modelsim對I2C接收模塊進行仿真如圖4。


          I2CbusIsBusy:總線狀態;I2C_start:起始信號

          myAddr:電路板的地址; rxBuf:接收寄存器

          rxFIFO_wr:接收FIFO的寫信號

          3、通訊協議

          上位機和橋接板之間采用RS232總線進行數據傳輸,橋接卡和控制卡以及各個控制卡之間采用I2C總線進行數據的傳輸,通訊采用主叫和應答方式,數據傳輸中使用單片機進行解碼[8]。

          主叫方發出指令后,等待對方響應,如果主叫方寫指令到被叫方,則被叫方收到指令執行操作后返回確認信號;如果從主叫方讀指令,則被叫方在下一時刻占用總線后發送數據到主叫方,主叫方在0.5s內沒有收到響應包,表明傳輸失敗。若連續3次沒有響應,則與對方通信連接失敗。

          為了實現數據的一致性,RS-232和I2C總線采用相同的通信協議。

          數據傳輸時以“包”進行封裝,中間加入長度位和奇偶校驗位。封裝格式:起始字符+長度字符 +序列號+源地址+目的地址包類型+傳輸數據+包校驗+結束字符;數據傳輸均采用ASCII碼。

          包的定義:起始位定義為‘#’,占用一個字節,接收方接收到‘#’時,表明數據開始傳輸;長度字符定義為除起始字符、結束字符和校驗字符的所有原始字符的長度,占用一個字節;源地址:發送方地址,占用一個字節;目的地址:接收方地址,占用一個字節,當為‘00’時,定義為廣播地址;包類型:占用一個字節,表明數據的類型,接收方根據包類型執行對應操作;傳輸數據:控制量的大小;包校驗:定義為長度字符,源地址,目的地址,包類型和數據之和,占用兩個字節;結束位:定義為‘~’,當接收方接收到結束字符時,表明本包傳輸結束,對數據包進行處理,長度位和校驗位正確時執行指令,否則,放棄改數據包。

          4、實驗結果

          使用該通訊實現和四控制卡之間的通訊控制,使用串口助手進行數據收發,在發送數據間隔為5us的情況下對該通訊進行測試,在進行8小時的測試中,沒有出現數據丟失、錯誤、死機現象;使用廣播地址進行數據發送,返回信號正確,沒出現死機現象。

          使用該通訊系統對四個電機進行控制,電機實際輸出情況如表1:

        實驗結果
          本實驗數據證明了該通訊系統的可用性及數據傳輸的準確性。

          使用該系統采用廣播地址實現四個電機同步聯動,各個軸的運動情況如表2:

        實驗結果
          本實驗數據證明了各個電機實現了指定的轉動角度;各個軸運動期間,電機的狀態經過I2C總線[9]及RS-232總線通訊系統成功的發送到了上位機,通訊系統沒有出現死機和數據丟失,經過該實驗,證明了數據傳輸的正確性。

          4、結論

          本系統采用FPGA進行通訊系統的設計,提高了數據的傳輸率和準確性,實現了對控制機構及時、快速的控制,有效防止突發事件的處理,經實驗證明,本系統快速、準確的實現了數據的傳輸,可以有效快速的實現對電機的速度、位置控制、準確的讀取電機的編碼器信號。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 山阳县| 淄博市| 台江县| 焉耆| 正镶白旗| 通化市| 泾阳县| 邳州市| 黄大仙区| 永泰县| 临桂县| 华亭县| 大名县| 五河县| 河南省| 如东县| 铜陵市| 开化县| 仙游县| 鞍山市| 普洱| 陕西省| 京山县| 南京市| 晋中市| 蒲城县| 资兴市| 屏南县| 唐山市| 田林县| 视频| 周至县| 句容市| 敦煌市| 永泰县| 定安县| 苗栗县| 分宜县| 宜章县| 应城市| 甘孜县|