摘要:本文主要討論了如何利用FPGA可編程芯片實(shí)現(xiàn)計(jì)算機(jī)輸出的異步非標(biāo)碼速(如9.6k、19.2k、57.6k、115.2k、460.8k等)到其鄰近的標(biāo)準(zhǔn)碼速(如64k、128k、256k、512k)的調(diào)整,實(shí)現(xiàn)該數(shù)據(jù)與通用傳輸系統(tǒng)的適配,以便能進(jìn)行遠(yuǎn)程監(jiān)控。關(guān)鍵詞:碼速調(diào)整FPGA一、概述現(xiàn)在,利用計(jì)算機(jī)進(jìn)行異地?cái)?shù)據(jù)采集正應(yīng)用到越來越多的場合,如何高效而低成本地回傳數(shù)據(jù)成為一個(gè)值得討論的問題。由于計(jì)算機(jī)輸出的數(shù)據(jù)一般都是異步數(shù)據(jù),而且碼率與通信的
摘要:本文主要討論了如何利用FPGA可編程芯片實(shí)現(xiàn)計(jì)算機(jī)輸出的異步非標(biāo)碼速(如9.6k、19.2k、57.6k、115.2k、460.8k等)到其鄰近的標(biāo)準(zhǔn)碼速(如64k、128k、
256k、
512k)的調(diào)整,實(shí)現(xiàn)該數(shù)據(jù)與通用傳輸系統(tǒng)的適配,以便能進(jìn)行遠(yuǎn)程監(jiān)控。
關(guān)鍵詞:碼速調(diào)整 FPGA
一、概述
現(xiàn)在,利用計(jì)算機(jī)進(jìn)行異地?cái)?shù)據(jù)采集正應(yīng)用到越來越多的場合,如何高效而低成本地回傳數(shù)據(jù)成為一個(gè)值得討論的問題。由于計(jì)算機(jī)輸出的數(shù)據(jù)一般都是異步數(shù)據(jù),而且碼率與通信的標(biāo)準(zhǔn)碼率也不一致,如果要利用現(xiàn)有的電信網(wǎng)絡(luò)進(jìn)行傳輸,就會涉及到碼速調(diào)整和異同步轉(zhuǎn)換的接口問題,由于碼速調(diào)整的內(nèi)型比較多,本文將只討論如何將較低的異步非標(biāo)碼速調(diào)整到比它高的標(biāo)準(zhǔn)碼速上。
二、方案設(shè)計(jì)
在傳統(tǒng)的數(shù)字電路中,對異步數(shù)據(jù)的變換處理一般采用通用異步收發(fā)器與單片機(jī)聯(lián)合工作的方式。這種方式的優(yōu)點(diǎn)就是電路結(jié)構(gòu)成熟,軟件編程簡單,只要掌握一定的單片機(jī)語言即可進(jìn)行開發(fā)。但它的缺點(diǎn)也是顯而易見的,集成度不高,硬件電路結(jié)構(gòu)復(fù)雜,當(dāng)同時(shí)處理多路數(shù)據(jù)時(shí),軟件設(shè)計(jì)的難度也將加大。現(xiàn)在隨著科技的進(jìn)步,可編程器件的價(jià)格已經(jīng)可以接受,一塊一萬邏輯門的FPGA芯片百元左右就可以買到,而這樣一塊芯片足可以集成3~4路獨(dú)立的碼速調(diào)整電路,所以采用FPGA芯片編程實(shí)現(xiàn)異步數(shù)據(jù)的處理將會使外圍電路變得非常簡潔,同時(shí)由于數(shù)據(jù)絕大部分時(shí)間都是在芯片內(nèi)部運(yùn)行,也有利于其傳輸穩(wěn)定性的提高。另外,FPGA芯片大部分都可以重復(fù)擦寫,只要改動程序設(shè)計(jì)即可實(shí)現(xiàn)不同功能的轉(zhuǎn)換,從而加速同類型產(chǎn)品的開發(fā)速度,節(jié)約投資。用于開發(fā)可編程器件的軟件可以到各器件廠家的網(wǎng)站直接下載。
碼速調(diào)整方案的具體框圖見圖一,在其數(shù)據(jù)接收端內(nèi)置了一個(gè)類似異步收發(fā)器的結(jié)構(gòu),采用
16倍速高速采樣檢測異步信號起始電平的到來。為了便于描述,這里我們假設(shè)要處理的異步數(shù)據(jù)為7bit,加上一位起始位和一位停止位,總共為9bit。
三、工作流程描述
我們設(shè)計(jì)的思路是仿照通用異步收發(fā)器的執(zhí)行過程,但在接收數(shù)據(jù)時(shí)并不去掉起始位和停止位,而是將數(shù)據(jù)按原來的碼速全部接收下來后再以標(biāo)準(zhǔn)的碼速發(fā)送出去,接收方的電路結(jié)構(gòu)與發(fā)送方基本相同,只是少了一個(gè)空閑時(shí)插入“1”碼的電路。
根據(jù)異步信號的通信規(guī)則,沒有信號時(shí)數(shù)據(jù)線應(yīng)表現(xiàn)為高電平,這時(shí)使用一個(gè)16倍于數(shù)據(jù)流的高速時(shí)鐘對數(shù)據(jù)線進(jìn)行采樣,當(dāng)檢測到信號下降沿后,表示數(shù)據(jù)的起始電平有可能已經(jīng)到來,這時(shí)采樣器會輸出一個(gè)reset信號使一個(gè)16分頻的
計(jì)數(shù)器復(fù)位,如果在8個(gè)高速脈沖內(nèi)輸入信號又恢復(fù)到高電平,則說明剛才是干擾信號,系統(tǒng)又回到起始狀態(tài);反之如果信號仍維持低電平,則表示數(shù)據(jù)起始電平已經(jīng)到來, 16分頻的計(jì)數(shù)器開始工作,
四、參考文獻(xiàn)
1.《VHDL簡明教程》 電子科技大學(xué)出版社 潘松 王國棟 編著 2000.2
2.《MCS-51系列單片機(jī)實(shí)用接**術(shù)》 北京航空航天大學(xué)出版社 李華主編 1993