999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于有源濾波器的串口通信設計與實現

2012-02-28 05:10:38藺海艷王銀照
網絡安全與數據管理 2012年9期
關鍵詞:指令

藺海艷 ,劉 海 ,王銀照

(1.山東大學威海分校,山東 威海 264209;2.山東濱州供電公司,山東 濱州 256610)

在工礦企業中,非線性電力負荷的大量增加使電網諧波污染日益加劇。而有源濾波器APF(Active Power Filter)能夠有效地濾除電網諧波,提高電能質量,已成為諧波補償的一種發展趨勢。隨著電網智能化的提高,僅僅完成諧波的濾除是不夠的,還需要將有源濾波器所處理監控的一些動態參數(如電壓、電流、諧波等)上傳給上位機,以實現電網數據的實時監測、分析和處理。串口通信是上位機與下位機數據交換常使用的方法之一,它具有數據傳輸可靠、連線少、成本低和抗干擾強等優點[1]。因此,在本監控系統中本文采用RS-232串行通信方式完成上下位機的數據交換。如果需要長距離傳輸,可以加Modem使用電話網或是直接使用無線通信網絡。

1 有源濾波器與上位機通信的硬件設計

有源濾波器設計采用并聯型拓撲結構,電網電流經電流互感器按比例轉換成低電流,經A/D轉換器采樣后讀入DSP控制模塊,DSP運用瞬時無功功率理論計算出補償電流的指令信號,再利用該信號和實際的補償電流設計滯環比較器,產生PWM信號控制主電路生成合適的補償電流回饋給電網,以消除電網諧波。

為了完成數據的實時傳輸,DSP控制模塊通過擴展異步通信芯片TL16C750實現系統的高速串行通信。TL16C750具有集成度高、使用方便及兼容性好等特點,可由軟件設定16 B或64 B的FIFO,波特率最高可達1 Mb/s,具有可編程的串行數據發送格式[2]。它的片內寄存器選擇信號線 A0~A2和數據線D0~D7直接與 DSP相連;片選信號、讀寫信號、接收準備好和發送準備好信號等控制信號通過CPLD邏輯電路與DSP相連,以便完成對TL16C750的控制。TL16C750接收上位機傳來的命令,并將下位機并行數據轉換成串行數據上傳給上位機。

由于RS-232端口的電氣特性規定邏輯1是-3 V~-15 V,邏輯 0是+3 V~+15 V,與 TTL電平不兼容。因此,本設計采用電平轉換芯片MAX3232,完成TTL電平到RS-232電平的轉換。然后將MAX3232的T1out和R1in接到PC的串口上。有源濾波器與上位機通信的硬件原理框圖如圖1所示。

圖1 有源濾波器與上位機通信的硬件原理框圖

2 通信協議設計

通信協議是指通信雙方的一種約定,它規定了數據接收方和數據發送方需共同遵守的某種數據格式、同步方式、傳送速度、糾錯方式等,是串口通信的基礎[3]。本設計采用主從式、半雙工通信方式,波特率選擇9 600 b/s,1 bit偶校驗,8 bit數據位,1 bit停止位,并采用十六進制數據格式來表示指令代碼和數據,格式如下:

起始字節 地址碼 功能碼 參數代號 操作數 結束字節

指令代碼和數據都采用定長格式,起始字節為A5,結束字節為5A,沒有參數的字節用FF填充。其中,操作數為2 B,其他為 1 B。

地址碼為1 B,在多機通信中,每個下位機有唯一的地址碼,以響應與該地址相應的數據信息。由于本機還處于試驗調試階段,本文采用最簡單的單機通信,即只有一臺下位機,該下位機地址碼為01H。

功能碼包括查詢命令、讀命令和寫命令,每個功能碼是1 B,由上位機發送給下位機,告訴下位機執行何種動作。本通信中查詢命令、讀命令和寫命令功能碼分別為25H、26H和27H,分別告訴下位機執行查詢從機、讀數據和寫數據操作。

首先,上位機向下位機發送查詢從機命令,命令格式為:A5+地址碼+查詢命令(25H)+FF FF FF 5A。下位機接收到命令后,上傳特定數據給上位機,以完成上下位機的握手。

通信指令包括一條讀指令和一條寫指令。

讀指令格式為:A5+地址碼+讀命令 (26H)+FF FF FF 5A。

返回數據為電壓、電流、諧波電流、小數點位置。

寫指令格式為:A5+地址碼+寫命令 (27H)+參數代號+被寫入參數值+5A。

當上位機將讀指令發送給下位機時,下位機將采集的電壓、電流、諧波電流和小數點位置上傳給上位機。小數點位置用1 B表示,其他參數由2 B組成,低字節在前,高字節在后。

寫指令中的參數代號是指有源濾波器中需要修改的參數,如01H表示波特率,02H表示小數點位置。被寫入參數值用2 B表示,低字節在前,高字節在后。比如,寫指令為A5 01 27 01 80 25 5A,則表示要將下位機的波特率改為9 600 b/s。第一個01H表示從機地址,27H表示寫命令,第二個01H表示需要修改波特率,要修改成的數據是2580H,十進制為9 600。

3 串行通信軟件設計

串口通信軟件設計包括下位機的DSP串口編程和上位機的程序設計兩部分。下位機的串口編程主要由串口初始化和通信協議組成,它接收上位機傳來的指令,并根據指令作出相應處理。上位機軟件設計主要包括串口配置和后續數據處理,它向下位機發送命令,并將接收到的數據進行處理、運算和保存。

3.1 下位機串口軟件設計

下位機的串口編程首先要完成串口的初始化,也就是設置操作所需要的參數,如設定串行通信中字符的格式、波特率和工作方式等。在本系統中,異步通信芯片采用TL16C750,它內部有 11個寄存器,占用7個 I/O口地址。DSP工作在微處理器模式,選擇TL16C750端口地址為 4000H~4006H (A15=0,A14=1),并通過控制地址線A0、A1、A2和線路控制寄存器的除數寄存器選通位D7來選通不同寄存器,以便進行讀寫操作。

在異步串行通信中,一方的發送數據波特率一定要和對方的接收數據波特率相同[4],本系統設置波特率為9 600 b/s,又因 TL16C750的晶振是 14.745 6 MHz,根據“發送波特率=輸入時鐘頻率÷除數寄存器內容÷16”可得波特率除數寄存器(低位地址是4000H,高位地址是4001H,選擇該地址時,線路控制寄存器的 D7=1)內容為96,轉化成十六進制是0060H。

線路控制寄存器地址為4003H,它既是可寫的也是可讀的,該寄存器中的內容規定了通信中一幀的格式。本系統選擇通信格式為8 bit數據位,1 bit停止位,1 bit偶校驗,因此線路控制寄存器的值為1B。

系統工作在中斷方式下,允許接收錯、發送寄存器空和接收數據就緒中斷,因此中斷允許寄存器(地址為4001H,選擇該地址時線路控制寄存器的 D7=0)的值為07H。

將TL16C750的接收準備好信號(RXRDY)和發送準備好信號(TXRDY)與 DSP系統的外部中斷 1(INT1)和中斷3(INT3)相連。當 DSP接到串口中斷時,先屏蔽掉系統的其他中斷請求,然后將RXREADY賦值為1,以便用來判斷DSP是否完成了此中斷響應。如果鍵盤沒有終止串口通信,則將存入緩沖存儲器組的數據上傳給上位機。串口通信的中斷子程序流程圖如圖2所示。

3.2 上位機串口通信軟件設計

上位機程序使用 Visual C++作為軟件開發環境。Visual C++在串口通信方面功能很強,不僅操作簡單、代碼執行速度快,而且界面設計比較好[5]。使用Visual C++進行串口開發有多種方法,如Windows API通信函數、MSComm ActiveX串行通信控件、Visual C++運行庫函數,第三方編寫通信類都可以實現串口編程。本設計采用MSComm ActiveX串行通信控件來編寫通信程序。

MSComm ActiveX串行通信控件是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件[6]。它提供了事件驅動方式和查詢方式兩種處理通信的方式。查詢方式是通過檢查CommEvent屬性值來查詢事件和錯誤,然后進行相應的處理;而事件驅動方式是在串口發生事件或錯誤時,產生OnComm事件進行相應的處理,它響應及時,可靠性高,因此本文選用事件驅動方式。

首先在VC中建立一個基于對話框的應用程序,在該MFC項目中插入MicrosoftCommunicationControl控件。在使用該控件前,先要對其進行初始化設置,主要包括選擇COM口以及設置輸入方式、波特率、數據位、檢驗位、停止位、發送緩沖區大小和接收緩沖區大小等。當然不要忘記打開串口,因為在32 bit Windows中,串口和其他通信設備都被作為文件進行處理,在使用前必須先將其打開。部分初始化程序如下:

初始化完成后,按照通信協議在查詢設備和開始采集按鈕所對應的函數 Oncheck()和 Onstart()中編寫發送命令的字符串。為了定時發送讀指令,在Onstart()函數中添加計時器函數 SetTimer(),當采集結束時,一定要清除該計時器。函數如下:

當接收緩沖器中有數據時,將會觸發OnComm事件,因此要在MSComm控件相應的消息響應函數OnOnCommMscomm1()中編寫數據處理程序。由于串口通信接收和發送數據類型只能是VARIANT,因此要將數據進行格式轉換。將接收到的數據轉化成CString類,處理后將其保存到與之相連接的SQL Server 2000數據庫的表中,以便在主界面中進行顯示和相應數據的處理。

4 串口調試

串口屬性設計完成后,運行主界面,單擊串口設置按鈕,進入串口通信界面,運行界面如圖3所示。

首先單擊串口參數設置按鈕,設置串口通信的波特率、檢驗位、數據位和停止位。波特率選擇9600b/s,1 bit偶校驗,8 bit數據位,1 bit停止位。設置完成后單擊設備查詢,上位機將會向下位機發送設備查詢命令,下位機收到查詢命令后,將返回相同的數據,如圖3中的a5 01 25 ff ff ff 5a,就是下位機返回給上位機的數據。上位機接收到該數據,說明上下位機完成握手,數據能在兩者之間進行實時傳送。

單擊開始采集按鈕,上位機定時向下位機發送讀指令,下位機接收到讀命令后,將相關數據上傳給上位機。為了更加清楚地查看數據的傳輸過程,本文在串口對話框中加一個編輯框,用來顯示下位機傳給上位機的數據,如圖3中的98 08 22 00 09 00 01就是下位機上傳的數據。其中,0898是電壓值,0022是電流值,0009是諧波電流值,01表示保留一位小數,因此轉換成十進制電壓是 220 V,電流是 3.4 A,諧波電流是 0.9 A。

當需要修改下位機相關參數時,將寫命令填寫到圖3最下邊的編輯框中,然后單擊寫命令按鈕,即會向下位機發送修改命令。

為了實現上位機對有源濾波器的監控,本文設計了有源濾波器與上位機的RS-232串口通信,并詳細介紹了串口通信的硬件電路、通信協議和軟件編程。下位機使用C和匯編語言混合編程,上位機使用Visual C++完成界面設計,并編寫MSComm通信控件。通過串口調試可知,該設計能夠完成上位機對有源濾波器的實時監控。

[1]曹衛彬.C/C++串口通信典型應用實例編程實踐[M].北京:電子工業出版社,2009.

[2]TL16C750 data sheet[DB/OL].[2011-12-16].http://www.icpdf.com/partnoview.asp?id=733855_128973.

[3]王曉麗.基于串口通信的摩托車前照燈檢測[J].小型內燃機與摩托車,2009,38(2):66-68.

[4]劉樂善,歐陽星明,劉學清.微型計算機接口技術及應用[M].武漢:華中科技大學出版社,2000.

[5]龔建偉,熊光明.Visual C++/Turbo C串口通信編程實踐[M].北京:電子工業出版社,2008.

[6]王春曉,劉海.基于 VB和 MSComm的 APF監控系統設計[J].工業控制計算機,2010,23(12):20-21.

猜你喜歡
指令
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
巧用G10指令實現橢圓輪廓零件倒圓角
時代農機(2015年3期)2015-11-14 01:14:29
中斷與跳轉操作對指令串的影響
科技傳播(2015年20期)2015-03-25 08:20:30
基于匯編指令分布的惡意代碼檢測算法研究
一種基于滑窗的余度指令判別算法
歐盟修訂電氣及電子設備等產品安全規定
家電科技(2014年5期)2014-04-16 03:11:28
MAC指令推動制冷劑行業發展
汽車零部件(2014年2期)2014-03-11 17:46:27
主站蜘蛛池模板: 91视频区| a国产精品| 欧美日韩一区二区在线免费观看| 天堂va亚洲va欧美va国产| 欧美天天干| 国产成人精品视频一区视频二区| 久久亚洲AⅤ无码精品午夜麻豆| 国产小视频在线高清播放| 亚洲国产日韩在线观看| 国产特一级毛片| 国产91无毒不卡在线观看| 夜夜操国产| 午夜精品久久久久久久2023| 无码日韩视频| 丝袜国产一区| 国产微拍一区| 国产又大又粗又猛又爽的视频| 国产黄色片在线看| 亚洲精品欧美重口| 免费人成又黄又爽的视频网站| 久久久久亚洲精品无码网站| 亚洲成人www| 亚洲国产综合精品中文第一| 永久成人无码激情视频免费| 亚洲成人一区在线| 色成人综合| 日韩成人免费网站| 国产欧美综合在线观看第七页| 日韩精品亚洲精品第一页| 91精品国产自产在线观看| 真人高潮娇喘嗯啊在线观看| 久久久精品国产亚洲AV日韩| 国产欧美日韩综合在线第一| 欧美成人亚洲综合精品欧美激情| 国内精品自在自线视频香蕉| 亚洲国产精品人久久电影| 日韩中文无码av超清| 有专无码视频| 国产精品第三页在线看| 欧美亚洲第一页| 欧美午夜久久| 91热爆在线| 中文字幕丝袜一区二区| 午夜不卡福利| 婷婷色狠狠干| 色播五月婷婷| 久久精品人人做人人爽97| 国产91透明丝袜美腿在线| 综合亚洲网| 国产91丝袜| 欧美五月婷婷| 国产精品视频猛进猛出| 国产成人欧美| 亚洲首页国产精品丝袜| 亚洲免费成人网| 午夜啪啪网| 欧美区日韩区| 亚洲va视频| 免费jjzz在在线播放国产| 亚洲欧洲日产国产无码AV| 久久综合激情网| 久久99国产乱子伦精品免| 国产成人久久777777| 青青草原偷拍视频| av无码久久精品| 色屁屁一区二区三区视频国产| 亚洲日韩在线满18点击进入| 岛国精品一区免费视频在线观看| 日韩久久精品无码aV| 久久黄色一级视频| 亚洲无码91视频| 国产美女自慰在线观看| 99伊人精品| AV色爱天堂网| 99热这里只有免费国产精品 | 成人毛片在线播放| 亚洲a级在线观看| 亚洲人成影院在线观看| 久久久久久国产精品mv| 中文字幕久久亚洲一区| 亚洲天堂2014| 伊人丁香五月天久久综合|