<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于DSP和FPGA的磁浮列車(chē)同步485通信方式的研究

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

作者: 時(shí)間:2009-05-18 來(lái)源:網(wǎng)絡(luò ) 收藏

  2) ANF信號的產(chǎn)生:ANF信號每隔20ms發(fā)送一次,每次發(fā)送脈寬為10個(gè)時(shí)鐘周期。ANF信號的產(chǎn)生可以分成兩部分實(shí)現,首先產(chǎn)生每隔20ms的脈沖信號,然后把此脈沖信號的寬度變成10個(gè)時(shí)鐘周期。

 ?。?)串行數據的發(fā)送與接收

  1) 串行數據的產(chǎn)生:根據協(xié)議的要求,測速定位單元每隔20ms應串行移出72bits數據。如果每個(gè)發(fā)送時(shí)鐘周期移出一位,則需要72個(gè)時(shí)鐘周期才能全部移出,因此門(mén)控信號也需要保持72個(gè)時(shí)鐘周期的寬度。

  2) 串行數據的接收:串行接收一幀(72bits)數據與異步串行接收是不同的。由于收發(fā)時(shí)鐘不是異步的,因此不能以判斷在空閑態(tài)以后出現的第一個(gè)低電平作為一幀的開(kāi)始,而是以門(mén)控信號(UEF)的上升沿作為一幀數據到來(lái)的判斷。為了避免數據傳輸過(guò)程中毛刺的影響,仍以波特率時(shí)鐘的16倍進(jìn)行接收,即每隔16個(gè)波特率時(shí)鐘周期采樣一次,因此每個(gè)數據將在傳輸的每一位的中點(diǎn)處被采樣。

  串行數據發(fā)送與接受的仿真時(shí)序圖如圖3所示。

圖3 485仿真時(shí)序圖

  1.3 之間的數據交換

  時(shí)序是用作為來(lái)模擬的,但是通信數據最終是與系統的CPU進(jìn)行數據交換的。在該通信的設計中,通信雙方均采用TI公司的TMS320F2812作為處理器,即通信的。的數據交換必須滿(mǎn)足一定的時(shí)序,才能保證測速定位單元向車(chē)載電控制單元實(shí)時(shí)地傳輸位置及速度信號。本系統中,采用C語(yǔ)言進(jìn)行軟件設計。

 ?。?) 測速定位單元側的數據交換

  TMS320F2812的外部存儲器XINTF可供選擇的外部地址空間有XINTF0,XINTF2,XINTF6。其中XINTF0 使用XZCS0AND1作為片選信號,外部存儲器擴展空間為8K;XINTF2與XINTF6分別使用XZCS2、XZCS6AND7作為片選信號,外部存儲器擴展空間均為0.5M。測速定位單元在發(fā)送位置速度信息時(shí),是通過(guò)DSP的數據線(xiàn)傳輸到FPGA,DSP根據相應的外部存儲器片選信號找出對應的地址,在從底層傳感器得到一個(gè)新的定位數據后寫(xiě)入該地址。相對應的硬件連接框圖如圖4所示:

圖4 車(chē)輛測速定位單元DSP控制器向FPGA寫(xiě)數據的硬件連接示意圖

  根據協(xié)議要求,定位信息每次發(fā)送時(shí)包括5個(gè)字節的用戶(hù)數據和2個(gè)字節的CRC校驗,因此16bits數據線(xiàn)至少需要連續發(fā)送四次才能將底層的定位信息完整地傳送到FPGA。

  為了減少硬連線(xiàn),這里只連接地址線(xiàn)的高五位,對其中的低四位地址線(xiàn)進(jìn)行4-16譯碼,最高位地址線(xiàn)作為該譯碼器的使能信號。取對應于一個(gè)外部存儲器片選信號的四個(gè)地址,比如片選信號XZCS2為低(對應的外部存儲器地址范圍:0x080000―0x100000),即可選用0xe0000,0xe4000,0xe8000,0xec000四個(gè)地址作為DSP向FPGA寫(xiě)數據的地址。

  由于每個(gè)不同的地址都對應一個(gè)地址譯碼值,當四個(gè)譯碼值都出現后才可認為一次定位信息傳送完成。這時(shí)把連續接收到的七個(gè)字節加上幀頭及幀尾作為測速定位單元發(fā)送給車(chē)載電控制單元的一幀數據。相對應的地址譯碼值如表2所示。

  表2 地址譯碼值

(2) 車(chē)載電控制單元側DSP與FPGA的數據交換

  由于采樣時(shí)間為毫秒級,為了避免占用過(guò)多的CPU資源,車(chē)載無(wú)線(xiàn)電控制單元中DSP從FPGA讀數據時(shí)不采用查詢(xún),而采用外部中斷來(lái)接收數據。將DSP的16bits數據線(xiàn)與FPGA連接,DSP的XINT1也連接到FPGA的I/O管腳。若選用XZCS0AND1作為外部存儲器片選信號,則DSP從FPGA讀數據的尋址空間范圍為0x002000―0x004000,這個(gè)地址范圍內所讀出的數據即為數據線(xiàn)上傳送到DSP的定位數據。相對應的硬件連接框圖如下:

圖5 車(chē)載無(wú)線(xiàn)電傳輸單元DSP控制器從FPGA收發(fā)器讀數據的硬件連接示意圖



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>