新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 網控串行輸入/輸出接口選擇

        網控串行輸入/輸出接口選擇

        作者: 時間:2013-05-03 來源:網絡 收藏
        采用最新來改進企業生產管理時,不可忽視的是需要在設備之間提供低電平控制和檢測的可靠的通信功能。這些設備的接口通常是串行接口,往往需要選擇一個適當的輸入/輸出卡(I/O)用來擴展所選擇的計算機系統。

        選擇I/O擴展卡應事前考慮好,因為這樣做對于任何數據的獲取和系統的控制都是至關重要的。在對多個硬件和軟件進行比較的前提下再選擇何種主流串行I/O。特別要加以注意的是,正確地選擇電氣接口、電路保護、串行緩沖口容量,以及軟件驅動程序可根本上決定設計的成功與否。

        電氣接口的選擇

        目前應用最廣泛的通信標準是RS-232,通常用于數據速率不超過20kb/s、傳輸距離不超過15m的場合,實際最高數據速率可能隨著包括電纜長度和環境電氣噪聲大小等因素改變而改變。

        RS-232 傳輸的是對公共地來說是單端電壓信號,最適合辦公室環境下使用。若在工業場合使用常會遇到由于噪聲干擾或接地不當造成數據丟失等問題。

        在許多工業場合使用時,往往需要功能更強的接口。RS-422的規格書中提供了許多RS-232實際使用受到限制情況下的解決方案。

        RS-422采用差動電路接口,可以抑制在通信線路上可能產生的噪聲或窄脈沖干擾。差動接口還具有更強的驅動能力,故允許使用更長的電纜。

        RS-422的傳輸速率可達10 Mb/s ,可靠通通信距離長達1200m。這個標準還規定允許一條總線上一個發送器和多達32個接收器能同時工作。

        RS-485 可以逆向兼容RS-422,并同樣具有抑制噪聲和遠距離傳輸數據的能力。但RS-485設計成可以在一對雙絞線上允許使用更多的發送器和接收器。

        基于網絡的RS-485有一個有用的特性就是硬件支撐功能,當傳輸字符期間可使總線驅動器自動使能然后自動恢復原狀,從而使一個標準的串行通信端口(COM)驅動器可以用于RS-485通信。如果在RS-232、RS-422、RS-485之間不能確定哪個是最佳選擇,或者對于一個多端口卡來說需要混合接口,其最佳選擇是多端口串行卡,這些卡允許對所需要的接口進行單獨配置。

        電路保護

        當設備離開主機系統很遠時,或者在兩個或更多的使用不是同一電源的建筑物之間互連時,要注意采取隔離措施。兩點之間存在的電位差常常會在電纜中產生地電流或形成接地環路。

        接地環路中的浪涌電流也可能在其他電流如照明電接入系統時產生,接地環路的存在可以引起串行卡或其他元件的潛在失效或直接破壞。

        利用光纖鏈路可以中斷接地環路的電氣連接,從而消除窄脈沖和浪涌干擾,實現光學隔離。許多串行卡可以定制在卡光學隔離電路內,所需費用很少,效果極佳。

        購買具有光學隔離的多接口串行卡時應選擇能確保不僅是信號線之間而且各接口之間也要相互隔離的串行卡。

        數據緩存容量

        多數主流通信卡采用標準16C550型通用異步收發器(UART)低電平硬件接口集成電路。先進先出(FIFO)緩沖器嵌入其中,用于收集輸入的數據比特,直到主機處理器能夠讀出這些信息。

        許多串行I/O仍然在使用16C550 或兼容的16比特FIFO 緩沖存儲器。今天,數據的采集和控制常在如視窗那樣的隨機操作系統下運行。

        串行情況下如運行速率不夠快就可能發生緩存溢出,緩存溢出對于間斷性串行通信來說是經常遇到的問題且難以診斷并加以校正。

        新型的UART使用容量更大的緩沖存儲器,一個128字節的16C850 UART, 不僅提供八倍于16C550的緩存容量,而且還能與現有的軟件完全逆向兼容。

        軟驅支持

        串行I/O的軟件支持顯然應是提供驅動程序,用于所應用的操作系統的生成和翻譯。其他功能如變更串行通信接口數量、設置各接口各自的數據速率將變得非常容易。

        附加診斷功能也是有用的,控制全部缺省的UART參數以及調制解調控制信號在初始調試和安裝期間諸如回送測試、誤碼率測試以及流量檢測也證明是有幫助的。(end)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 太白县| 潢川县| 灌阳县| 高清| 东光县| 广宗县| 金川县| 英德市| 绥化市| 永胜县| 永安市| 札达县| 乌兰浩特市| 连山| 平顶山市| 新营市| 紫金县| 西乌珠穆沁旗| 普兰县| 德清县| 南阳市| 淮滨县| 卓尼县| 普洱| 嘉定区| 土默特右旗| 上犹县| 临沭县| 平遥县| 延寿县| 本溪| 工布江达县| 博湖县| 昭觉县| 砀山县| 文安县| 阳江市| 紫云| 内乡县| 西贡区| 石城县|