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

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

2007/01/30

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

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

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

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

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

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

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

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

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

 

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



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

分類信息:     技術(shù)_語(yǔ)音板卡_文摘