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