陳寶欣,陳林軍,沈艷林,劉鵬,姜智譯
(1.后勤工程學院 后勤信息工程系,重慶401311;2.重慶通信學院;3.65113部隊)
?
科氏流量計串口調試系統設計與應用*
陳寶欣1,陳林軍1,沈艷林1,劉鵬2,姜智譯3
(1.后勤工程學院 后勤信息工程系,重慶401311;2.重慶通信學院;3.65113部隊)
為解決科氏流量計二次儀表軟件調試開發過程中與上位機的通信問題,設計并實現了針對科氏流量計二次儀表的串口調試系統,包括系統的軟硬件以及串口傳輸協議。主要功能包括串口配置、數據收發、數據顯示以及二次儀表參數設置等。系統實驗驗證了本串口調試系統對科氏流量計二次儀表開發的有效性。
串口;RS-232;SCI;MATLAB GUI;F28335;TRSF3221E
科里奧利質量流量計(以下簡稱科氏流量計)可以直接測量高精度的質量流量。在科氏流量計二次儀表的設計過程中,串口通信是一個必不可少的功能,擔負著與上位機通信的任務。同時,在二次儀表嵌入式軟件的開發調試過程中,通過串口通信實時傳輸相關數據或參數并直觀顯示,有利于及時掌握程序運行狀態,發現算法不足,以便及時修正。
傳統的串口調試軟件(如sscom、串口調試助手等),作為通用的串口調試工具,存在如下缺點:
① 數據顯示類型單一,上述軟件一般僅支持HEX字符和ASCII字符的顯示,而不能顯示浮點數;
② 數據顯示界面簡單,不能直觀、動態地顯示數據,并作相關處理;
針對上述缺點,本文設計并實現了針對科氏流量計二次儀表的串口調試系統,為二次儀表的開發、調試提供支持。

圖1 系統總體設計
本文設計的串口調試系統主要由3部分構成:系統硬件、系統軟件和傳輸協議??傮w設計如圖1所示。系統硬件部分包括:二次儀表上的串口通信模塊和上位機,其中上位機需要配有串口,否則需使用USB轉RS-232串口轉接線。系統軟件包括二次儀表內采用C語言編寫的程序和上位機采用MATLAB編寫的程序。由于串口通信都是基于二進制傳輸的,因此需要相應的傳輸協議控制二次儀表和上位機的通信,以實現更復雜的通信。
2.1系統硬件
本文二次儀表選用的是TI公司C28X系列32位浮點DSP控制器——TMS320F28335[1-2]。該芯片外設豐富,含有3個SCI串行通信接口[3]。SCI是一個雙線異步串行端口,就像通常的UART,支持CPU和其他使用標準不歸零格式(nRZ)的異步外圍設備間的通信。由于上位機串口多采用基于RS-232的DB9接頭,因此本設計通過SCI口接TRSF3221E,實現TTL電平到RS-232電平的轉換,硬件電路如圖2所示,只需要3根線即可實現全雙工通信,即發送信號線、接收信號線和地線。TRSF3221E型RS-232收發器采用3~5.5 V供電,最大傳輸速率為1 Mb/s,同時該芯片具有自動斷電功能,在沒有通信的時候可斷電降低功耗[4]。上位機此處不多做介紹,一般帶有串口的PC即可。

圖2 RS-232轉換電路
2.2系統軟件

圖3 SCI中斷服務程序流程圖
系統軟件包括兩部分:二次儀表內C程序和上位機MATLAB程序。二次儀表內C程序的主要功能是流量計量、顯示輸出、串口通信等。串口通信程序通過SCI中斷和主函數查詢的方式實現指令的接收和處理。中斷服務程序流程如圖3所示。在主程序內定時查詢接收幀標志位,當標志位置1時表示接收到完整的一幀,則轉入幀處理程序,即根據傳輸協議處理幀內容,并做出相關操作。
上位機MATLAB程序的主要功能是串口配置、向二次儀表發送指令、接收處理數據、實時顯示數據、保存數據以及儀表參數設置等。MATLAB的串口接口提供了一個對外圍設備的直接訪問,這個接口通過串口對象可實現串口通信和讀寫數據等功能。MATLAB通過以下指令建立和配置串口對象[5]:
1966年,荷蘭著名數學家、數學教育家弗賴登塔爾(H. Freudenthal)任國際數學教育委員會主席時,建議單獨為數學教育召開國際性大會.1969年在法國里昂召開了第一屆國際數學教育大會,開始了ICME的歷史.ICME每4年召開一次,與國際數學家大會錯開兩年召開.
Obj=serial(‘port’ , ‘PropertyName’ , Value);
為了可以實時顯示數據,需要配置串口對象的回調函數(Callback Function)。當接收到數據后觸發回調函數,在回調函數內根據傳輸協議處理數據,并實時顯示。
軟件界面設計如圖4所示,主要包括顯示區、串口配置區、顯示設置區、指令發送區以及儀表參數設置等。

圖4 界面設計
各區域功能如下:
① 顯示區:實時繪制接收到的數據;
② 串口配置區:配置串口參數,主要是波特率、數據位、停止位、校驗位、流控制、串口號等;
③ 顯示設置區:選擇要繪制顯示的數據和設置緩存大??;
④ 指令發送區:直接發送指令控制二次儀表;
⑤ 儀表參數設置:打開二次儀表參數設置窗口,設置相關參數,如流量系數、零點等。
2.3傳輸協議
上位機的COM口一般為RS-232接口,這種接口作為一種異步通信的接口標準和總線標準,只規定了通信口的電氣特性、傳輸速率、連接特性和接口的機械特性等物理介質層和鏈路層的內容。要實現數據的雙向訪問和控制就需要編寫相應的傳輸協議,因此本文設計了通用幀和數據幀兩種傳輸幀格式用于實現二次儀表和上位機的通信。
通用幀的主要作用是封裝指令和數據以及傳輸控制,二次儀表和上位機接收到完整一幀后根據內容作出相關操作。幀格式如下:

0123456…起始字節長度字節功能字節讀寫字節Byte0Byte1Byte2…
具體說明如下:
① 起始字節:標志著一幀的開始,設置為一固定值,如“0xAA”。
② 長度字節:當前幀的長度,以字節為單位。
③ 功能字節:當前幀的功能標識,用于標識二次儀表的不同參數和不同指令。
④ 讀寫字節:標識當前幀為讀或寫。
⑤ Byte:具體的參數或指令內容,最長為15字節。
實際軟件調試時需要連續發送數據監控二次儀表運行,為了提高傳輸效率,采用如下所示簡化的數據幀格式。

012345起始字節功能字節Byte0Byte1Byte2Byte3
每幀包含6個字節,首字節與指令幀相同,第二字節標識數據類型,如頻率或相位差等,其余字節構成32位單精度浮點數。
為驗證設計的科氏流量計串口調試系統的有效性,對其進行了測試。實驗方案如下:
① 打開MATLAB串口調試程序,設置波特率38 400 b/s,數據位8位,停止位1位,校驗位“無”,流控制“無”,然后點擊“打開串口”按鈕;
② 二次儀表SCI配置同上,實時向上位機發送頻率、幅值、相位差等測量信息;
③ 上位機通過“儀表參數設置”設置二次儀表參數或發送指令;
④ 關閉串口,保存數據。

圖5 接收數據結果
接收數據結果如圖5所示,可實時繪制頻率、幅值、相位差和信號圖形,并實時顯示當前平均值等信息。
數據保存界面如圖6所示,保存類型為Excel文件,默認文件名為當前系統時間。儀表參數設置如圖7所示。

圖6 數據保存

圖7 儀表參數設置
本文設計并實現了一套科氏流量計串口調試系統,用于解決科氏流量計二次儀表開發調試過程中與上位機通信的問題。系統可實時傳輸相關數據、在線發送指令,以及設置二次儀表相關參數。本系統有利于在二次儀表的調試過程中掌握程序運行狀態,并及發現算法不足,極大地方便了二次儀表的軟件開發工作。
[1] Texas Instrument.TMS320C28x CPU and Instruction Set Reference Guide,2009.
[2] Texas Instrument.TMS320x28xx,28xxx DSP Peripheral Reference Guide,2011.
[3] Texas Instrument. TMS320x2833x,2823x Serial
Design and Application of CMF Serial Debugging System
Chen Baoxin1,Chen Linjun1,Shen Yanlin1,Liu Peng2,Jiang Zhiyi3
(1.Department of Information Engineering,Logistical Engineering University,Chongqing 401311,China;2.Chongqing Communication Institute;3.Unit 65113)
In order to solve the communication problem of traditional serial debugging software with the host computer of CMF secondary instrument,a CMF serial debugging system is designed and implemented,which includes the hardware,software and the serial transmission protocol.It can complete the functions such as the serial port configuration,data transceiver,data display and parameter setting of secondary instrument.The experiment results show the effectiveness of the serial debugging system for CMF secondary instrument development.
serial port;RS-232;SCI;MATLAB GUI;F28335;TRSF3221E
國家自然科學基金(頻率估計的多段信號頻譜融合法及應用基礎,61271449);重慶市研究生科研創新項目(短時信號頻率估計的相位匹配方法及其應用,CYB14100)。
TN919.6
A