串行外設(shè)接口spi總線電路、實(shí)現(xiàn)方法以及電子設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子電路技術(shù)領(lǐng)域,具體涉及串行外設(shè)接口 SPI總線電路、實(shí)現(xiàn)方法以及電子設(shè)備。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)的電路中,系統(tǒng)的配置信息和調(diào)試升級(jí)程序都是離線燒錄模式,這種離線燒錄模式需要大量的工具設(shè)備配合完成燒錄,并需要在信息燒錄完成后斷電再與數(shù)據(jù)讀取設(shè)備等連接,操作復(fù)雜、成本較高;而在線燒錄模式相比離線燒錄模式成本低,不需要斷電連接,操作簡(jiǎn)單,但是在線燒錄模式存在數(shù)據(jù)存儲(chǔ)和讀取的數(shù)據(jù)沖突問題以及后期調(diào)試升級(jí)不方便的問題,因此亟需一種能夠解決在線燒錄模式中數(shù)據(jù)沖突以及調(diào)試升級(jí)不方便問題的技術(shù)方案。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供了一種串行外設(shè)接口 SPI總線電路、實(shí)現(xiàn)方法以及電子設(shè)備以解決在線燒錄模式數(shù)據(jù)沖突以及調(diào)試升級(jí)不方便的問題。
[0004]為達(dá)到上述目的,本發(fā)明提供了一種串行外設(shè)接口 SPI總線電路,該SPI總線電路包括:作為主設(shè)備的第一主機(jī)和第二主機(jī)以及作為從設(shè)備的一從機(jī);
[0005]第一主機(jī)、第二主機(jī)以及一從機(jī)上均設(shè)有SPI總線接口,第一主機(jī)的SPI總線接口、第二主機(jī)的SPI總線接口與一從機(jī)的SPI總線接口之間連接;
[0006]第一主機(jī)上設(shè)有控制接口,第二主機(jī)上設(shè)有控制引腳,第一主機(jī)經(jīng)控制接口向第二主機(jī)的控制引腳發(fā)送控制指令,以實(shí)現(xiàn)第一主機(jī)和第二主機(jī)分時(shí)復(fù)用一從機(jī)的SPI總線接口。
[0007]可選地,第一主機(jī)上還設(shè)有用于連接USB連接器的USB接口 ;
[0008]第一主機(jī),用于通過USB接口接收USB連接器傳輸來的調(diào)試升級(jí)指令和調(diào)試升級(jí)程序,并根據(jù)調(diào)試升級(jí)指令將調(diào)試升級(jí)程序?qū)懭霃臋C(jī)中。
[0009]可選地,第一主機(jī)為微控制單元MCU ;
[0010]第二主機(jī)為現(xiàn)場(chǎng)可編程門陣列FPGA ;
[0011]一從機(jī)為隊(duì)列串行外設(shè)接口閃存QSPI Flash ;
[0012]第一主機(jī)MCU的控制接口為I/O 口 ;
[0013]第二主機(jī)FPGA的控制引腳為被動(dòng)配置模式下的復(fù)位引腳。
[0014]可選地,第一主機(jī)MCU,在接收到調(diào)試升級(jí)指令后,經(jīng)I/O 口向第二主機(jī)FPGA的被動(dòng)配置模式下的復(fù)位引腳發(fā)送控制指令,使得第二主機(jī)FPGA暫停訪問從機(jī)QSPI Flash ;以及,
[0015]在檢測(cè)到調(diào)試升級(jí)程序?qū)懭胪瓿傻闹噶詈?,?jīng)I/O 口向第二主機(jī)FPGA的被動(dòng)配置模式下的復(fù)位引腳發(fā)送控制指令,同時(shí)將第一主機(jī)的SPI總線接口掛起,使得第二主機(jī)FPGA恢復(fù)訪問從機(jī)QSPI Flasho
[0016]可選地,第一主機(jī)經(jīng)I/O 口向第二主機(jī)FPGA的被動(dòng)配置模式下的復(fù)位引腳發(fā)送將該被動(dòng)配置模式下的復(fù)位引腳置為低電平的控制指令,使得第二主機(jī)FPGA暫停訪問從機(jī)QSPI Flash;以及,
[0017]第一主機(jī)經(jīng)I/O 口向第二主機(jī)FPGA的被動(dòng)配置模式下的復(fù)位引腳發(fā)送將該被動(dòng)配置模式下的復(fù)位引腳置為高電平的控制指令,同時(shí)將第一主機(jī)的SPI總線接口掛起,使得第二主機(jī)FPGA恢復(fù)訪問從機(jī)QSPI Flash。
[0018]可選地,第一主機(jī)MCU,用于將獲取的調(diào)試升級(jí)程序經(jīng)SPI總線接口寫入從機(jī)QSPIFlash ;
[0019]從機(jī)QSPI Flash,用于存儲(chǔ)調(diào)試升級(jí)程序;
[0020]第二主機(jī)FPGA,用于經(jīng)SPI總線接口從機(jī)QSPI Flash中讀取調(diào)試升級(jí)程序。
[0021]根據(jù)本發(fā)明另一個(gè)方面,提供了一種電子設(shè)備,該電子設(shè)備包括:如本發(fā)明一個(gè)方面所述的SPI總線電路。
[0022]根據(jù)本發(fā)明又一個(gè)方面,提供了一種SPI總線電路的實(shí)現(xiàn)方法,該方法包括:
[0023]在電路中選取第一主機(jī)和第二主機(jī)作為主設(shè)備,選取一從機(jī)作為從設(shè)備;
[0024]在第一主機(jī)、第二主機(jī)以及一從機(jī)上設(shè)置SPI總線接口,將第一主機(jī)的SPI總線接口、第二主機(jī)的SPI總線接口與一從機(jī)的SPI總線接口之間連接起來;
[0025]在第一主機(jī)上設(shè)置控制接口,在第二主機(jī)上設(shè)置控制引腳,利用第一主機(jī)的控制接口向第二主機(jī)的控制引腳發(fā)送控制指令,以實(shí)現(xiàn)第一主機(jī)和第二主機(jī)分時(shí)復(fù)用一從機(jī)的SPI總線接口。
[0026]可選地,該方法還包括:在第一主機(jī)上設(shè)置用于連接USB連接器的USB接口 ;
[0027]利用第一主機(jī),通過USB接口接收USB連接器傳輸來的調(diào)試升級(jí)指令和調(diào)試升級(jí)程序,并根據(jù)調(diào)試升級(jí)指令將調(diào)試升級(jí)程序?qū)懭霃臋C(jī)中。
[0028]可選地,選取微控制單元MCU作為第一主機(jī);
[0029]選取現(xiàn)場(chǎng)可編程門陣列FPGA作為第二主機(jī);
[0030]選取隊(duì)列串行外設(shè)接口閃存QSPI Flash作為一從機(jī);
[0031]以及,選取I/O 口為第一主機(jī)MCU的控制接口 ;
[0032]選取被動(dòng)配置模式下的復(fù)位引腳為第二主機(jī)FPGA的控制引腳。
[0033]本發(fā)明的有益效果是:本發(fā)明的技術(shù)方案通過將作為主設(shè)備的第一主機(jī)和第二主機(jī)以及作為從設(shè)備的一從機(jī)通過SPI總線接口連接起來,同時(shí)將作為主設(shè)備的第一主機(jī)和第二主機(jī)通過控制接口和控制引腳連接起來,從而可以使第一主機(jī)通過控制接口和控制引腳向第二主機(jī)發(fā)送控制指令,來實(shí)現(xiàn)兩個(gè)主機(jī)分時(shí)復(fù)用一從機(jī)的SPI總線接口,解決了程序在線燒錄時(shí)的數(shù)據(jù)沖突問題,第一主機(jī)或者第二主機(jī)均可與從機(jī)通信實(shí)現(xiàn)數(shù)據(jù)的傳輸和存儲(chǔ),另外,在線燒錄也省略了離線燒錄的燒錄設(shè)備,節(jié)省了成本,增強(qiáng)了系統(tǒng)的穩(wěn)定性。
【附圖說明】
[0034]圖1是本發(fā)明一個(gè)實(shí)施例的一種SPI總線電路的結(jié)構(gòu)示意圖;
[0035]圖2是本發(fā)明又一個(gè)實(shí)施例的一種SPI總線電路的結(jié)構(gòu)示意圖;
[0036]圖3是本發(fā)明一個(gè)實(shí)施例的一種SPI總線電路實(shí)現(xiàn)方法流程圖;
[0037]圖4是本發(fā)明一個(gè)實(shí)施例的一種電子設(shè)備的結(jié)構(gòu)不意圖。
【具體實(shí)施方式】
[0038]本發(fā)明的核心思想是:針對(duì)現(xiàn)有技術(shù)中存在的問題,利用串行外設(shè)接口SPI (Serial Peripheral Interface)總線的特點(diǎn),提出了一種基于SPI總線的分時(shí)復(fù)用機(jī)制,解決兩主一從系統(tǒng)中存在的數(shù)據(jù)讀取和存儲(chǔ)的沖突問題,對(duì)數(shù)據(jù)流向進(jìn)行有效管理,同時(shí)方便系統(tǒng)后期升級(jí)和調(diào)試。SPI總線是一種高速的、全雙工、同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為電路板的布局上節(jié)省空間,簡(jiǎn)單易用。分時(shí)復(fù)用是指第一時(shí)刻由第一主機(jī)訪問一從機(jī)進(jìn)行數(shù)據(jù)的寫入工作,第二時(shí)刻由第二主機(jī)訪問一從機(jī)進(jìn)行數(shù)據(jù)的讀取工作,兩個(gè)主機(jī)分時(shí)復(fù)用同一從機(jī),從而避免了數(shù)據(jù)沖突問題。具體實(shí)施時(shí)可由第一主機(jī)來控制實(shí)現(xiàn)訪問切換。
[0039]圖1是本發(fā)明一個(gè)實(shí)施例的一種SPI總線電路的結(jié)構(gòu)示意圖,參見圖1,本發(fā)明一個(gè)實(shí)施例的這種SPI總線電路100包括:
[0040]作為主設(shè)備的第一主機(jī)101和第二主機(jī)102以及作為從設(shè)備的一從機(jī)103 ;
[0041]第一主機(jī)101、第二主機(jī)102以及一從機(jī)103上均設(shè)有SPI總線接口,第一主機(jī)101的SPI總線接口、第二主機(jī)102的SPI總線接口與一從機(jī)103的SPI總線接口之間連接;
[0042]第一主機(jī)101上設(shè)有控制接口,第二主機(jī)102上設(shè)有控制引腳,第一主機(jī)101經(jīng)控制接口向第二主機(jī)102的控制引腳發(fā)送控制指令,以實(shí)現(xiàn)第一主機(jī)101和第二主機(jī)102分時(shí)復(fù)用一從機(jī)103的SPI總線接口。
[0043]在本實(shí)施例中,第一主機(jī)101為微控制單元M⑶;第二主機(jī)102為現(xiàn)場(chǎng)可編程門陣列FPGA ;其中,主機(jī)和從機(jī)的選擇是考慮到是否提供時(shí)鐘信號(hào),提供SPI串行時(shí)鐘的SPI設(shè)備作為主設(shè)備或主機(jī),其他設(shè)備則作為SPI從機(jī)或從設(shè)備。第一主機(jī)MCU的控制接口為I/O口 ;第二主機(jī)FPGA的控制引腳為被動(dòng)配置模式下的復(fù)位引腳。通常,F(xiàn)PGA器件有三類配置方式:主動(dòng)配置方式(AS)、被動(dòng)配置方式(PS)和(JTAG)配置方式,PS(passive serial)模式即被動(dòng)串行的加載方式,在這個(gè)模式下,F(xiàn)PGA被動(dòng)的等待配置起始信號(hào),然后接受配置文件,完成配置。即每次在FPGA上電時(shí),由外部器件完成FPGA的配置。在本實(shí)施例中,將第二主機(jī)FPGA的PS Reset引腳即被動(dòng)配置模式下的復(fù)位引腳作為控制引腳,通過該P(yáng)S Reset引腳接收第一主機(jī)MCU的I/O輸出的控制指令,確定訪問從機(jī)的時(shí)段。
[0044]一從機(jī)103為隊(duì)列串行外設(shè)接口閃存QSPI Flash,QSPI是在SPI接口協(xié)議的基礎(chǔ)上通過增加隊(duì)列傳輸機(jī)制而形成的接口協(xié)議,SPI只有I個(gè)8位的發(fā)送數(shù)據(jù)寄存器,所以每次最多只能準(zhǔn)備一個(gè)字節(jié)的待發(fā)送數(shù)據(jù),而QSPI擁有16個(gè)QSPI傳輸控制組的傳輸隊(duì)列,所以每次最多可以準(zhǔn)備16個(gè)待傳輸?shù)臄?shù)據(jù)。通過QSPI用戶可以一次性的傳輸包含多達(dá)16個(gè)8位或16位數(shù)據(jù)的傳輸隊(duì)列,極大的提高了傳輸效率。
[0045]需要說明的是,本發(fā)明一個(gè)實(shí)施例的采用的是QSPI Flash,但在本發(fā)明的其他實(shí)施例中,可以選擇SPI Flash或者其他ROM存儲(chǔ)器作為從機(jī),應(yīng)當(dāng)根據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)容量以及主機(jī)的具體使用需求來進(jìn)行選擇,對(duì)此不作限制。
[0046]在圖1所示的電路中,第一主機(jī)MCU通過SPI總線將系統(tǒng)配置信息燒寫到從機(jī)QSPI Flash中,第二主機(jī)FPGA通過SPI總線訪問從機(jī)QSPI Flash來讀取存儲(chǔ)器中的系統(tǒng)配置信息,第一主機(jī)MCU通過控制第二主機(jī)FPGA的控制引腳PS RESET來實(shí)現(xiàn)兩主機(jī)通過SPI總線分時(shí)復(fù)用訪問從機(jī)QSPI Flash的SPI總線接口的功能,解決了第一主機(jī)和第二主機(jī)同時(shí)訪問從機(jī)的數(shù)據(jù)沖突問題,也節(jié)省了硬件成本并提高了系統(tǒng)的穩(wěn)定性。
[0047]圖2是本發(fā)明又一個(gè)實(shí)施例的一種SPI總線電路的結(jié)構(gòu)示意圖;參見圖2,這種SPI總線電路100包括:作為主設(shè)備的第一主機(jī)101和第二主機(jī)102以及作為從設(shè)備的一從機(jī)103 ;
[0048]第一主機(jī)101上還設(shè)有用于連接USB連接器的USB接口 ;
[0049]第一主機(jī)101用于通過USB接口接收USB連接器傳輸來的調(diào)試升級(jí)指