基于CPLD/FPGA的多串口設(shè)計(jì)與實(shí)現(xiàn)
摘要:在工業(yè)控制中如何提高一對(duì)多的串口通訊可靠性和系統(tǒng)的集成性成為研究熱點(diǎn)。本文利用嵌入式技術(shù),提出基于CPLD/FPGA的多串口擴(kuò)展設(shè)計(jì)方案。實(shí)現(xiàn)并行口到多個(gè)全雙工異步通訊口之間的轉(zhuǎn)換,并根據(jù)嵌入式系統(tǒng)實(shí)時(shí)性的需要,在每個(gè)UART接收器中開(kāi)辟了8個(gè)接收緩沖單元,實(shí)現(xiàn)高速嵌入式CPU與RS232通訊設(shè)備之間的速度匹配,同時(shí),串行口波特率等參數(shù)可根據(jù)需要進(jìn)行設(shè)置。通過(guò)實(shí)踐證明,本文設(shè)計(jì)的基于CPLD/FPGA的多串口完全符合工業(yè)控制中一對(duì)多串口通訊的要求。
關(guān)鍵詞:CPLD/FPGA;多串口擴(kuò)展;全雙工;異步通信;嵌入式系統(tǒng)
在工業(yè)控制中,設(shè)備的通訊與控制主要采用簡(jiǎn)潔高效的串口方式進(jìn)行。工控機(jī)通過(guò)PCI擴(kuò)展卡方式進(jìn)行串口的擴(kuò)展,或采用電路復(fù)雜的擴(kuò)展芯片實(shí)現(xiàn)串口擴(kuò)展。隨著嵌入式技術(shù)發(fā)展,嵌入式系統(tǒng)的應(yīng)用逐步代替了成本高昂的工業(yè)控制計(jì)算機(jī)。為了簡(jiǎn)化硬件電路的設(shè)計(jì),降低系統(tǒng)成本,本文提出了一種基于CPLD/FPGA多串口擴(kuò)展的方案,實(shí)現(xiàn)多個(gè)外設(shè)串口的擴(kuò)展和管理,同時(shí)解決一對(duì)多的串口通訊可靠性問(wèn)題,滿足嵌入式系統(tǒng)串口擴(kuò)展的需求。
1 系統(tǒng)結(jié)構(gòu)
本設(shè)計(jì)以CPLD/FPGA芯片為核心,在芯片內(nèi)部通過(guò)設(shè)計(jì)、編程實(shí)現(xiàn)并行總線接口到多個(gè)串行口的擴(kuò)展。設(shè)計(jì)的多串口擴(kuò)展包括并行總線接口、4路接收緩沖器、4路發(fā)送器、波特率發(fā)生器和UART接口。為實(shí)現(xiàn)高速嵌入式CPU與RS232通訊設(shè)備之間的速度匹配,充分利用嵌入式系統(tǒng)的實(shí)時(shí)性,在每個(gè)接收緩沖器中開(kāi)辟了8個(gè)接收緩沖單元。在實(shí)際應(yīng)用中,可根據(jù)嵌入式系統(tǒng)擴(kuò)展的需要,靈活增減串口數(shù)量以及接收緩沖單元個(gè)數(shù)。在通訊過(guò)程,波特率發(fā)生器的時(shí)鐘信號(hào)由外部有源晶振提供,選擇合適的晶振頻率即可獲得高性能的數(shù)據(jù)傳輸。系統(tǒng)結(jié)構(gòu)如圖1所示。
2 功能模塊設(shè)計(jì)
2.1 接收緩沖模塊
2.1.1 接收緩沖模塊構(gòu)架
在設(shè)計(jì)過(guò)程中,為便于串口擴(kuò)展功能的實(shí)現(xiàn),將功能相似的部件進(jìn)行了集成。本設(shè)計(jì)以4路UART接口擴(kuò)展為例,接收緩沖部分包含了4個(gè)獨(dú)立的接收緩沖器,其結(jié)構(gòu)如圖2所示。接收緩沖器共用clk時(shí)鐘信號(hào),并將其作為串行數(shù)據(jù)接收的波特率;每個(gè)接收緩沖器均有單獨(dú)的rxd、bf、cs引腳,其功能分別為:串行數(shù)據(jù)輸入、接收緩沖器儲(chǔ)存狀態(tài)、接收緩沖器片選。各接收緩沖器的片選端分別與2-4譯碼器的輸出腳相連。譯碼器的輸入端構(gòu)成了4路接收緩沖器選擇的地址線,分別對(duì)應(yīng)a3、a4腳;結(jié)構(gòu)圖中數(shù)據(jù)總線d0~d7、讀緩沖端rd、緩沖儲(chǔ)存狀態(tài)清‘0’端clr和緩沖單元地址線a0~a2為共用信號(hào)端口,分別與4個(gè)接收緩沖器相連。
評(píng)論