基于USB總線通信數(shù)據(jù)采集器的設(shè)計與實現(xiàn)
在變電站和工業(yè)現(xiàn)場的微機監(jiān)控系統(tǒng)中,要通過通信方式采集許多遠(yuǎn)程現(xiàn)場數(shù)據(jù)。目前電力系統(tǒng)的通信、監(jiān)控和數(shù)據(jù)采集系統(tǒng)的一體化采用的是一種分布式的通信結(jié)構(gòu),伴隨著新設(shè)備、新技術(shù)的應(yīng)用,傳統(tǒng)的對終端單元的通信和數(shù)據(jù)采集方式的缺陷日益突出,如安裝麻煩,工作效率較低,適應(yīng)性和可擴展性較差。電力系統(tǒng)所需要的主站數(shù)據(jù)采集前端子系統(tǒng),應(yīng)該可以智能地、高效可靠地完成與終端單元的數(shù)據(jù)采集、通信和協(xié)議解析任務(wù),并具有良好的經(jīng)濟性。
2 通信數(shù)據(jù)采集器的硬件結(jié)構(gòu)
通用串行總線(Universal Serial Bus,簡稱USB)是1995年康柏、微軟、IBM、NEC等公司為了解決傳統(tǒng)總線的不足而推廣的一種新型串行通信標(biāo)準(zhǔn)。該總線接口具有安裝使用方便、高帶寬、易擴展等優(yōu)點,已經(jīng)逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢。本文提出的基于USB總線的智能通信數(shù)據(jù)采集器就是將RS232、RS485與傳輸距離短但高速、可靠易擴展的USB有機地結(jié)合起來,構(gòu)成了多點、快速、可靠、低成本的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng),有效地解決了傳統(tǒng)數(shù)據(jù)采集系統(tǒng)的缺陷。
3 通信數(shù)據(jù)采集器硬件電路的實現(xiàn)
通信數(shù)據(jù)采集器的硬件電路如圖1所示。圖1中微控制器(MCU)采用AT89C52,該控制器具有運算速度快、兼容MCS51指令集的特點,內(nèi)部集成8K flash,性價比高。為了防止外界干擾的影響,MCU與下位機通訊的接口采用光耦隔離,控制接口的隔離采用TLP521-4,串行輸入輸出口RXD、TXD采用6N137隔離。
考慮到現(xiàn)在工業(yè)領(lǐng)域常用的總線有RS232、RS485等,采用MAXIM公司的接收發(fā)送器MAX232、MAX485實現(xiàn)電平轉(zhuǎn)換。與外界的接口采用光電開關(guān),通過上位機初始化設(shè)置總線類型來選擇與外界設(shè)備通信的接口方式,從而有效地避免了設(shè)置值與實際操作中接法的不一致。
USB接口采用PHILIPS的USB控制芯片PDIUSBD12,該控制芯片能夠?qū)崿F(xiàn)微控制器的并行總線到USB總線的接口功能,而且編程方便,適用于多種微控制器,內(nèi)部集成實現(xiàn)USB功能的PLL、SIE、FIFO模塊,與普通的微控制器配合就可以實現(xiàn)功能完備的USB外設(shè)。
與USB的連接是通過1.5kΩ上拉電阻將D+(用于高速USB器件)置為高來實現(xiàn)的。1.5kΩ上拉電阻集成在PDIUSBD12內(nèi)部,默認(rèn)狀態(tài)下不與Vcc相連。連接的建立通過外部/系統(tǒng)微控制器發(fā)出命令來實現(xiàn)。這就允許系統(tǒng)微控制器在決定與USB建立連接之前完成初始化時序。USB總線連接可以重新初始化而不需要拔出電纜。PDIUSBD12在連接可建立之前會通過EOT-N管腳檢測USB VBUS是否可用。
在以12Mb/s的速率傳輸數(shù)據(jù)并且與MCU的并口相連接時,存儲器管理單元(MMU)和集成RAM作為和USB之間速度差異的緩沖區(qū),這就允許MCU以它自己的速率對USB信息包進行讀寫。對一個微控制器而言,PDIUSBD12看起來就象一個帶8位數(shù)據(jù)總線和一個地址位(占用兩個位置)的存儲器件,PDIUSBD12支持多路復(fù)用和非復(fù)用的地址和數(shù)據(jù)總線。本設(shè)計中采取的是多路復(fù)用的地址和數(shù)據(jù)總線,PDIUSBD12的地址鎖存ALE接AT89C52的ALE,在每一下降沿關(guān)閉地址信息鎖存。
直接存儲器尋址(DMA)允許在PDIUSBD12的主端點和本地RAM之間實現(xiàn)數(shù)據(jù)塊的有效自主傳輸而不需要本地MCU的干預(yù)。要處理任何DMA傳輸,本地MCU從主機接受必要的SET-UP信息并對DMA控制器的傳輸模式、字節(jié)計數(shù)寄存器和地址計數(shù)器進行相應(yīng)的編程。在PDIUSBDl2發(fā)出請求時開始傳輸,在字節(jié)計數(shù)器減少為零時終止。
4 通信數(shù)據(jù)采集器的軟件設(shè)計
4.1 MCU的程序設(shè)計
通信數(shù)據(jù)采集器的軟件包括微控制器AT89C52的通信采集控制軟件和上位機的管理軟件。AT89C52主要實現(xiàn)終端協(xié)議的識別,對終端設(shè)備的數(shù)據(jù)采集,協(xié)議的解析以及數(shù)據(jù)向上位機的轉(zhuǎn)存。由于數(shù)據(jù)采集的全過程及協(xié)議解析不
占用上位機系統(tǒng)的CPU時間,數(shù)據(jù)通過USB接口向上位機傳輸?shù)乃俣纫卜浅??,這樣就把上位機從通信瓶頸中解脫出來,從而可以充分利用其資源來處理其它事務(wù)。 光電開關(guān)相關(guān)文章:光電開關(guān)原理
評論