新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于CPLD/FPGA的多串口設(shè)計與實現(xiàn)

基于CPLD/FPGA的多串口設(shè)計與實現(xiàn)

作者: 時間:2011-08-01 來源:網(wǎng)絡(luò) 收藏

摘要:在工業(yè)控制中如何提高一對多的串口通訊可靠性和系統(tǒng)的集成性成為研究熱點。本文利用嵌入式技術(shù),提出基于擴展設(shè)計方案。實現(xiàn)并行口到多個全雙工異步通訊口之間的轉(zhuǎn)換,并根據(jù)嵌入式系統(tǒng)實時性的需要,在每個UART接收器中開辟了8個接收緩沖單元,實現(xiàn)高速嵌入式CPU與RS232通訊設(shè)備之間的速度匹配,同時,串行口波特率等參數(shù)可根據(jù)需要進行設(shè)置。通過實踐證明,本文設(shè)計的基于完全符合工業(yè)控制中一對通訊的要求。
關(guān)鍵詞:;多串口擴展;全雙工;異步通信;嵌入式系統(tǒng)

在工業(yè)控制中,設(shè)備的通訊與控制主要采用簡潔高效的串口方式進行。工控機通過PCI擴展卡方式進行串口的擴展,或采用電路復(fù)雜的擴展芯片實現(xiàn)串口擴展。隨著嵌入式技術(shù)發(fā)展,嵌入式系統(tǒng)的應(yīng)用逐步代替了成本高昂的工業(yè)控制計算機。為了簡化硬件電路的設(shè)計,降低系統(tǒng)成本,本文提出了一種基于CPLD/FPGA多串口擴展的方案,實現(xiàn)多個外設(shè)串口的擴展和管理,同時解決一對多的串口通訊可靠性問題,滿足嵌入式系統(tǒng)串口擴展的需求。

1 系統(tǒng)結(jié)構(gòu)
本設(shè)計以CPLD/FPGA芯片為核心,在芯片內(nèi)部通過設(shè)計、編程實現(xiàn)并行總線接口到多個串行口的擴展。設(shè)計的多串口擴展包括并行總線接口、4路接收緩沖器、4路發(fā)送器、波特率發(fā)生器和UART接口。為實現(xiàn)高速嵌入式CPU與RS232通訊設(shè)備之間的速度匹配,充分利用嵌入式系統(tǒng)的實時性,在每個接收緩沖器中開辟了8個接收緩沖單元。在實際應(yīng)用中,可根據(jù)嵌入式系統(tǒng)擴展的需要,靈活增減串口數(shù)量以及接收緩沖單元個數(shù)。在通訊過程,波特率發(fā)生器的時鐘信號由外部有源晶振提供,選擇合適的晶振頻率即可獲得高性能的數(shù)據(jù)傳輸。系統(tǒng)結(jié)構(gòu)如圖1所示。

本文引用地址:http://2s4d.com/article/191085.htm

a.jpg



2 功能模塊設(shè)計
2.1 接收緩沖模塊
2.1.1 接收緩沖模塊構(gòu)架
在設(shè)計過程中,為便于串口擴展功能的實現(xiàn),將功能相似的部件進行了集成。本設(shè)計以4路UART接口擴展為例,接收緩沖部分包含了4個獨立的接收緩沖器,其結(jié)構(gòu)如圖2所示。接收緩沖器共用clk時鐘信號,并將其作為串行數(shù)據(jù)接收的波特率;每個接收緩沖器均有單獨的rxd、bf、cs引腳,其功能分別為:串行數(shù)據(jù)輸入、接收緩沖器儲存狀態(tài)、接收緩沖器片選。各接收緩沖器的片選端分別與2-4譯碼器的輸出腳相連。譯碼器的輸入端構(gòu)成了4路接收緩沖器選擇的地址線,分別對應(yīng)a3、a4腳;結(jié)構(gòu)圖中數(shù)據(jù)總線d0~d7、讀緩沖端rd、緩沖儲存狀態(tài)清‘0’端clr和緩沖單元地址線a0~a2為共用信號端口,分別與4個接收緩沖器相連。

b.jpg


上一頁 1 2 3 下一頁

關(guān)鍵詞: CPLD FPGA 多串口

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉