首頁>>廠商>>系統(tǒng)集成及應用軟件開發(fā)商>>杭州三匯

杭州三匯將DMA技術成功應用于數(shù)字中繼語音卡

2007/01/30

   杭州三匯作為一家自主研發(fā)語音卡的成熟廠商,近年來一直不斷致力于提高現(xiàn)有語音卡的功能,使其更為完善,效率更高。

  三匯新一代大容量PCI/cPCI數(shù)字中繼語音卡全面換裝了功能更為強大的PCI接口芯片,該接口芯片能夠支持對PCI總線進行MASTER模式操作,從而實現(xiàn)了真正的DMA操作,也就是實現(xiàn)了大流量的語音數(shù)據(jù)通過PCI總線時不需要占用CPU時間。

  DMA技術的成功運用,并不僅僅是換一個芯片這么簡單,而是對數(shù)據(jù)流處理方式的一系列重大改變。電話語音卡的數(shù)據(jù)傳輸主要是在主機CPU和板載的DSP之間進行,用來實現(xiàn)語音錄放和控制命令和狀態(tài)的交互。傳統(tǒng)的由CPU進行直接I/O操作的數(shù)據(jù)傳送方式,主機CPU可以直接訪問DSP的內(nèi)存數(shù)據(jù),就可以直接讀寫每個語音通道的各類數(shù)據(jù),包括錄放音緩沖及其指針,命令/狀態(tài)寄存器等,相對來說實現(xiàn)起來比較簡單。但是采用了DMA之后,這種工作方式就行不通了。

  先從DMA的工作原理說起:DMA(Direct Memory Access) ,即直接存儲器存取,是一種快速傳送數(shù)據(jù)的機制。數(shù)據(jù)傳遞可以從適配卡到內(nèi)存,或是從一段內(nèi)存到另一段內(nèi)存。利用它進行數(shù)據(jù)傳送時不需要CPU的參與。每臺電腦主板上都有DMA控制器,通常計算機對其編程,這些程序控制DMA傳送數(shù)據(jù)。一旦控制器初始化完成,數(shù)據(jù)開始傳送,DMA就可以脫離CPU,獨立完成數(shù)據(jù)傳送。利用DMA傳送數(shù)據(jù)的另一個好處是,數(shù)據(jù)直接在源地址和目的地址之間傳送,不需要中間媒介。如果通過CPU把一個字節(jié)從適配卡傳送至內(nèi)存,需要兩步操作。首先,CPU把這個字節(jié)從適配卡讀到內(nèi)部寄存器中,然后再從寄存器傳送到內(nèi)存的適當?shù)刂。DMA控制器將這些操作簡化為一步,它操作總線上的控制信號,使讀寫字節(jié)一次完成。這樣就大大提高了計算機運行速度和工作效率。

  計算機發(fā)展到今天,DMA已不再用于內(nèi)存到內(nèi)存的數(shù)據(jù)傳送,因為CPU速度非?,做這件事,比用DMA控制器還要快,但要在適配卡和內(nèi)存之間傳送數(shù)據(jù),仍然是非DMA莫屬。要從適配卡到內(nèi)存?zhèn)魉蛿?shù)據(jù),DMA同時觸發(fā)從適配卡讀數(shù)據(jù)總線(即I/O讀操作)和向內(nèi)存寫數(shù)據(jù)的總線。激活I/O讀操作就是讓適配卡把一個數(shù)據(jù)單位(通常是一個字節(jié)或一個字)放到PC數(shù)據(jù)總線上,因為此時內(nèi)存寫總線也被激活,數(shù)據(jù)就被同時從總線上拷貝到內(nèi)存中。

  在DMA工作期間,主機CPU仍然可以處理其他事務,這是基于以下兩點:首先是現(xiàn)代計算機在CPU內(nèi)部或是外部配備了容量較大的高速緩存(Cache),當DMA控制器占用內(nèi)存時,CPU仍可利用Cache中的程序和數(shù)據(jù)繼續(xù)運行;其次是采用周期挪用或交替訪問等技術,實現(xiàn)了DMA控制器和CPU同時訪問內(nèi)存。因此,采用DMA技術,既可以加快數(shù)據(jù)傳送速度,又可以減少對CPU的占用。

  然而,要充分利用DMA傳輸?shù)膬?yōu)勢,就必需實現(xiàn)數(shù)據(jù)的“大塊傳輸”,這是因為每一次DMA的初始化,仍需要一定的額外開銷,如果每次傳送的數(shù)據(jù)量過少,則這個開銷所占的比例就會相當大,DMA的優(yōu)勢就不純在了。這個要求在顯卡,網(wǎng)卡等設備上很容易實現(xiàn),因為需要傳送的數(shù)據(jù)本來就是大塊的,但對多通道異步工作的語音卡來說,就很很困難了。為此三匯研發(fā)人員重新設計了數(shù)據(jù)結構,將原來分散傳輸?shù)臄?shù)據(jù)重新按照消息隊列的方式組織起來,人為構造了“大塊數(shù)據(jù)”,從而成功地解決了這個難題。

  成功應用了DMA技術之后,三匯新一代大容量數(shù)字中繼語音卡在性能上有了質(zhì)的飛躍,滿負荷時的CPU占用率成倍下降,使得應用軟件跑起來更為順暢,并且極大地提高了單機實用容量,使得原先難以用板卡實現(xiàn)的1000路以上的滿負荷錄放音運行的單機系統(tǒng)成為現(xiàn)實,并且在部分錄放音負荷的情況下,更是可以達到CTI系統(tǒng)的極限4096個通道。

  下表是三匯SHD-120A-CT/PCI數(shù)字中繼卡(未采用DMA技術)和SHD-240D-CT/PCI數(shù)字中繼卡(采用DMA技術)在相同的配置環(huán)境下的測試結果:

 

杭州三匯公司供稿 CTI論壇編輯



相關鏈接:
ADI Blackfin推出適合三匯的VoIP電話和呼叫中心方案 2009-05-11
杭州三匯榮獲CIPCA 2008中國IP通信大獎 2008-10-08
三匯成功開發(fā)高性能真人接聽檢測算法助推外撥應用 2008-08-26
三匯新一代C型傳真卡撼市登場 2008-05-15
三匯ATP-24A新型模擬錄音產(chǎn)品問世 2008-05-05

分類信息:     技術_語音板卡_文摘