摘 要:PCI是DSP應(yīng)用系統(tǒng)與通用計(jì)算機(jī)高速通信的理想接口。介紹了一種雙譜段探測系統(tǒng)的PCI接口方案,該方案采用TI公司的TMS320F2812 DSP作為控制單元主控芯片,采用Cypress公司PCIDP系列的CY7C09449PV作為PCI接口芯片,具有接口簡單方便易于實(shí)現(xiàn)的優(yōu)點(diǎn)。詳細(xì)討論了CY7C09449PV與TMS320F2812的硬件連接、參數(shù)配置與時(shí)序分析。
關(guān)鍵詞:DSP;PCI總線;I2C;TMS320F2812
中圖法分類號(hào):TN247 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1001-3695(2006)10-0198-02
Application of PCI Bus in Dualspectrum Detection System
YU Xiao1,2,3, YAN Feng1,ZHANG Qiue4, SUI Yongxin1, Yang Huaijiang1
(1. State Key Laboratory of Applied Optics, Changchun Institute of Optics, Fine Mechanics Physics, Chinese Academy of Sciences, Changchun Jilin 130033, China;2.School of Graduate, Chinese Academy of Sciences, Beijing100049, China;3. Aviation University of Air Force, Changchun Jilin 130022, China;4.Changchun University of Science Technology, Changchun Jilin 130022, China)
Abstract: PCI is an ideal interface for highspeed communication between DSP application system and general computer. A scheme of Dualspectrum detection system with PCI interface has been developed, in which the CY7C09449PV of Cypress PCIDP family is used as PCI interface chip, and TMS320F2812 of TI Company is used as maincontrol chip for the control unit of the system. The hardware connection between CY7C09449PV and TMS320F2812, parameter configuration and timing analysis is discussed.
Key words: DSP; PCI Bus; I2C;TMS320F2812
在電子行業(yè)中,絕緣子的缺陷、導(dǎo)體的破損或污染會(huì)導(dǎo)致高壓電力設(shè)備的電暈放電,因此可以通過檢測電暈的位置來定位上述故障點(diǎn)。一般而言,電暈放電在可見光波段的能量非常微弱,而在紫外波段則相對較強(qiáng),但是單獨(dú)使用紫外探測器卻無法對獲得可見光圖像進(jìn)行定位。為此設(shè)計(jì)了一種雙譜段探測系統(tǒng)用于電暈的檢測與定位,如圖1所示。系統(tǒng)利用兩臺(tái)相機(jī)采集圖像,其中一臺(tái)是紫外像增強(qiáng)CCD,另一臺(tái)為可見光相機(jī)。將兩相機(jī)的視場重合,則利用紫外相機(jī)檢測電暈,利用可見光相機(jī)進(jìn)行定位。圖像采集單元主要完成圖像的采樣和傳輸;控制單元主要完成對圖像采集單元的控制和與PC機(jī)的數(shù)據(jù)交互;PCI接口芯片實(shí)現(xiàn)系統(tǒng)與PC機(jī)的接口;在PC機(jī)的中完成雙譜段圖像的融合、分析和人機(jī)交互等。本文詳細(xì)討論了上述系統(tǒng)與PC機(jī)的接口問題,它以TMS320F2812作為控制單元主控芯片,以CY7C09449PV作為PCI接口芯片,可方便地實(shí)現(xiàn)雙譜段探測系統(tǒng)與PC機(jī)的通信。
1 主控芯片及PCI接口芯片概述
Cypress公司推出的PCIDP系列芯片中CY7C09449PV(簡稱09449)PCI接口控制芯片[1],內(nèi)部集成了16KB雙口SRAM,兼容3V和5V的PCI總線信號(hào),突發(fā)DMA傳輸數(shù)率達(dá)到132Mbps,局部總線支持50MHz的工作頻率,并且可以與多種通用微處理器直接接口。16KB的雙口SRAM既可被局部總線訪問又可同時(shí)被PCI總線訪問。通過局部總線或PCI總線均可以發(fā)起DMA傳輸,實(shí)現(xiàn)大塊數(shù)據(jù)的突發(fā)傳輸,DMA傳輸?shù)淖畲髷?shù)據(jù)塊達(dá)16KB。09449內(nèi)的四個(gè)FIFO存儲(chǔ)單元同樣可以被PCI總線與局部總線訪問,當(dāng)啟用I2O消息功能時(shí),四個(gè)FIFO單元與I2O中斷寄存器共同實(shí)現(xiàn)I2O消息的傳遞。09449內(nèi)的郵箱寄存器和仲裁標(biāo)志也用來實(shí)現(xiàn)09449的PCI總線與局部總線之間的相互通信。09449的I2C串口用來從串行E2PROM中讀取09449的初始化參數(shù),這些參數(shù)是PCI配置參數(shù)和局部總線接口的設(shè)置內(nèi)容。
TI公司最新推出的TMS320F28xx系列DSP芯片TMS320F2810和TMS320F2812(簡稱F2812),可用于各種數(shù)字伺服控制和嵌入式控制系統(tǒng),是迄今為止用于數(shù)字控制領(lǐng)域性能最好的32位定點(diǎn)DSP系列芯片[2]。F2812的最高頻率為150MHz,指令周期為6.67ns,18KB的RAM,128KB的Flash,事件管理EVA和EVB包括通用時(shí)鐘、PWM信號(hào)發(fā)生器、CAP和QEP,看門狗定時(shí)器,16路12位的A/D轉(zhuǎn)換,三個(gè)32位的CPU時(shí)鐘,14個(gè)CPU內(nèi)核中斷,三個(gè)外部中斷,96個(gè)外設(shè)中斷,靜態(tài)CMOS特性,內(nèi)核電壓為1.8V,I/O為3.3V,串口外設(shè)包括eCAN,McBSP,SPI,SCIA,SCIB。
2 硬件實(shí)現(xiàn)方案
2.1 雙譜段探測系統(tǒng)硬件框圖
整個(gè)系統(tǒng)的硬件結(jié)構(gòu)框圖如圖2所示。TPS70151是電源管理芯片,提供F2812所需的+1.8V電壓及測試板需要的3.3V,5V電壓。24C02是E2PROM,其中存放PCI配置參數(shù)和局部總線接口的設(shè)置等信息。設(shè)計(jì)PCB板時(shí)應(yīng)注意,因09449工作在33M時(shí)鐘,為了進(jìn)行高速數(shù)據(jù)傳輸,PCB板應(yīng)盡量設(shè)計(jì)為四層以上;09449應(yīng)盡量靠近PCI插槽,濾波電容不低于0.1μF;09449到PCI插槽的數(shù)據(jù)線不能過長。09449與24C02和PCI接口的連接詳見文獻(xiàn)[1,3],F(xiàn)2812與JTAG口的連接詳見文獻(xiàn)[2],下面僅對09449與F2812的互連加以討論。
2.2 接口引腳連接
09449與F2812互連接口如圖3所示,采用F2812的ZCS2#引腳作為09449的片選,以便將09449的SRAM地址映射到F2812的Zone 2地址空間上;因F2812僅提供16位的外部數(shù)據(jù)接口,將09449的DQ0~DQ15與F2812的D0~D15相連,DQ16~DQ31接地;為了使09449與F2812同步,將09449的CLKIN時(shí)鐘輸入端與F2812的時(shí)鐘輸出CLOCKOUT相連;由于F2812的外部接口時(shí)鐘可有150MHz、75MHz和37.5MHz三種配置,而09449LOCAL端的時(shí)鐘最高僅為50MHz,所以F2812要使用37.5MHz的外部時(shí)鐘配置;因?yàn)镈SP采用16位的數(shù)據(jù)線訪問09449,由文獻(xiàn)[1]將BE0#,BE1#接地,將BE2#上拉,將DSP地址的最小意義位即A0接BE3#。
2.3 用24C02配置09449
09449中有許多寄存器,具體應(yīng)用時(shí)并不完全都要進(jìn)行配置,主要是設(shè)置一些與具體功能相關(guān)的寄存器,如09449的32位本地總線配置寄存器LBUSCFG必須配置以支持F2812的外部總線體系結(jié)構(gòu)。這些配置信息將在上電時(shí)從24C02 E2PROM中通過09449的I2C接口或從主機(jī)通過PCI系統(tǒng)總線被加載,本方案采用前者。局部總線的設(shè)置由09449的局部總線接口上的字節(jié)使能信號(hào)BE#[3∶0]和LBUSCFG中的字節(jié)使能模式共同完成,根據(jù)BE#[3∶0]的不同,數(shù)據(jù)位寬可以是8位、16位或32位,這里將數(shù)據(jù)總線設(shè)置為通用模式的16位總線,并按與F2812接口的控制邏輯配置LBUSCFG,最后本地總線配置寄存器的值為LBUSCFG=0x010920,詳細(xì)說明如表1所示。
2.4 時(shí)序分析
09449對本地總線接口時(shí)序有明確的要求(圖4和表2)。圖4中的時(shí)鐘輸入為F2812的外部輸出時(shí)鐘(XCLKOUT),圖中標(biāo)注的參數(shù)要符合表2中最大和最小邊界的限定。F2812的外部接口(XINF)時(shí)序可通過編程的方法來滿足其外圍設(shè)備對時(shí)序的要求[4]。因此需要正確地對F2812的XINF時(shí)序進(jìn)行編程,以滿足09449對本地總線接口的時(shí)序要求。
表2 測試板時(shí)序參數(shù)
F2812的XINF被映射到五個(gè)固定的Zone區(qū)中,每個(gè)Zone有一片選信號(hào)。09449被映射到Zone 2上,因而使用Zone 2片選信號(hào)。我們通過設(shè)置與Zone 2有關(guān)的寄存器來達(dá)到09449所要求的時(shí)序。涉及到的寄存器有SYSCLKOUT,XCLKOUT,XINTCNF2和XTIMING2。SYSCLKOUT等于150MHz,為F2812主頻;XINTCNF2的XTMCLK位置1,CLKMODE位置1;根據(jù)公式XCLKOUT=SYSCLKOUT/(XINTCNF2.XTMCLK+1)/(XINTCNF2.CLKMODE+1)算得XCLKOUT為37.5MHz,而TLOCAL=1/XCLKOUT=26.67ns滿足表2要求;XTIMING2寄存器配置如下:
/* Begin of XTIMING2 Configuration */
…
XTIMING2.X2TIMING=0;//不乘2
XTIMING2.READYMODE=1;//異步模式
XTIMING2.USEREADY=1;//XREADY失效
XTIMING2.XRDLEAD=3;//讀Lead值
XTIMING2.XRDACTIVE=4;//讀Active值
XTIMING2.XRDTRAIL=2;//讀Trail值
XTIMING2.XWRLEAD=2;//寫Lead值
XTIMING2.XWRACTIVE=4;//寫Active值
XTIMING2.XWRTRAIL=2;//寫Trail值
…
/* End of XTIMING2 Configuration*/經(jīng)實(shí)驗(yàn)測試,F(xiàn)2812的XINF經(jīng)編程后可正確讀寫09449 SRAM中的數(shù)據(jù),經(jīng)示波器實(shí)際測量達(dá)到了表2中09449對本地總線接口的時(shí)序要求。
3 軟件驅(qū)動(dòng)方法
雙譜段探測系統(tǒng)的控制單元與PC機(jī)通信時(shí)需要兩部分程序的支持:①F2812內(nèi)部的DSP程序,采用TI公司的CCS2000軟件開發(fā)工具編寫,該程序通過DSP編程燒寫入芯片內(nèi)部的Flash中,當(dāng)F2812脫離仿真器后,會(huì)將Flash中的程序裝載入內(nèi)部RAM執(zhí)行。由于本文僅關(guān)注系統(tǒng)的PCI接口相關(guān)內(nèi)容,作為測試目的,DSP程序的功能較簡單,只是將主機(jī)發(fā)送來的數(shù)據(jù)不做任何處理再發(fā)送回去的簡單處理過程。②09449芯片的設(shè)備驅(qū)動(dòng)程序和主機(jī)的應(yīng)用程序。采用Windows 2000 DDK和NuMega公司的Driver Studio 2.5來編寫Windows 2000下的設(shè)備驅(qū)動(dòng)程序;主機(jī)的應(yīng)用程序采用VC++編寫,完成對系統(tǒng)控制單元的數(shù)據(jù)發(fā)送、接收和顯示等功能。
PC機(jī)與F2812的數(shù)據(jù)傳輸有兩種方法,即FIFO和DMA。FIFO可以保證順序傳輸,但傳輸效率低,適用于速率要求較低的應(yīng)用;DMA能充分利用PCI總線的突發(fā)傳輸能力,適用于速度要求較高的情況[5]。經(jīng)實(shí)驗(yàn)測得F2812與PC機(jī)采用DMA方式傳輸數(shù)據(jù)的速率可達(dá)80.64Mbps。
4 小結(jié)
本文利用TI公司的F2812 DSP、Cypress公司的09449芯片實(shí)現(xiàn)了雙譜段探測系統(tǒng)控制單元與PC機(jī)的接口,經(jīng)實(shí)際使用,有以下幾方面特點(diǎn):①PCI接口是一種通用的PC機(jī)外設(shè)接口,目前各廠商出品的個(gè)人計(jì)算機(jī)均配置了2~3個(gè)冗余的PCI接口,因此適用范圍廣泛;②此接口方案同樣適合雙譜段探測系統(tǒng)以外的各種高速數(shù)據(jù)傳輸場合的應(yīng)用;③高速數(shù)據(jù)交換一般采用FIFO作緩沖,價(jià)格較貴,采用09449內(nèi)部的雙口SRAM可降低成本,并且從此接口的設(shè)計(jì)可以看出,硬件設(shè)計(jì)簡單方便。
參考文獻(xiàn):
[1]CY7C09449PVAC 128KB DualPort SRAM with PCI BUS Controller Data Manual[R].Cypress Semiconductor Corporation,2002.1-47.
[2]TMS320F2812 Digital Signal Processors Data Manual[R]. Texas Instruments Incorporated,2004.11-25.
[3]CY7C09449PV/TMS320LC31 Interconnection[R].Cypress Semiconductor Corporation,2000.1-6.
[4]TMS320F28x External Interface (XINTF) Peripheral Reference Guide[R]. Texas Instruments Incorporated,2002.6-26.
[5]PCIDP:Programming BUS Master DMA Transfers[R]. Cypress Semiconductor Corporation,1995.211.
作者簡介:
于曉(1973-),男,吉林通化人,講師,博士研究生,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)及信息安全技術(shù);閆豐(1975-),男,吉林長春人,博士研究生,主要研究方向?yàn)樾畔⑷诤霞夹g(shù);張秋鄂(1953-),女,吉林長春人,副教授,主要研究方向?yàn)閼?yīng)用電子技術(shù);隋永新(1970-),男,遼寧新民人,博士后,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)及信息安全技術(shù);楊懷江(1966-),男,遼寧丹東人,研究員,博導(dǎo),主要研究方向?yàn)樾畔踩⑿畔⑷诤稀?/p>
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文