技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于DSP和FPGA的磁浮列車(chē)同步485通信方式的研究

基于DSP和FPGA的磁浮列車(chē)同步485通信方式的研究

時(shí)間:2009-04-23 14:45:44來(lái)源:ronggang

導(dǎo)語(yǔ):?本文首先簡(jiǎn)單介紹了高速磁浮列車(chē)中測(cè)速定位單元與車(chē)載設(shè)備之間的通信要求,并以此為基礎(chǔ)提出了一種基于RS485物理層同步通信的實(shí)現(xiàn)方法
摘 要:本文首先簡(jiǎn)單介紹了高速磁浮列車(chē)中測(cè)速定位單元與車(chē)載設(shè)備之間的通信要求,并以此為基礎(chǔ)提出了一種基于RS485物理層同步通信的實(shí)現(xiàn)方法。采用Xilinx公司的XC2S100作為通信的收發(fā)器,采用TI公司的TMS320F2812作為通信的控制器,制定了系統(tǒng)軟硬件設(shè)計(jì)方案,并通過(guò)仿真和實(shí)驗(yàn)驗(yàn)證了該方案在實(shí)際應(yīng)用中的可行性。 關(guān)鍵詞:磁浮列車(chē);RS-485;同步通信 Abstract: This paper introduces the communication requirements between locating electronic unit and on-board equipment of high-speed maglev train firstly. A synchronous communication method based on the RS-485 physical layer is presented for fulfilment of these requirements. Xilinx’s XC2S100 is used as communication transceiver and TI’s TMS320F2812 is used as communication controller. The hardware and software scheme are designed, its feasibility in practical applications is verified by simulation and experiment. Keywords: Maglev train; RS-485; synchronous communication 0 引言   在高速磁浮交通系統(tǒng)中,車(chē)載測(cè)速定位單元對(duì)車(chē)輛的位置和速度進(jìn)行實(shí)時(shí)測(cè)量,并將位置和速度信號(hào)通過(guò)無(wú)線(xiàn)電系統(tǒng)傳送至地面上的牽引控制系統(tǒng)和運(yùn)行控制系統(tǒng),以用于長(zhǎng)定子直線(xiàn)同步電機(jī)牽引的反饋控制及車(chē)輛運(yùn)行的指揮和安全防護(hù)。測(cè)速定位單元是牽引和運(yùn)控系統(tǒng)閉環(huán)控制的核心和關(guān)鍵。   測(cè)速定位單元緊鄰懸浮電磁鐵及長(zhǎng)定子繞組和鐵心,處于懸浮磁場(chǎng)和牽引磁場(chǎng)中,電磁環(huán)境非常復(fù)雜,對(duì)其通信設(shè)備的電磁兼容性能提出了很高的要求。另外,為滿(mǎn)足牽引控制系統(tǒng)的需求,測(cè)速定位信號(hào)的精度要求相當(dāng)高。因此,對(duì)測(cè)速定位信號(hào)傳輸?shù)乃俣?、?shí)時(shí)性及可靠性都有非常高的要求。 1 同步485的實(shí)現(xiàn)方法   考慮到測(cè)速定位單元的工作環(huán)境及通信功能需求,在選擇其與車(chē)載無(wú)線(xiàn)電系統(tǒng)之間的通信方式時(shí),經(jīng)過(guò)分析和比較,決定采用傳輸速率較高的同步通信方式,并使用屏蔽性能較好的雙絞線(xiàn)實(shí)現(xiàn)RS-485平衡型差分傳輸。   1.1 接口設(shè)計(jì)及通信協(xié)議   測(cè)速定位單元與車(chē)載無(wú)線(xiàn)電控制單元之間的通信接口關(guān)系如圖1所示。車(chē)載無(wú)線(xiàn)電控制單元為主控方,車(chē)輛測(cè)速與定位單元為受控方。通信雙方均由收發(fā)器和控制器構(gòu)成,收發(fā)器之間采用RS-485同步串行接口方式,每個(gè)接口有4對(duì)差分線(xiàn)。 [align=center] 圖1 通信接口關(guān)系示意圖[/align]   圖1中,CLK為時(shí)鐘信號(hào),ANF為無(wú)線(xiàn)電請(qǐng)求信號(hào),UEF為門(mén)控信號(hào),DATA為數(shù)據(jù)信號(hào)。車(chē)輛測(cè)速定位單元每20ms向無(wú)線(xiàn)電控制單元發(fā)送一次數(shù)據(jù),傳輸速率為512kbps。為了防止信號(hào)干擾的小脈沖,ANF信號(hào)的寬度為10個(gè)CLK信號(hào);在ANF信號(hào)變?yōu)榈托盘?hào)后,等待10個(gè)CLK信號(hào)寬度后,UEF才開(kāi)始跳變?yōu)橛行АNF、UEF、DATA信號(hào)均在CLK的上升沿變化,在無(wú)信號(hào)傳輸時(shí),UEF、DATA、ANF均為低電平,時(shí)鐘信號(hào)保持傳輸。數(shù)據(jù)傳輸時(shí),采用左移方式,即先傳高位,后傳低位。信息幀格式如表1所示:   表1 信息幀格式
  1.2 同步485的收發(fā)器實(shí)現(xiàn)   在本文所論述的通信系統(tǒng)中,在車(chē)輛測(cè)速定位單元及車(chē)載無(wú)線(xiàn)電控制單元雙方均采用Xilinx公司的XC2S100作為通信的收發(fā)器,模擬同步485的發(fā)送與接收時(shí)序。同步485的FPGA設(shè)計(jì)主要是基于Verilog 硬件描述語(yǔ)言,所使用的EDA工具包括ISE(含其內(nèi)部集成工具)、Modelsim。   (1)時(shí)鐘及定時(shí)信號(hào)的的產(chǎn)生:   對(duì)于車(chē)載無(wú)線(xiàn)電控制單元需要產(chǎn)生512k速率的時(shí)鐘信號(hào)與20ms一次的ANF(無(wú)線(xiàn)電請(qǐng)求)信號(hào)。另外,對(duì)于該單元在串行接收定位數(shù)據(jù)時(shí)其接收時(shí)鐘應(yīng)為512k(波特率時(shí)鐘)的16倍,即8M。因此,分頻器在同步485通信方式中得到廣泛應(yīng)用。   1) 偶數(shù)分頻較為簡(jiǎn)單,只需設(shè)計(jì)一個(gè)計(jì)數(shù)器進(jìn)行計(jì)數(shù),待計(jì)數(shù)至分頻數(shù)的二分之一時(shí)使分頻后的時(shí)鐘電平翻轉(zhuǎn)即可;奇數(shù)分頻較為復(fù)雜,因?yàn)橛?jì)數(shù)器不能對(duì)非整數(shù)進(jìn)行計(jì)數(shù),需使用一定的算法進(jìn)行處理。對(duì)奇數(shù)分頻模塊進(jìn)行功能仿真后的波形如圖2所示: [align=center] 圖2 分頻模塊仿真波形[/align]   2) ANF信號(hào)的產(chǎn)生:ANF信號(hào)每隔20ms發(fā)送一次,每次發(fā)送脈寬為10個(gè)時(shí)鐘周期。ANF信號(hào)的產(chǎn)生可以分成兩部分實(shí)現(xiàn),首先產(chǎn)生每隔20ms的脈沖信號(hào),然后把此脈沖信號(hào)的寬度變成10個(gè)時(shí)鐘周期。  ?。?)串行數(shù)據(jù)的發(fā)送與接收   1) 串行數(shù)據(jù)的產(chǎn)生:根據(jù)通信協(xié)議的要求,測(cè)速定位單元每隔20ms應(yīng)串行移出72bits數(shù)據(jù)。如果每個(gè)發(fā)送時(shí)鐘周期移出一位,則需要72個(gè)時(shí)鐘周期才能全部移出,因此門(mén)控信號(hào)也需要保持72個(gè)時(shí)鐘周期的寬度。   2) 串行數(shù)據(jù)的接收:同步串行接收一幀(72bits)數(shù)據(jù)與異步串行接收是不同的。由于收發(fā)時(shí)鐘不是異步的,因此不能以判斷在空閑態(tài)以后出現(xiàn)的第一個(gè)低電平作為一幀的開(kāi)始,而是以門(mén)控信號(hào)(UEF)的上升沿作為一幀數(shù)據(jù)到來(lái)的判斷。為了避免數(shù)據(jù)傳輸過(guò)程中毛刺的影響,仍以波特率時(shí)鐘的16倍進(jìn)行接收,即每隔16個(gè)波特率時(shí)鐘周期采樣一次,因此每個(gè)數(shù)據(jù)將在傳輸?shù)拿恳晃坏闹悬c(diǎn)處被采樣。   串行數(shù)據(jù)發(fā)送與接受的仿真時(shí)序圖如圖3所示。 [align=center] 圖3 同步485仿真時(shí)序圖[/align]   1.3 收發(fā)器與控制器之間的數(shù)據(jù)交換   基于RS-485的同步通信時(shí)序是用FPGA作為通信收發(fā)器來(lái)模擬的,但是通信數(shù)據(jù)最終是與系統(tǒng)的CPU進(jìn)行數(shù)據(jù)交換的。在該通信方式的設(shè)計(jì)中,通信雙方均采用TI公司的TMS320F2812作為處理器,即通信的控制器。FPGA與DSP的數(shù)據(jù)交換必須滿(mǎn)足一定的時(shí)序,才能保證測(cè)速定位單元向車(chē)載無(wú)線(xiàn)電控制單元實(shí)時(shí)地傳輸位置及速度信號(hào)。本系統(tǒng)中,DSP控制器采用C語(yǔ)言進(jìn)行軟件設(shè)計(jì)。  ?。?) 測(cè)速定位單元側(cè)DSP與FPGA的數(shù)據(jù)交換   TMS320F2812的外部存儲(chǔ)器XINTF可供選擇的外部地址空間有XINTF0,XINTF2,XINTF6。其中XINTF0 使用XZCS0AND1作為片選信號(hào),外部存儲(chǔ)器擴(kuò)展空間為8K;XINTF2與XINTF6分別使用XZCS2、XZCS6AND7作為片選信號(hào),外部存儲(chǔ)器擴(kuò)展空間均為0.5M。測(cè)速定位單元在發(fā)送位置速度信息時(shí),是通過(guò)DSP的數(shù)據(jù)線(xiàn)傳輸?shù)紽PGA,DSP根據(jù)相應(yīng)的外部存儲(chǔ)器片選信號(hào)找出對(duì)應(yīng)的地址,在從底層傳感器得到一個(gè)新的定位數(shù)據(jù)后寫(xiě)入該地址。相對(duì)應(yīng)的硬件連接框圖如圖4所示: [align=center] 圖4 車(chē)輛測(cè)速定位單元DSP控制器向FPGA收發(fā)器寫(xiě)數(shù)據(jù)的硬件連接示意圖[/align]   根據(jù)協(xié)議要求,定位信息每次發(fā)送時(shí)包括5個(gè)字節(jié)的用戶(hù)數(shù)據(jù)和2個(gè)字節(jié)的CRC校驗(yàn),因此16bits數(shù)據(jù)線(xiàn)至少需要連續(xù)發(fā)送四次才能將底層的定位信息完整地傳送到FPGA。   為了減少硬連線(xiàn),這里只連接地址線(xiàn)的高五位,對(duì)其中的低四位地址線(xiàn)進(jìn)行4-16譯碼,最高位地址線(xiàn)作為該譯碼器的使能信號(hào)。取對(duì)應(yīng)于一個(gè)外部存儲(chǔ)器片選信號(hào)的四個(gè)地址,比如片選信號(hào)XZCS2為低(對(duì)應(yīng)的外部存儲(chǔ)器地址范圍:0x080000—0x100000),即可選用0xe0000,0xe4000,0xe8000,0xec000四個(gè)地址作為DSP向FPGA寫(xiě)數(shù)據(jù)的地址。   由于每個(gè)不同的地址都對(duì)應(yīng)一個(gè)地址譯碼值,當(dāng)四個(gè)譯碼值都出現(xiàn)后才可認(rèn)為一次定位信息傳送完成。這時(shí)把連續(xù)接收到的七個(gè)字節(jié)加上幀頭及幀尾作為測(cè)速定位單元發(fā)送給車(chē)載無(wú)線(xiàn)電控制單元的一幀數(shù)據(jù)。相對(duì)應(yīng)的地址譯碼值如表2所示。   表2 地址譯碼值
 ?。?) 車(chē)載無(wú)線(xiàn)電控制單元側(cè)DSP與FPGA的數(shù)據(jù)交換   由于采樣時(shí)間為毫秒級(jí),為了避免占用過(guò)多的CPU資源,車(chē)載無(wú)線(xiàn)電控制單元中DSP從FPGA讀數(shù)據(jù)時(shí)不采用查詢(xún)方式,而采用外部中斷來(lái)接收數(shù)據(jù)。將DSP的16bits數(shù)據(jù)線(xiàn)與FPGA連接,DSP的XINT1也連接到FPGA的I/O管腳。若選用XZCS0AND1作為外部存儲(chǔ)器片選信號(hào),則DSP從FPGA讀數(shù)據(jù)的尋址空間范圍為0x002000—0x004000,這個(gè)地址范圍內(nèi)所讀出的數(shù)據(jù)即為數(shù)據(jù)線(xiàn)上傳送到DSP的定位數(shù)據(jù)。相對(duì)應(yīng)的硬件連接框圖如下: [align=center] 圖5 車(chē)載無(wú)線(xiàn)電傳輸單元DSP控制器從FPGA收發(fā)器讀數(shù)據(jù)的硬件連接示意圖[/align]   由于FPGA傳送到DSP的一幀數(shù)據(jù)為72bits,因此通過(guò)16bits數(shù)據(jù)線(xiàn)傳輸需要分5次才能傳送完,每16bits數(shù)據(jù)到達(dá)時(shí)產(chǎn)生一次外部中斷。設(shè)波特率時(shí)鐘為512k,假設(shè)來(lái)自定位單元完整的一幀數(shù)據(jù)為0x02123456789abcde03,車(chē)載無(wú)線(xiàn)電單元通過(guò)16bits數(shù)據(jù)線(xiàn)分次轉(zhuǎn)發(fā)到DSP的數(shù)據(jù)則為0x0002, 0x1234, 0x5678, 0x9abc,0xde03 。數(shù)據(jù)及中斷信號(hào)產(chǎn)生的時(shí)序如圖6所示。由圖6可以看出,每對(duì)應(yīng)移出一次dataout,都會(huì)相應(yīng)地發(fā)出一個(gè)外部中斷信號(hào)xint1,DSP一旦接收到外部中斷便在中斷服務(wù)子程序中從16bits數(shù)據(jù)線(xiàn)讀取信號(hào)值。為了完整的接收一幀信號(hào),可在外部中斷服務(wù)程序中定義一個(gè)16級(jí)FIFO,當(dāng)從FIFO的最底層讀出的數(shù)據(jù)為0x02時(shí),便可以判斷一幀數(shù)據(jù)的開(kāi)始(若在用戶(hù)數(shù)據(jù)和校驗(yàn)值中存在0x02則要進(jìn)行相應(yīng)的字符轉(zhuǎn)義),依次接收以下的數(shù)據(jù)便得到完整的一幀定位信息。 [align=center] 圖6 車(chē)載無(wú)線(xiàn)電傳輸單元DSP控制器從FPGA收發(fā)器讀數(shù)據(jù)的仿真波形[/align] 2 通信雙方的原理圖   根據(jù)以上對(duì)同步485實(shí)現(xiàn)方法的描述,在ISE中利用ECS工具所描繪的頂層原理圖如下,包括測(cè)速定位單元同步數(shù)據(jù)發(fā)送和車(chē)載無(wú)線(xiàn)電控制單元同步數(shù)據(jù)接收。   定位測(cè)速單元同步數(shù)據(jù)發(fā)送方的原理圖如圖7所示。 [align=center] 圖7 同步數(shù)據(jù)發(fā)送方原理圖[/align]   圖7中,addr_decode為地址譯碼模塊,用于從DSP完整地接收一幀定位信息;tra485data為串行數(shù)據(jù)及門(mén)控信號(hào)發(fā)送模塊。其中,din(15:0)直接來(lái)自DSP的16bits數(shù)據(jù)線(xiàn);addr(3:0)與DSP的A17-A14地址線(xiàn)相連;clkin及anfin信號(hào)由車(chē)載無(wú)線(xiàn)電控制單元提供。輸出的dataout及uefout經(jīng)過(guò)輸出緩沖及差分電平轉(zhuǎn)換后送給車(chē)載無(wú)線(xiàn)電控制單元。   車(chē)載無(wú)線(xiàn)電控制單元同步數(shù)據(jù)接收方的原理圖如圖8所示。 [align=center] 圖8 同步數(shù)據(jù)接收方原理圖[/align]   圖8中,divide_512k為發(fā)送時(shí)鐘產(chǎn)生模塊,產(chǎn)生通信所需的波特率時(shí)鐘;anf_shift 用于產(chǎn)生無(wú)線(xiàn)電請(qǐng)求信號(hào);rec485data用于串行接收定位信息并通過(guò)dataconvert模塊轉(zhuǎn)發(fā)到通信控制器。其中,Dataout(15:0)直接通過(guò)數(shù)據(jù)線(xiàn)連到DSP,Xint1則連到DSP的外部中斷1。anfout和clkout由輸入的晶振頻率分頻后得到,經(jīng)輸出緩沖及差分電平轉(zhuǎn)換后送給車(chē)輛測(cè)速定位單元。 3 結(jié)束語(yǔ)   在高速磁浮列車(chē)特殊的通信環(huán)境中,基于RS-485物理層的同步通信方式體現(xiàn)出其抗干擾性強(qiáng)、實(shí)時(shí)性好,誤碼率低等優(yōu)點(diǎn),且實(shí)現(xiàn)原理簡(jiǎn)單,硬件連接也不復(fù)雜。利用FPGA所實(shí)現(xiàn)的通信收發(fā)器設(shè)計(jì)靈活、可靠性高,其功能在實(shí)際應(yīng)用中已得到驗(yàn)證,且效果良好。 參考文獻(xiàn):   [1] 張衛(wèi)寧. TMS320C28x系列DSP的CPU與外設(shè)(上)(下)[M]. 北京:清華大學(xué)出版社,2005.1.   [2] 王誠(chéng),薛小剛. FPGA/CPLD設(shè)計(jì)工具-Xilinx ISE使用詳解[M]. 北京:人民郵電出版社,2005.1.   [3] 李朝青. PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)[M]. 北京:北京航空航天大學(xué)出版社,2000.12.

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:一種基于特殊應(yīng)用的無(wú)線(xiàn)傳感...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。