引 言
隨著現代電子技術的發展,對于信號采集的要求越來越高,不但要求有較高的采樣精度和速度,而且在某些特定的應用中,還要考慮采樣的實時性。
TMS320C6711(簡稱為"C6711")DSP是TI公司在2000年推出的C6000系列中的新片種。應用C6711 DSP作為高速數據采集系統的主處理器,完全能夠滿足實時性的要求,對采集到的數據進行實時處理;但目前基于C6000系列的系統設計工作還存在著硬件設計困難及成本太高等諸多問題。若完全從底層開始架構系統設計方案,則工作量很大,困難較多,因此目前一個良好的折衷方案是在TMS320C6711DSK(簡稱為"C6711DSK")平臺上進行開發。
1 TMS320C6711DSK介紹
1.1 TMS320C6711DSK的特點
C6711DSK開發平臺的主要特點有:
◇板上留有2個80腳的接口,方便系統擴展;
◇EMIF接口有兩種時鐘模式可以選擇,時鐘頻率分別為150 MHz和100 MHz;
◇100 MHz的16 MB同步動態存儲器(SDRAM);
◇直接提供1.8 V和3.3 V直流電源;
◇JTAG仿真器,可支持并口或外接XDS510支持;
◇1個并行接口,主機可通過該并口訪問開發板上的存儲器;
◇150 MHz主頻,可執行900 MFLOPS浮點操作;
◇128 KB的可編程Flash存儲器;
◇16位語音CODEC電路。
1.2 TMS320C6711DSK總線擴展
由于C6711DSK與外部子板之間所有的信號傳送都是通過板上預留的2個80腳插頭(J1和J2)。其中J1集中了外部存儲器接口EMIF的接口信號(數據線、地址線、讀/寫控制等),可以方便地進行存儲器擴展。J2提供了其他外圍器件的信號匯總,包括多通道串口、中斷、時鐘、計數器等。J1和J2提供了大多數的板上內部總線信號,開發者可以方便地通過這個插頭共享C67llDSK的系統板,開發自己的應用系統。
J1的引腳分配如表1所列。J2主要是一些控制信號,包括一些外設的接口信號,如多通道緩沖串口、定時器、外部中斷等,如表2所列。利用J2提供的信號,可以方便地使用C6711DSP的片內外設,其中多通道緩沖串口、定時器等信號既可以當作特殊功能外設信號使用,也可以被設定為通用I/O口,這在一定程度上彌補了C67llDSP通用I/O口不足的缺點。如果擴展外部系統中所需的I/O口不多,則完全可以使用開發板自帶的I/O;但是如果所需I/O較多,則還要另加CPLD或單片機擴展I/0功能。
![]() ![]() |
1.3 TMS320C6711DSK的電源和地
C67llDSK開發板上提供了12 V、 -12 V、5 V、3.3 V電壓供外部擴展子板,可以直接使用。在使用時要注意其驅動能力。該開發板總共可以供給子板5 V/1 A的功率,板上還帶有一個外接電源連接器。驅動能力不足時,可以使用外接電源,但要注意外接電源和開發板上的供電電源不可同時使用。板上提供了系統統一地,使用時外接子板的GND信號和開發板上提供的地(VSS)直接相連即可。
由上述可以看出,C6711DSK提供了相當多的信號,方便系統的擴展,使用起來非常方便;不足的是,系統提供的I/O口偏少,在某些應用場合下遠遠不夠,需要外接器件進行擴展。本設計的數據采集系統須用到較多的外部I/O,因此擴展了1片16位單片機80C196KC作為協處理器,擴展系統的I/O口;同時與外部進行通信,處理一些外部請求。
2 基于C6711DSK數據采集系統設計
2.1 系統總體硬件設計
本高速同步數據采集系統主要針對電力系統的參數測量與故障檢測。在設計中充分考慮了電力系統中數據采樣的特點,A/D轉換芯片選用了Maxim公司的MAXl25AEAX芯片。該芯片主要針對電力系統采樣中實時性強,需進行多路同步采樣的要求設計,能夠進行多通道高速同步采樣,采樣率為76 ksps(四通道),完全能夠滿足電力系統采樣的要求。
設計中采用雙處理器架構,是為了充分利用DSP的數據處理能力強的特點。DSP主要負責對采集到的電網參數信息(三相電壓、三相電流)進行FFT和數字濾波等一系列運算,并計算出有功功率和無功功率,對電壓電流值進行高次諧波分析,給出幅度、相位以及三相電壓、電流的總畸變率。由于DSP的運算速度快,且在結構上特別適合進行FFT和實現數字濾波等功能,因此由1片DSP,完成系統大量主要的運算,能夠滿足系統對于實時性的要求。2片處理器之間通過1片雙口RAM實現數據共享,DSP將運算結果放到雙口RAM的指定單元,并同時發送信號給單片機,通知數據發送完畢,單片機接收信號讀取數據。通過握手信號,可以保證2片處理器之間的數據無差錯傳輸;同時通過單片機系統還能接受鍵盤指令,發送數據顯示,并能與外部計算機進行通信。
系統硬件設計框圖如圖1所示,電壓、電流等模擬量首先通過變壓器轉換成-5~+5 V的電壓,并在抗混疊濾波后接人MAXl25AEAX。2片MAXl25AEAX對6路信號進行同步采樣,每周波采樣64點。MAXl25AEAX將采樣數據傳送給DSP,DSP接收到采樣數據后進行相應的運算處理,將結果送到雙口RAM,并發送信號給單片機,通知數據準備完畢。單片機可以接收外部命令,進行讀取數據等一系列操作。
![]() |
2.2 C6711 DSK與雙口RAM的接口電路設計
設計中選用了CypreSS公司的CY7C135(4K×8位)雙口RAM,實現C67ll[)SK與80C196KC之間的數據共享。該芯片具有2組獨立的數據總線、地址總線和讀取信號線,允許2個口同時訪問存儲器的任何地址。當二者要同時訪問同一存儲單元時,片內總線仲裁邏輯可解決這一問題.使DSP與80C196KC在同時運行時也能快速交換數據。為了加強交換數據的可靠性,DSI向雙口RAM傳送數據時,同時向80C196KC發送信息和在雙口RAM中置相應的標志位;同樣,80C196KC向雙口RAM傳送數據時,同時向DStP發送信息和在雙口RAM中清除相應的標志位。80C196KC與DSP具體接口電路如圖2所示,圖中74LVC4245是TI公司的總線電平變換芯片,用于解決80C196和DSP數據總線電平不匹配問題。
![]() |
由于CY7C135為8位RAM而C6711DSK提供了32位數據線接口,需要將8位數據轉為32位進行傳輸,因此選擇了小端存儲模式,將C6711DSK提供的外部擴展數據總線上的低8位DB_DO~DB_D7與CY7C135的DO~D7相連,異步讀寫使能信號,DB_ARE分別與RAM的RW和OE相連。
2.3 C6711DSK與A/D芯片接口電路設計
考慮到電力系統采樣的特點,A/D轉換芯片采用了Maxim公司的MAXl25AEAX。MAXl25AEAX足14位高精度A/D芯片,內部集成1個14位、轉換時問為3 ps的逐次逼近型模4ff/數字轉換器,1個+2.5 V的內部電壓基準,1個經過緩沖的電壓基準輸入端,1個內部頻率為16 MHz時鐘,1組可以同時對4路輸入信號進行同步采樣的采樣/保持電路。
在使用MAXl25AEAX 時要考慮其與C6711 DSP的電平匹配問題。MAX125AEAX的輸m為5 V電平,而C6711DSP的輸入為3.3 V。如果將MAXl25AEAX的輸出直接送到C6711的數據輸入引腳上,則有可能超過C6711引腳的耐壓值(3.3 V),因此在接客電路設計中要考慮不同電平之間的轉換。本系統使用SN74ALVCl64245DI。作為電平轉換器,MAXl25AEAX的輸出DO~D13接入SN74ALVCl64245DL,鎖存后進行電平轉換,再進入C6711的數據總線。SN74ALVCl64245DL采用 3.3 V和5 V雙電壓供電,輸出信號電平為3.3 V,可以接收5.5 V的輸入信號。接口電路如圖3所示。
![]() |
圖 3所僅為一片MAX125AEAX與DSK接口電路。實際設計中,需用2片MAXl25AEAX完成對電壓、電流的采樣。另一片MAXl25AEAX與DSK的連接電路與圖3相同。將MAXl25AEAX的RD、WR引腳分別接到C6711DSK的AOE,由DSP控制數據的讀寫,2片MAXl25AEAX的片選信號由DSP的高位地址線進行譯碼得到。
2.4地址分配
C26711DSK需要擴展l片雙口RAM,并且能夠選擇MAXl25AEAX的數據通道進行數據的讀寫,需要在C6711 DSP的地址空間內分配相應的地址。設計時,用l片SN74LVCl38AD譯碼器對C6711DSK擴展地址線的DB-A14、D13_A1 5、DB-CE2信號進行譯碼產生片選信號。2片MAX125AEAX和雙口RAM(CY7C135)的地址分別為A0000000H、A0004000H和A0008000H~A000CFFFH。
SN74LVCl38AD譯碼器是TI公司設計的一款低壓譯碼器,運行電壓為1.65~3.3 V;既可以被5 V電平驅動,也可以運行在3.3 V電壓環境下,特別適合3.3 V/5 V的混合電平電路應用,可以方便地與3.3 V系統直接接口而無需任何轉換。
2.5 C6711DSK的I/O信號擴展
系統中需要剛到大量的I/O信號。由于C671DSK提供的I/O信號十分有限,因此設計上采用了l片80C196KC單片機作為協處理器,大部分的外部信息傳送都由單片機處理。但是由于DSP和單片機之間需要有握手信號,以及DSP控制A/D的讀寫控制信號,所以用到了C6711DSK的部分I/O信號線。由于C6711DSK沒有提供專門的通用I/O線,因此將開發板上的外設控制信號線沒定為通用I/O信號來使用。其中DB_CLKXI和DB-CLKRl作為DSP與單片機的握手信號,負責DSP與單片機之間傳輸數據的控制;DB-FSXl和DB_FSRl作為DSP讀寫A/D和雙口RAM的方向控制信號;DB-EINT6和DB_EINT7為外部中斷信號輸入端,響應A/D轉換芯片的讀取數據中斷。MAXl25AEAX采樣完畢后中斷輸出引腳發出中斷信號,通知DSP接收數據。DSP在接收到中斷請求后判斷中斷引腳號,然后到相應的MAXl25AEAX讀取數據。在A/D芯片MAXl25AEAX的中斷輸出引腳和C6711DSK中斷輸入引腳之間用高速光耦HCPL0600進行光電隔離,同時實現5 V到3.3 V的電平轉換。
2.6 軟件設計
利用CCS開發系統軟件程序,采用C語言和匯編語言混合編程方法,主程序用c語言、初始化和FFT用匯編語言 編寫。系統軟件主要由A/D采樣程序和數據處理程序組成。A/D采樣程序主要負責接收存儲MAX]25AEAX轉化完的數據到外擴的數據存儲器RAM中,并讀取計算出的信號頻率值。DSP數據處理和計算程序主要是對采樣數據的分析和處理,進行FFT濾波。主程序結構框圖如圖4所示。
![]() |
由鎖相倍頻電路的輸出信號啟動A/D轉換。該信號由被采樣信號經過鎖相倍頻后得到,與被采樣信號保持同相位,并且信號頻率為被采樣信號的64倍(一周波64點采樣)。A/D芯片MAXl25AEAX的采樣信號轉換完后,電路將觸發中斷信號INT6給DSP。實時數據由DSP通過連續讀脈沖將數據存到RAM。當數據采樣達到64個點后,開始執行FFT單元。
在進行FFT算法開發時,由于C語言不能直接利用DSP特有的反序間接尋址等優越特性,FFT運算的實時性也不理想,因此編程中FFT算法選用匯編語言來實現。
結 語
利用TI公司的TMS320C6711DSK設計的多路數據采集系統,應用在電力系統參數測量中,能夠很好地滿足采樣要求;利用C6711DSK作為主板,通過板上提供的擴展信號設計系統的方法,大大降低了開發難度,縮短了開發時間。