<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 磁浮列車同步485通信方式的研究

          磁浮列車同步485通信方式的研究

          作者: 時間:2016-12-16 來源:網絡 收藏

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

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

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

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

          圖3同步485仿真時序圖

            1.3收發(fā)器與控制器之間的數據交換

            基于RS-485的同步通信時序是用FPGA作為通信收發(fā)器來模擬的,但是通信數據最終是與系統(tǒng)的CPU進行數據交換的。在該通信方式的設計中,通信雙方均采用TI公司的TMS320F2812作為處理器,即通信的控制器。FPGA與DSP的數據交換必須滿足一定的時序,才能保證測速定位單元向車載無線電控制單元實時地傳輸位置及速度信號。本系統(tǒng)中,DSP控制器采用C語言進行軟件設計。

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

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

          圖4 車輛測速定位單元DSP控制器向FPGA收發(fā)器寫數據的硬件連接示意圖

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

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

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

            表2 地址譯碼值

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

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

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

            由于FPGA傳送到DSP的一幀數據為72bits,因此通過16bits數據線傳輸需要分5次才能傳送完,每16bits數據到達時產生一次外部中斷。設波特率時鐘為512k,假設來自定位單元完整的一幀數據為0x02123456789abcde03,車載無線電單元通過16bits數據線分次轉發(fā)到DSP的數據則為0x0002, 0x1234, 0x5678, 0x9abc,0xde03 。數據及中斷信號產生的時序如圖6所示。由圖6可以看出,每對應移出一次dataout,都會相應地發(fā)出一個外部中斷信號xint1,DSP一旦接收到外部中斷便在中斷服務子程序中從16bits數據線讀取信號值。為了完整的接收一幀信號,可在外部中斷服務程序中定義一個16級FIFO,當從FIFO的最底層讀出的數據為0x02時,便可以判斷一幀數據的開始(若在用戶數據和校驗值中存在0x02則要進行相應的字符轉義),依次接收以下的數據便得到完整的一幀定位信息。



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();