基于USB總線通信數據采集器的設計與實現
在變電站和工業現場的微機監控系統中,要通過通信方式采集許多遠程現場數據。目前電力系統的通信、監控和數據采集系統的一體化采用的是一種分布式的通信結構,伴隨著新設備、新技術的應用,傳統的對終端單元的通信和數據采集方式的缺陷日益突出,如安裝麻煩,工作效率較低,適應性和可擴展性較差。電力系統所需要的主站數據采集前端子系統,應該可以智能地、高效可靠地完成與終端單元的數據采集、通信和協議解析任務,并具有良好的經濟性。
2 通信數據采集器的硬件結構
通用串行總線(Universal Serial Bus,簡稱USB)是1995年康柏、微軟、IBM、NEC等公司為了解決傳統總線的不足而推廣的一種新型串行通信標準。該總線接口具有安裝使用方便、高帶寬、易擴展等優點,已經逐漸成為現代數據傳輸的發展趨勢。本文提出的基于USB總線的智能通信數據采集器就是將RS232、RS485與傳輸距離短但高速、可靠易擴展的USB有機地結合起來,構成了多點、快速、可靠、低成本的遠程數據采集系統,有效地解決了傳統數據采集系統的缺陷。
3 通信數據采集器硬件電路的實現
通信數據采集器的硬件電路如圖1所示。圖1中微控制器(MCU)采用AT89C52,該控制器具有運算速度快、兼容MCS51指令集的特點,內部集成8K flash,性價比高。為了防止外界干擾的影響,MCU與下位機通訊的接口采用光耦隔離,控制接口的隔離采用TLP521-4,串行輸入輸出口RXD、TXD采用6N137隔離。

考慮到現在工業領域常用的總線有RS232、RS485等,采用MAXIM公司的接收發送器MAX232、MAX485實現電平轉換。與外界的接口采用光電開關,通過上位機初始化設置總線類型來選擇與外界設備通信的接口方式,從而有效地避免了設置值與實際操作中接法的不一致。
USB接口采用PHILIPS的USB控制芯片PDIUSBD12,該控制芯片能夠實現微控制器的并行總線到USB總線的接口功能,而且編程方便,適用于多種微控制器,內部集成實現USB功能的PLL、SIE、FIFO模塊,與普通的微控制器配合就可以實現功能完備的USB外設。
與USB的連接是通過1.5kΩ上拉電阻將D+(用于高速USB器件)置為高來實現的。1.5kΩ上拉電阻集成在PDIUSBD12內部,默認狀態下不與Vcc相連。連接的建立通過外部/系統微控制器發出命令來實現。這就允許系統微控制器在決定與USB建立連接之前完成初始化時序。USB總線連接可以重新初始化而不需要拔出電纜。PDIUSBD12在連接可建立之前會通過EOT-N管腳檢測USB VBUS是否可用。
在以12Mb/s的速率傳輸數據并且與MCU的并口相連接時,存儲器管理單元(MMU)和集成RAM作為和USB之間速度差異的緩沖區,這就允許MCU以它自己的速率對USB信息包進行讀寫。對一個微控制器而言,PDIUSBD12看起來就象一個帶8位數據總線和一個地址位(占用兩個位置)的存儲器件,PDIUSBD12支持多路復用和非復用的地址和數據總線。本設計中采取的是多路復用的地址和數據總線,PDIUSBD12的地址鎖存ALE接AT89C52的ALE,在每一下降沿關閉地址信息鎖存。
直接存儲器尋址(DMA)允許在PDIUSBD12的主端點和本地RAM之間實現數據塊的有效自主傳輸而不需要本地MCU的干預。要處理任何DMA傳輸,本地MCU從主機接受必要的SET-UP信息并對DMA控制器的傳輸模式、字節計數寄存器和地址計數器進行相應的編程。在PDIUSBDl2發出請求時開始傳輸,在字節計數器減少為零時終止。
4 通信數據采集器的軟件設計
4.1 MCU的程序設計
通信數據采集器的軟件包括微控制器AT89C52的通信采集控制軟件和上位機的管理軟件。AT89C52主要實現終端協議的識別,對終端設備的數據采集,協議的解析以及數據向上位機的轉存。由于數據采集的全過程及協議解析不
占用上位機系統的CPU時間,數據通過USB接口向上位機傳輸的速度也非常快,這樣就把上位機從通信瓶頸中解脫出來,從而可以充分利用其資源來處理其它事務。 光電開關相關文章:光電開關原理
評論