《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于USB的pH值控制器數據通信的實現
基于USB的pH值控制器數據通信的實現
摘要: 在糖提煉過程中,糖廠澄清工段的 PH值控制對糖的純度和生產成本起著決定性的作用。基于 ATMEL公司的 AT91M55800的嵌入式控制器就是自動檢測控制澄清工段的 pH值,克服了以往手工操作 pH值波動較大的缺點。
Abstract:
Key words :

1.引言:   

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

本文介紹的是 pH值控制器和上位機在現場的 pH值數據傳輸的實現,采用 USB通訊方式,主要因為 USB具有以下優點:   

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

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

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

穩定。協議中包含錯誤檢測,支持熱插拔。

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

成本低廉。

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

2.USB固件程序編寫固件程序的一個最主要的目的就是讓 Windows可以檢測和識別設備,此外,它還完成數據的傳輸和根據不同的需求而進行一些控制和處理的任務。固件程序主要包括三部分:a)初始化 AT91M55800和所有的外圍電路(包括 PDIUSBD12);b)主循環部分;c)中斷服務程序。 PDIUSBD12的固件由中斷驅動,當 CPU處理前臺任務時,USB的傳輸可在后臺進行。這確保了最佳的傳輸速率和更好的軟件結構,同時簡化了編程和調試。后臺 ISR(中斷服務程序)和前臺的主程序循環之間的數據交換可以通過事件標志和數據緩沖區來實現。在多路地址 /數據總線方式中,單片機與 PDIUSBD12的通信就像單片機外擴了一片 RAM器件一樣。可以按照下面的程序向 PDIUSBD12發送數據或命令:   void outportb(unsigned int Addr,unsigned char Data)   {   ((unsigned char xdata )Addr)=Data;   }   其中,Addr是 PDIUSBD12的地址,Data是輸出的數據和命令。當 Addr為奇數時表示輸出的是命令,Addr為偶數時表示輸出的是數據。中斷服務程序處理由 PDIUSBD12產生的中斷,將數據從 PDIUSBD12內部讀取到 CPU的存儲器,并建立正確的事件標志,以通知主循環程序進行處理。程序首先讀取 PDIUSBD12的中斷寄存器來決定中斷源,然后轉入相應的子程序進行處理。控制端點的輸入/輸出能夠完成設備的枚舉操作。端點 1和端點 2定義為普通端點,可以實現中斷傳輸或批量傳輸等。

3.上位機 USB驅動   

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

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

在進行 USB數據采集系統驅動程序開發之前首先要明確 USB設備的配置和驅動程序實現的功能,在我們的數據采集系統中,共用到三個 USB端口,分別為:   控制端口 0   IN端口 1   OUT端口 2 設計的驅動程序主要功能是:簡單的實現對兩個端口的讀寫操作。知道這些后就可以著手進行 USB驅動程序開發工作了。

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

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

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

4.上位機應用軟件   

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

USB數據采集系統的軟件設計的步驟如下:   在應用軟件設計中,多線程技術的應用會大大地提高應用程序的效率,輔助線程完成后臺數據采集的工作。應用程序的界面操作不受后臺數據處理的影響。

其中讀線程函數為:   

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;   }   //進行讀操作,如果讀不到數據則無限期等待   if(!ReadFile(pDlg->m_hRead,iobuf,64,&nBytes,NULL))   {   AfxMessageBox(“讀取數據失敗!”,MB_ICONWARNING|MB_OK);   }   iobuf[nBytes]=’\0’;   strTemp=iobuf;   //使[接收]按鈕變亮   pDlg->GetDlgItem(IDC_RECEIVE_BUTTON)->EnableWindow(TRUE);   //將接收到的數據進行顯示   pDlg->SetDlgItemText(IDC_RECEIVE_EDIT,strTemp);   return 0;   }   將所有代碼添加完成后,編譯、連接該工程文件。然后運行目標程序,同 USB設備進行批量數據傳輸。

5.結束語   

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲激情在线播放| 亚洲第一福利在线观看| 久久在线免费观看| 性欧美暴力猛交69hd| 一区二区三区四区蜜桃| 亚洲精品综合| 亚洲国产精品一区二区第四页av | 国产精品伊人日日| 国产精品成人一区二区三区夜夜夜 | 国产日韩精品视频一区| 国产精品二区在线观看| 欧美午夜视频一区二区| 国产精品sm| 国产精品麻豆成人av电影艾秋| 欧美偷拍一区二区| 国产精品成人免费视频| 国产精品毛片在线看| 国产精品捆绑调教| 国产精品视频免费观看www| 国产精品乱码一区二区三区| 国产精品一区二区三区久久| 国产乱子伦一区二区三区国色天香| 国产精品揄拍一区二区| 国产亚洲欧美日韩在线一区| 国内一区二区在线视频观看| 黄色精品一区| 在线日韩视频| 最新国产拍偷乱拍精品| 亚洲精品中文字幕在线观看| 一二三四社区欧美黄| 亚洲性视频网址| 午夜一区在线| 亚洲二区在线观看| 99re66热这里只有精品4| 在线视频免费在线观看一区二区| 亚洲自拍啪啪| 久久久久国产一区二区三区| 免费久久99精品国产自| 欧美日韩高清在线观看| 国产精品乱码一区二区三区| 国产一区二区无遮挡| 亚洲高清中文字幕| 亚洲裸体俱乐部裸体舞表演av| 一本色道久久88精品综合| 亚洲欧美一区二区三区极速播放| 久久成人免费网| 亚洲精品乱码久久久久久日本蜜臀 | 欧美大片91| 国产精品毛片va一区二区三区| 国产日韩欧美一区二区三区在线观看 | 亚洲二区在线视频| 在线视频亚洲一区| 香蕉久久国产| 免费在线观看成人av| 欧美视频在线看| 国语自产精品视频在线看抢先版结局| 亚洲国产黄色片| 在线综合+亚洲+欧美中文字幕| 亚洲综合三区| 亚洲激情在线播放| 亚洲欧美精品在线| 老司机aⅴ在线精品导航| 欧美日韩一区二区在线视频 | 欧美日韩精品免费观看视一区二区| 欧美久久久久久蜜桃| 国产精品日韩在线| 在线观看亚洲精品视频| 亚洲小视频在线| 亚洲人成网站色ww在线| 亚洲欧美在线播放| 欧美大秀在线观看| 国产欧美日韩不卡| 亚洲日本成人| 久久爱www.| 亚洲午夜女主播在线直播| 久久久噜噜噜久久久| 欧美色视频在线| 在线欧美福利| 性视频1819p久久| 亚洲视频在线看| 免费亚洲一区二区| 国产日韩欧美制服另类| 99国产麻豆精品| 亚洲精品1区2区| 欧美综合第一页| 欧美日韩国产成人精品| 国产一区在线免费观看| 亚洲校园激情| 在线亚洲一区| 欧美+亚洲+精品+三区| 国产女主播一区二区三区| 99re6热在线精品视频播放速度| 久久激情五月婷婷| 欧美一区三区三区高中清蜜桃 | 欧美性大战久久久久久久蜜臀| 亚洲第一久久影院| 欧美一区精品| 欧美一区二区三区另类| 欧美日韩在线视频观看| 亚洲国产精品一区制服丝袜| 99精品欧美| 亚洲美女av网站| 免费亚洲电影在线| 激情婷婷欧美| 欧美一区亚洲| 欧美亚洲综合在线| 国产精品理论片| 99热这里只有精品8| 野花国产精品入口| 欧美理论电影网| 亚洲国产专区| 亚洲人成高清| 猛干欧美女孩| 狠狠色狠狠色综合| 久久激五月天综合精品| 久久久av毛片精品| 国产日韩欧美亚洲| 欧美一区二区精品久久911| 午夜精品久久久久99热蜜桃导演| 欧美日韩一区在线视频| 99精品国产高清一区二区| 一二三区精品| 欧美日韩午夜在线| 999在线观看精品免费不卡网站| 夜夜嗨av一区二区三区四区| 欧美女人交a| 亚洲精选在线| 亚洲无线观看| 欧美亚一区二区| 亚洲一区视频在线| 欧美一区二区三区精品| 国产日韩精品在线播放| 欧美一级日韩一级| 久久精品免视看| 激情校园亚洲| 亚洲精品美女在线观看播放| 欧美国产日产韩国视频| 国产在线播精品第三| 亚洲国产国产亚洲一二三| 毛片一区二区三区| 亚洲欧洲日韩在线| 夜夜嗨av色综合久久久综合网| 欧美日韩一区二区三区四区在线观看| 一区二区冒白浆视频| 午夜在线播放视频欧美| 国内一区二区三区在线视频| 亚洲国产精品一区二区第四页av | 亚洲丶国产丶欧美一区二区三区| 亚洲日本中文字幕免费在线不卡| 欧美理论电影在线观看| 99re热这里只有精品免费视频| 亚洲永久精品大片| 国产亚洲美州欧州综合国| 亚洲国产婷婷香蕉久久久久久99 | 性欧美大战久久久久久久久| 久久午夜激情| 亚洲人午夜精品免费| 亚洲欧美国产视频| 国产一区二区三区免费不卡| 91久久夜色精品国产九色| 欧美日韩亚洲不卡| 亚洲欧美日韩一区二区三区在线| 久久中文在线| 99国产精品久久久| 久久国产主播| 亚洲黄色成人网| 亚洲综合色在线| 国语精品一区| 亚洲视频一区二区在线观看| 国产视频一区在线观看一区免费| 亚洲国产精品久久久久婷婷老年| 欧美日本免费| 性视频1819p久久| 欧美精品乱人伦久久久久久| 亚洲一区久久| 免费中文日韩| 亚洲一二三区在线| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩一二三在线视频播| 久久国产精品一区二区三区| 亚洲大片免费看| 久久国产精品色婷婷| 亚洲黄色小视频| 欧美日韩一区二区三区视频 | 久久综合给合久久狠狠狠97色69| 伊人久久大香线蕉综合热线| 亚洲欧美日韩一区| 国内久久精品视频| 夜夜精品视频一区二区| 韩日欧美一区二区| 一本久道久久综合狠狠爱| 国产欧美日韩综合一区在线播放| 亚洲高清一区二| 国产日韩欧美另类| 亚洲精品美女91| 国产精品综合色区在线观看| 亚洲天堂激情| 欧美激情第五页| 午夜在线精品偷拍| 欧美激情中文字幕一区二区|