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