專利名稱:基于cpci總線的多串口數(shù)據(jù)通信卡設(shè)備及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,特別涉及CPCI總線通信技術(shù)領(lǐng)域,具體是指一種基于CPCI
總線的多串口數(shù)據(jù)通信卡設(shè)備及其方法。
背景技術(shù):
現(xiàn)代社會中,隨著數(shù)據(jù)通信技術(shù)的不斷發(fā)展,在工業(yè)控制領(lǐng)域已經(jīng)得到了越多的應(yīng)用。
同時,在廣泛使用的工控機領(lǐng)域,RS232/RS485串行通信已經(jīng)成為常規(guī)的模式。
作為壓縮PCI (Compact PCI,簡稱為CPCI)技術(shù)規(guī)范,使得流行的PCI總線兼容架構(gòu) 可以用歐洲卡的規(guī)格實現(xiàn)。這種模塊化的CPCI模板可以靈活組合成適合各種不同工業(yè)現(xiàn)場 應(yīng)用的系統(tǒng)。為了提高CPCI系統(tǒng)的可維護性,需要在CPCI產(chǎn)品上增加熱插拔功能,使得 CPCI模板可以在不需要關(guān)斷電源情況下,插入或拔出正在運行的系統(tǒng),而不影響或破壞系統(tǒng) 的正常工作,從而為高可用性(High Availability)設(shè)計奠定基礎(chǔ)。
PICMG 2.0 Revision 3.0規(guī)定了背板上各插槽之間,系統(tǒng)槽與背板,I/O模板與背板之間 嚴(yán)格的互連關(guān)系;定義了背板、模板和前后面板的結(jié)構(gòu)和尺寸;定義P1支持32位PCI操作, PI和P2支持64位PCI操作,P3 、P4和P5留給用戶使用或作為總線擴展用。規(guī)范還為33MHz 和66MHz工作頻率的Clock信號分布,定義了嚴(yán)格的設(shè)計規(guī)則。規(guī)范還定義了系統(tǒng)管理總線, 并為背板上每個插槽定義了唯一對應(yīng)的物理地址。CPCI系統(tǒng)由金屬外殼和前、后面板組成的 整體導(dǎo)電以及ESD電路設(shè)計,使得CPCI具有電磁輻射屏蔽和靜電釋放能力,表現(xiàn)出良好的 電磁兼容性。
RS-232協(xié)議是一個最初用于調(diào)制解調(diào)器、打印機及其它PC外設(shè)的通訊標(biāo)準(zhǔn),提供單 端20kbps的波特率,后來速率提高至lMbps。 RS - 232的其它技術(shù)指標(biāo)包括標(biāo)稱士5V發(fā)送 電平、土3V接收電平(間隔/符號)、2V共模抑制、2200pF最大電纜負(fù)載電容、300最大驅(qū)動 器輸出電阻、3k最小接收器(負(fù)載)阻抗、100英尺(典型值)最大電纜長度。RS-232協(xié) 議只能夠用于點對點通信系統(tǒng), 不能用于多點通信系統(tǒng),所有RS-232系統(tǒng)都必須遵從這些 限制。
RS-422協(xié)議是單向、全雙工通信協(xié)議,適合嘈雜的工業(yè)環(huán)境。RS-422規(guī)范允許單個驅(qū)動器與多個接收器通信,數(shù)據(jù)信號采用差分傳輸方式,速率最高可達50Mbps。接收器共斗莫 范圍為士7V,驅(qū)動器輸出電阻最大值為100,接收器輸入阻抗可低至4k。
RS-485協(xié)議是雙向、半雙工通信協(xié)議,允許多個驅(qū)動器和接收器掛接在總線上,其中 每個驅(qū)動器都能夠脫離總線。該規(guī)范滿足所有RS - 422的要求,而且比RS - 422穩(wěn)定性更強。 具有更高的接收器輸入阻抗和更寬的共模范圍(-7V至+ 12V)。驅(qū)動器能夠驅(qū)動32個單位 負(fù)載,即允許總線上并聯(lián)32個12k的接收器。對于輸入阻抗更高的接收器, 一條總線上允許 連接的單位負(fù)栽數(shù)也較高。RS-485接收器可隨意組合,連接至同一總線,但要保證這些電路 的實際并聯(lián)阻抗不高于32個單位負(fù)載(375 )。由此可見,RS485適用于多主機/驅(qū)動器工業(yè) 環(huán)境,通信距離較長淡通信速率不高的場合。
同時,iCoupler是ADI公司的一項專利隔離技術(shù)。它是一種基于芯片尺寸的變壓器,而 非傳統(tǒng)的基于光電耦合器所采用的發(fā)光二極管(LED)與光電二極管的組合。由于其取消了 光電耦合器中影響效率的光電轉(zhuǎn)換環(huán)節(jié),因此其功耗僅為光電耦合器的1/10-1/50。采用了 iCoupler技術(shù)的數(shù)字隔離器利用平面磁場專利隔離技術(shù),并采用變壓器專利技術(shù)集成變壓器 驅(qū)動和接收電路,同時不再需要驅(qū)動34〃的外部電路,從而在性能方面表現(xiàn)出色。數(shù)字隔離 器使用了芯片級制造工藝直接在芯片上制造iCoupler變壓器,只需一個芯片就能支持高速數(shù) 據(jù)通信,同時能滿足醫(yī)用設(shè)備、高電壓工業(yè)應(yīng)用、電源以及其他高隔離度環(huán)境的嚴(yán)格隔離要 求。iCoupler數(shù)字隔離器的隔離通道具有比光電耦合器更高的數(shù)據(jù)傳輸速率,時序精度和瞬 態(tài)共模抑制能力,因此iCoupler數(shù)字隔離器非常適合在各種工業(yè)上的應(yīng)用,包括數(shù)據(jù)通信、 數(shù)據(jù)轉(zhuǎn)換器接口以及其他多通道隔離應(yīng)用。
雖然以上技術(shù)都已經(jīng)發(fā)展的比較成熟,但是還沒有一種技術(shù)方案能夠?qū)⒁陨霞夹g(shù)手段進 行整合應(yīng)用,并應(yīng)用于工控機的數(shù)據(jù)通信方面。
發(fā)明內(nèi)容
本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)中的缺點,提供一種能夠有效實現(xiàn)智能化多串口數(shù) 據(jù)通信、擴展方便、安全可靠、功耗較低、數(shù)據(jù)傳輸速率較高、適用范圍較為廣泛的基于CPCI 總線的多串口數(shù)據(jù)通信卡設(shè)備及其方法。
為了實現(xiàn)上述的目的,本發(fā)明的基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備及其方法如下 該基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備,其主要特點是,所述的設(shè)備包括 CPCI總線通信模塊,該CPCI總線通信模塊通過CPCI總線與主機系統(tǒng)相連接,并向主 機系統(tǒng)提交數(shù)據(jù)以及接收主機系統(tǒng)的下發(fā)數(shù)據(jù);至少二個具有自動RS485通信流控功能的UART通信管理模塊,所述的各個UART通信 管理模塊分別與所述的CPCI總線通信模塊相連接,進行通信數(shù)據(jù)的收發(fā)處理,并在數(shù)據(jù)發(fā) 送完畢或者接收數(shù)據(jù)到達時通過CPCI總線向主機系統(tǒng)發(fā)送中斷通知;
磁隔離模塊,進行通信信號的傳輸;和
與所述的UART通信管理模塊數(shù)量相對應(yīng)的RS232/RS485 二合一通信收發(fā)模塊,所述的 各個RS232/RS485 二合一通信收發(fā)模塊均接入RS232/RS485總線,且所述的各個UART通信 管理模塊通過所述的磁隔離模塊與對應(yīng)的RS232/RS485 二合一通信收發(fā)模塊相連接,進行通 信信號的邏輯電平轉(zhuǎn)換和傳輸。
該基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備中的CPCI總線通信才莫塊為PCI從設(shè)備管理器。
該基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備中的具有自動RS485通信流控功能的UART 通信管理;漠塊為具有自動RS485通信流控功能的UART通信管理器。
該基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備中的磁隔離模塊為iCoupler磁隔離器。
該基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備中的RS232/RS485 二合一通信收發(fā)模塊為 RS232/RS485 二合一通信收發(fā)器。
該基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備中的具有自動RS485通信流控功能的UART 通信管理模塊的數(shù)量為8個,所述的RS232/RS485 二合一通信收發(fā)模塊的數(shù)量也為8個。
該基于上述的設(shè)備實現(xiàn)基于CPCI總線的多串口數(shù)據(jù)通信的方法,其主要特點是,所述 的方法包括設(shè)備初始化處理操作、數(shù)據(jù)發(fā)送處理和數(shù)據(jù)接收處理,所述的設(shè)備初始化處理操 作,包括以下步驟
(11 )所述的設(shè)備插入主機系統(tǒng)的CPCI接口槽,主機系統(tǒng)根據(jù)PCI設(shè)備資源分配法則 為該設(shè)備分配共享中斷號;
(12 )所述的主機系統(tǒng)為該設(shè)備分配內(nèi)存映射I/O空間;
(13 )所述的主機系統(tǒng)創(chuàng)建與所述的UART通信管理模塊數(shù)量相對應(yīng)的UART虛擬設(shè)備, 并將所述的內(nèi)存映射I/O空間分割為與各個UART虛擬設(shè)備相對應(yīng)的部分,作為每個UART 虛擬設(shè)備的發(fā)送數(shù)據(jù)緩沖區(qū)和接收數(shù)據(jù)緩沖區(qū); 所述的數(shù)據(jù)發(fā)送處理,包括以下步驟
(21) 所述的主機系統(tǒng)將需要發(fā)送的數(shù)據(jù)拷貝到所述的內(nèi)存映射I/O空間中的發(fā)送數(shù)據(jù) 緩沖區(qū);
(22) 所述的主機系統(tǒng)通過所述的CPCI總線通信模塊通知對應(yīng)的UART通信管理模塊相應(yīng)的數(shù)據(jù)發(fā)送緩沖區(qū)有數(shù)據(jù)待發(fā)送;
(23 )所述的UART通信管理模塊讀取相應(yīng)的數(shù)據(jù)發(fā)送緩沖區(qū)中的數(shù)據(jù),并進行數(shù)據(jù)轉(zhuǎn) 換和發(fā)送操作;
所述的數(shù)據(jù)接收處理,包括以下步驟
(31 )當(dāng)RS232/RS485總線上的遠(yuǎn)端設(shè)備有數(shù)據(jù)到達所述的RS232/RS485 二合一通信收 發(fā)模塊時,所迷的設(shè)備進行數(shù)據(jù)接收和轉(zhuǎn)換操作,并得到接收數(shù)據(jù);
(32 )所述的UART通信管理^f莫塊將接收到的數(shù)據(jù)拷貝至所述的內(nèi)存映射I/O空間中的 接收數(shù)據(jù)緩沖區(qū)中,并向所述的主機系統(tǒng)發(fā)送硬件中斷通知該主機系統(tǒng)讀取數(shù)據(jù);
(33 )所述的主機系統(tǒng)通過該硬件中斷的中斷狀態(tài)字的標(biāo)志位判斷是哪個UART通信管 理模塊接收到數(shù)據(jù);
(34 )所述的主機系統(tǒng)調(diào)度該UART通信管理模塊所對應(yīng)的中斷處理過程函數(shù),將所述 的接收數(shù)據(jù)傳遞至上層應(yīng)用程序。
該實現(xiàn)基于CPCI總線的多串口數(shù)據(jù)通信的方法中的數(shù)據(jù)轉(zhuǎn)換和發(fā)送操作,包括以下步
驟
(231 )所述的UART通信管理模塊將所讀取到的數(shù)據(jù)轉(zhuǎn)換為實際的邏輯電平信號; (232)所述的UART通信管理模塊將轉(zhuǎn)換后的邏輯電平信號通過磁隔離器傳送給對應(yīng)
的RS232/RS485 二合一通信收發(fā)才莫塊;
(233 )所述的RS232/RS485 二合一通信收發(fā)模塊將所述的邏輯電平信號轉(zhuǎn)換為符合
IEA232/IEA485通信協(xié)議的電氣信號,并將該電氣信號通過RS232/RS485總線傳送給遠(yuǎn)端設(shè)
備;
(234 )所述的UART通信管理模塊通過CPCI總線通信模塊通知主機系統(tǒng)數(shù)據(jù)發(fā)送完畢。 該實現(xiàn)基于CPCI總線的多串口數(shù)據(jù)通信的方法中的數(shù)據(jù)接收和轉(zhuǎn)換操作,包括以下步
驟
(311 )所述的RS232/RS485 二合一通信收發(fā)模塊將符合正A232/IEA485通信協(xié)議的電 氣信號轉(zhuǎn)換為邏輯電平信號;
(312 )所述的RS232/RS485 二合一通信收發(fā)模塊將該邏輯電平信號通過磁隔離器傳送 到對應(yīng)的UART通信管理模塊;
(313 )所述的UART通信管理模塊將接收到的邏輯電平信號轉(zhuǎn)換為實際的接收數(shù)據(jù)。 采用了該發(fā)明的基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備及其方法,由于其中采用了 CPCI總線通信接口方式,并與系統(tǒng)硬件連接采用2mm高密度針式連接器,從而在工業(yè)應(yīng)用領(lǐng)域令系統(tǒng)運行更加可靠;而且CPCI具有熱插拔功能,可以在不需要關(guān)斷電源情況下,插 入或拔出正在運^"的系統(tǒng)而不影響或^:壞系統(tǒng)的正常工作,^^而為高可用性奠定基礎(chǔ);CPC[ 的可擴展性允許一個硬件系統(tǒng)平臺在不增加PCI橋的情況下最多擴展7塊8串口卡,即可以 擴展出最多達到56個串口 ;同時,本發(fā)明實現(xiàn)了智能控制RS485通信,而RS485為半雙工 串行通信,其中的UART通信控制模塊中具有自動RS485通信流控功能,從而大大簡化了 RS232/RS485切換電路,也使RS232/RS485的切換控制真正實現(xiàn)了智能化;由于其中采用了 的iCoupler磁隔離技術(shù)(磁隔離模塊)有效避免了光電耦合器中影響效率的光電轉(zhuǎn)換環(huán)節(jié), 從而功耗非常低,僅為使用光電耦合器的多串口通信設(shè)備的1/10-1/50,具有比光電耦合器 更高的數(shù)據(jù)傳輸速率、時序精度和瞬態(tài)共模抑制能力;串行通信數(shù)據(jù)傳輸速率可達到 230400bps,不僅安全可靠,而且適用范圍較為廣泛。
圖1為本發(fā)明的基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備硬件結(jié)構(gòu)示意圖。
具體實施例方式
為了能夠更清楚地理解本發(fā)明的技術(shù)內(nèi)容,特舉以下實施例詳細(xì)說明。 請參閱圖1所示,該基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備,其中包括 (1 ) CPCI總線通信模塊,該CPCI總線通信模塊通過CPCI總線與主機系統(tǒng)相連接,并
向主機系統(tǒng)提交數(shù)據(jù)以及接收主機系統(tǒng)的下發(fā)數(shù)據(jù);所述的CPCI總線通信模塊為PCI從設(shè)
備管理器;
(2 )至少二個具有自動RS485通信流控功能的UART通信管理模塊,所述的各個UART 通信管理模塊分別與所述的CPCI總線通信模塊相連接,進行通信數(shù)據(jù)的收發(fā)處理,并在數(shù) 據(jù)發(fā)送完畢或者接收數(shù)據(jù)到達時通過CPCI總線向主4幾系統(tǒng)發(fā)送中斷通知;所述的具有自動 RS485通信流控功能的UART通信管理模塊為具有自動RS485通信流控功能的UART通信管 理器;在本發(fā)明的具體實施方式
中,所述的具有自動RS485通信流控功能的UART通信管理 模塊的數(shù)量為8個;
(3 )磁隔離模塊,進行通信信號的傳輸;所述的磁隔離模塊為iCoupler磁隔離器; (4)與所述的UART通信管理模塊數(shù)量相對應(yīng)的RS232/RS485 二合一通信收發(fā)模塊, 所述的各個RS232/RS485 二合一通信收發(fā)模塊均接入RS232/RS485總線,且所述的各個 UART通信管理模塊通過所述的磁隔離模塊與對應(yīng)的RS232/RS485 二合一通信收發(fā)模塊相連 接,進行通信信號的邏輯電平轉(zhuǎn)換和傳輸;所述的RS232/RS485 二合一通信收發(fā)模塊為RS232/RS485 二合一通信收發(fā)器;同時,在本發(fā)明的具體實施方式
中,所迷的RS232/RS485 二合一通信收發(fā)模塊的數(shù)量也為8個。
在實際使用當(dāng)中,本發(fā)明的基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備的硬件結(jié)構(gòu)中包括 CPCI總線接口控制器、RS232信號收發(fā)器、RS485信號收發(fā)器、iCoupler磁隔離器。此設(shè)備 能直接在遵循CPCI規(guī)范的硬件平臺使用,給主機系統(tǒng)擴充出8個標(biāo)準(zhǔn)型UART,通過RS232 信號收發(fā)器或RS485信號收發(fā)器,可以和外界的RS232或RS485設(shè)備通信。同時該設(shè)備中 具有磁隔離器,符合國家電力行業(yè)磁隔離安全規(guī)范。本卡件具有智能安裝、智能切換 RS232/RS485通信模式等特性。
CPCI總線規(guī)范是PCI總線規(guī)范的另 一領(lǐng)域應(yīng)用拓展,所遵循的協(xié)議是PCI2.0協(xié)議規(guī)范, 硬件上使用的CPCI從設(shè)備控制器和通用PCI從設(shè)備沒有區(qū)別。本發(fā)明的設(shè)備的CPCI總線從 設(shè)備控制器與硬件平臺的CPCI總線連接,根據(jù)PCI設(shè)備的即插即用特性,卡件插入系統(tǒng)裝 置的CPCI槽后,通用平臺上的WINDOWS、 LINUX系統(tǒng)能自動檢測到新硬件的插入,根據(jù) PCI設(shè)備資源分配法則,系統(tǒng)自動分配I/O空間和共享中斷號。設(shè)備在得到的I/O空間與普通 輸入輸出設(shè)備的I/O空間不同,是一種稱為內(nèi)存映射I/O空間(MMIO, memory map I/O ), 系統(tǒng)可以像讀寫內(nèi)存塊一樣操作讀寫這塊I/O空間數(shù)據(jù),存取的速率比物理1/0空間讀寫快 得多。
本發(fā)明的設(shè)備上還可以設(shè)置多達8個UART通信管理器,這8個UART通信管理器和 CPCI從設(shè)備控制器完美整合在一起。當(dāng)平臺上的WINDOWS、 LINUX系統(tǒng)辨別卡件分配資 源后,平臺上的軟件系統(tǒng)(驅(qū)動)會衍生出8個UART設(shè)備,并且將MMIO空間對應(yīng)8個 UART分成8個部分,用作每個UART的發(fā)送數(shù)據(jù)緩沖區(qū)和接收數(shù)據(jù)緩沖區(qū),同時平臺上的 軟件系統(tǒng)(驅(qū)動)還運用了操作系統(tǒng)中的共享中斷技術(shù),根據(jù)卡件中斷狀態(tài)字的標(biāo)志位辨別 出是由哪個UART發(fā)出的中斷請求,從而調(diào)度這個UART的中斷處理過程函數(shù)。
UART通信管理器可以引出RS485通信收發(fā)器的流控信號,這樣這個UART通信管理器 既可以作RS232通信也可以作RS485通信管理。在本發(fā)明的技術(shù)方案中,將RS232/RS485 的切換控制植入到軟件系統(tǒng)(驅(qū)動)中,而以往的RS232/RS485的切換控制由外圍的硬件設(shè) 置電路完成,因此本發(fā)明中的RS232/RS485的切換控制真正實現(xiàn)了智能化。
該基于上述的設(shè)備實現(xiàn)基于CPCI總線的多串口數(shù)據(jù)通信的方法,其中包括設(shè)備初始化 處理4乘作、數(shù)據(jù)發(fā)送處理和數(shù)據(jù)接收處理,所迷的設(shè)備初始化處理操作,包括以下步驟
(11 )所述的設(shè)備插入主機系統(tǒng)的CPCI接口槽,主機系統(tǒng)根據(jù)PCI設(shè)備資源分配法則 為該設(shè)備分配共享中斷號;(12 )所述的主機系統(tǒng)為該設(shè)備分配內(nèi)存映射I/O空間;
(13 )所述的主機系統(tǒng)創(chuàng)建與所述的UART通信管理模塊數(shù)量相對應(yīng)的UART虛擬設(shè)備, 并將所述的內(nèi)存映射I/O空間分割為與各個UART虛擬設(shè)備相對應(yīng)的部分,作為每個UART 虛擬設(shè)備的發(fā)送數(shù)據(jù)緩沖區(qū)和接收數(shù)據(jù)緩沖區(qū); 所述的數(shù)據(jù)發(fā)送處理,包括以下步驟
(21) 所述的主機系統(tǒng)將需要發(fā)送的數(shù)據(jù)拷貝到所述的內(nèi)存映射I/O空間中的發(fā)送數(shù)據(jù) 緩沖區(qū);
(22) 所述的主^L系統(tǒng)通過所述的CPCI總線通信神莫塊通知對應(yīng)的UART通信管理才莫塊 相應(yīng)的數(shù)據(jù)發(fā)送緩沖區(qū)有數(shù)據(jù)待發(fā)送;
(23 )所述的UART通信管理模塊讀取相應(yīng)的數(shù)據(jù)發(fā)送緩沖區(qū)中的數(shù)據(jù),并進行數(shù)據(jù)轉(zhuǎn) 換和發(fā)送操作,包括以下步驟
(a )所述的UART通信管理模塊將所讀取到的數(shù)據(jù)轉(zhuǎn)換為實際的邏輯電平信號; (b )所述的UART通信管理模塊將轉(zhuǎn)換后的邏輯電平信號通過磁隔離器傳送給對應(yīng) 的RS232/RS485 二合一通信收發(fā)才莫塊;
(c)所述的RS232/RS485 二合一通信收發(fā)模塊將所述的邏輯電平信號轉(zhuǎn)換為符合 IEA232/IEA485通信協(xié)議的電氣信號,并將該電氣信號通過RS232/RS485總線傳送給 遠(yuǎn)端設(shè)備;
(d )所述UART通信管理模塊通過CPCI總線通信模塊通知主機系統(tǒng)數(shù)據(jù)發(fā)送完畢; 所述的數(shù)據(jù)接收處理,包括以下步驟
(31 )當(dāng)RS232/RS485總線上的遠(yuǎn)端設(shè)備有數(shù)據(jù)到達所述的RS232/RS485 二合一通信收 發(fā)模塊時,所述的設(shè)備進行數(shù)據(jù)接收和轉(zhuǎn)換操作,并得到接收數(shù)據(jù);所述的數(shù)據(jù)接收和轉(zhuǎn)換 操作,包括以下步驟
(a )所述的RS232/RS485 二合一通信收發(fā)才莫塊將符合IEA232/IEA485通信協(xié)議的電 氣信號轉(zhuǎn)換為邏輯電平信號;
(b )所述的RS232/RS485 二合一通信收發(fā)模塊將該邏輯電平信號通過磁隔離器傳送 到對應(yīng)的UART通信管理模塊;
(c )所述的UART通信管理模塊將接收到的邏輯電平信號轉(zhuǎn)換為實際的接收數(shù)據(jù); (32 )所述的UART通信管理;f莫塊將接收到的數(shù)據(jù)拷貝至所述的內(nèi)存映射I/O空間中的 接收數(shù)據(jù)緩沖區(qū)中,并向所述的主機系統(tǒng)發(fā)送硬件中斷通知該主機系統(tǒng)讀取數(shù)據(jù);
(33 )所述的主機系統(tǒng)通過該硬件中斷的中斷狀態(tài)字的標(biāo)志位判斷是哪個UART通信管理才莫塊接收到數(shù)據(jù);
(34 )所述的主機系統(tǒng)調(diào)度該UART通信管理模塊所對應(yīng)的中斷處理過程函數(shù),將所述 的接收數(shù)據(jù)傳遞至上層應(yīng)用程序。
在實際使用當(dāng)中,當(dāng)系統(tǒng)有發(fā)送數(shù)據(jù)需要從卡件的某個UART發(fā)送出去時,系統(tǒng)將此發(fā) 送數(shù)據(jù)拷貝到軟件系統(tǒng)(驅(qū)動)的發(fā)送數(shù)據(jù)緩沖區(qū),即卡件的MMIO中,并通過PCI總線通 信控制器中告訴這個UART的通信管理器數(shù)據(jù)發(fā)送緩沖區(qū)有數(shù)據(jù)發(fā)送,UART的通信管理器 即轉(zhuǎn)換計算機數(shù)據(jù)為實際的邏輯電平(TTL )信號經(jīng)磁隔離器輸送給RS232/RS485通信收發(fā) 器,由這個RS232/RS485通信收發(fā)器轉(zhuǎn)換邏輯電平信號為符合IEA232/正A485通信的電氣信 號輸送到遠(yuǎn)方設(shè)備;發(fā)送完畢后UART的通信管理器通過PC總線通信控制器告知系統(tǒng)數(shù)據(jù) 發(fā)送完畢。
當(dāng)遠(yuǎn)方設(shè)備有數(shù)據(jù)到達某個UART時,RS232/RS485通信收發(fā)器將IEA232/IEA485通信 的電氣信號轉(zhuǎn)換為邏輯電平(TTL)信號,經(jīng)過磁隔離器傳輸?shù)経ART的通信管理器,通信 管理器拷貝數(shù)據(jù)到卡件的MMIO中,并且發(fā)出 一個硬件中斷,通知系統(tǒng)取走數(shù)據(jù);軟件系統(tǒng) (驅(qū)動)通過中斷狀態(tài)字的標(biāo)志位辨別是哪個UART接收到的數(shù)據(jù),調(diào)度這個UART的中斷 處理過程函數(shù),即可以將接收數(shù)據(jù)傳遞給應(yīng)用程序。
采用了上述的基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備及其方法,由于其中采用了 CPCI 總線通信接口方式,并與系統(tǒng)硬件連接采用2mm高密度針式連接器,從而在工業(yè)應(yīng)用領(lǐng)域令 系統(tǒng)運行更加可靠;而且CPCI具有熱插拔功能,可以在不需要關(guān)斷電源情況下,插入或拔 出正在運行的多串口數(shù)據(jù)通信卡設(shè)備而不影響或破壞系統(tǒng)的正常工作,從而為高可用性奠定 基礎(chǔ);CPCI的可擴展性允許一個硬件系統(tǒng)平臺在不增加PCI橋的情況下最多擴展7塊8串口 卡,即可以擴展出最多達到56個串口;同時,本發(fā)明中實現(xiàn)了智能控制RS485通信,而RS485 為半雙工串行通信,其中的UART通信控制模塊中具有自動RS485通信流控功能,從而大大 簡化了 RS232/RS485切換電路,也使RS232/RS485的切換控制真正實現(xiàn)了智能化;由于其中 采用了的iCoupler磁隔離技術(shù)(磁隔離模塊)有效避免了光電耦合器中影響效率的光電轉(zhuǎn)換 環(huán)節(jié),從而功耗非常低,僅為使用光電耦合器的多串口通信設(shè)備的1/10-1/50,具有比光電 耦合器更高的數(shù)據(jù)傳輸速率、時序精度和瞬態(tài)共模抑制能力;串行通信數(shù)據(jù)傳輸速率可達到 230400bps,不僅安全可靠,而且適用范圍較為廣泛。
在此說明書中,本發(fā)明已參照其特定的實施例作了描述。但是,很顯然仍可以作出各種 修改和變換而不背離本發(fā)明的精神和范圍。因此,說明書和附圖應(yīng)被認(rèn)為是說明性的而非限 制性的。
權(quán)利要求
1、一種基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備,其特征在于,所述的設(shè)備包括CPCI總線通信模塊,該CPCI總線通信模塊通過CPCI總線與主機系統(tǒng)相連接,并向主機系統(tǒng)提交數(shù)據(jù)以及接收主機系統(tǒng)的下發(fā)數(shù)據(jù);至少二個具有自動RS485通信流控功能的UART通信管理模塊,所述的各個UART通信管理模塊分別與所述的CPCI總線通信模塊相連接,進行通信數(shù)據(jù)的收發(fā)處理,并在數(shù)據(jù)發(fā)送完畢或者接收數(shù)據(jù)到達時通過CPCI總線向主機系統(tǒng)發(fā)送中斷通知;磁隔離模塊,進行通信信號的傳輸;和與所述的UART通信管理模塊數(shù)量相對應(yīng)的RS232/RS485二合一通信收發(fā)模塊,所述的各個RS232/RS485二合一通信收發(fā)模塊均接入RS232/RS485總線,且所述的各個UART通信管理模塊通過所述的磁隔離模塊與對應(yīng)的RS232/RS485二合一通信收發(fā)模塊相連接,進行通信信號的邏輯電平轉(zhuǎn)換和傳輸。
2、 根據(jù)權(quán)利要求1所述的基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備,其特征在于,所述 的CPCI總線通信模塊為PCI從設(shè)備管理器。
3、 根據(jù)權(quán)利要求1所述的基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備,其特征在于,所述 的具有自動RS485通信流控功能的UART通信管理模塊為具有自動RS485通信流控功能的 UART通信管理器。
4、 根據(jù)權(quán)利要求1所述的基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備,其特征在于,所述 的磁隔離模塊為iCoupler磁隔離器。
5、 根據(jù)權(quán)利要求1所述的基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備,其特征在于,所述 的RS232/RS485 二合一通信收發(fā)模塊為RS232/RS485 二合一通信收發(fā)器。
6、 根據(jù)權(quán)利要求1至5中任一項所述的基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備,其特 征在于,所迷的具有自動RS485通信流控功能的UART通信管理模塊的數(shù)量為8個,所述的 RS232/RS485 二合一通信收發(fā)^f莫塊的數(shù)量也為8個。
7、 一種基于權(quán)利要求1所述的設(shè)備實現(xiàn)基于CPCI總線的多串口數(shù)據(jù)通信的方法,其特 征在于,所述的方法包括設(shè)備初始化處理操作、數(shù)據(jù)發(fā)送處理和數(shù)據(jù)接收處理,所述的設(shè)備 初始化處理l喿作,包括以下步驟(11 )所述的設(shè)備插入主機系統(tǒng)的CPCI接口槽,主機系統(tǒng)根據(jù)PCI設(shè)備資源分配法則 為該設(shè)備分配共享中斷號;(12 )所述的主機系統(tǒng)為該設(shè)備分配內(nèi)存映射I/O空間;(13 )所述的主機系統(tǒng)創(chuàng)建與所述的UART通信管理模塊數(shù)量相對應(yīng)的UART虛擬設(shè)備, 并將所述的內(nèi)存映射I/O空間分割為與各個UART虛擬設(shè)備相對應(yīng)的部分,作為每個UART 虛擬設(shè)備的發(fā)送數(shù)據(jù)緩沖區(qū)和接收數(shù)據(jù)緩沖區(qū); 所述的數(shù)據(jù)發(fā)送處理,包括以下步驟(21) 所述的主機系統(tǒng)將需要發(fā)送的數(shù)據(jù)拷貝到所述的內(nèi)存映射I/O空間中的發(fā)送數(shù)據(jù) 緩沖區(qū);(22) 所述的主機系統(tǒng)通過所述的CPCI總線通信模塊通知對應(yīng)的UART通信管理模塊 相應(yīng)的數(shù)據(jù)發(fā)送緩沖區(qū)有數(shù)據(jù)待發(fā)送;(23 )所述的UART通信管理模塊讀取相應(yīng)的數(shù)據(jù)發(fā)送緩沖區(qū)中的數(shù)據(jù),并進行數(shù)據(jù)轉(zhuǎn) 換和發(fā)送操作;所述的數(shù)據(jù)接收處理,包括以下步驟(31 )當(dāng)RS232/RS485總線上的遠(yuǎn)端設(shè)備有數(shù)據(jù)到達所述的RS232/RS485 二合一通信收 發(fā)模塊時,所述的設(shè)備進行數(shù)據(jù)接收和轉(zhuǎn)換操作,并得到接收數(shù)據(jù);(32 )所述的UART通信管理沖莫塊將接收到的數(shù)據(jù)拷貝至所述的內(nèi)存映射I/O空間中的 接收數(shù)據(jù)緩沖區(qū)中,并向所述的主機系統(tǒng)發(fā)送硬件中斷通知該主機系統(tǒng)讀取數(shù)據(jù);(33 )所述的主機系統(tǒng)通過該硬件中斷的中斷狀態(tài)字的標(biāo)志位判斷是哪個UART通信管 理模塊接收到數(shù)據(jù);(34 )所述的主機系統(tǒng)調(diào)度該UART通信管理模塊所對應(yīng)的中斷處理過程函數(shù),將所述 的接收數(shù)據(jù)傳遞至上層應(yīng)用程序。
8、 根據(jù)權(quán)利要求7所述的實現(xiàn)基于CPCI總線的多串口數(shù)據(jù)通信的方法,其特征在于, 所述的數(shù)據(jù)轉(zhuǎn)換和發(fā)送操作,包括以下步驟(231 )所述的UART通信管理模塊將所讀取到的數(shù)據(jù)轉(zhuǎn)換為實際的邏輯電平信號; (232 )所述的UART通信管理模塊將轉(zhuǎn)換后的邏輯電平信號通過磁隔離器傳送給對應(yīng)的RS232/RS485 二合一通信收發(fā)模塊;(233 )所述的RS232/RS485 二合一通信收發(fā)模塊將所述的邏輯電平信號轉(zhuǎn)換為符合正A232/IEA485通信協(xié)議的電氣信號,并將該電氣信號通過RS232/RS485總線傳送給遠(yuǎn)端設(shè)備;(234 )所述的UART通信管理模塊通過CPCI總線通信模塊通知主機系統(tǒng)數(shù)據(jù)發(fā)送完畢。
9、 根據(jù)權(quán)利要求7所述的實現(xiàn)基于CPCI總線的多串口數(shù)據(jù)通信的方法,其特征在于,所述的數(shù)據(jù)接收和轉(zhuǎn)換操作,包括以下步驟(311 )所述的RS232/RS485 二合一通信收發(fā)模塊將符合正A232/正A485通信協(xié)議的電 氣信號轉(zhuǎn)換為邏輯電平信號;(312) 所述的RS232/RS485 二合一通信收發(fā)模塊將該邏輯電平信號通過磁隔離器傳送 到對應(yīng)的UART通信管理模塊;(313) 所述的UART通信管理模塊將接收到的邏輯電平信號轉(zhuǎn)換為實際的接收數(shù)據(jù)
全文摘要
本發(fā)明涉及一種基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備及方法,設(shè)備包括CPCI總線通信模塊、至少二個具有自動RS485通信流控功能的UART通信管理模塊、磁隔離模塊、與UART通信管理模塊數(shù)量相對應(yīng)的RS232/RS485二合一通信收發(fā)模塊。方法包括設(shè)備初始化處理操作、數(shù)據(jù)發(fā)送處理和數(shù)據(jù)接收處理。采用該種基于CPCI總線的多串口數(shù)據(jù)通信卡設(shè)備及其方法,系統(tǒng)運行更加可靠,為高可用性奠定基礎(chǔ),簡化了RS232/RS485切換電路,使RS232/RS485切換控制真正實現(xiàn)了智能化;使用磁隔離模塊功耗僅為使用光電耦合器的多串口通信設(shè)備的1/10~1/50;具有更高的數(shù)據(jù)傳輸速率、時序精度和瞬態(tài)共模抑制能力;串行通信數(shù)據(jù)傳輸速率可達到230400bps,安全可靠,適用范圍較為廣泛。
文檔編號G06F13/38GK101527735SQ20091004893
公開日2009年9月9日 申請日期2009年4月7日 優(yōu)先權(quán)日2009年4月7日
發(fā)明者岑登青, 王永剛 申請人:上海許繼電氣有限公司