亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于fpga的單片機(jī)多機(jī)串行通信系統(tǒng)的制作方法

文檔序號(hào):6591406閱讀:260來(lái)源:國(guó)知局

專(zhuān)利名稱(chēng)::基于fpga的單片機(jī)多機(jī)串行通信系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本實(shí)用新型涉及通信和測(cè)控領(lǐng)域,特別涉及一種基于FPGA的單片機(jī)多機(jī)串行通信系統(tǒng)。
背景技術(shù)
:隨著測(cè)控技術(shù)的發(fā)展,由多單片機(jī)構(gòu)成的測(cè)量控制網(wǎng)絡(luò)在測(cè)控領(lǐng)域的應(yīng)用越來(lái)越廣泛。單片機(jī)之間的數(shù)據(jù)交換通常采用串行通信方式,連接方式多采用總線拓?fù)浣Y(jié)構(gòu)。該結(jié)構(gòu)中單片機(jī)通過(guò)一組數(shù)據(jù)線相連接,所有單片機(jī)共用一組數(shù)據(jù)線;通信時(shí)要對(duì)從單片機(jī)進(jìn)行編址,主單片機(jī)通過(guò)不同的地址來(lái)訪問(wèn)從單片機(jī)。由于只有一組數(shù)據(jù)線,那么在同一時(shí)間內(nèi),主單片機(jī)只能和一個(gè)單片機(jī)進(jìn)行通信。如果要訪問(wèn)一遍從單片機(jī),那么主單片機(jī)要首先發(fā)送某一個(gè)從單片機(jī)的訪問(wèn)命令,等其應(yīng)答后才能訪問(wèn)下一個(gè)從單片機(jī)。這樣就浪費(fèi)的大量的時(shí)間,降低了測(cè)控系統(tǒng)的工作效率。在某些監(jiān)督計(jì)算機(jī)控制系統(tǒng)(see)和集散型控制系統(tǒng)(DCS)中,主單片機(jī)經(jīng)常需要同時(shí)訪問(wèn)從單片機(jī),要求從單片機(jī)能同時(shí)響應(yīng)主單片機(jī)的訪問(wèn)命令,此時(shí),現(xiàn)有的拓?fù)湫涂偩€結(jié)構(gòu)就不能滿足要求。
發(fā)明內(nèi)容鑒于現(xiàn)在技術(shù)存在的問(wèn)題,本實(shí)用新型提供一種結(jié)構(gòu)簡(jiǎn)單,基于FPGA設(shè)計(jì)一個(gè)集成16個(gè)簡(jiǎn)單UART(通用異步接受發(fā)送設(shè)備)的模塊,主單片機(jī)與FPGA相連,F(xiàn)PGA通過(guò)16個(gè)UART分別與16個(gè)從單片機(jī)相連,實(shí)現(xiàn)一個(gè)主單片機(jī)同時(shí)訪問(wèn)16個(gè)從單片機(jī),使拓?fù)湫涂偩€結(jié)構(gòu)滿足系統(tǒng)要求。本實(shí)用新型的技術(shù)方案是基于FPGA的單片機(jī)多機(jī)串行通信系統(tǒng)是采用FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列電路)實(shí)現(xiàn)集成16個(gè)簡(jiǎn)單UART(通用異步接收發(fā)送設(shè)備)的串行通信系統(tǒng),系統(tǒng)主要由微型計(jì)算機(jī)、1個(gè)主單片機(jī)、1個(gè)FPGA、16個(gè)從單片機(jī)組成。其特征在于計(jì)算機(jī)、主單片機(jī)、FPGA依次連接,F(xiàn)PGA分別與16個(gè)從單片機(jī)連接。所述的基于FPGA的單片機(jī)多機(jī)串行通信系統(tǒng),其中,計(jì)算機(jī)與主單片機(jī)通過(guò)通用串行接口RS232/485/422連接,主單片機(jī)是通過(guò)并口與FPGA通訊,F(xiàn)PGA與16個(gè)從單片機(jī)通過(guò)通用串行接口RS232/485/422連接。本實(shí)用新型結(jié)構(gòu)簡(jiǎn)單,基于FPGA設(shè)計(jì)一個(gè)集成16個(gè)簡(jiǎn)單UART(通用異步接受發(fā)送設(shè)備)的模塊,主單片機(jī)與FPGA相連,F(xiàn)PGA通過(guò)16個(gè)UART分別與16個(gè)從單片機(jī)相連,實(shí)現(xiàn)一個(gè)主單片機(jī)同時(shí)訪問(wèn)16個(gè)從單片機(jī),主單片機(jī)需要同時(shí)訪問(wèn)從單片機(jī)時(shí),多個(gè)從單片機(jī)能同時(shí)響應(yīng)主單片機(jī)的訪問(wèn)命令,可滿足系統(tǒng)的要求,通過(guò)該系統(tǒng),計(jì)算機(jī)主機(jī)可以同時(shí)訪問(wèn)16個(gè)從單片機(jī)。該模塊通信方式完全遵守通用串行通信協(xié)議。在監(jiān)督計(jì)算機(jī)控制系統(tǒng)(SCC)和集散型控制系統(tǒng)(DCS)中有廣泛的應(yīng)用價(jià)值。圖1.單片機(jī)多機(jī)通信原理示意圖,并作為摘要附圖;[0007]圖2.主單片機(jī)串口和網(wǎng)口連接示意圖;圖3.FPGA內(nèi)部功能模塊示意圖;圖4.有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移圖。具體實(shí)施方式如圖1至圖4所示,主單片機(jī)能同時(shí)控制從單片機(jī),并且能同時(shí)采集從單片機(jī)上傳的信息,進(jìn)行判斷并傳送給上位機(jī)。主單片機(jī)功能主要有1)與上位機(jī)通信,接收上位機(jī)命令并解析;2)根據(jù)上位機(jī)命令向下控制從單片機(jī);3)監(jiān)測(cè)從單片機(jī)中上傳的各種指標(biāo)是否在符合要求;4)提供告警顯示。如圖1所示,F(xiàn)PGA完成主單片機(jī)命令的解復(fù)接和從單片機(jī)上傳信息的復(fù)接。從單片機(jī)主要功能為接收主單片機(jī)通過(guò)FPGA下發(fā)的命令,完成對(duì)設(shè)備的控制并上傳設(shè)備狀態(tài)。本實(shí)用新型中使用的單片機(jī)為Cygnal公司的C8051F系列單片機(jī),F(xiàn)PGA為XILINX公司的XC3S100E。C8051F系列單片機(jī)是Cygnal公司開(kāi)發(fā)的高端單片機(jī),指令與8051兼容,最高具有25MIPS的處理能力,同時(shí)集成了ADC、DAC、可編程放大器、電壓比較器、傳感器等豐富的外設(shè),非常適合應(yīng)用于測(cè)控領(lǐng)域。C8051F系列單片機(jī)還具有JTAG接口,方便用戶在線調(diào)試,極大節(jié)省了用戶的開(kāi)發(fā)時(shí)間。主單片機(jī)采用C8051F020單片機(jī),該單片機(jī)提供2個(gè)串口、一個(gè)I2C接口(SMBus),提供P0P3或P4>7的并口。本設(shè)計(jì)中,設(shè)置特殊功能寄存器EMI0CF=0x27,使外部存儲(chǔ)器接口工作在地址/數(shù)據(jù)復(fù)用方式,選擇高端口P4P7。設(shè)置特殊功能寄存器XBR0=0x15,將串口UART0和SMBus映射到P0端口。C8051F020將FPGA視為外部存儲(chǔ)器,通過(guò)并口P4>7進(jìn)行訪問(wèn);C8051F020通過(guò)SMBus接口連接串行EEPR0M,將系統(tǒng)信息實(shí)時(shí)寫(xiě)入EEPR0M,在系統(tǒng)突然掉電后上電時(shí)讀取EEPR0M內(nèi)的數(shù)據(jù),完成系統(tǒng)掉電保護(hù)功能。主單片機(jī)連續(xù)不停的分析從單片機(jī)上傳的指令,判斷設(shè)備的狀態(tài)給出告警顯示,同時(shí)存入內(nèi)部緩沖區(qū)等待上位機(jī)查詢。如圖所示,2C8051F020提供串口和網(wǎng)口2種方式與上位機(jī)通信,兩個(gè)接口不能同時(shí)使用。網(wǎng)絡(luò)通信采用網(wǎng)口串口轉(zhuǎn)換模塊實(shí)現(xiàn),網(wǎng)口和串口通過(guò)組合邏輯電路連接到C8051F020的UART0,實(shí)現(xiàn)系統(tǒng)的本地監(jiān)控和遠(yuǎn)程監(jiān)控功能。FPGA的設(shè)計(jì)是通信網(wǎng)絡(luò)的核心部分,依據(jù)功能要求,F(xiàn)PGA內(nèi)部劃分成四大功能模塊SRAM控制器、發(fā)送數(shù)據(jù)緩沖模塊、16個(gè)UART模塊、接收數(shù)據(jù)緩沖模塊。發(fā)送數(shù)據(jù)緩沖模塊劃分成16個(gè)RAM區(qū),每個(gè)RAM區(qū)分別連接一個(gè)UART,當(dāng)發(fā)送緩沖模塊接收到主單片機(jī)下發(fā)的控制數(shù)據(jù)后,啟動(dòng)UART將數(shù)據(jù)發(fā)送至從單片機(jī);接收緩沖區(qū)同樣分為16個(gè)RAM區(qū),發(fā)送控制控制數(shù)據(jù)后,UART周期性向從單片機(jī)發(fā)送狀態(tài)查詢命令,從單片機(jī)將最新?tīng)顟B(tài)發(fā)送至UART模塊,UART模塊將數(shù)據(jù)存入接受緩沖模塊相應(yīng)的RAM區(qū)。如圖3。FPGA內(nèi)部共有16對(duì)讀寫(xiě)和數(shù)據(jù)總線,分別連接UART和相應(yīng)的發(fā)送緩沖區(qū)RAM和接收緩沖區(qū)RAM。FPGA內(nèi)部模塊采用自頂向下的設(shè)計(jì)方法,將復(fù)雜系統(tǒng)劃分為簡(jiǎn)單系統(tǒng),然后通過(guò)邏輯和接口設(shè)計(jì)實(shí)現(xiàn)各個(gè)模塊功能。SRAM控制器用于FPGA和C8051F020的接口,負(fù)責(zé)內(nèi)部RAM的讀寫(xiě)控制。UART負(fù)責(zé)接收從單片機(jī)上傳的串行信號(hào),將其并行化存入接受數(shù)據(jù)緩沖RAM;另外也負(fù)責(zé)將發(fā)送緩沖RAM中的數(shù)據(jù)轉(zhuǎn)換成符合RS232協(xié)議規(guī)范的串行信號(hào)發(fā)送給從單片機(jī)。SRAM控制器和UART模塊同樣采用自頂向下的方式實(shí)現(xiàn),關(guān)于SRAM控制器及UART的FPGA實(shí)現(xiàn)方案在參考文獻(xiàn)中有詳細(xì)的論述,本文不再介紹。FPGA內(nèi)部系統(tǒng)采用同步有限狀態(tài)機(jī)(FSM)的設(shè)計(jì)方法實(shí)現(xiàn),F(xiàn)SM負(fù)責(zé)調(diào)配各功能模塊之間的協(xié)作。狀態(tài)機(jī)采用獨(dú)熱(one-hot)編碼,使電路的可靠性和速度有顯著的提高。系統(tǒng)狀態(tài)轉(zhuǎn)移圖如圖4所示。主單片機(jī)和上位機(jī)的通信速率及FPGA和從單片機(jī)的通信速率均設(shè)置為38.4Kbps,主要可以更精確的控制主單片機(jī)與各個(gè)從單片機(jī)之間的通信時(shí)間。通信指令由報(bào)頭、設(shè)備類(lèi)型、設(shè)備號(hào)、命令號(hào)、命令數(shù)據(jù)、校驗(yàn)等部分字段組成,報(bào)頭用于通知單片機(jī)開(kāi)始串行通信,設(shè)備類(lèi)型和設(shè)備號(hào)用于指令正確傳達(dá)到相應(yīng)的設(shè)備,命令號(hào)用于通知單片機(jī)指令的功能,命令數(shù)據(jù)用于通知單片機(jī)具體的功能,校驗(yàn)采用CRC校驗(yàn),保證通信的準(zhǔn)確性,避免錯(cuò)誤指令干擾系統(tǒng)。通信指令的幀格式如下,寫(xiě)入控制命令號(hào)為00H,讀取命令號(hào)為01H,讀取指令命令數(shù)據(jù)為0字節(jié)。<table>tableseeoriginaldocumentpage5</column></row><table>單片機(jī)接收后到控制命令后,如果接收正確,返回00H,若錯(cuò)誤,返回01H,返回幀格式為<table>tableseeoriginaldocumentpage5</column></row><table>讀取指令沒(méi)有命令數(shù)據(jù),幀格式為<table>tableseeoriginaldocumentpage5</column></row><table>接收后單片機(jī)返回幀格式為<table>tableseeoriginaldocumentpage5</column></row><table>權(quán)利要求一種基于FPGA的單片機(jī)多機(jī)串行通信系統(tǒng),主要由微型計(jì)算機(jī)、主單片機(jī)、FPGA、16個(gè)從單片機(jī)組成,其特征在于計(jì)算機(jī)、主單片機(jī)、FPGA依次連接,F(xiàn)PGA分別與16個(gè)從單片機(jī)連接。2.如權(quán)利要求1所述的基于FPGA的單片機(jī)多機(jī)串行通信系統(tǒng),其特征在于計(jì)算機(jī)與主單片機(jī)通過(guò)通用串行接口RS232/485/422連接,主單片機(jī)是通過(guò)并口與FPGA通訊,F(xiàn)PGA與16個(gè)從單片機(jī)通過(guò)通用串行接口RS232/485/422連接。專(zhuān)利摘要本實(shí)用新型涉及一種基于FPGA的單片機(jī)多機(jī)串行通信系統(tǒng),系統(tǒng)采用FPGA實(shí)現(xiàn)集成16個(gè)簡(jiǎn)單UART的串行通信系統(tǒng),由微型計(jì)算機(jī)、1個(gè)主單片機(jī)、1個(gè)FPGA、16個(gè)從單片機(jī)組成,計(jì)算機(jī)、主單片機(jī)、FPGA依次連接,F(xiàn)PGA分別與16個(gè)從單片機(jī)連接,F(xiàn)PGA通過(guò)16個(gè)UART分別與16個(gè)從單片機(jī)相連,實(shí)現(xiàn)一個(gè)主單片機(jī)同時(shí)訪問(wèn)16個(gè)從單片機(jī),系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,該模塊通信方式完全遵守通用串行通信協(xié)議,在監(jiān)督計(jì)算機(jī)控制系統(tǒng)(SCC)和集散型控制系統(tǒng)(DCS)中有廣泛的應(yīng)用價(jià)值。文檔編號(hào)G06F13/38GK201583945SQ20092025121公開(kāi)日2010年9月15日申請(qǐng)日期2009年12月2日優(yōu)先權(quán)日2009年12月2日發(fā)明者張志利,張曉峰,曹鵬飛,王文博,陳偉峰申請(qǐng)人:天津光電通信技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1