一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置及其方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電能質(zhì)量檢測裝置中的單片機(jī)數(shù)據(jù)共享領(lǐng)域,特別是一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置及其方法。
【背景技術(shù)】
[0002]目前應(yīng)用在電能質(zhì)量檢測裝置中的兩個單片機(jī)間數(shù)據(jù)共享主要有兩種方法:1.串行總線實現(xiàn)單片機(jī)間數(shù)據(jù)通訊,如UART,SPI總線以及IIC總線等;2.利用雙口 RAM實現(xiàn)單片機(jī)間數(shù)據(jù)共享。利用以上兩種方法實現(xiàn)數(shù)據(jù)通訊主要存在以下的問題和不足:
利用串行總線實現(xiàn)單片機(jī)間數(shù)據(jù)通訊,需要采用完善而且復(fù)雜的通訊協(xié)議和收發(fā)流程來保證數(shù)據(jù)的完整性和可靠性,軟件實現(xiàn)較為復(fù)雜且較為占用單片機(jī)的運(yùn)算資源。
[0003]利用雙口 RAM實現(xiàn)單片機(jī)間數(shù)據(jù)通訊和數(shù)據(jù)共享的方法需要采用額外的雙口 RAM硬件資源,雙口 RAM硬件屬于特殊1C器件,器件價格較貴,勢必造成硬件成本增加。
[0004]利用雙口 RAM實現(xiàn)單片機(jī)間數(shù)據(jù)通訊和數(shù)據(jù)共享的方法由于雙口 RAM容量較小無法滿足大數(shù)據(jù)量共享的需求。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明的目的是提出一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置及其方法,能夠簡單有效的實現(xiàn)兩個單片機(jī)之間的大數(shù)據(jù)量共享。
[0006]本發(fā)明的裝置采用以下方案實現(xiàn):一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置,具體包括設(shè)置于電能質(zhì)量檢測裝置中的第一單片機(jī)、第二單片機(jī)、SPI Flash ;所述第一單片機(jī)的狀態(tài)輸出口連接至所述第二單片機(jī)的狀態(tài)輸入口,所述第一單片機(jī)的狀態(tài)輸入口連接至所述第二單片機(jī)的狀態(tài)輸出口,所述第二單片機(jī)的SPI接口與所述第一單片機(jī)的SPI接口并聯(lián)之后連接至所述SPI Flash的SPI接口 ;所述SPI Flash作為所述第一單片機(jī)與所述第二單片機(jī)的數(shù)據(jù)共享緩存。
[0007]進(jìn)一步地,所述第一單片機(jī)的狀態(tài)輸出口與所述第一單片機(jī)的狀態(tài)輸入口均為第一單片機(jī)的I/O接口。
[0008]進(jìn)一步地,所述第二單片機(jī)的狀態(tài)輸出口與所述第二單片機(jī)的狀態(tài)輸入口均為第二單片機(jī)的I/O接口。
[0009]本發(fā)明的方法采用以下方案實現(xiàn):一種基于上文所述的電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置的方法,具體為:當(dāng)所述第一單片機(jī)要對所述SPI Flash進(jìn)行讀寫操作時,進(jìn)行以下步驟:
步驟S1:判斷第一單片機(jī)的狀態(tài)輸入口的狀態(tài)是否為1,若為1,則進(jìn)入步驟S2 ;若為0則進(jìn)入步驟S4 ;
步驟S2:將第一單片機(jī)的狀態(tài)輸出口的狀態(tài)置0,之后所述第一單片機(jī)對所述SPIFlash進(jìn)行讀寫操作; 步驟S3:所述第一單片機(jī)對所述SPI Flash進(jìn)行的讀寫操作結(jié)束后,將第一單片機(jī)的狀態(tài)輸入口的狀態(tài)置1 ;
步驟S4:所述第一單片機(jī)不對所述SPI Flash進(jìn)行讀寫操作,并返回步驟S1。
[0010]進(jìn)一步的,所述第一單片機(jī)的狀態(tài)輸入口狀態(tài)為1表示此時所述第二單片機(jī)沒有對所述SPI Flash進(jìn)行讀寫操作,所述第一單片機(jī)的狀態(tài)輸入口狀態(tài)為0表示此時所述第二單片機(jī)正在對所述SPI Flash進(jìn)行讀寫操作。
[0011]同理,當(dāng)所述第二單片機(jī)要對所述SPI Flash進(jìn)行讀寫操作時,進(jìn)行以下步驟: 步驟S1:判斷第二單片機(jī)的狀態(tài)輸入口的狀態(tài)是否為1,若為1,則進(jìn)入步驟S2 ;若為0
則進(jìn)入步驟S4 ;
步驟S2:將第二單片機(jī)的狀態(tài)輸出口的狀態(tài)置0,之后所述第二單片機(jī)對所述SPIFlash進(jìn)行讀寫操作;
步驟S3:所述第二單片機(jī)對所述SPI Flash進(jìn)行的讀寫操作結(jié)束后,將第一單片機(jī)的狀態(tài)輸入口的狀態(tài)置1 ;
步驟S4:所述第二單片機(jī)不對所述SPI Flash進(jìn)行讀寫操作,并返回步驟S1。
[0012]進(jìn)一步地,所述第二單片機(jī)的狀態(tài)輸入口狀態(tài)為1表示此時所述第一單片機(jī)沒有對所述SPI Flash進(jìn)行讀寫操作,所述第二單片機(jī)的狀態(tài)輸入口狀態(tài)為0表示此時所述第一單片機(jī)正在對所述SPI Flash進(jìn)行讀寫操作。
[0013]與現(xiàn)有技術(shù)相比,本發(fā)明有以下有益效果:本發(fā)明能夠握手信號通訊口的狀態(tài)將單片機(jī)的外部存儲器接口在高阻態(tài)和外部存儲器讀寫狀態(tài)間切換,進(jìn)而確保一個時刻只有一個單片機(jī)在訪問SPI Flash。同時不需要有復(fù)雜的通訊協(xié)議和收發(fā)流程來保證數(shù)據(jù)的完整性和可靠性,也不需要占用單片機(jī)的運(yùn)算資源,不需要造成硬件成本增加。
【附圖說明】
[0014]圖1為本發(fā)明的裝置原理示意圖。
[0015]圖2為本發(fā)明的方法流程示意圖。
【具體實施方式】
[0016]下面結(jié)合附圖及實施例對本發(fā)明做進(jìn)一步說明。
[0017]如圖1所示,本實施例提供了一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置,具體包括設(shè)置于電能質(zhì)量檢測裝置中的第一單片機(jī)、第二單片機(jī)、SPI Flash ;所述第一單片機(jī)的狀態(tài)輸出口連接至所述第二單片機(jī)的狀態(tài)輸入口,所述第一單片機(jī)的狀態(tài)輸入口連接至所述第二單片機(jī)的狀態(tài)輸出口,所述第二單片機(jī)的SPI接口與所述第一單片機(jī)的SPI接口并聯(lián)之后連接至所述SPI Flash的SPI接口;所述SPI Flash作為所述第一單片機(jī)與所述第二單片機(jī)的數(shù)據(jù)共享緩存。
[0018]在本實施例中,所述第一單片機(jī)的狀態(tài)輸出口與所述第一單片機(jī)的狀態(tài)輸入口均為第一單片機(jī)的I/O接口。
[0019]在本實施例中,所述第二單片機(jī)的狀態(tài)輸出口與所述第二單片機(jī)的狀態(tài)輸入口均為第二單片機(jī)的I/O接口。
[0020]如圖2所示,本實施例還提供了一種基于上文所述的電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置的方法,具體為:當(dāng)所述第一單片機(jī)要對所述SPI Flash進(jìn)行讀寫操作時,進(jìn)行以下步驟:
步驟S1:判斷第一單片機(jī)的狀態(tài)輸入口的狀態(tài)是否為1,若為1,則進(jìn)入步驟S2 ;若為0則進(jìn)入步驟S4 ;
步驟S2:將第一單片機(jī)的狀態(tài)輸出口的狀態(tài)置0,之后所述第一單片機(jī)對所述SPIFlash進(jìn)行讀寫操作;
步驟S3:所述第一單片機(jī)對所述SPI Flash進(jìn)行的讀寫操作結(jié)束后,將第一單片機(jī)的狀態(tài)輸入口的狀態(tài)置1 ;
步驟S4:所述第一單片機(jī)不對所述SPI Flash進(jìn)行讀寫操作,并返回步驟S1。
[0021]在本實施例中,所述第一單片機(jī)的狀態(tài)輸入口狀態(tài)為1表示此時所述第二單片機(jī)沒有對所述SPI Flash進(jìn)行讀寫操作,所述第一單片機(jī)的狀態(tài)輸入口狀態(tài)為0表示此時所述第二單片機(jī)正在對所述SPI Flash進(jìn)行讀寫操作。
[0022]同理,當(dāng)所述第二單片機(jī)要對所述SPI Flash進(jìn)行讀寫操作時,進(jìn)行以下步驟: 步驟S1:判斷第二單片機(jī)的狀態(tài)輸入口的狀態(tài)是否為1,若為1,則進(jìn)入步驟S2 ;若為0
則進(jìn)入步驟S4 ;
步驟S2:將第二單片機(jī)的狀態(tài)輸出口的狀態(tài)置0,之后所述第二單片機(jī)對所述SPIFlash進(jìn)行讀寫操作;
步驟S3:所述第二單片機(jī)對所述SPI Flash進(jìn)行的讀寫操作結(jié)束后,將第一單片機(jī)的狀態(tài)輸入口的狀態(tài)置1 ;
步驟S4:所述第二單片機(jī)不對所述SPI Flash進(jìn)行讀寫操作,并返回步驟S1。
[0023]在本實施例中,所述第二單片機(jī)的狀態(tài)輸入口狀態(tài)為1表示此時所述第一單片機(jī)沒有對所述SPI Flash進(jìn)行讀寫操作,所述第二單片機(jī)的狀態(tài)輸入口狀態(tài)為0表示此時所述第一單片機(jī)正在對所述SPI Flash進(jìn)行讀寫操作。
[0024]以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
【主權(quán)項】
1.一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置,其特征在于:包括設(shè)置于電能質(zhì)量檢測裝置中的第一單片機(jī)、第二單片機(jī)、SPI Flash ;所述第一單片機(jī)的狀態(tài)輸出口連接至所述第二單片機(jī)的狀態(tài)輸入口,所述第一單片機(jī)的狀態(tài)輸入口連接至所述第二單片機(jī)的狀態(tài)輸出口,所述第二單片機(jī)的SPI接口與所述第一單片機(jī)的SPI接口并聯(lián)之后連接至所述SPI Flash的SPI接口 ;所述SPI Flash作為所述第一單片機(jī)與所述第二單片機(jī)的數(shù)據(jù)共享緩存。2.根據(jù)權(quán)利要求1所述的一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置,其特征在于:所述第一單片機(jī)的狀態(tài)輸出口與所述第一單片機(jī)的狀態(tài)輸入口均為第一單片機(jī)的I/O接口。3.根據(jù)權(quán)利要求1所述的一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置,其特征在于:所述第二單片機(jī)的狀態(tài)輸出口與所述第二單片機(jī)的狀態(tài)輸入口均為第二單片機(jī)的I/o接口。4.一種基于權(quán)利要求1所述的電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置的方法,其特征在于:當(dāng)所述第一單片機(jī)要對所述SPI Flash進(jìn)行讀寫操作時,進(jìn)行以下步驟: 步驟S1:判斷第一單片機(jī)的狀態(tài)輸入口的狀態(tài)是否為1,若為1,則進(jìn)入步驟S2 ;若為O則進(jìn)入步驟S4 ; 步驟S2:將第一單片機(jī)的狀態(tài)輸出口的狀態(tài)置O,之后所述第一單片機(jī)對所述SPIFlash進(jìn)行讀寫操作; 步驟S3:所述第一單片機(jī)對所述SPI Flash進(jìn)行的讀寫操作結(jié)束后,將第一單片機(jī)的狀態(tài)輸入口的狀態(tài)置I ; 步驟S4:所述第一單片機(jī)不對所述SPI Flash進(jìn)行讀寫操作,并返回步驟SI。5.根據(jù)權(quán)利要求4所述的一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置的方法,其特征在于:所述第一單片機(jī)的狀態(tài)輸入口狀態(tài)為I表示此時所述第二單片機(jī)沒有對所述SPI Flash進(jìn)行讀寫操作,所述第一單片機(jī)的狀態(tài)輸入口狀態(tài)為O表示此時所述第二單片機(jī)正在對所述SPI Flash進(jìn)行讀寫操作。6.一種基于權(quán)利要求1所述的電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置的方法,其特征在于:當(dāng)所述第二單片機(jī)要對所述SPI Flash進(jìn)行讀寫操作時,進(jìn)行以下步驟: 步驟S1:判斷第二單片機(jī)的狀態(tài)輸入口的狀態(tài)是否為1,若為1,則進(jìn)入步驟S2 ;若為O則進(jìn)入步驟S4 ; 步驟S2:將第二單片機(jī)的狀態(tài)輸出口的狀態(tài)置O,之后所述第二單片機(jī)對所述SPIFlash進(jìn)行讀寫操作; 步驟S3:所述第二單片機(jī)對所述SPI Flash進(jìn)行的讀寫操作結(jié)束后,將第一單片機(jī)的狀態(tài)輸入口的狀態(tài)置I ; 步驟S4:所述第二單片機(jī)不對所述SPI Flash進(jìn)行讀寫操作,并返回步驟SI。7.根據(jù)權(quán)利要求6所述的一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置的方法,其特征在于:所述第二單片機(jī)的狀態(tài)輸入口狀態(tài)為I表示此時所述第一單片機(jī)沒有對所述SPI Flash進(jìn)行讀寫操作,所述第二單片機(jī)的狀態(tài)輸入口狀態(tài)為O表示此時所述第 一單片機(jī)正在對所述SPI Flash進(jìn)行讀寫操作。
【專利摘要】本發(fā)明涉及一種電能質(zhì)量檢測裝置中實現(xiàn)單片機(jī)間數(shù)據(jù)共享的裝置及其方法,其裝置包括設(shè)置于電能質(zhì)量檢測裝置中的第一單片機(jī)、第二單片機(jī)、SPI?Flash;所述第一單片機(jī)的狀態(tài)輸出口連接至所述第二單片機(jī)的狀態(tài)輸入口,所述第一單片機(jī)的狀態(tài)輸入口連接至所述第二單片機(jī)的狀態(tài)輸出口,所述第二單片機(jī)的SPI接口與所述第一單片機(jī)的SPI接口并聯(lián)之后連接至所述SPI?Flash的SPI接口;所述SPI?Flash作為所述第一單片機(jī)與所述第二單片機(jī)的數(shù)據(jù)共享緩存。本發(fā)明能夠簡單有效的實現(xiàn)兩個單片機(jī)之間的大數(shù)據(jù)量共享。
【IPC分類】G06F13/16
【公開號】CN105243034
【申請?zhí)枴緾N201510688032
【發(fā)明人】邵振國, 林焱, 汪曉強(qiáng), 吳丹岳, 陳利翔, 張逸, 張嫣
【申請人】國網(wǎng)福建省電力有限公司, 國家電網(wǎng)公司, 國網(wǎng)福建省電力有限公司電力科學(xué)研究院, 福州大學(xué)
【公開日】2016年1月13日
【申請日】2015年10月23日