91av视频在线观看_www性色_操操操操操操操操操操操操操操_久久中文字幕电影_日韩理伦片在线观看视频播放_欧美日韩成人网

 官方博客  中文版 | ENGLISH

客服熱線:0517-86930968;
               13951262528

當前位置:首頁 > 技術文章 
微型井下智能壓力計的研究
更新時間:2019-7-8 15:41:25 瀏覽:1747 關閉窗口 打印此頁
 摘要:為測量在油氣井開發過程中所需要的壓力數據,設計制作了一種以PIC16F87X單片機為核心的微型井下智能壓力計。在設計中,采用I2C總線技術中器件地址的硬件接口設置,可同時掛接多個存儲器到總線,解決了大容量數據快速存儲的問題;利用FT245BL芯片,實現了USB和并行I/O口之間數據傳輸協議的自動轉換。
 
  1 系統整體設計方案
 
  本系統分為井下儀器部分和地面軟件處理部分,如圖1所示。井下儀器部分主要有壓力采集電路,并進行相應的處理,以完成信號電平調整,阻抗匹配等;在井下復雜環境中不利于數據的無線傳輸,需要把采集到的數據存儲起來;地面軟件部分,將數據送入計算機,利用PC機強大的數據處理功能進行數據分析。
 
 
 
  2 數據傳輸存儲模塊
 
  (1)系統的數據傳輸存儲采用I2C總線標準。I2C總線是一種高性能芯片間串行同步傳輸總線,它僅需要兩根信號線,就可實現完善的雙工同步數據傳送,能夠極其方便地構成多機系統和外圍器件擴展系統。本系統采用AT24C16存儲壓力數據,方法如下:AT24C系列E2PROM接口及地址選擇。由于I2C總線可掛接多個串行接口器件,在I2C總線中每個器件應有唯一的器件地址,按I2C總線規則,器件地址為7位數據,它和1位數據方向位構成一個器件尋址字節,最低位D0為方向位(讀/寫)。器件尋址字節中的最高4位(D7~D4)為器件型號地址,不同的I2C總線接口器件的型號地址是廠家給定的,如AT24C系列E2PROM的型號地址皆為1010;器件地址中的低3位為引腳地址A2、A1、A0,對應器件尋址字節中的D3、D2、D1位,在硬件設計時由連接的引腳電平給定。
 
  AT24C系列片內地址在接收到每—個數據字節地址后自動加1,故裝載一頁以內規定數據字節時,只須輸入首地址,若裝載字節多于規定的最多字節數,數據地址將自動翻頁,新頁中以前的數據將被覆蓋。
 
  (2)主控器與從接收器之間在總線上進行一次數據傳輸,稱為“一幀”。按I2C總線規范的約定,一幀之內由啟動信號、尋址字節、若干個數據字節、停止信號以及重啟動信號組成。在傳輸數據開始前,主控器件應發送起始位,通知從接收器件作好接收準備;接著發送地址字節,當主控器收到從接收器件的應答位后發送第一個數據字節,從接收器收到數據后又返送一個應答信號,主控器收到應答位后發送第二個數據字節,如此循環反復;在傳輸數據結束時,主控器件發送停止位,通知從接收器件停止接收。每次傳輸的字節不受限制,每個字節必須有—個確認位(又稱應答位ACK)。數據傳送時都是高位在前。
 
  3 USB通信模塊
 
  系統的USB通信模塊完成PIC單片機與上位機設備的通信,從而將采集到的數據送到上位機進行處理。數據傳送需要遵循相同的傳輸協議,如果單片機和上位機之間的傳輸協議不一樣,就需要進行協議間的轉換。
 
  本文采用FT245BL芯片實現USB和并行I/O口之間的協議轉換。一方面, FT245BL從主機接收USB數據,并將其轉換為并行I/O口的數據流格式發送給外設;另一方面,外設通過并行I/O口將數據轉換為USB的數據格式傳回主機。中間的轉換工作全部由芯片自動完成,開發者無須考慮固件的設計。采用FT245BL芯片,需事先安裝虛擬串口VCP驅動程序(VirtualCOM Port),并且可以在這虛擬串口上進行應用程序的開發。該虛擬串口可以像一個標準的物理串口那樣被訪問,可本質上所有針對虛擬串口的數據通信都是通過USB總線完成的,在設備端則通過并行I/O口完成。
 
  3.1 單片機端
 
  在單片機設備端,接收數據時:首先,采樣RXF#端上的信號,若為低,表明有接收到來自PC機的數據,允許單片機通過8位數據總線RD0~RD7讀取數據;接著,通過信號由低到高的變化鎖存數據(讀入數據);最后,延遲一段時間,重新開始下一字節的讀取。發送數據時,采樣TXE#端上的信號,若為低,允許發送,將數據寫入發送緩沖區,等待上位機接收。
 
  3.2 上位機端
 
  只需把與FT245BL相連的USB線接到計算機的USB接口。上位機軟件的串口通信采用VisualC++6.0自帶的串口通信類(MSComm類)來完成,MSComm類通過控件的形式來使用。
 
  MSComm通信控件有兩種處理事件的方式,分別為查詢方式和事件驅動方式。本文采用事件驅動方式,在串口接收緩沖區中有字符時,利用MSComm控件的OnComm事件捕獲并處理這些通信事件。這種方法的優點是程序響應及時、可靠性高。編寫程序時,只要了解使用MSComm的屬性和事件的用法就可以實現對串口的操作。
 
  在當前應用程序中插入MSComm控件。本文新建一個MFC AppW izard工程項目,應用程序類型選擇基本對話框,視圖類基于CFormView。只需在CForm-View對應的對話框窗體插入MSComm控件,再在ClassW izard中為該控件聲明一個變量即可。
 
  下位機采集的數據及上位機發給下位機的指令都是通過串口進行傳輸的。上位機與下位機通過雙方共同認可的協議進行通信,所以要進行串口初始化,使得串口參數設置匹配。串口初始化要完成以下幾個設置:通信端口號、通信協議、傳輸速率、其他參數。兩種方法可以對串口進行初始化:一是自己編寫串口初始化函數,另一種是利用MSComm控件的屬性對話框進行初始化。本文采用了自定義函數INItial-izeComPort()初始化其端口。
 
  初始化主要程序代碼片段如下(這里m_Com1是有效的MSComm對象):
 
  InitializeComPort()
 
  {
 
  m_Com1. SetCommPort(3);   //選擇COM3
 
  m_Com1. SetInBufferSize(512); //設置輸入緩沖區的大小
 
  m_Com1. SetOutBufferSize(512); //設置輸出緩沖區的大小
 
  if(!m_Com1.GetPortOpen()); //打開串口
 
  m_Com1. SetPortOpen(TRUE);
 
  m_Com1. SetInpuMt ode(1); //設置輸入方式為二進制方式
 
  m_Com1. SetSettings(“9600, n, 8, 1”); //設置數據傳輸速率、偶校驗、數據比特、停止比特參數
 
  m_Com1. SetRThreshold(1); //為1表示有一個字符引發一個事件
 
  m_Com1. SetInputLen(0); //讀取全部字符
 
  }
 
  上位機向下位機發送“讀指令”,并將數據保存起來。該功能主要由兩部分程序實現,一部分為發“讀數據”指令程序,另一部分為串口接收數據程序。發“讀數據”指令程序主要實現的功能是向下位機發送“讀數據”指令,并提示數據傳輸的狀態;串口接收數據程序實現的功能是根據命令類型變量,在發“讀數據”指令時置的值,決定相應的操作,若命令類型為“讀數據”,則從下位機接收壓力數據,并保存。流程圖見圖2。
 
 
 
 
 
圖2 發“讀數據”指令流程圖
 
  4 結果與討論
 
  完成系統的硬件測試與軟件調試之后,將下位機與上位機連接好,上位機串口設置和下位機串口設置匹配,便可以對整個系統所測量的結果進行觀察。硬件電路將壓力轉化成相應的頻率,程序采集頻率數據,并轉換成相應的壓力數據。輸出結果如圖3所示,由圖中可以看出,壓力與頻率成正比,實際給定的壓力值與測量到的壓力值幾乎一致。
 
 
 
  
上一篇文章: 二等標準活塞式壓...
下一篇文章: 手提式真空校驗儀...
在線客服系統
主站蜘蛛池模板: 午夜久久久久久久 | 成人免费毛片色戒 | 国产特黄一级毛片 | 久久久这里有精品 | 日本三级电影网站 | 一级毛片视频在线 | 亚洲国产欧美一区 | 国产精品久久久久久模特 | 精品电影一区二区 | 免费一级毛片在线播放 | 色视频在线观看视频 | 黄页网址大全软件免费 | 天堂色区 | 欧日韩一区二区三区 | 亚洲精品一区二区三区樱花 | 麻豆高清视频 | 亚洲精品久久久蜜桃 | 久久人 | 伊人网一区二区 | 久久国产精品二区 | 亚洲高清精品视频 | 黄页大全 | 国产91久久精品一区二区 | 国产经典三级在线观看 | 亚洲在线观看视频 | 国产成人免费片在线观看 | 亚洲精品成人区在线观看 | 午夜免费视频 | 日本一区二区视频在线播放 | 在线免费观看黄视频 | 亚洲电影在线观看高清免费 | 国产午夜精品18久久蜜臀董小宛 | 日本在线视频不卡 | 欧美成人免费一级人片100 | 久久精品黄色 | 精品视频网 | 国产91精品一区二区三区四区 | 日日噜噜噜噜夜夜爽亚洲精品 | h网站免费看 | 特一级黄色 | 成人在线免费视频 |