国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于fpga的多功能通信接口轉(zhuǎn)換設(shè)備和方法

      文檔序號:7645562閱讀:257來源:國知局
      專利名稱:一種基于fpga的多功能通信接口轉(zhuǎn)換設(shè)備和方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于電子信息技術(shù)領(lǐng)域,特別是信息通信領(lǐng)域。
      背景技術(shù)
      網(wǎng)絡(luò)化是目前電子產(chǎn)品發(fā)展的一個(gè)主要方向,各電子產(chǎn)品不僅僅自身要實(shí)現(xiàn)一定的功能,而且還要求其有一個(gè)數(shù)據(jù)通信接口以方便與其它產(chǎn)品進(jìn)行互聯(lián),因此,各電子產(chǎn)品或設(shè)備常常會預(yù)留一個(gè)標(biāo)準(zhǔn)通信接口。因?yàn)楦鲝S商考慮到自身產(chǎn)品的特點(diǎn)及各自的技術(shù)優(yōu)勢,使得目前市場上不同產(chǎn)品的通信接口互不統(tǒng)一。
      以太網(wǎng)接口是目前計(jì)算機(jī)之間相互通信的主要接口,以太網(wǎng)絡(luò)現(xiàn)在已經(jīng)深入到世界的每一個(gè)角落,嵌入式產(chǎn)品中如果也采用以太網(wǎng)接口作為數(shù)據(jù)通信接口,一方面,可以利用已有的通信線路實(shí)現(xiàn)遠(yuǎn)程通信,另一方面,可以利用已有的比較成熟的各種標(biāo)準(zhǔn)協(xié)議,保證數(shù)據(jù)通信的可靠性。因而以太網(wǎng)通信成為當(dāng)前嵌入式領(lǐng)域研究的熱門通信方式。CAN接口具有硬件連接簡單、實(shí)時(shí)性強(qiáng)、性價(jià)比高等特點(diǎn),它能夠滿足現(xiàn)代自動(dòng)化通信的需要,已成為工業(yè)數(shù)據(jù)總線通信領(lǐng)域中最為活躍的一支。USB接口已經(jīng)成為個(gè)人計(jì)算機(jī)的標(biāo)準(zhǔn)的外設(shè)接口,它具有諸多特性和優(yōu)點(diǎn)統(tǒng)一了各種接口設(shè)備的連接頭,即插即用(plug and play)特性,“熱插撥”(hot attach and detach)特性,具備12Mbps的標(biāo)準(zhǔn)傳輸速率及更高的傳輸速率,最多可以連接127個(gè)設(shè)備,可由USB電纜供電而不需要附加電源,具有電源管理功能,已經(jīng)成為計(jì)算機(jī)外設(shè)接口的一個(gè)通用標(biāo)準(zhǔn)。RS232接口則是最古老也是最簡單、最常用的串行通訊接口,因其協(xié)議簡單、硬件連接方便也得到了廣泛的應(yīng)用。以上四種接口由于其自身特點(diǎn)而均有著廣泛的應(yīng)用領(lǐng)域和應(yīng)用前景,在短期內(nèi)任何一種接口都不可能取代其它接口而一統(tǒng)天下,隨著各種通信接口的進(jìn)一步廣泛使用,不同接口之間的數(shù)據(jù)交換也成為必要。

      發(fā)明內(nèi)容
      本發(fā)明的目的是提供一種以太網(wǎng)接口、CAN接口、USB接口、RS232接口之間數(shù)據(jù)交換的設(shè)備和實(shí)現(xiàn)方法。
      本發(fā)明采用高速、穩(wěn)定的FPGA器件作為核心控制器件,集以太網(wǎng)接口、CAN總線接口、USB接口和RS232接口四種普遍使用的通信接口于一體,通過FPGA對各接口進(jìn)行控制,實(shí)現(xiàn)了以上接口之間的數(shù)據(jù)交換。使具有不同標(biāo)準(zhǔn)接口的設(shè)備相互連接、通信成為可能。
      本發(fā)明主要包括以下幾個(gè)模塊①電源管理模塊,②FPGA模塊,③以太網(wǎng)接口模塊,④CAN接口模塊,⑤USB接口模塊,⑥RS232接口模塊。電源管理模塊為整個(gè)系統(tǒng)各模塊提供電源,分別為輸出3.3V和1.5V電壓供電給FPGA控制模塊,輸出5V電壓供電給各接口模塊。FPGA模塊是整個(gè)系統(tǒng)的核心控制模塊,它直接與四個(gè)接口模塊相連,在設(shè)備工作時(shí),F(xiàn)PGA模塊主要負(fù)責(zé)從其中一個(gè)接口(當(dāng)此接口有數(shù)據(jù)收到時(shí))讀取數(shù)據(jù),并將所取得的數(shù)據(jù)轉(zhuǎn)換輸出到其它接口。以太網(wǎng)接口模塊直接與FPGA模塊相連,該模塊在FPGA控制下接收以太網(wǎng)數(shù)據(jù)包或者將待發(fā)送的數(shù)據(jù)打包并發(fā)給以太網(wǎng)絡(luò)。CAN接口模塊直接與FPGA模塊相連,該模塊在FPGA控制下接收CAN總線數(shù)據(jù)或者將要發(fā)送的數(shù)據(jù)按CAN協(xié)議發(fā)送到CAN總線上。USB接口模塊直接與FPGA模塊相連,該模塊在FPGA的控制下主要負(fù)責(zé)從USB數(shù)據(jù)線中讀取數(shù)據(jù)或?qū)?shù)據(jù)發(fā)送到USB數(shù)據(jù)線路中。RS232接口模塊,該模塊通過對FPGA進(jìn)行編程,在FPGA內(nèi)部得已實(shí)現(xiàn),在控制模塊的控制下,該模塊接收RS232數(shù)據(jù)或者將數(shù)據(jù)轉(zhuǎn)換成串行RS232格式輸出。
      本發(fā)明中的以太網(wǎng)接口模塊數(shù)據(jù)的收發(fā)是按以太網(wǎng)協(xié)議進(jìn)行的,一個(gè)標(biāo)準(zhǔn)的以太網(wǎng)物理傳輸幀由七部分組成,如表1所示,整個(gè)傳輸幀中除數(shù)據(jù)段長度不定外,其它部分的長度均固定不變,數(shù)據(jù)發(fā)送時(shí),由FPGA模塊將待發(fā)送數(shù)據(jù)寫入以太網(wǎng)接口模塊,然后發(fā)出發(fā)送命令,以太網(wǎng)接口模塊將待發(fā)送的數(shù)據(jù)按表1的格式添加各字段,并將數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換發(fā)往以太網(wǎng)絡(luò)。在接收數(shù)據(jù)時(shí),由以太網(wǎng)接口模塊自動(dòng)檢測網(wǎng)絡(luò)數(shù)據(jù),判斷正確數(shù)據(jù)幀是否到來,如有數(shù)據(jù)收到,則將其中的數(shù)據(jù)字段提取并存入接收緩存,F(xiàn)PGA檢測到有數(shù)據(jù)收到時(shí),則從該模塊中直接提取所接收數(shù)據(jù)。
      表1以太網(wǎng)物理傳輸幀結(jié)構(gòu)表

      本發(fā)明中的CAN接口模塊數(shù)據(jù)收發(fā)是按照CAN協(xié)議進(jìn)行的,CAN協(xié)議通信格式中有四種幀格式數(shù)據(jù)幀、遠(yuǎn)程幀、差錯(cuò)幀和超載幀。其中數(shù)據(jù)幀和遠(yuǎn)程幀的發(fā)送需要在控制器的控制下進(jìn)行,而差錯(cuò)幀和超載幀的發(fā)送是在錯(cuò)誤發(fā)生和超載發(fā)生時(shí)自動(dòng)進(jìn)行的。因此,一般只考慮前兩個(gè)幀的結(jié)構(gòu),由于其它幾種接口無法具本區(qū)分?jǐn)?shù)據(jù)和命令,本控制設(shè)備數(shù)據(jù)通信只對數(shù)據(jù)幀做出處理,CAN協(xié)議數(shù)據(jù)幀結(jié)構(gòu)如表2所示,其中數(shù)據(jù)場最多不超過8個(gè)字節(jié),在數(shù)據(jù)發(fā)送時(shí),除數(shù)據(jù)場外,其它各結(jié)構(gòu)均由CAN接口模塊自動(dòng)進(jìn)行添加。而在數(shù)據(jù)接收時(shí),同樣由CAN接口模塊對該幀數(shù)據(jù)進(jìn)行提取,獲取其中數(shù)據(jù),然后通知FPGA模塊進(jìn)行數(shù)據(jù)提取。
      表2 CAN數(shù)據(jù)幀結(jié)構(gòu)表

      本發(fā)明中的USB接口模塊是按USB通信協(xié)議進(jìn)行數(shù)據(jù)傳輸?shù)?,本設(shè)備被配置為從設(shè)備模式,因此,在接入總線時(shí),必須由USB Host(主機(jī))對其進(jìn)行枚舉,并加載USB驅(qū)動(dòng)程序,直到枚舉成功后,USB接口模塊才可以在FPGA控制下進(jìn)行數(shù)據(jù)收發(fā)。
      本發(fā)明中的RS232接口模塊是按照RS232標(biāo)準(zhǔn)協(xié)議進(jìn)行數(shù)據(jù)傳輸?shù)模l(fā)送時(shí),將待發(fā)送數(shù)據(jù)通過并串轉(zhuǎn)換,并添加起始位和停止位進(jìn)行串行發(fā)送。數(shù)據(jù)接收與之相反,當(dāng)檢測到起始位后開始接收數(shù)據(jù),直到收到停止位為止。將所接收數(shù)據(jù)通過串并轉(zhuǎn)換后存入接收緩存,并通知FPGA控制模塊。
      本發(fā)明中的FPGA控制模塊控制各通信接口模塊的數(shù)據(jù)收發(fā),通過軟件編程實(shí)現(xiàn)了各接口對應(yīng)的控制器模塊、接收檢測模塊、FIFO控制模塊、FIFO模塊、發(fā)送檢測電路模塊和一個(gè)狀態(tài)寄存器等模塊的功能,模塊之間的具體連接如圖1所示。
      各接口控制器模塊針對每個(gè)外部接口電路,都設(shè)計(jì)一個(gè)專用控制器對其進(jìn)行控制,各控制器直接控制各通信接口,主要實(shí)現(xiàn)對各接口初始化配置和讀寫邏輯設(shè)計(jì)。各控制器相互獨(dú)立,且并行工作,因此,其中任何模塊發(fā)生錯(cuò)誤均不影響其它模塊之間相互轉(zhuǎn)換,保證了電路的實(shí)時(shí)性和穩(wěn)定性。
      接收檢測模塊每一個(gè)接口控制器連接一個(gè)接收檢測模塊以不斷檢測各接口是否有數(shù)據(jù)收到,針對每個(gè)接口設(shè)計(jì)不同的檢測方法,對于以太網(wǎng)接口,檢測模塊通過循環(huán)讀取BNRY和CURR兩個(gè)指針來確定是否有數(shù)據(jù)包收到;對于CAN總線接口檢測電路,則通過檢測中斷信號,當(dāng)有中斷發(fā)生時(shí),然后判斷中斷寄存器是否為接收中斷來確定是否有數(shù)據(jù)收到;對于USB接口,同樣采用中斷方式,當(dāng)檢測到有中斷產(chǎn)生時(shí),讀取中斷寄存器是否為接收中斷來確定數(shù)據(jù)包是否收到;對于UART接口,則通過檢測接收完成信號來確認(rèn)數(shù)據(jù)包是否收到。
      狀態(tài)寄存器接收檢測電路循環(huán)檢測各接口模塊,當(dāng)任何一個(gè)接口有新的數(shù)據(jù)包收到時(shí),接收檢測模塊會修改狀態(tài)寄存器內(nèi)容以標(biāo)記是否有新的數(shù)據(jù)需要轉(zhuǎn)換到其它接口輸出,而當(dāng)數(shù)據(jù)轉(zhuǎn)換完成后,該狀態(tài)寄存器又會被清空以標(biāo)記此設(shè)備進(jìn)入空閑狀態(tài),狀態(tài)寄存器的具體控制方法為每一個(gè)接口單元對應(yīng)狀態(tài)寄存器的一位,當(dāng)任何一個(gè)接口接收數(shù)據(jù)完成后,便將除與其對應(yīng)那一位之外的其它三位置位,表示其它三個(gè)端口均有數(shù)據(jù)等待發(fā)送,當(dāng)任何一下接口把所接收到的數(shù)據(jù)發(fā)送完成后,便將該接口對應(yīng)的狀態(tài)寄存器狀態(tài)位清零。
      發(fā)送檢測電路模塊此模塊直接與狀態(tài)寄存器、FIFO控制邏輯模塊及各接口控制器相連,它不斷循環(huán)檢測狀態(tài)寄存器,一旦發(fā)現(xiàn)狀態(tài)寄存器中的某一位被置位,便開始從FIFO中讀取數(shù)據(jù),然后把數(shù)據(jù)按各接口協(xié)議格式進(jìn)行打包并控制各接口控制器將數(shù)據(jù)發(fā)送,等任何一個(gè)接口數(shù)據(jù)發(fā)送完畢后,清除該接口對應(yīng)狀態(tài)寄存器位,當(dāng)狀態(tài)寄存器全部清零后,接收檢測模塊便可以進(jìn)入繼續(xù)檢測狀態(tài)。
      FIFO控制邏輯模塊此模塊直接與FIFO(先進(jìn)行出)模塊相連,控制FIFO的讀寫操作,其內(nèi)部設(shè)置一個(gè)寫入指針,一個(gè)讀出指針,每當(dāng)有新數(shù)據(jù)到來時(shí),寫入指針自動(dòng)加一,當(dāng)增加到RAM的溢出值時(shí)自動(dòng)清零而重新計(jì)數(shù)。而讀出指針與寫入指針工作過程類似。當(dāng)讀出指針等于寫入指針時(shí),表明FIFO序列數(shù)據(jù)已經(jīng)全部讀出。FIFO結(jié)構(gòu)設(shè)計(jì)保證了數(shù)據(jù)的先入先出。
      本發(fā)明具有集成度高、功能完善、轉(zhuǎn)換速度快、應(yīng)用靈活等特點(diǎn),為以上四種通信接口相互之間數(shù)據(jù)交換提供了一種簡單、高效的解決方案。


      圖1為FPGA內(nèi)部控制邏輯結(jié)構(gòu)圖;圖2為本發(fā)明的硬件設(shè)計(jì)示意圖;圖3(a)、(b)為多功能通信接口轉(zhuǎn)換設(shè)備檢測接收模塊、數(shù)據(jù)發(fā)送模塊軟件設(shè)計(jì)流程圖。
      具體實(shí)施例方式
      下面結(jié)合附圖對本發(fā)明進(jìn)行進(jìn)一步的描述。
      1.硬件設(shè)計(jì)多功能通信接口轉(zhuǎn)換設(shè)備硬件結(jié)構(gòu)如圖2所示,電源管理模塊輸出三路電壓5V、3.3V和1.5V。其中,5V供電給各接口模塊,而3.3V和1.5V供給FPGA。此部分設(shè)計(jì)只需采用通用穩(wěn)壓芯片即可滿足應(yīng)用要求。實(shí)際5V供電采用芯片MAX6065,3.3V和1.5V供電采用芯片ASM1117-3.3和ASM1117-1.5。
      FPGA模塊采用Altera公司的低成本芯片EP1C6Q240C8,其共有5980個(gè)邏輯單元,可用IO引腳達(dá)185個(gè),存儲器有92160bit,采用1.5V給內(nèi)核供電,3.3V給IO引腳供電,此芯片內(nèi)部資源豐富,完全可滿足本設(shè)備應(yīng)用需求。
      以太網(wǎng)接口模塊主要由RJ45接口、隔離變壓器及以太網(wǎng)控制器三部分組成,網(wǎng)絡(luò)信號通過八類非屏蔽雙絞線后從RJ45接口輸入本設(shè)備,然后經(jīng)隔離變壓器濾波后進(jìn)入以太網(wǎng)控制器,隔離變壓器采用20F001,以太網(wǎng)控制器選用Realtek公司生產(chǎn)的一種高度集成的、全面支持IEEE802.3標(biāo)準(zhǔn)的以太網(wǎng)控制芯片RTL8019AS。硬件具體連接時(shí)RTL8019的IOCS16B引腳通過一個(gè)27kΩ下拉電阻接成低電平,使RTL8019AS工作于8bytes數(shù)據(jù)傳輸方式,JP接成高電平使RTL8019AS工作于跳線工作模式,IORB、IOWB直接與FPGA相連,RTL8019AS共有20根地址線,其中只用到SA0~SA4,SA8,SA9,其余全部接地。數(shù)據(jù)線SD0~SD7與FPGA直接相連。
      CAN總線接口模塊主要由CAN通訊控制器SJA1000、CAN總線收發(fā)器82C250組成,SJA1000的AD0-AD7、CS、WR、RD、ALE分別與FPGA模塊的對應(yīng)引腳相連,INT也直接連接到FPGA的一個(gè)引腳,F(xiàn)PGA模塊通過中斷方式與SJA1000進(jìn)行數(shù)據(jù)交換。
      USB接口模塊主要采用Philips公司PDIUSBD12芯片,使用6M晶振提供時(shí)鐘,RESET_N腳增加復(fù)位電路以使芯片可靠復(fù)位,D+和D-信號分別接1.5MΩ的下拉和上拉電阻降低噪聲干擾。為提高系統(tǒng)穩(wěn)定性PDIUSBD12的CLKOUT沒有使用,PDIUSBD12通過ALE引腳的內(nèi)部邏輯產(chǎn)生選通信號以區(qū)別并行總線上傳輸?shù)男畔⑹敲钸€是數(shù)據(jù),一個(gè)奇數(shù)地址表示往PDIUSBD12寫入命令,一個(gè)偶數(shù)地址表示讀/寫數(shù)據(jù),PDIUSBD12的INT_N引腳直接接FPGA,以便FPGA檢測其中斷信號。
      RS232接口模塊主要包括一個(gè)UART(通用異步收發(fā))控制器和一個(gè)電平轉(zhuǎn)換芯片,其中電平轉(zhuǎn)換采用MAX3232芯片,將RS232電平轉(zhuǎn)換為TTL電平后連接到UART控制器上,UART控制器沒有對應(yīng)的專用控制芯片,而通過軟件編程使其集成在FPGA內(nèi)部實(shí)現(xiàn)。具體方法為,首先設(shè)計(jì)一個(gè)波特率發(fā)生器,將FPGA系統(tǒng)時(shí)鐘進(jìn)行分頻,本設(shè)備采用波特率為9600bps,當(dāng)然,根據(jù)實(shí)際需要,此波特率可以通過軟件輕易修改;然后設(shè)計(jì)UART發(fā)送模塊,這部分為一狀態(tài)機(jī),在波特率時(shí)鐘的控制下實(shí)現(xiàn)各狀態(tài)的轉(zhuǎn)移,具體是將待發(fā)送數(shù)據(jù)通過并串轉(zhuǎn)換然后添加一個(gè)起始位和一個(gè)停止位,并隨著各個(gè)狀態(tài)的改變而逐位輸出到TXD引腳;最后設(shè)計(jì)UART接收模塊,此部分也為一個(gè)狀態(tài)機(jī),在檢測到起始位后循環(huán)讀取RXD引腳電位,直到接收到停止位為止,接收完成后,發(fā)出接收完成信號,以通知相關(guān)數(shù)據(jù)處理模塊對所接收數(shù)據(jù)進(jìn)行處理。
      2.軟件設(shè)計(jì)多功能通信接口轉(zhuǎn)換設(shè)備軟件設(shè)計(jì)流程如圖3所示,上電后,F(xiàn)PGA首先對各接口模塊進(jìn)行復(fù)位和初始化操作,其中,SJA1000被配置為BasicCAN模式,而PDIUSBD12配置為模式0,非同步傳輸模式。初始化完成后,進(jìn)入接收循環(huán)檢測狀態(tài),檢測各接口有無數(shù)據(jù)收到,如沒有則繼續(xù)檢測,如有,則從相應(yīng)接口模塊讀取數(shù)據(jù),并按照該接口協(xié)議該數(shù)據(jù)包進(jìn)行解析,確認(rèn)為數(shù)據(jù)后,則將該數(shù)據(jù)讀入FIFO緩存,并同時(shí)改變狀態(tài)寄存器內(nèi)容,以通知發(fā)送模塊將該數(shù)據(jù)從轉(zhuǎn)換到其它接口輸出,接著循環(huán)檢測狀態(tài)寄存器的值,直到數(shù)據(jù)已全部轉(zhuǎn)換輸出到其它各接口后,再次進(jìn)入接收循環(huán)檢測狀態(tài),等待新的數(shù)據(jù)的到來。
      而發(fā)送模塊則不斷循環(huán)檢測狀態(tài)寄存器,查看是否接收到新的數(shù)據(jù),若有,則根據(jù)狀態(tài)寄存器內(nèi)容將FIFO中的數(shù)據(jù)寫入到相應(yīng)各接口模塊,并啟動(dòng)發(fā)送,等待發(fā)送完成后,清空相應(yīng)接口模塊對應(yīng)的狀態(tài)寄存器,使該設(shè)備繼續(xù)進(jìn)入接收檢測狀態(tài),等待下一次數(shù)據(jù)的到來。
      權(quán)利要求
      1.一種基于FPGA的多功能通信接口轉(zhuǎn)換設(shè)備,其特征在于以FPGA為核心控制器件,以以太網(wǎng)接口、CAN接口、USB接口和RS232接口構(gòu)成外圍電路,通過FPGA對各接口進(jìn)行控制,實(shí)現(xiàn)了四種接口之間的數(shù)據(jù)交換,具體硬件模塊包括電源管理模塊,F(xiàn)PGA模塊,以太網(wǎng)接口模塊,CAN接口模塊,USB接口模塊和RS232接口模塊,通過對FPGA進(jìn)行編程,實(shí)現(xiàn)接收檢測,及FIFO控制;電源管理模塊為整個(gè)系統(tǒng)各模塊提供電源,F(xiàn)PGA模塊是整個(gè)系統(tǒng)的核心控制模塊,它直接與四個(gè)接口模塊相連,設(shè)備在工作時(shí),F(xiàn)PGA模塊負(fù)責(zé)從其中一個(gè)接口提取數(shù)據(jù),并將所得數(shù)據(jù)轉(zhuǎn)換輸出到其它接口,以太網(wǎng)接口模塊在FPGA控制下接收以太網(wǎng)數(shù)據(jù)包或者將待發(fā)送的數(shù)據(jù)打包并發(fā)給以太網(wǎng)絡(luò);CAN接口模塊在FPGA控制下接收CAN總線數(shù)據(jù)或者將待發(fā)送的數(shù)據(jù)按CAN協(xié)議發(fā)送到CAN總線上;USB接口模塊在FPGA的控制下,從USB數(shù)據(jù)線中讀取數(shù)據(jù)或?qū)⒋l(fā)送數(shù)據(jù)發(fā)送到USB數(shù)據(jù)線路中;RS232接口模塊,該模塊是通過對FPGA進(jìn)行編程,在FPGA內(nèi)部實(shí)現(xiàn),接收RS232數(shù)據(jù)或者將數(shù)據(jù)轉(zhuǎn)換成串行RS232格式輸出。
      2.根據(jù)權(quán)利要求1所述的基于FPGA的多功能通信接口轉(zhuǎn)換設(shè)備的實(shí)現(xiàn)方法,其特征在于系統(tǒng)上電后,F(xiàn)PGA對各接口模塊進(jìn)行復(fù)位和初始化操作,然后進(jìn)入接收循環(huán)檢測狀態(tài),當(dāng)任何一個(gè)接口有新的數(shù)據(jù)包收到時(shí),接收檢測模塊修改狀態(tài)寄存器內(nèi)容并標(biāo)記,發(fā)送檢測模塊判斷狀態(tài)寄存器以確定是否有新的數(shù)據(jù)需要轉(zhuǎn)換到其它接口,數(shù)據(jù)轉(zhuǎn)換完成后,狀態(tài)寄存器標(biāo)記被清空,F(xiàn)IFO控制邏輯模塊直接與FIFO模塊相連,控制FIFO的讀寫操作,其內(nèi)部設(shè)置一個(gè)寫入指針,一個(gè)讀出指針,有新數(shù)據(jù)到來時(shí),寫入指針自動(dòng)加一;發(fā)送模塊則不斷循環(huán)檢測狀態(tài)寄存器,查看是否接收到新的數(shù)據(jù),若有,則根據(jù)狀態(tài)寄存器內(nèi)容將FIFO中的數(shù)據(jù)寫入到相應(yīng)各接口模塊,并啟動(dòng)發(fā)送,等待發(fā)送完成后,清空相應(yīng)接口模塊對應(yīng)的狀態(tài)寄存器,使該設(shè)備繼續(xù)進(jìn)入接收檢測狀態(tài);FPGA控制模塊控制各通信接口模塊的數(shù)據(jù)收發(fā),實(shí)現(xiàn)了各接口對應(yīng)的控制器模塊、接收檢測模塊、FIFO控制模塊、FIFO模塊、發(fā)送檢測電路模塊和狀態(tài)寄存器模塊的功能。
      全文摘要
      一種基于FPGA的多功能通信接口轉(zhuǎn)換設(shè)備,主要包括以太網(wǎng)接口、CAN接口、USB接口和RS232接口四個(gè)通信接口模塊和一個(gè)FPGA控制模塊,通過FPGA對四個(gè)接口模塊進(jìn)行控制,使得從其中一個(gè)接口收到的數(shù)據(jù)能夠及時(shí)地轉(zhuǎn)換輸出到其它接口,從而實(shí)現(xiàn)四種不同接口之間的數(shù)據(jù)通信。本發(fā)明具有集成度高、功能完善、轉(zhuǎn)換速度快、應(yīng)用靈活等特點(diǎn),為以上四種通信接口相互之間數(shù)據(jù)交換提供了一種簡單、高效的解決方案。
      文檔編號H04L12/56GK101087235SQ20071003537
      公開日2007年12月12日 申請日期2007年7月17日 優(yōu)先權(quán)日2007年7月17日
      發(fā)明者鄧宏貴, 李志堅(jiān), 吳讓亮 申請人:中南大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1