日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:提出了一種利用異步串行通信接口電路的FPGA實現(xiàn)方法,該方法運用雙端口RAM乒乓操作、CRC枝驗、狀態(tài)機、組幀等操作描述了各個功能模塊的FPGA設(shè)計,同時給出了該異步接口電路在集成開發(fā)軟.件Xilinx ISE11. 1下的Modelsim仿真結(jié)果。結(jié)果證明,該異步串口通信設(shè)計可以簡化電路并提高程序的靈活性和實用性,有利于程序在不同場合下的應(yīng)用。

引言

隨著FPGA在電子產(chǎn)品中的廣泛應(yīng)用,多片F(xiàn)P- GA芯片中的數(shù)據(jù)傳輸也應(yīng)用的非常廣泛。就傳輸數(shù)據(jù)而言,串口通信是通信系統(tǒng)和控制系統(tǒng)應(yīng)用中較為廣泛的一種。串口通信分為異步和同步兩種方式。本文釆用RS 232異步通信協(xié)議來設(shè)計兩片F(xiàn)PGA的之間的數(shù)據(jù)傳輸電路,同時,為了保證傳輸?shù)臏蚀_性,還在數(shù)據(jù)的收發(fā)端加入了CRC校驗。

1 專用異步串口通信接口電路設(shè)計

本設(shè)計的目的是實現(xiàn)兩塊基帶板之間的數(shù)據(jù)傳輸,其通信電路的結(jié)構(gòu)框圖如圖1所示。在每塊基帶板上均有一片Xilinx公司的XC4VSX55型FPGA芯片,兩塊基帶板之間通過柔板相連接。為了節(jié)約兩片F(xiàn)PGA相互通信的I/O 口,設(shè)計采用RS 232異步串行通信協(xié)議和RS 422接口電平,其傳輸速率為115 200 bps。異步串行通信協(xié)議是基于FPGA來實現(xiàn)的,并選用MAX3077作為RS 422電平轉(zhuǎn)換芯片。兩片F(xiàn)PGA的全局時鐘GLOBAL _ CLK均由100 MHz的晶振產(chǎn)生。

專用異步串口通信電路的FPGA實現(xiàn)


       本設(shè)計將整個電路分為接收基帶板與發(fā)送基帶板兩部分接口電路。其中接收基帶板接口電路包括數(shù)據(jù)乒乓讀取模塊、數(shù)據(jù)組幀模塊、
CRC編碼模塊、串口發(fā)送模塊;而發(fā)送基帶板接口電路則包括串口接 收模塊、CRC校驗?zāi)K。在接收基帶板上,先將無線接收下來的數(shù)據(jù)進行乒乓存儲與讀取,再組成發(fā)送端 所需的幀結(jié)構(gòu),并在組幀的同時進行CRC編碼,最后將組成幀的數(shù)據(jù)進行串行發(fā)送。在發(fā)送基帶板上,也可通過串口接收數(shù)據(jù),并進行CRC校驗。當CRC校驗通過后,可直接送給后級的數(shù)據(jù)調(diào)制模塊進行數(shù)據(jù) 的調(diào)制與發(fā)送。

1.1  數(shù)據(jù)乒乓讀取模塊

本模塊是前端程序與接口電路的隔離模塊。前端基帶解調(diào)模塊先將接收到的基帶數(shù)據(jù)按一定的速率寫入RAM,接下來被組幀模塊按一定的速率讀出并送到串口發(fā)送模塊發(fā)送。因此,兩者有著各自的數(shù)據(jù)線、地址線和控制線。介于此,雙端□RAM可以很好的滿足要求,為了保證數(shù)據(jù)讀取速率與讀取的準 確性,將雙端口 RAM設(shè)計成為乒乓模式,這樣,讀取RAM的速率就不受寫入RAM速率的約束,只要檢測到寫滿標志為1,就可以以較快的速率讀取,而無需擔(dān)心讀空。設(shè)計時,可將雙端口RAM的大小設(shè)置為2塊128X8 b。

1.2  串口發(fā)送模塊

串口發(fā)送模塊的主要目的是將需要發(fā)送的數(shù)據(jù)按字節(jié)發(fā)送到FPGA芯片外的串口電平轉(zhuǎn)換芯片MAX3077上,由其轉(zhuǎn)換成差分RS 422電平后,再將數(shù)據(jù)送到柔板上進行傳輸。本接口電路采用的是異步傳輸方式。為了每個字節(jié)的同步需要,在每個發(fā)送字節(jié)前先發(fā)一個0比特作為字節(jié)同步。

該模塊中主要有分頻計數(shù)器、發(fā)送計數(shù)器和移位寄存器。分頻計數(shù)器可將系統(tǒng)時鐘分成所需的波特率,當分頻計數(shù)器計到一個特定值(將該特定值設(shè)為 參數(shù))時將釆樣使能置1,其余時刻均保持0狀態(tài)。當該模塊的發(fā)送數(shù)據(jù)請求管腳收到一個高脈沖的時候,即可將需要發(fā)送的字節(jié)讀取進來送入移位寄存器,同時按照采樣使能的頻率發(fā)送一個同步比特0, 然后比特輸出計數(shù)器加1,當使能的下一個上升沿到來時,將移位寄存器中待發(fā)送數(shù)據(jù)的最高位發(fā)送出去,同時將移位寄存器循環(huán)右移一位,發(fā)送計數(shù)器加1,當發(fā)送計數(shù)器加到8時,表明一個字節(jié)已經(jīng)發(fā)送完畢,此時將發(fā)送完畢的信號送一個高脈沖出去,并通 知前級可以再填入需要發(fā)送的字節(jié)數(shù)據(jù)。

1.3  CRC編碼與校驗?zāi)K

釆用CRC編碼模塊是因為其不僅能夠加強傳輸過程中檢測錯誤的能力,而且其實現(xiàn)電路比較簡單。本項目中的CRC不僅能夠檢測收發(fā)基帶板之間串口傳輸時出現(xiàn)的錯誤,而且能夠檢測基帶發(fā)送板與接收發(fā)射信號的終端之間無線鏈路傳輸過程中出現(xiàn)的錯誤。

最基本的CRC校驗碼編碼方法是用待發(fā)送的二進制數(shù)據(jù)M(工)除以生成多項式g(z),然后將最后的余數(shù)作為CRC校驗碼。從CRC的編碼規(guī)則可以看出,CRC編碼實際上是將待發(fā)送的"位二進制多項式M(Q轉(zhuǎn)換成可以被g(x)除盡的兒+艮位二進制 多項式T(z),所以,解碼時可以用接收到的數(shù)據(jù)去除g(x),如果余數(shù)為零,則表示傳輸過程沒有錯誤,否則表示存在錯誤。

本項目中需要對124個字節(jié)進行校驗,故釆用CRC16的編碼方式,生成的多項式采用g(a:) = rclf,+劉'+ / + 1。由于CRC編碼的過程本質(zhì)上是一個循環(huán)移位的模2運算。故可設(shè)置一個2字節(jié)移位寄存器(CRC),在需要做CRC校驗的每一幀數(shù)據(jù)到來前將該移位寄存器全部設(shè)置為1。需要校驗的數(shù)據(jù)按字節(jié)送入該CRC校驗?zāi)K,當數(shù)據(jù)到來時把數(shù)據(jù)的最高位和移位寄存器的最高位進行異或并作為反饋值,然后將其存入移位寄存器中的第0b位。移位寄存器的第5 b、15 b分別存儲反饋值與移位寄存器的第4 b、第14 b的異或值,其余移位寄存器的每一位都存儲低一位的值,然后參與校驗的每一位數(shù)據(jù)在時鐘的驅(qū)動下,再在移位寄存器中右移存儲,移完一個 字節(jié)后,移位寄存器中的兩個字節(jié)就是CRC的校驗結(jié)果。在CRC的編碼端將所需要進行CRC校驗的數(shù)據(jù)依次送入該模塊進行CRC編碼,并將編碼結(jié)果緊跟編碼數(shù)據(jù)一起通過串口發(fā)送。在CRC的校驗端,可將CRC編碼端參與編碼的數(shù)據(jù)以及收到的編碼結(jié)果依次送入同一個CRC校驗?zāi)K進行校驗,如果校驗結(jié)果為0,證明傳輸過程中沒有錯誤,反之則表示傳輸存在錯誤,數(shù)據(jù)不能用。

1.4  組幀模塊設(shè)計

本模塊是基帶接收板接口電路的核心模塊,該模塊控制數(shù)據(jù)乒乓讀取模塊、CRC編碼模塊以及串口發(fā)送模塊。組幀模塊所組的幀為每幀127 B的定長幀,該模塊包含一個幀頭和幀尾數(shù)據(jù)發(fā)送計數(shù)器、讀RAM地址計數(shù)器、CRC編碼數(shù)據(jù)發(fā)送計數(shù)器。當檢測到數(shù)據(jù)存儲乒乓RAM的一塊寫滿信號為1時,即啟動幀頭幀尾發(fā)送計數(shù)器,將幀頭EB91按字節(jié)送入串口發(fā)送模塊,同時將EB91送入CRC編碼模塊編碼。發(fā)送完EB91,可將讀RAM的使能信號置高,以進入讀RAM狀態(tài)。如果讀RAM的讀地址計數(shù)器小于121,同時檢測到串口發(fā)送模塊字節(jié)發(fā)送完畢信號為1時,地址計數(shù)器加1,這樣就可以不斷將RAM 中的數(shù)據(jù)按字節(jié)送入串口發(fā)送模塊,同時將從RAM 中讀出的數(shù)據(jù)送入CRC編碼模塊編碼。當讀地址計數(shù)器加到121時,若檢測到第121個字節(jié)發(fā)送完畢信號為1,則將讀RAM的讀使能信號拉低,同時將CRC的輸出信號送入串口發(fā)送模塊,當檢測到串口發(fā)送模塊發(fā)送完CRC編碼的第二個字節(jié)發(fā)送完畢時,即可將狀態(tài)跳回幀頭幀尾發(fā)送狀態(tài),以將幀尾4E送入串口發(fā)送模塊,同時將幀頭幀尾數(shù)據(jù)發(fā)送計數(shù)器加1。當該字節(jié)發(fā)送完畢后,再將所有寄存器清零,同時將狀態(tài)機置為初始狀態(tài)。

1. 5  串口接收模塊

串口接收模塊可將基帶接收板上發(fā)出的異步串行數(shù)據(jù)接收下來存在雙口RAM中,在接收數(shù)據(jù)的同時將數(shù)據(jù)按字節(jié)送入CRC校驗?zāi)K,再校驗接收下來的幀是否為有效幀。通過CRC校驗時則將數(shù)據(jù)整幀讀走進行調(diào)制發(fā)送,否則丟棄。

為了能夠準確地從串口線上接收數(shù)據(jù),解決兩個基帶板上的全局時鐘同頻不同相的問題,避免釆樣時鐘采集到串行數(shù)據(jù)的跳變邊沿,通常需要在數(shù)據(jù)的中 間進行采樣,以保證采到的數(shù)據(jù)值是唯一的。

通過本模塊分頻計數(shù)器可將時鐘分成傳輸波特率的八倍,并給出相應(yīng)的采樣使能,再用該采樣使能去檢測傳輸數(shù)據(jù)的邊沿。因為每個字節(jié)前都加入了同步比特0,所以,當采樣使能檢測到下降沿時,立即起動一個采樣計數(shù)器。當采樣使能為1時,采樣計數(shù)器加1。當釆樣計數(shù)器計到3時,正好是同步0比特的中間,此時可將釆樣計數(shù)器清零,此后,在沒有接收 完一個字節(jié)時,采樣計數(shù)器都是計到7再清零。而每次串行數(shù)據(jù)都是在采樣計數(shù)器計到7時循環(huán)移入一個8 b移位寄存器。

這樣,每次移入的串行數(shù)據(jù)都是在數(shù)據(jù)的中間采 樣的,從而保證了數(shù)據(jù)傳輸?shù)臏蚀_。此外,還需要設(shè) 置一個比特接收計數(shù)器對接收到的每比特數(shù)據(jù)進行 計數(shù),每次采樣計數(shù)器計到7時,比特接收計數(shù)器加1,當比特接收計數(shù)器加到7時,表示一個字節(jié)的數(shù)據(jù) 已經(jīng)接收完畢,此時便可以將數(shù)據(jù)存到雙端口 RAM中了。數(shù)據(jù)的存儲過程也是采用乒乓存儲的方式,這里不再贅述。

2 接口電路的仿真驗證

將串口發(fā)送端口和串口接收端口連接在一起進行時序模擬仿真的仿真結(jié)果如圖2所示。該仿真結(jié)果表明,本設(shè)計電路能夠?qū)崿F(xiàn)基帶接收板雙端口RAM中數(shù)據(jù)的乒乓讀取,之后可再進行組幀、CRC 編碼、串口發(fā)送接收、CRC校驗及乒乓存儲等功能。同時還可以將程序下載到FPGA中運行。此外,運行結(jié)果還表明,該電路工作穩(wěn)定,而且具有較高的實用價值。

專用異步串口通信電路的FPGA實現(xiàn)

3 結(jié)語

本設(shè)計電路采用FPGA芯片較好的實現(xiàn)了兩片F(xiàn)PGA中數(shù)據(jù)互相傳輸?shù)膯栴},并可對所傳輸?shù)臄?shù)據(jù) 進行一定的數(shù)據(jù)處理,(如CRC校驗以及數(shù)據(jù)組幀), 因而從一定程度上簡化了兩塊基帶板之間的數(shù)據(jù)傳輸問題。另外,由于FPGA的可編程特性及程序的可移植性,因此,采用參數(shù)化的程序設(shè)計,還可以對本設(shè)計電路進行功能擴展,以滿足更高的要求。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉