當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:提出了一種利用異步串行通信接口電路的FPGA實(shí)現(xiàn)方法,該方法運(yùn)用雙端口RAM乒乓操作、CRC枝驗(yàn)、狀態(tài)機(jī)、組幀等操作描述了各個(gè)功能模塊的FPGA設(shè)計(jì),同時(shí)給出了該異步接口電路在集成開發(fā)軟.件Xilinx ISE11. 1下的Modelsim仿真結(jié)果。結(jié)果證明,該異步串口通信設(shè)計(jì)可以簡化電路并提高程序的靈活性和實(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è)計(jì)兩片F(xiàn)PGA的之間的數(shù)據(jù)傳輸電路,同時(shí),為了保證傳輸?shù)臏?zhǔn)確性,還在數(shù)據(jù)的收發(fā)端加入了CRC校驗(yàn)。

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

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

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


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

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

本模塊是前端程序與接口電路的隔離模塊。前端基帶解調(diào)模塊先將接收到的基帶數(shù)據(jù)按一定的速率寫入RAM,接下來被組幀模塊按一定的速率讀出并送到串口發(fā)送模塊發(fā)送。因此,兩者有著各自的數(shù)據(jù)線、地址線和控制線。介于此,雙端□RAM可以很好的滿足要求,為了保證數(shù)據(jù)讀取速率與讀取的準(zhǔn) 確性,將雙端口 RAM設(shè)計(jì)成為乒乓模式,這樣,讀取RAM的速率就不受寫入RAM速率的約束,只要檢測到寫滿標(biāo)志為1,就可以以較快的速率讀取,而無需擔(dān)心讀空。設(shè)計(jì)時(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ù)送到柔板上進(jìn)行傳輸。本接口電路采用的是異步傳輸方式。為了每個(gè)字節(jié)的同步需要,在每個(gè)發(fā)送字節(jié)前先發(fā)一個(gè)0比特作為字節(jié)同步。

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

1.3  CRC編碼與校驗(yàn)?zāi)K

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

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

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

1.4  組幀模塊設(shè)計(jì)

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

1. 5  串口接收模塊

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

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

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

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

2 接口電路的仿真驗(yàn)證

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

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

3 結(jié)語

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

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉