當前位置:首頁 > 智能硬件 > 智能硬件
[導讀] 1 前 言  隨著供水部門、供電部門、供氣部門對“一戶一表”工程改造的推進,以及對自動化的要求,遠程自動抄表系統(tǒng)已成為水、電、氣自動化管理和智能化控制不可缺少的組成部分?! 〔捎眉谐硐到y(tǒng)能夠杜絕人

 1 前  言

  隨著供水部門、供電部門、供氣部門對“一戶一表”工程改造的推進,以及對自動化的要求,遠程自動抄表系統(tǒng)已成為水、電、氣自動化管理和智能化控制不可缺少的組成部分。

  采用集中抄表系統(tǒng)能夠杜絕人工抄表產(chǎn)生的誤抄、漏抄、估抄等人為錯誤,提高工作效率,減輕勞動強度,減員增效。一般抄表系統(tǒng)采用RS485總線,然后通過485/232模塊與監(jiān)控計算機連接,計算機通過串口輪巡采集電表數(shù)據(jù)。由于串口速度慢,這成為抄表系統(tǒng)傳輸速率提高的瓶頸,而使用485/usb模塊,能很好的解決這個問題,USB 1.1規(guī)范的最高傳輸速率為12 Mb/s。USB總線除了用于外圍設(shè)備和PC機之間的連接之外,在其它領(lǐng)域也有廣泛應(yīng)用,包括測量和自動化應(yīng)用。

  2 硬件設(shè)計:

  模塊的硬件包括: 微控制器、RS485 總線通信接口和USB 通信接口,如圖1:

  RS485定義了一個基于單對平衡線的多點、雙向(半雙工)通信鏈路,采用平衡式發(fā)送,差分式接收的數(shù)據(jù)收發(fā)器來驅(qū)動總線,每次通信只能有一個主站,適合輪巡方式通信。RS485收發(fā)器采用TI公司的75LBC184,它使用單電源供電,電壓在+3-+5.5V范圍都能正常工作,能完成TTL與RS485之間的轉(zhuǎn)換。在電路中,使用了TLP521進行隔離,提高了系統(tǒng)的可靠性。

  USB 通信接口采用PDIUSBD12,負責與上位機和微處理器進行信息交換。PDIUSBD12是PHILIPS公司推出的一種價格便宜、功能完善的USB并行接口芯片,支持多路復用、非多路復用和DMA并行傳輸,它遵從USB1.1協(xié)議,適合于不同用途的傳輸類型。PDIUSBD12需要外接微控制器來進行協(xié)議處理和數(shù)據(jù)交換,對MCU沒有特殊要求,接口方便靈活。微處理器采用P89C51RD 單片機。

  3 系統(tǒng)軟件設(shè)計:

  3.1 RS485軟件子程序設(shè)計:

  RS485軟件編程非常簡單,它使用處理器的串口。數(shù)據(jù)到來時存放到串口緩沖區(qū)中,并產(chǎn)生串口中斷。

  RS485協(xié)議只是物理層,上層協(xié)議需要用戶自己定義。 由于介紹RS485總線的文章很多,其他程序略。

  3.2 USB軟件設(shè)計:

  USB設(shè)備與主機通過四根線連接,電源、地,以及兩根數(shù)據(jù)線,該模塊使用計算機提供的5v電源。連接速度由D+ , D-連線上的電阻位置決定的, 如果D+ 線上有上拉電阻, USB 設(shè)備為全速設(shè)備,如果D-連線上有上拉電阻, 則USB 設(shè)備為低速設(shè)備。PDIUSBD12 的softconnect 技術(shù)在片內(nèi)集成了1.5k的上拉電阻, 可以通過微處理器發(fā)送命令來控制D+上的上拉電阻是否與電源連接。

  在usb設(shè)備中,我們使用描述符區(qū)別不同的設(shè)備、端口等。描述符主要包括設(shè)備描述符、配置描述符、接口描述符,在設(shè)備中預先設(shè)置這些參數(shù),主機通過對這些描述符的讀取,獲得該設(shè)備的信息。

  當一個設(shè)備剛插入計算機時,主機需要對該設(shè)備枚舉,讀取該設(shè)備的相關(guān)參數(shù),首先使用默認的設(shè)備地址0進行通信。主機端先向設(shè)備地址0,端點0發(fā)送Get_Descriptor(獲取描述符)請求來查詢接入什么樣的設(shè)備,設(shè)備使用設(shè)備描述符回答,然后通過發(fā)送Set_Address(設(shè)定地址)請求來分配一個單獨的地址給設(shè)備。設(shè)備讀取這個請求,返回一個確認且保存新的地址。主機給新地址發(fā)送一個Get_Descriptor請求來讀取這個設(shè)備完整的描述符,包括端點最大包的大小,設(shè)備支持的配置號,以及該設(shè)備的其它信息,主機將這些信息用于往后的通信中。而后發(fā)出Get_configuration_Descriptor(獲取配置描述符)命令,用來獲取設(shè)備的節(jié)點和端點的配置信息。而后發(fā)出(Set_configuration)設(shè)定配置請求,以該配置號配置設(shè)備。設(shè)備就完全正確處于可操作狀態(tài),完成了枚舉過程,便可以通過端點進行數(shù)據(jù)傳輸了。

  以下是主設(shè)備讀取從設(shè)備描述符的過程

  主機發(fā)起的setup包,使用默認的地址0,端點0。其中SYNC字段為同步序列數(shù)據(jù)域,固定為01H,緊接著為標識符數(shù)據(jù)域PID字段,用來表示數(shù)據(jù)封裝包的類型,可分為令牌、數(shù)據(jù)、握手或特殊四種封裝包類型。其中令牌封裝包細分為OUT,IN,SETUP,SOF四種封裝格式。隨后為地址數(shù)據(jù)域ADDR字段,用來尋址高達127個外圍設(shè)備,每個設(shè)備只有對應(yīng)唯一的地址,ENDP字段為端點數(shù)據(jù)域,最多可尋址32個端點,它僅在IN,OUT,SETUP令牌封裝包中,最后為CRC校驗和。

  主機發(fā)送數(shù)據(jù),其中數(shù)據(jù)域中的數(shù)據(jù)80表示設(shè)備標準請求,06描述符命令(get_descriptor)00 01 代表請求設(shè)備的描述符,00 00為語言類型,40 00,指出期望從設(shè)備返回的數(shù)據(jù)個數(shù),如果描述符的個數(shù)大于指定的字節(jié)個數(shù),則按照指定個數(shù)返回,如果描述符小于指定的字節(jié)數(shù),返回實際的字節(jié)個數(shù)。

  該幀為設(shè)備收到數(shù)據(jù)后的確認幀

  該幀為向設(shè)備發(fā)送數(shù)據(jù)請求。


  12為描述符長度,01為設(shè)備類型,10 01 為usb版本號,bcd碼,這里是usb1.1,00 為設(shè)備類型碼,00為子類設(shè)備代碼,00為USB分配的設(shè)備協(xié)議代碼,10為端點0最大包的大小,d8,0d為廠商編號,01 c0為產(chǎn)品編號,04 01為設(shè)備出廠編號,01為廠商字符串索引,02 為產(chǎn)品字符串索引,00為序列號,01為設(shè)置編號。


  在主程序中完成對系統(tǒng)、PDIUSBD12的初始化,以及完成對d12的枚舉,將數(shù)據(jù)的發(fā)送接收都放在中斷程序中。PDIUSBD12有3組端點,使用默認端點0和端點2。將端點2作為數(shù)據(jù)傳輸?shù)耐ǖ?,當PDIUSBD12從USB收到一個數(shù)據(jù)包時,就對CPU產(chǎn)生一個外部中斷請求,CPU立即相應(yīng)中斷,在中斷服務(wù)子程序中,將數(shù)據(jù)包從PDIUSBD12內(nèi)部緩沖區(qū)移到循環(huán)數(shù)據(jù)緩沖區(qū)中,隨后清零PDIUSBD12的內(nèi)部緩沖區(qū),對數(shù)據(jù)校驗,如果接收得數(shù)據(jù)正確,直接調(diào)用RS485數(shù)據(jù)發(fā)送子程序,將數(shù)據(jù)發(fā)送到RS485網(wǎng)絡(luò)。

  3.3 計算機軟件設(shè)計:

  計算機軟件主要包括,驅(qū)動的設(shè)計,動態(tài)連接庫的設(shè)計。驅(qū)動程序采用飛利浦提供的驅(qū)動,上位機程序使用api函數(shù)并封裝RS485總線的上層協(xié)議,提供給用戶使用的接口。本例采用VC編寫用戶程序和動態(tài)連接庫。從驅(qū)動中讀數(shù)據(jù)的程序如下,

  void   readdata(unsigned char *rec)

  {   unsigned char outbuf[105];

  HANDLE hFile, hDevice=0;

  BOOL bResult;

  ULONG nBytes = 25;

  hFile = open_file("PIPE02");

  if(hFile == INVALID_HANDLE_VALUE)

  {return;}

  hDevice = open_dev();

  bResult = ReadFile(hFile,outbuf,10,&nBytes,NULL);

  if(bResult==FALSE)

  { DeviceIoControl(hFile,IOCTL_D12_RESET_PIPE,0,0,0,0,&nBytes,NULL); }

  CloseHandle(hFile);

  CloseHandle(hDevice);

  }

  在使用這個函數(shù)的時候,只需要添加如下說明。

  extern "C" DllImport void readdata ( unsigned char * );

  4 結(jié)  論

  由于采用了USB總線,克服了原來使用RS232接口速度慢的瓶頸,提高了遠程抄表系統(tǒng)的數(shù)據(jù)傳輸速率,該方案已經(jīng)成功的得到應(yīng)用,穩(wěn)定可靠,有廣闊的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉