蘇煥坤
中國電子科技集團公司第二十研究所,陜西 西安,710068
計算機領域以及通信領域當中PCI總線的應用十分廣泛,相應的接口電路的實現以及開發設計也變得更加重要。通常,針對PCI接口電路的功能實現有以下幾種方法。(1)使用特殊的總線接口整體布局,以及可編程邏輯器,采用FPGA以及CPLD來實現該功能具有一定程度上的難度,所以一般需要相關人員投入大量的時間成本和精力成本。(2)使用專用的接口來完成總線接口電路的開發和設計,一般會選擇采用PLX生產的PCI總線電路。PCI9052芯片能夠支持PCI2.1協議,具有帶寬大、傳輸數據速度快等特點,能夠更好地簡化設計步驟,避免用戶使用復雜的總線協議。
PCI板卡話音處理器是一種基于PCI總線的語音通信系統,硬件電路主要通過雙口RAM和PCI9052芯片與上層處理器完成信息交換。硬件采用“MCU+雙口RAM+ JAMBE2000+PCI9052+AD/DA”架構,MCU主要完成數字語音數據處理的功能;雙口RAM主要完成與其他單元數據交換的功能;PCI9052芯片完成接口轉換等功能;語音壓縮芯片完成數字語音數據壓縮、解壓功能[1]。
在PCI9050芯片研發之后,PCI9052芯片通過使用更加高性能、低成本的PCI接口芯片,由PLX進行運轉并使用PQFP包,將本地總線通過軟件設置為非多路總線或者是多路總線,具有極高的傳輸率。能夠使用多種本地類型的總線,使用PCI芯片能夠將其轉換成PCI總線所對應的總線功能。通過使用內部電路的總線時鐘,PCI9052芯片能夠獨立地工作。與此同時,使用編程軟件對PCI9052芯片的本地總線進行參數配置,使得其能夠支持非多路復用的本地總線或者是多路復用的本地總線。在查詢模式下編程時,信號用于生成等待狀態[2]。
初始化和重置,當設備通電時,內部PCI9052芯片寄存器通過PCI總線復位信號復位,并在本地總線上發送設備復位信號。重置設備后,PCI9052芯片開始讀取EEPROM數據。如果第一次讀取的數據不是FFFFH,則PCI9052芯片認為存在有效的EEPROM,并且仍在讀取;否則,它將認為EEPROM無效。在讀取和寫入EEPROM之前,將CNTRL控制寄存器起始位設置為“1”,然后使用CNTRL生成EEPROM串行時鐘,然后從EEDI引腳發送指令代碼。在發送命令后,如果引腳為“0”,則表示可以讀取和寫入。要完成操作,請將CNTRL設置為“0”。要禁用對本地配置注冊表的訪問,請設置CNTRL注冊表。設備和制造商登記冊:主要用于識別設備和制造商的類型。狀態寄存器:包含有關PCI總線的信息。命令寄存器:設置此寄存器以控制對PCI總線的訪問,用于訪問本地配置注冊表內存的PCI基址寄存器。
PCI板卡話音處理器是一種基于PCI總線的語音通信系統,硬件電路主要通過雙口RAM和PCI9052芯片與上層處理器完成信息交換。硬件采用“MCU+雙口RAM+ JAMBE2000+PCI9052+AD/DA”架構,MCU主要完成數字語音數據處理的功能;雙口RAM主要完成與其他單元數據交換的功能;PCI9052芯片是繼PCI9050芯片之后,由PLX運行的一種廉價、低成本、高性能的PCI目標接口芯片,用來接收PQFP包。通過軟件可以將本地總線設置為8/16/32位多路總線或非多路總線,數據傳輸速率高達132Mbs。PCI9052芯片完成接口轉換等功能;語音壓縮芯片完成數字語音數據壓縮、解壓功能;A/D、D/A轉換器完成語音數據的A/D、D/A變換;放大器電路主要完成語音模擬信號的處理過程主要完成業務數據處理。系統整體設計框圖如圖1所示。

圖1 系統整體框圖
2.2.1 數據處理模塊
數據處理模塊核心部分由MCU和雙口RAM組成,用于完成數據交互、處理等功能。MCU選用ST公司的STM32F103C8,對標型號為中電58所的CS32F103C8塑封(N級)。CS32F103C8使用高性能ARM-32位RISC M3內核,最大工作頻率為72MHz,內置高速內存(高達64K閃存字節和20K SRAM字節),豐富的輸入和輸出端口以及連接到兩條APB總線的外圍設備。JM7026選自58 Institute of Dual Ports RAM,是一款真正的雙端口RAM,允許兩個左右端口同時讀寫數據[3]。每個端口都有自己獨立的控制信號、地址線和數據線,也可以高速訪問數據,可以與最快的處理器一起使用。深度和寬度擴展可以通過主從模式實現。數據處理模塊原理框圖如圖2所示。

圖2 數據處理模塊原理框圖
2.2.2 話音處理模塊
話音部分由JAMBE 2000, AD73311和TL082組成,話音輸入信號通過TL082運放放大傳給AD用來轉換,AD將模擬信號轉換成數字信號給到JAMBE 2000。JAMBE 2000對A/D轉換器發送的數字語音進行壓縮,按照幀格式進行打包并發送到編碼輸出緩沖區,對解碼器輸入緩沖區中的數據包進行解壓縮和恢復,并發送到轉換器,以完成數字語音的編碼和解碼功能。JAMBE 2000是一種帶解碼系統的高性能多速度語音編碼系統。語音編碼和解碼速度在2400~9600bps和50bps之間變化。即使是2400bps,它仍然可以保持自然的音質和語音清晰度。有獨立的語音編碼和解碼單元,可以同時執行語音編碼和解碼任務。所有編碼和解碼操作都可以在系統內部執行,無需額外的內存[4]。這些特性使其非常適合數字語音通信、語音存儲和其他需要數字處理語音的場合。話音處理模塊原理框圖如圖3所示。

圖3 話音處理模塊原理框圖
2.2.3 PCI模塊
PCI部分由PCI9052和EEPROM組成,話音數據主要通過雙口RAM和PCI9052芯片與上層處理器完成信息交換,接收PQFP包。通過軟件可以將本地總線設置為8/16/32位多路總線或非多路總線,數據傳輸速率高達132Mbs,話音處理板對外接口的所有數據控制都由MCU完成,對PCI總線數據由MCU控制雙口RAM和PCI9052完成數據收發,板間數據通過PCI總線傳輸。EEPROM的主要任務就是來存放PCI9052的啟動程序,保證上電后PCI就能正常工作。PCI模塊原理框圖[5]如圖4所示。

圖4 PCI 模塊原理框圖
2.2.4 復位設計
系統可實現上電復位、軟件復位、看門狗復位,復位設計可接收外部全局復位信號,同時外接706看門狗芯片,看門狗選用中電58所JS706T型號。由MCU喂狗,看門狗輸出WDO信號連接MR,當MR為低電平時發送復位RST信號,實現系統全局復位,電路原理如圖5所示。

圖5 復位設計
2.2.5 外圍接口設計
(1)RS-232調試串口。為了在項目前期方便調試,PCI板卡接出RS232通用調試串口,串口轉換芯片采用S M3 23 2,波特率設置為115200bps,且簡單易實現,數據通信可靠性高,電路原理如圖6所示。

圖6 RS232 原理設計
(2)JTAG調試接口。為了在項目前期方便在線調試及程序加載,PCI板卡接出JTAG調試口,引出JTAG接口到調試面板,實現簡單、可靠、方便的前期獨立調試,設計如圖7所示。

圖7 JTAG 原理圖設計
(3)外部電源防護。對外部輸入的12V、5V電源,采用專用電源防護及TVS管和光耦進行過流過壓和浪涌防護。
PCI9052芯片是繼PCI9050芯片之后,由PLX運行的一種廉價、低成本、高性能的PCI目標接口芯片,在上電之后,語音處理單元主要的工作步驟包括以下幾步。首先,PCI9052芯片在上電之后,確保能夠在串行的ROM當中加載出來數值的詳細信息[6-8];緊接著,將該數值存入相對應的寄存器當中;最為關鍵的在于需要設置串行EEPROM的配置,主要包括中斷寄存器、設備的相應數值參數,以及芯片的地址空間等[9-10]。
本文主要是針對PCI9052芯片在語音處理單元中的相關應用進行具體的介紹和闡述,并研究了PCI結構在配置相關軟件過程中的具體開發。PCI芯片能夠有效地實現PCI總線與本地總線之間的迅速轉變,證實該芯片具備優良的PCI接口技術,使得開發者能夠便捷地開發和使用。