基于TMS320VC33的磁懸浮列車速控系統(tǒng)
基于DSP的磁懸浮列車速控系統(tǒng)采用速度控制系統(tǒng)后,駕駛臺給出的不再是控制力的大小,而是速度大小,由速度控制平臺根據(jù)算法動態(tài)改變列車牽引力。司機只需要改變級位,其它工作都由速控系統(tǒng)來完成。這樣既減輕了司機的工作負(fù)擔(dān),同時又有助于提高列車的駕駛質(zhì)量??紤]到主控PLC并不適合進(jìn)行數(shù)學(xué)運算,我們?yōu)樗倏叵到y(tǒng)專門設(shè)計了硬件平臺,它以TMS320VC33(以下簡稱VC33)DSP為核心,配以相應(yīng)的接口,實現(xiàn)速度控制。
1 速控系統(tǒng)總體結(jié)構(gòu)
磁懸浮列車的運行速度很高,因此要求速度控制系統(tǒng)具有極高的實時處理速度。VC33 DSP是一種32位浮點處理器,它采用0.18微米制造工藝,是C3X家族的最新一代產(chǎn)品。VC33的功能結(jié)構(gòu)與C31相似,但由于在時鐘、電源、存儲區(qū)設(shè)計上做了優(yōu)化,其工作速度更快(每條指令執(zhí)行只需13ns)、功耗更小,并集成了較大的片內(nèi)存儲區(qū)。
圖1虛線框中是速度控制系統(tǒng)的硬件平臺。它分為三部分:與駕駛臺的接口、DSP處理器、與PLC的接口。駕駛臺和PLC都是對數(shù)字I/O量進(jìn)行操作,I/O量使用的是110V電源電壓,而DSP平臺的數(shù)字I/O量都為3.3V~5V,因此必須在I/O接口實現(xiàn)110V I/O量與3.3V I/O量之間的轉(zhuǎn)換。檢測系統(tǒng)測量并通過CAN總線上傳列車的速度與位置信息,主控PLC和DSP使用RS485接口接收。
2 數(shù)字I/O量接口板的設(shè)計
I/O接口板(見圖2)用光耦芯片TLP521-4實現(xiàn)110V開關(guān)量與3.3V開關(guān)量之間的電平轉(zhuǎn)換。用LVT16245作為DSP目標(biāo)板與數(shù)字I/O轉(zhuǎn)換接口之間的鎖存器,控制數(shù)據(jù)流的方向,同時用作數(shù)據(jù)驅(qū)動器。它為三態(tài)輸出,未被選通時呈現(xiàn)高阻狀態(tài)。指示燈指示開關(guān)量信息。需要注意,R1、R2是限流電阻,考慮到功耗的關(guān)系,應(yīng)選用大功率電阻(如2W)。
3 DSP控制面板的設(shè)計
3.1 電源時鐘電路
不同于C3X家族的其它成員,VC33使用兩種電源供電,3.3V作為芯片的工作電壓,1.8V作為芯片核心的工作電壓。采用兩種供電電壓既可以保證芯片對外圍電路的驅(qū)動能力,又可以有效地降低芯片功耗,減小發(fā)熱量。通常的電源僅提供5V的標(biāo)準(zhǔn)電源電壓,因此使用TPS767D318進(jìn)行5V到3.3V和1.8V的電壓轉(zhuǎn)換,它可同時輸出3.3V和1.8V兩種電壓,最大可提供1A的電流。電源時鐘電路如圖3所示,圖中的二極管起保持輸出端電壓差的作用。
VC33 DSP強化了時鐘電路的作用,共有5個引腳作為時鐘電路的接入引腳。EXTCLK接外部時鐘源,此時DSP使用外部時鐘作為系統(tǒng)時鐘,不用時該引腳接地;XIN、XOUT接外部晶體振蕩器,作為DSP的基準(zhǔn)時鐘源;CLKMD0、CLKMD1為時鐘模式選擇引腳,可基于基準(zhǔn)時鐘源調(diào)整DSP的運行頻率,可選時鐘模式見表1。
[!--empirenews.page--] 3.2 存儲區(qū)電路設(shè)計
加大了片載存儲區(qū)容量是VC33明顯優(yōu)于C3X家族其它成員的地方。VC33共有34K32位存儲區(qū),24位地址線最大可訪問16M存儲空間。微處理器模式和微計算機模式分別定義了不同的存儲空間分配方式。處于微處理器模式時,DSP在仿真器監(jiān)控的條件下運行經(jīng)仿真器下載到SRAM存儲區(qū)中的程序;當(dāng)處于微計算機模式時,DSP中的BOOTLOADER將存儲在ROM或FLASH中的程序下載至SRAM區(qū)并開始運行,此時仿真器不起作用。
VC33的片內(nèi)存儲區(qū)在實際應(yīng)用中難以滿足運行程序與存儲數(shù)據(jù)的需要,因此必須為系統(tǒng)擴展外部存儲區(qū),包括靜態(tài)SRAM區(qū)和永久ROM區(qū)。SRAM區(qū)在系統(tǒng)工作時與VC33內(nèi)部存儲區(qū)結(jié)合使用,作為系統(tǒng)的工作區(qū),ROM區(qū)則永久保存運行程序和特定參數(shù),系統(tǒng)上電時由引導(dǎo)程序?qū)OM區(qū)中的程序和數(shù)據(jù)讀至SRAM區(qū)中。
VC33的高速特點要求擴展的SRAM必須有極高的存取速度,這里選用兩片64K×16bit的IDT71V016 SRAM組成64K×32bit片外存儲區(qū),其地址訪問時間僅為12ns,能夠滿足存取速度的要求。
由于系統(tǒng)只在上電和復(fù)位時訪問永久ROM,對它的存取時間要求不太高,采用一片512K×16bit的am29lv800b FLASH ROM,其訪問時間為60~120ns。FLASHROM可多次重復(fù)擦拭,數(shù)據(jù)保存時間長,寫入程序不需要額外的工具。瑞泰創(chuàng)新公司提供了專用的FLASH寫入程序,也可根據(jù)實際情況自己編寫,靈活性很好。
圖4是電路設(shè)計原理圖,用G20V8B進(jìn)行地址選通,后面還會詳細(xì)介紹DSP板的地址選通邏輯。圖中CLKR0是串口式時鐘引腳,這里作I/O端口(可通過設(shè)置串口控制寄存器實現(xiàn)),接收FLASH狀態(tài)信號。
3.3 數(shù)字I/O接口設(shè)計
數(shù)字I/O接口用來與I/O接口板相連,發(fā)送和接收32位開關(guān)量控制信息。LVT16245用作32位數(shù)據(jù)線的總線驅(qū)動與數(shù)據(jù)鎖存器,保證信號的傳輸質(zhì)量。32位信號經(jīng)32位數(shù)據(jù)總線發(fā)送和接收,由相應(yīng)的地址選通邏輯控制信號的讀取方向。因為DSP從駕駛臺讀取數(shù)據(jù),然后將數(shù)據(jù)發(fā)送至PLC,地址選通邏輯在控制LVT16245的數(shù)據(jù)方向的同時,還必須兼顧I/O接口板的數(shù)據(jù)流方向。
3.4 串口設(shè)計
DSP系統(tǒng)板需要采集來自RS485端口的速度位置信息。DSP自身帶有串口引腳,但其傳輸為同步方式,無法與異步方式的RS485接口相連。因此選用有自動流控功能的異步通信芯片TL16C550C實現(xiàn)DSP的串口通信(見圖5)。
TL16C550C(ACE)在從外設(shè)或Modem接收數(shù)據(jù)時實現(xiàn)從串口到并口的轉(zhuǎn)換,當(dāng)從CPU接收數(shù)據(jù)時實現(xiàn)并口到串口的轉(zhuǎn)換,CPU可在任何時候讀取芯片的狀態(tài)。ACE包含完全的Modem控制能力和處理器中斷系統(tǒng),可配合來最小化通信連接軟件管理。
ACE包含波特率發(fā)生器,可對輸入時鐘分頻和倍頻,規(guī)則包含了接收器的16倍頻時鐘,ACE有1M波特的串口傳輸率,因此每一位耗時1μs,一個字節(jié)耗時10μs。
ACE包含了12個完全可訪問的寄存器,DSP可通過對這些寄存器的讀寫操作控制ACE的工作狀態(tài)。用A0~A2選擇寄存器地址,D0~D7讀寫寄存器內(nèi)容。
ACE可直接進(jìn)行9線模式的串口通信。為提高串口的驅(qū)動能力,適應(yīng)RS232和RS485標(biāo)準(zhǔn),額外為其增加了兩片串口芯片MAX232、MAX485,使DSP板通過串口傳遞信息時不再需要額外的設(shè)備。通過跳線進(jìn)行不同串口通信模式的轉(zhuǎn)換。
3.5 地址的分配與選通
上面介紹的存儲區(qū)、數(shù)字I/O端口、串口都需要占用DSP的16M地址空間,合理分配地址和選通引腳成為關(guān)鍵。VC33提供了一個專用的地址選通引腳STRB,它與預(yù)解碼引腳PAGE0~PAGE3配合使用,能夠快速訪問特定地址。本系統(tǒng)的地址分布比較復(fù)雜,使用GAL20V8B進(jìn)行邏輯運算。表2是地址空間分配表。