日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于USB的pH值控制器數(shù)據(jù)通訊的實現(xiàn)

出處:dengm 發(fā)布于:2009-09-14 15:02:58

  摘要:介紹了基于 ATMEL公司的 AT91M55800的糖廠 pH值控制器與上位機 USB通訊的實現(xiàn)。包括三個方面:一是 AT91M55800上 USB軟硬件的設計;二是上位機上 USB驅動的編寫;三是上位機應用軟件的實現(xiàn)。采用 USB方式傳輸現(xiàn)場數(shù)據(jù),具有數(shù)據(jù)傳輸快速穩(wěn)定,使用方便、即插即用、支持熱插拔等等優(yōu)點。配合上位機軟件,可以清晰直觀的采集和顯示現(xiàn)場澄清工段的 pH值數(shù)據(jù)。

  1. 引言:

  在糖提煉過程中,糖廠澄清工段的 PH值控制對糖的純度和生產(chǎn)成本起著決定性的作用。基于 ATMEL公司的 AT91M55800的嵌入式控制器就是自動檢測控制澄清工段的 pH值,克服了以往手工操作 pH值波動較大的缺點。

  本文介紹的是 pH值控制器和上位機在現(xiàn)場的 pH值數(shù)據(jù)傳輸?shù)膶崿F(xiàn),采用 USB通訊方式,主要因為 USB具有以下優(yōu)點:

  用戶使用方便。設備自動識別,自動安裝驅動程序和配置。

  應用范圍廣。傳輸速率快,總線支持同步和異步傳輸方式。

  靈活。支持不同速率的設備。

  穩(wěn)定。協(xié)議中包含錯誤檢測,支持熱插拔。

  易于與 PC接口。支持即插即用。

  成本低廉。

  選用的 USB芯片是 PHILIPS公司成熟且價格低廉的 PDIUSBD12。整套方案要解決的工作主要有三個部分,一是 AT91M55800上 USB固件程序的設計;二是上位機 USB驅動程序的編寫;三是上位機數(shù)據(jù)傳輸應用軟件的實現(xiàn)。圖 2為 PDIUSBD12的硬件連接原理圖。

  2. USB固件程序編寫固件程序的一個主要的目的就是讓 Windows可以檢測和識別設備,此外,它還完成數(shù)據(jù)的傳輸和根據(jù)不同的需求而進行一些控制和處理的任務。固件程序主要包括三部分:a)初始化 AT91M55800和所有的外圍電路(包括 PDIUSBD12);b)主循環(huán)部分;c)中斷服務程序。 PDIUSBD12的固件由中斷驅動,當 CPU處理前臺任務時,USB的傳輸可在后臺進行。這確保了的傳輸速率和更好的軟件結構,同時簡化了編程和調(diào)試。后臺 ISR(中斷服務程序)和前臺的主程序循環(huán)之間的數(shù)據(jù)交換可以通過事件標志和數(shù)據(jù)緩沖區(qū)來實現(xiàn)。在多路地址 /數(shù)據(jù)總線方式中,單片機與 PDIUSBD12的通信就像單片機外擴了一片 RAM器件一樣??梢园凑障旅娴某绦蛳?PDIUSBD12發(fā)送數(shù)據(jù)或命令:

  void outportb(unsigned int Addr,unsigned char Data)

  {

  *((unsigned char xdata *)Addr)=Data;

  }

  其中,Addr是 PDIUSBD12的地址,Data是輸出的數(shù)據(jù)和命令。當 Addr為奇數(shù)時表示輸出的是命令,Addr為偶數(shù)時表示輸出的是數(shù)據(jù)。中斷服務程序處理由 PDIUSBD12產(chǎn)生的中斷,將數(shù)據(jù)從 PDIUSBD12內(nèi)部讀取到 CPU的存儲器,并建立正確的事件標志,以通知主循環(huán)程序進行處理。程序首先讀取 PDIUSBD12的中斷寄存器來決定中斷源,然后轉入相應的子程序進行處理。控制端點的輸入/輸出能夠完成設備的枚舉操作。端點 1和端點 2定義為普通端點,可以實現(xiàn)中斷傳輸或批量傳輸?shù)取?/P>

  3. 上位機 USB驅動

  采用 DriverStudio來開發(fā) USB的 WDM驅動。WDM(Windows Driver Model)是微軟公司全新的驅動程序模式,支持即插即用、電源管理和 WMI技術。

  DriverStudio中的 DriverWorks提供了 USB驅動程序設計向導,只要按照向導完成相應的操作和設置就可以設計出一個簡單的 USB驅動程序。

  在進行 USB數(shù)據(jù)采集系統(tǒng)驅動程序開發(fā)之前首先要明確 USB設備的配置和驅動程序實現(xiàn)的功能,在我們的數(shù)據(jù)采集系統(tǒng)中,共用到三個 USB端口,分別為:

  控制端口 0

  IN端口 1

  OUT端口 2 設計的驅動程序主要功能是:簡單的實現(xiàn)對兩個端口的讀寫操作。知道這些后就可以著手進行 USB驅動程序開發(fā)工作了。

  DriverStudio是嵌入在 VC6.0中的,所以開發(fā) WDM驅動和用 VC開發(fā)一個可視化工程的情況類似。DriverWizard會一步步的根據(jù)我們的設定給出一個 WDM驅動的大體框架,我們要做的就是在其中加入我們所要實現(xiàn)的 USB端口 1和端口 2的讀寫功能代碼。

  在向導過程中有一步很重要,這一步提示用戶選擇總線類型,該驅動程序為 USB總線功能驅動程序,所以選擇 USB總線。USB設備的 Vendor ID和 Product ID應該對應芯片,否則驅動程序不會被正確識別。這里 PDIUSBD12對應的 Vendor ID為 0471,Product ID為 0888。

  向導完成,添加完端口讀寫功能代碼后,接下來的工作是編譯驅動程序工程文件,生成需要的 USB功能驅動程序。

  4. 上位機應用軟件

  要實現(xiàn)的是通過自己編寫的應用程序和 pH值控制器進行數(shù)據(jù)的批量傳輸。當點擊[數(shù)據(jù)發(fā)送]按鈕時,將數(shù)據(jù)發(fā)送框中的命令數(shù)據(jù)發(fā)送到 pH值控制器。而點擊 [數(shù)據(jù)接收]按鈕,將從 pH值控制器接收到的 pH值數(shù)據(jù)在數(shù)據(jù)接收框中顯示出來。按[退出]按鈕則退出應用程序。如圖 3

  USB數(shù)據(jù)采集系統(tǒng)的軟件設計的步驟如下:

  在應用軟件設計中,多線程技術的應用會大大地提高應用程序的效率,輔助線程完成后臺數(shù)據(jù)采集的工作。應用程序的界面操作不受后臺數(shù)據(jù)處理的影響。

  其中讀線程函數(shù)為:

  UNIT ReadTread(void *pParam)

  {

  Cstting strTemp;

  unsigned char iobuf[65];

  unsigned long nBytes=0;

  CUSB_softDlg* pDlg=(CUSB_softDlg*)pParam;

  //使[接收]按鈕變灰

  pDlg->GetDlgItem(IDC_RECEIVE_BUTTON)->EnableWindow(FALSE);

  for(int i=0;i<65;i++)

  {

  iobuf[i]=0;

  }

  //進行讀操作,如果讀不到數(shù)據(jù)則無限期等待

  if(!ReadFile(pDlg->m_hRead,iobuf,64,&nBytes,NULL))

  {

  AfxMessageBox(“讀取數(shù)據(jù)失??!”,MB_ICONWARNING|MB_OK);

  }

  iobuf[nBytes]=’\0’;

  strTemp=iobuf;

  //使[接收]按鈕變亮

  pDlg->GetDlgItem(IDC_RECEIVE_BUTTON)->EnableWindow(TRUE);

  //將接收到的數(shù)據(jù)進行顯示

  pDlg->SetDlgItemText(IDC_RECEIVE_EDIT,strTemp);

  return 0;

  }

  將所有代碼添加完成后,編譯、連接該工程文件。然后運行目標程序,同 USB設備進行批量數(shù)據(jù)傳輸。

  5. 結束語

  本文在基于 AT91M55800的 pH值控制器上加入 USB芯片 PDIUSBD12,在利用 ARM強大的處理能力的基礎上,實現(xiàn)了 pH值數(shù)據(jù)的采集傳輸。利用了 USB通訊使用方便、數(shù)據(jù)傳輸快速穩(wěn)定的優(yōu)點,結合上位機應用軟件,方便直觀的觀測 pH值控制器的 pH值數(shù)據(jù)。


  

參考文獻:

[1]. AT91M55800 datasheet http://www.hbjingang.com/datasheet/AT91M55800_143934.html.
[2]. PDIUSBD12 datasheet http://www.hbjingang.com/datasheet/PDIUSBD12_544412.html.


關鍵詞:基于USB的pH值控制器數(shù)據(jù)通訊的實現(xiàn)PDIUSBD12AT91M55800USB控制器

版權與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關法律責任。

本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。

如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網(wǎng)站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!