新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于雙DSP的并聯控制系統中串行通信的研究

        基于雙DSP的并聯控制系統中串行通信的研究

        作者: 時間:2010-01-07 來源:網絡 收藏

          上位機采用Visual Basic6.0(以下簡稱VB)語言編程實現,利用VB 中提供的MSComm 控件可以實現PC 機與下位機的。利用MSComm 實現有兩種方法:一是事件驅動 方法,也就是OnComm 事件。當有數據到達端口或端口狀態發生改變或有錯誤產生時, 都將發生OnComm 事件。另一種就是查詢方式。查詢方式是通過周期性讀取緩沖區的信號來發現是否有事件發生并進行處理的方法。本設計中,發送采用查詢方式,接受采用事件驅 動方法。MSComm 控件初始化程序如下:

          MSComm1.CommPort = 1 '端口號'

          MSComm1.Settings = 38400,n,8,1

          '波特率38400bit/s,8 位數據位,無奇偶校驗,1 位停止位'

          MSComm1.InputLen = 0

          MSComm1.InBufferCount = 0 '清空接收緩沖區'

          MSComm1.OutBufferCount = 0 '清空'

          MSComm1.RThreshold = 1 '接收緩沖區或發送緩沖區中可以接收的字符數'

          MSComm1.PortOpen = True

          應實際要求,我們要在通信中同時傳輸數據和控制字符,所以數據傳輸同時采用ASCⅡ 碼和二進制兩種形式。這就需要在每次傳輸前改變MSComm1.InputMode 的屬性。

          TMS320F2812(SPI 通信中主處理器)在完成時鐘和中斷初始化后,對其SCI 寄存器進 行設置,使其通信協議和上位機一致。TMS320F2812 采用查詢方式給上位機發送數據,中 斷方式接受上位機的數據。SCI 寄存器設置如下:

          SciaRegs.SCICCR.all=0x0007;

          /*一個停止位,禁止奇偶校驗,禁止自測,8 個字符*/

          SciaRegs.SCICTL1.all=0x0003;

          /*禁止接受錯誤中斷,復位,禁止休眠,開啟發送使能*/

          SciaRegs.SCICTL2.all=0x0002;

          /*開接受中斷,關發送中斷*/

          SciaRegs.SCIHBAUD=0x00;

          SciaRegs.SCILBAUD=0x79;

          /*波特率38400*/

          SciaRegs.SCICTL1.all=0x0023;

          /*開始使能SCIA*/

          5 結束語

          以上為解決兩個 之間以及 與PC 機之間的通信的軟硬件設計方案,當上位機 發送給定信息(位置信息)后,下位機接受到數據并傳輸給SPI 處理器,上位機和下位機界 面如圖6、圖7。



          系統的最大特點是根據實際需要,采用同時同步和異步兩通信方式。雙系統間的同步串 行通信,保證了雙系統運行的同步性;通過PC 機和上位機的異步通信,實現把 采集的一系列數據通過串口發送至PC 機,解決了DSP 存儲空間有限的問題,在PC 上可以很方便地對數據進行一些在DSP 上難以實現的處理,得到一些數據曲線等,效果直觀便捷。此系統已應用與某一開關磁阻電機電機并聯中,運行穩定,通信性能良好。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 正蓝旗| 新津县| 措美县| 麻城市| 包头市| 麻栗坡县| 开鲁县| 林西县| 康乐县| 清苑县| 曲沃县| 榆社县| 贡觉县| 邛崃市| 汾西县| 丰顺县| 和林格尔县| 武夷山市| 应城市| 溧阳市| 平塘县| 虹口区| 且末县| 洛阳市| 临沧市| 承德县| 宜黄县| 荣昌县| 延川县| 咸阳市| 渭南市| 大理市| 昭通市| 凯里市| 崇左市| 鲁山县| 芮城县| 来宾市| 休宁县| 五寨县| 紫金县|