• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于STM32的LVDS數(shù)據(jù)傳輸系統(tǒng)

      2022-07-05 19:40:18朱靜蔡昌勇
      電腦知識與技術(shù) 2022年14期
      關(guān)鍵詞:嵌入式系統(tǒng)

      朱靜 蔡昌勇

      摘要:數(shù)據(jù)在高速傳輸時會出現(xiàn)信號誤碼風險、EMC風險、信號串擾衰減和失真問題,而LVDS低壓差分信號,可減少上述風險,提高數(shù)據(jù)傳輸?shù)木嚯x與可靠性。針對以上問題,本文設(shè)計了一種基于STM32和LVDS的數(shù)據(jù)傳輸系統(tǒng),讀取TTL并行數(shù)據(jù)并轉(zhuǎn)換成串行數(shù)據(jù),輸出給LVDS電平轉(zhuǎn)換電路轉(zhuǎn)換為LVDS信號經(jīng)過LVDS傳輸線纜進行傳輸。然后接收端接收LVDS信號轉(zhuǎn)換為串行TTL電平,由單片機轉(zhuǎn)換為并行數(shù)據(jù)輸出,借助LVDS可完成信號的高速傳輸。經(jīng)過實驗驗證,信號傳輸沒有明顯的失真和衰減,信號傳輸速率較高。

      關(guān)鍵詞:低壓差分傳輸技術(shù);嵌入式系統(tǒng);高速信號傳輸;STM32

      中圖分類號:TP391? ? ? 文獻標識碼:A

      文章編號:1009-3044(2022)14-0025-03

      開放科學(資源服務)標識碼(OSID):

      隨著計算機技術(shù)和微電子技術(shù)發(fā)展,人們對數(shù)據(jù)的傳輸速率要求越來越高,于是傳統(tǒng)的TTL電平和CMOS電平由于其相對較低的傳輸帶寬和可靠性,已經(jīng)不能滿足高速數(shù)字信號傳輸?shù)囊蟆榇?,在目前常見的高速傳輸協(xié)議(如USB、HDMI、DP)中都采用差分信號傳輸[1]。低壓差分信號傳輸技術(shù)LVDS(Low Voltage Differential Signaling)也是一種常見的差分數(shù)字信號傳輸方案,其廣泛用于視頻信號傳輸中,是一種成熟可靠的高速信號傳輸方案[2]。

      在電子設(shè)備中經(jīng)常需要使用較長的導線傳輸數(shù)字信號,由于走線較長,導致傳輸線的阻抗增大,從而導致信號衰減,增大信號誤碼風險,EMC風險也會提高,信號串擾衰減和失真問題也會更惡劣[3]。而LVDS技術(shù)由于其為低壓差分信號,減少了由衰減引起的誤碼問題,由于差分對兩線之間信號反相,減少了差模信號輻射,很好地抑制了串擾風險,并且由于差分信號較高,共模抑制比的特性降低EMC風險[4]。

      將傳統(tǒng)的TTL并行信號轉(zhuǎn)換為LVDS串行信號傳輸,可以減小因傳輸時延造成的誤碼,減少傳輸線線束數(shù)量,提高穩(wěn)定性和傳輸速率。在數(shù)據(jù)量較大、傳輸距離較長的使用場景下,用LVDS代替一些TTL或CMOS電平傳輸?shù)臄?shù)字通信接口,提高設(shè)備性能和可靠性。本文利用STM32設(shè)計了一種基于LVDS的數(shù)據(jù)傳輸系統(tǒng),實現(xiàn)TTL與LVDS電平的互相轉(zhuǎn)換,數(shù)據(jù)可通過LVDS進行高速傳輸。

      1 系統(tǒng)總體設(shè)計

      本系統(tǒng)讀取TTL并行數(shù)據(jù)并轉(zhuǎn)換成串行數(shù)據(jù),輸出給LVDS電平轉(zhuǎn)換電路轉(zhuǎn)換為LVDS信號,經(jīng)過LVDS傳輸線纜進行傳輸。然后接收端接收LVDS信號,轉(zhuǎn)換為串行TTL電平,由單片機轉(zhuǎn)換為并行數(shù)據(jù)輸出,借助LVDS可完成信號的高速傳輸。

      2 硬件電路設(shè)計

      2.1 信號讀取轉(zhuǎn)換電路

      信號讀取轉(zhuǎn)換電路具有TTL并行邏輯時序讀取、數(shù)據(jù)緩存、串行邏輯時序產(chǎn)生三個主要功能。要實現(xiàn)以上功能大致有兩種備選方案,一種是完全由數(shù)字邏輯電路實現(xiàn)以上功能,數(shù)字邏輯電路具有實時性高、運行效率高、數(shù)據(jù)傳輸速率高等優(yōu)點。數(shù)字邏輯電路可以選用分立的邏輯器件搭建,也可以選用現(xiàn)場可編程邏輯門陣列(FPGA)。如果選用FPGA可以方便調(diào)試,遇到邏輯問題可以馬上更改,F(xiàn)PGA系統(tǒng)時鐘一般在200MHz以上,假設(shè)每個字節(jié)串行信號發(fā)送需要200個時鐘周期,理論上數(shù)據(jù)傳輸速率可以達到1Mbyte/s[5]。FPGA是一種比較昂貴的元器件,而MCU方案成本較低,方便調(diào)試,可以使用SWD接口進行在線調(diào)試,實時讀取內(nèi)存中的數(shù)據(jù),MCU邏輯處理能力相比一般的單片機要高出很多,I/O口讀寫速度較快,滿足本系統(tǒng)需求[6]。最終選擇了意法半導體(ST)生產(chǎn)的STM32F103C8,原理圖如下所示。

      電路包括MCU、時鐘電路、復位電路、電源電路、下載調(diào)試電路、串口電路以及并行接口電路。電路工作電壓為3.3V,并行接口電路,包含一路時鐘信號和8位并行信號。在信號通路上添加一個22R電阻,限制信號通路上的電流大小,在一定程度上保護了MCU的I/O口,并且此電阻還可作為端接匹配電阻,當信號波形出現(xiàn)振鈴或其他因為阻抗匹配問題時,可以修改此電阻大小實現(xiàn)阻抗匹配。調(diào)試過程中還可以通過取下這一電阻斷開某一連接。

      2.2 電平轉(zhuǎn)換電路

      MCU讀取并行信號后,將讀取到的信號轉(zhuǎn)換成串行信號,信號傳輸?shù)诫娖睫D(zhuǎn)換電路后,將MCU發(fā)出的TTL串行信號轉(zhuǎn)換成LVDS串行信號再發(fā)出,接收端收到LVDS信號后,需要將LVDS信號,轉(zhuǎn)換成TTL信號,發(fā)送給接收端MCU讀取。電平轉(zhuǎn)換電路基于SN65LVDM176D LVDS收發(fā)芯片實現(xiàn),芯片中集成了接收與發(fā)送兩種模式,可以實現(xiàn)改變電路元器件設(shè)置電路工作模式。由此發(fā)送端和接收端可以使用同一PCB,通過不同的焊接方式實現(xiàn)發(fā)送或接收功能。通過設(shè)置芯片的2腳和3腳兩個腳的高低電平,即可設(shè)置工作模式,如果是發(fā)送端電路,則焊接R5和R7兩個電阻,如果是接收端,則焊接R1和R2兩個電阻。

      SN65LVDM176D芯片與一般LVDS芯片結(jié)構(gòu)有所不同,此芯片輸出負載為50Ω,輸出端和輸入端各需要一個100Ω電阻。LVDS接口和傳輸線需要有屏蔽層,保證信號傳輸過程中不受干擾,屏蔽層還能提供信號回流路徑,讓整個傳輸回路阻抗連續(xù)。差分信號需要使用雙絞線傳輸,選擇傳輸線時需要注意傳輸線是否雙絞線。

      3 軟件設(shè)計

      3.1 TTL并行信號時序軟件實現(xiàn)

      本系統(tǒng)輸入信號為TTL并行信號,讀取并行信號需要按照一定時序進行讀取,在設(shè)計軟件時需要設(shè)計并行數(shù)據(jù)收發(fā)時序。硬件設(shè)計的并行接口中包括一路時鐘線和8路信號線,在每個時鐘上升沿時讀取8路數(shù)據(jù)線上的并行數(shù)據(jù)。A770A41B-28F9-47F0-8DC2-DE44C06F6493

      在實際傳輸過程中,如果并行信號還沒有完全建立時鐘線就置1,接收端檢測到上升沿后,讀取到未建立完成的并行信號,讀到的數(shù)據(jù)可能會是錯誤的,所以在軟件設(shè)計的時,需要設(shè)計合適的建立時間。如果建立時間太短,會影響數(shù)據(jù)傳輸準確率,建立時間太長,會降低傳輸速率。合適的建立時間只有在軟件實際調(diào)試的時才能確定,需要在軟件調(diào)試的時多次嘗試,從而確定在不影響傳輸準確性前提下的最小建立時間。

      并口發(fā)送軟件主要內(nèi)容是先設(shè)置I/O口D0~D7輸出,需要發(fā)送的8位并行數(shù)據(jù),軟件延時適當時間作為建立時間,再將CLK設(shè)置1,輸出上升沿,最后再延時一段時間后CLK設(shè)置為0,完成一次并行數(shù)據(jù)發(fā)送。接收軟件開始運行后,先等待CLK為0,然后等待CLK拉高,即CLK輸出上升沿,然后讀取D0~D7并行數(shù)據(jù),最后返回讀取的數(shù)據(jù)。

      3.2 TTL串行數(shù)據(jù)時序軟件實現(xiàn)方案

      軟件讀取到并行數(shù)據(jù)輸入后,需要將讀取到的數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)發(fā)送,軟件設(shè)計時需要設(shè)計串行發(fā)送時序,并且用程序?qū)崿F(xiàn)串行時序的發(fā)送和讀取。每個數(shù)據(jù)需要有一個起始信號,接收端通過檢測起始信號判斷是否開始讀取數(shù)據(jù)。起始信號之后每一CLK上升沿時,DATA高低電平代表1bit數(shù)據(jù),數(shù)據(jù)發(fā)送順序是從最低有效位(LSB)開始發(fā)送,以最高有效位(MSB)結(jié)束。

      發(fā)送端軟件先將DATA置1延時一段時間再拉低,延時時間不能太短,太短接收端將檢測不到起始信號,然后循環(huán)發(fā)送每一位數(shù)據(jù)。串行信號發(fā)送也存在建立時間,發(fā)送每1bit數(shù)據(jù)都要先將DATA置位,然后延時一定時間再將CLK置1。

      接收端軟件先等待DATA為低電平,再等待DATA置1,此時檢測到起始信號,然后循環(huán)讀取串行數(shù)據(jù)每一位并保存,最后函數(shù)返回讀取到的串行數(shù)據(jù)。

      4 系統(tǒng)驗證

      將發(fā)射電路、接收電路、STM32最小系統(tǒng)共同構(gòu)成調(diào)試系統(tǒng),STM32最小系統(tǒng)作為并行信號發(fā)生器。將最小系統(tǒng)與發(fā)送端電路的并行接口,發(fā)送端電路與接收端電路通過LVDS接口通信,用一根SCSI-14連接線連接兩電路板的SCSI-14端口。

      電平轉(zhuǎn)換電路輸入信號為TTL電平,給電平轉(zhuǎn)換電路輸入方波,如果電路正常工作,接收端100Ω電阻兩端信號幅度應該為350mV左右。在發(fā)送端電路SN65LVDM176D芯片4腳輸入峰值為3.3V,最小值為0V的方波,連接好SCSI-14傳輸線,用示波器測試接收端電路SN65LVDM176D芯片6、7引腳。測得LVDS信號峰值VP-P為800mV,幅度為[VP-P2] = 400mV。測試結(jié)果屬于官方數(shù)據(jù)手冊中的幅度范圍,電路工作正常。最后測試SN65LVDM176D芯片1腳連接的22Ω電阻遠離芯片一側(cè)的TTL信號,確認信號沒有失真,可以進行系統(tǒng)聯(lián)合測試。

      發(fā)送端和接收端分別燒錄測試模式軟件開始測試,用示波器兩通道測試接收端LVDS差分信號D-和D+,并且將示波器設(shè)置為math->ch1-ch2模式,并測試math通道上升時間、下降時間、幅度。測得差分信號測試波形如圖6所示。由測量結(jié)果可以計算本系統(tǒng)硬件最大支持的時鐘頻率為1/(10×RT)= 1.23MHz。再分別用示波器兩個通道測試接收端由LVDS轉(zhuǎn)換的TTL電平DATA與CLK波形,測量傳輸1byte數(shù)據(jù)所需時間,由測試結(jié)果可得傳輸周期為171.0us。

      經(jīng)過測試,在系統(tǒng)工作頻率下LVDS和TTL信號都沒有明顯的失真和衰減,如果需要更高的傳輸速率,需要使用更高級的處理器作為邏輯轉(zhuǎn)換單元。

      5 總結(jié)

      本文分別從LVDS數(shù)據(jù)傳輸系統(tǒng)的總體設(shè)計、硬件設(shè)計、軟件設(shè)計與系統(tǒng)測試方面進行了描述,基于STM32與SN65LVDM176D設(shè)計了一套基于LVDS的數(shù)據(jù)傳輸系統(tǒng)。結(jié)合軟硬件聯(lián)合測試結(jié)果,在系統(tǒng)工作頻率下LVDS和TTL信號都沒有明顯的失真和衰減,為數(shù)據(jù)的高速傳輸提供了一種靈活可靠、可移植性強的方案。

      參考文獻:

      [1] 熊光陽.基于FPGA的高速圖像傳輸系統(tǒng)設(shè)計[D].桂林:桂林電子科技大學,2020.

      [2] 謝詹奇.高速LVDS收發(fā)器的研究與設(shè)計[D].上海:上海交通大學,2008.

      [3] 鄢玲玲,文豐,李輝景.一種基于LVDS高速傳輸?shù)慕涌趦?yōu)化設(shè)計[J].電測與儀表,2016,53(20):80-83.

      [4] 薛棟,李杰,張德彪,等.基于LVDS的高速數(shù)據(jù)回讀系統(tǒng)設(shè)計[J].中北大學學報(自然科學版),2021,42(2):135-139.

      [5] 張波,李杰,張海鵬,等.基于FPGA的LVDS傳輸鏈路的可靠性設(shè)計[J].電子器件,2018,41(5):1237-1241.

      [6] 羅瑤,魏忠義,朱磊,等.STM32CubeMX的高速USB通信模塊設(shè)計[J].單片機與嵌入式系統(tǒng)應用,2017,17(9):46-48,54.

      收稿日期:2021-12-30

      基金項目:本文得到了四川省教育廳科研項目(編號:17ZB0038)資助

      作者簡介:朱靜(1987—),通信作者,男,主要研究方向為電子技術(shù)、機器學習;蔡昌勇(1980—),男,研究方向為嵌入式技術(shù)。A770A41B-28F9-47F0-8DC2-DE44C06F6493

      猜你喜歡
      嵌入式系統(tǒng)
      辦公自動化系統(tǒng)的設(shè)計
      嵌入式系統(tǒng)在醫(yī)療器械中的應用分析
      基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學改革的研究與實踐
      嵌入式系統(tǒng)課程“中斷、異常與事件”教學實踐及啟示
      計算機教育(2016年7期)2016-11-10 08:31:34
      面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學研究
      計算機教育(2016年7期)2016-11-10 08:12:11
      在DiskOnChip上構(gòu)建VxWorks系統(tǒng)開發(fā)環(huán)境
      嘉峪关市| 肇源县| 海安县| 揭东县| 扶沟县| 磐石市| 呈贡县| 富蕴县| 塘沽区| 饶阳县| 洛川县| 邹平县| 玉溪市| 抚顺市| 扎囊县| 秭归县| 沾益县| 兰西县| 大荔县| 精河县| 阳东县| 衢州市| 洛扎县| 曲阳县| 开江县| 南溪县| 东兴市| 南宁市| 达孜县| 新宾| 无为县| 商丘市| 银川市| 岳普湖县| 汝南县| 聂拉木县| 巍山| 遵化市| 临桂县| 二连浩特市| 修水县|