[發(fā)明專利]一種基于FSMC與FPGA的UART拓展方法有效
| 申請?zhí)枺?/td> | 202010627548.4 | 申請日: | 2020-07-02 |
| 公開(公告)號(hào): | CN111913899B | 公開(公告)日: | 2022-02-08 |
| 發(fā)明(設(shè)計(jì))人: | 蔡曉軍;董廣順;蔡文浩;劉鵬;劉忠洋;靳文科;張志宇;陸思奇 | 申請(專利權(quán))人: | 山東大學(xué) |
| 主分類號(hào): | G06F13/38 | 分類號(hào): | G06F13/38;G06F13/24;G06F13/28 |
| 代理公司: | 濟(jì)南圣達(dá)知識(shí)產(chǎn)權(quán)代理有限公司 37221 | 代理人: | 李琳 |
| 地址: | 266237 *** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 fsmc fpga uart 拓展 方法 | ||
本公開提供了一種基于FSMC與FPGA的UART拓展方法,在STM32上將UART協(xié)議轉(zhuǎn)換為FSMC協(xié)議;在FPGA上將FSMC協(xié)議轉(zhuǎn)換為UART數(shù)據(jù),以完成與FSMC的通信;在FPGA上將普通數(shù)據(jù)轉(zhuǎn)換為UART協(xié)議,使數(shù)據(jù)能夠通過拓展出的UART接口完成與外部設(shè)備間的數(shù)據(jù)收發(fā)。本公開過能夠面向多UART應(yīng)用,以FPGA的豐富可重構(gòu)邏輯資源和I/O資源支持STM32的拓展性,使開發(fā)人員能夠更靈活的使用更多UART接口而不必改變編程方式。
技術(shù)領(lǐng)域
本公開屬于嵌入式設(shè)計(jì)與通信技術(shù)領(lǐng)域,涉及一種基于FSMC與FPGA的UART拓展方法。
背景技術(shù)
本部分的陳述僅僅是提供了與本公開相關(guān)的背景技術(shù)信息,不必然構(gòu)成在先技術(shù)。
在嵌入式領(lǐng)域,由于受到功耗、成本、體積和通用性等方面的限制,芯片和片上系統(tǒng)集成的通信接口往往十分有限。以常見的Stm32F103系列為例,該系列采用了ArmCortex-M3架構(gòu),芯片上的通信接口只有5個(gè)UART、3個(gè)SPI、2個(gè)I2C、1個(gè)CAN總線和1個(gè)USB。當(dāng)需要大量通信接口的應(yīng)用出現(xiàn)時(shí),普通芯片已有的接口就無法滿足需要,常規(guī)的做法有以下幾種:
1、在嵌入式系統(tǒng)中加入更多微控制器,但這種做法成本較高且開發(fā)復(fù)雜度會(huì)隨著微控制器芯片數(shù)量的增加而提升。
2、采用FPGA公司提供的異構(gòu)計(jì)算平臺(tái),基于FPGA使用其現(xiàn)有IP拓展通訊接口。但異構(gòu)計(jì)算平臺(tái)如Xilinx的Zynq系列和Intel的SocFPGA成本和功耗更高且ARM核的型號(hào)基本固定,導(dǎo)致難以滿足可持續(xù)性和靈活性的要求。
3、采用專用通信協(xié)議轉(zhuǎn)換芯片,如SPI轉(zhuǎn)UART芯片。但SPI資源有限,并且對(duì)于開發(fā)人員而言,更希望開發(fā)多UART應(yīng)用時(shí)面向的是無差別的UART,而不需要考慮普通UART和SPI轉(zhuǎn)UART的區(qū)別。
發(fā)明內(nèi)容
本公開為了解決上述問題,提出了一種基于FSMC與FPGA的UART拓展方法,本公開經(jīng)過三次協(xié)議轉(zhuǎn)換,能夠解決STM32 UART外設(shè)數(shù)量不足的問題。
根據(jù)一些實(shí)施例,本公開采用如下技術(shù)方案:
一種基于FSMC與FPGA的UART拓展方法,包括以下步驟:
在STM32上將UART協(xié)議轉(zhuǎn)換為FSMC協(xié)議;
在FPGA上將FSMC協(xié)議轉(zhuǎn)換為UART數(shù)據(jù),以完成與FSMC的通信;
在FPGA上將普通數(shù)據(jù)轉(zhuǎn)換為UART協(xié)議,使數(shù)據(jù)能夠通過拓展出的UART接口完成與外部設(shè)備間的數(shù)據(jù)收發(fā)。
作為可選擇的實(shí)施方式,還包括拓展出的UART接口輪詢步驟,具體包括:設(shè)置兩個(gè)標(biāo)志位,一個(gè)是寫FIFO為空標(biāo)志,一個(gè)是讀BRAM非空標(biāo)志,當(dāng)要將數(shù)據(jù)發(fā)送到FPGA時(shí),STM32輪詢檢查寫FIFO空標(biāo)志,若為1,則發(fā)送數(shù)據(jù)并將標(biāo)志位置0,F(xiàn)PGA接收到數(shù)據(jù)后通過GPIO將標(biāo)志位置1,STM32輪詢檢查寫FIFO空標(biāo)志,為0則等待發(fā)送;當(dāng)FPGA上接收到外部設(shè)備發(fā)送的數(shù)據(jù)時(shí),通過GPIO將讀BRAM非空標(biāo)志位置1,STM32處理器輪詢訪問標(biāo)志位,當(dāng)發(fā)現(xiàn)讀BRAM非空標(biāo)志位為1時(shí),發(fā)送UART讀請求讀取存放在FPGA中的數(shù)據(jù),讀取完成后將讀BRAM非空標(biāo)志位置0。
作為可選擇的實(shí)施方式,還包括STM32中斷過程,具體包括:
在STM32將其中一個(gè)EXTI外部中斷引入到FPGA上,F(xiàn)PGA通過設(shè)置與外部中斷相連的寄存器引發(fā)STM32中斷。
作為進(jìn)一步的限定,當(dāng)STM32通過中斷方式發(fā)送數(shù)據(jù)時(shí),每發(fā)送1個(gè)字節(jié)數(shù)據(jù)就離開發(fā)送函數(shù)去執(zhí)行其他任務(wù),F(xiàn)PGA每接收到1個(gè)字節(jié)數(shù)據(jù),設(shè)置寄存器引發(fā)STM32中斷,STM32在中斷中進(jìn)入發(fā)送函數(shù)繼續(xù)發(fā)送1字節(jié)數(shù)據(jù),并將中斷失效,如此循環(huán)直至發(fā)送結(jié)束。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于山東大學(xué),未經(jīng)山東大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010627548.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于微控制器和FPGA的并行通信方法
- 基于STM32的顯示屏驅(qū)動(dòng)系統(tǒng)
- 一種高精度多線程測量頻率的系統(tǒng)
- 一種基于ARM的嵌入式結(jié)構(gòu)的實(shí)時(shí)控制器
- 基于FSMC的多步進(jìn)電機(jī)驅(qū)動(dòng)方法、電路及裝置
- 基于FSMC的多步進(jìn)電機(jī)驅(qū)動(dòng)電路及裝置
- 一種多通道數(shù)據(jù)處理FPGA應(yīng)用模塊
- 一種基于FSMC與FPGA的UART拓展方法
- 一種基于FSMC總線的超多數(shù)量以太網(wǎng)芯片擴(kuò)展電路
- 一種基于FSMC總線的超多數(shù)量以太網(wǎng)芯片擴(kuò)展電路
- 通用異步收發(fā)/通用串行總線轉(zhuǎn)換裝置
- 一種機(jī)場氣象通信控制板
- 用于集中器和采集器的UART接口復(fù)用擴(kuò)展裝置
- 基于FPGA的UART字節(jié)同步的實(shí)現(xiàn)方法及實(shí)現(xiàn)裝置
- 一種UART通信系統(tǒng)、方法、設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)通訊裝置、控制器及其數(shù)據(jù)通訊方法
- 一種UART通信系統(tǒng)及車載設(shè)備
- 實(shí)現(xiàn)UART間通訊的系統(tǒng)
- UART網(wǎng)關(guān)數(shù)據(jù)傳輸方法
- 一種基于可編程邏輯器件的UART接口擴(kuò)展電路





