999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種改進型SPI高可靠通信機制設計*

2014-08-12 08:46:15韋小剛
單片機與嵌入式系統應用 2014年8期
關鍵詞:嵌入式機制設備

韋小剛

(1. 國網電力科學研究院 南京 210003;2. 南瑞集團公司)

一種改進型SPI高可靠通信機制設計*

韋小剛1,2

(1. 國網電力科學研究院 南京 210003;2. 南瑞集團公司)

SPI通信作為一種全雙工高速通信方式,電路實現簡單、占用資源少,在工業嵌入式系統中應用十分廣泛。但是,通信過程中沒有握手、應答和數據校驗,影響了系統通信的可靠性。本文通過對嵌入式系統中的SPI通信機制的研究與分析,設計了一種高可靠性的SPI通信機制。這種SPI通信機制的高可靠性通過系統長期的現場應用得到了驗證。

SPI接口;可靠性;改進;外設

引 言

串行外圍設備(SPI)接口是由Motorola公司開發的,用來在微控制器MCU和外圍設備芯片之間以串行方式實現數據交換的,低成本、易使用的接口。其中,外圍設備包括顯示驅動器、網絡控制器、A/D轉換器、內存及微控制器MCU(如DSP、ARM、加密芯片等)等。與標準的串行接口不同,SPI是一個同步協議接口,全雙工通信,所有的傳輸都參照一個共同的時鐘,這個同步時鐘信號由主端(Master)產生。接收數據的外設使用時鐘對串行比特流的接收進行同步化[1-2]。

SPI通信采用主從方式進行,一般情況下,通過4根線完成通信,分別為兩根數據線(主輸出從輸入MOSI和主輸入從輸出MISO)、一根時鐘線(SCK)和一根片選線(CS)。其中,時鐘信號SCK由主端發出,片選信號用于由主設備控制外設芯片使能。

1 SPI通信機制優缺點的分析

SPI通信示意圖如圖1所示。微控制器MCU采用SPI通信時,片選信號CS(一般情況下為低電平)使能外圍設備。主端提供時鐘脈沖SCK,數據以串行方式傳輸,主端數據輸出通過MOSI,而數據輸入通過MISO,從端數據輸出通過MISO,而數據輸入通過MOSI,傳輸一位數據需要一個時鐘信號SCK,這樣傳輸一個字節數據至少需要8個時鐘信號SCK。

圖1 SPI通信示意圖

由以上SPI通信過程的描述可知,時鐘信號SCK完全由主端設備控制。標準的串行通信一次連續傳輸至少8位數據,而SPI通信因為時鐘信號SCK完全由主端設備控制,所以通信過程中數據是可以一位一位傳輸的,若沒有主端設備的時鐘跳變SCK,通信就會暫停,這樣主端設備就可以通過控制時鐘信號SCK進而控制整個數據的通信,這是SPI通信的一個優點[3]。SPI通信還有個優點,即數據輸出和數據輸入彼此獨立,采用不同的信號線,可以同時完成數據的輸入與輸出,實現全雙工高速通信。此外,相對于ISO7816通信和I2C總線通信等其他接口通信方式,SPI通信實現起來較為簡單,就是主端和從端的8位SPI寄存器進行數據的傳輸。

由于SPI通信有著諸多的優點,所以工業嵌入式系統開發中用到的很多芯片都支持SPI接口。但是,SPI通信的缺點也很明顯,通信過程中沒有握手,沒有應答,沒有數據校驗。SPI主端設備向從端設備發出數據后,從端設備有沒有收到數據?SPI從端設備收到的數據是否與SPI主端設備發出的數據完全一致?如果不一致,SPI主端設備是否應該向從端重傳數據?這些都是不得而知的。

通信可靠性對于工業嵌入式系統來說至關重要,直接決定工業嵌入式系統是否有應用價值,一個可靠性欠缺的工業嵌入式系統可能會給企業、社會乃至國家帶來莫大的損失。由此可知,SPI通信機制完全有必要改進。

2 改進型SPI通信機制的設計

SPI通信過程有必要加入握手、應答和數據校驗等環節,以保證SPI主端和從端通信的可靠性。一般來說,對任何機制的改進都不會是憑空想象,都是建立在原型的基礎之上。在SPI通信機制改進時,筆者參考了TCP連接的三次握手機制[4]和ISO7816協議的應答機制[5-6]。

2.1 通信流程

改進型SPI通信的流程如圖2所示,SPI通信由主端控制,主端通過片選引腳使能從端并向從端發出時鐘脈沖,從端以應答的方式與主端進行交互,過程如下:

① SPI主端向從端發出命令頭,該命令頭有5個字節;

② SPI從端向主端發出應答數據,該數據為之前收到的命令頭的第二個字節(標志字節);

③ SPI主端向從端發出數據幀,該數據幀由幀頭、實際數據、校驗值及幀尾表示;

④ SPI從端向主端發出應答數據,該數據為標志字節、數據長度、實際數據、校驗值及狀態字(兩個字節)組成。

圖2 SPI通信流程(無數據重傳環節)

以上過程中,步驟①和②可以看作是SPI通信主端對從端就緒狀態的探測,步驟③和④才是真正的數據交互。步驟①、②中,當SPI從端未就緒時,SPI主端無法收到從端的應答,那么SPI主端就需要進行超時重傳,重新傳送之前的命令頭,重傳次數達到上限后就不再重傳,否則會浪費系統資源。步驟③、④中,SPI主端會對從端發過來應答數據中的實際數據進行校驗并得出一個校驗值,將該校驗值與從端發過來的應答數據中的校驗值進行比對,如果不一致,那么主端有必要進行重傳,如圖3所示。

圖3 SPI通信流程(有數據重傳環節)

2.2 通信數據格式

SPI通信過程中,主端發給從端的數據分為兩類,即命令頭和數據幀:

① 命令頭。由ISO7816協議中的APDU(Application Protocol Data Unit)命令格式組成,即CLA、INS、P1、P2、Len[5-6]。

② 數據幀。一個完整的數據幀由幀頭、實際數據、校驗值及幀尾組成,如表1所列。

表1 SPI通信數據幀的組成

SPI通信過程中,從端給主端發出的應答有兩種:一種是主端探測從端時從端響應給主端的標志,另一種就是實際通信中的應答,這個完整的應答報文由標志字節、數據長度、實際數據、校驗值及狀態字組成,如表2所列。

表2 SPI通信應答報文的組成

3 改進型SPI通信機制的實現

按照上述的流程,SPI通信過程中主端的代碼如下所示,讀者可以依此寫出SPI從端的代碼。

int SpiMaster(unsigned char *rxbuf, unsigned char *in, int len, unsigned char *out){

int i = 0, cnt = 0;

unsigned char cmd[5] = {0xA0, 0xE0, 0x80, 0x00, len};

CMD_RESEND1:

SendCmdHeader(cmd, rxbuf); //發送命令頭

RcvINS(rxbuf,cmd[1]); //接收標志字節

if(errorTimeout){ //超時全局變量

//超時重傳,超過3次則結束

errorTimeout = 0;

if(cnt<3){

cnt++;

goto CMD_RESEND1;

}

else{

printf("Timeout ERROR! ");

return -1;

}

}

cnt = 0;

CMD_RESEND2:

SendData(cmd, rxbuf+1, in, len);//發送實際數據及校驗碼

RcvINS(cmd,rxbuf,cmd[1]); //接收標志字節

RcvLenL(cmd,rxbuf+1, cmd[3]*0x0100+cmd[4]+1);

//接收長度

RcvData(cmd, rxbuf+3); //接收實際數據及校驗碼

RcvSW(cmd, rxbuf+3+len+1, 0x90); //接收狀態字

//計算接收到數據的CRC校驗值

if(get_crc7(rxbuf+3, rxbuf[1]*0x100+rxbuf[2]-1)

!= rxbuf[rxbuf[1]*0x100+rxbuf[2]+1+1]){

//CRC校驗值比對,不一致,則命令重傳,超過3次,結束

if(cnt<3){

cnt++;

goto CMD_RESEND2;

}

else{

printf("CRC check ERROR! ");

return -1;

}

}

for(i=0; i< len; i++){

out[i]=rxbuf[i+3];

}

return 0;

}

結 語

[1] Motorola.SPI Block Guide V03.06. Original Release Date: 21 JAN 2000Revised: 04 FEB,2003.

[2] 馬鳴錦,蔣烈輝,杜威,等. 基于M-CORE微控制器的嵌入式系統[M]. 北京:國防工業出版社,2003.

[3] 喬贊麗. 高可靠性SPI通信機制及其應用探討[J].信息通信,2013(8):202-203.

[4] TCP/IP協議原理與應用 [M].3版. 張長富, 等譯. 北京: 清華大學出版社, 2009.

[5] ISO/IEC 7816-3 —2006 Smart Card Standard, Part3 Electronic Signals and Transmission Protocols[S].

[6] ISO/IEC 7816-4—2005 Smart Card Standard, Part4 Interindustry Commands for Interchange[S].

韋小剛(碩士),主要研究方向為電力系統信息網絡安全。

Design of Improved High-reliability Communication Mechanism with SPI

Wei Xiaogang1,2

(1.State Grid Electric Power Research Institute, Nanjing 210003, China;2.Mary Group Corporation)

a full-duplex high-speed communication mode,SPI has simple circuit and low resource consumption,and it is widely used in embedded systems of industry. However, there are no handshake, response and data checking in communication so that the reliability of system communication is reduced. By the research and analysis of SPI communication mechanism in embedded systems, a high-reliability SPI communication mechanism is designed, which is validated in long-term practical applications.

SPI interface;reliability;improvement;peripheral equipment

* 項目來源:國網電力科學研究院智能電網終端安全防護項目。

TP393.8

A

2014-02-12)

猜你喜歡
嵌入式機制設備
諧響應分析在設備減振中的應用
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
打基礎 抓機制 顯成效
中國火炬(2014年4期)2014-07-24 14:22:19
主站蜘蛛池模板: 久久婷婷综合色一区二区| 天天爽免费视频| 在线国产欧美| 亚洲三级a| 又爽又大又黄a级毛片在线视频| 亚洲欧洲自拍拍偷午夜色无码| 五月丁香伊人啪啪手机免费观看| 午夜精品国产自在| 五月天在线网站| 国产一级特黄aa级特黄裸毛片| 国产在线观看91精品亚瑟| 国产va在线观看免费| 超清人妻系列无码专区| 久久综合九色综合97网| 亚洲色成人www在线观看| 精品乱码久久久久久久| 尤物成AV人片在线观看| 四虎精品黑人视频| 欧美另类第一页| 香蕉国产精品视频| 国产特级毛片| 亚洲精品成人片在线观看| 一区二区影院| 亚洲天堂视频在线观看免费| 亚洲综合婷婷激情| 一区二区日韩国产精久久| 亚洲精品自拍区在线观看| 亚洲午夜片| 在线看国产精品| 99资源在线| 1769国产精品免费视频| 久久一色本道亚洲| 欧美性猛交一区二区三区| 欧美啪啪一区| 国产喷水视频| 三上悠亚在线精品二区| 美女被狂躁www在线观看| 久久特级毛片| a亚洲视频| 国产欧美日韩综合一区在线播放| 免费网站成人亚洲| 香蕉在线视频网站| 热99精品视频| 国模极品一区二区三区| 欧美精品啪啪一区二区三区| 日本人妻一区二区三区不卡影院 | 老汉色老汉首页a亚洲| 99久久无色码中文字幕| 露脸真实国语乱在线观看| 人妻少妇乱子伦精品无码专区毛片| 亚洲日本www| 国产流白浆视频| 亚洲制服丝袜第一页| 国产91全国探花系列在线播放| 国产第二十一页| 欧美爱爱网| 亚洲精品大秀视频| 永久在线精品免费视频观看| 视频二区国产精品职场同事| 亚洲无码不卡网| 亚洲精品另类| 国产地址二永久伊甸园| www.精品国产| 四虎免费视频网站| 成人亚洲国产| 国产一级视频在线观看网站| 国产成人艳妇AA视频在线| 欧美日韩精品一区二区在线线 | 久久久久亚洲Av片无码观看| 麻豆国产精品视频| 青草视频久久| 亚洲永久色| 欧美日韩一区二区在线播放| 97在线公开视频| 久久99久久无码毛片一区二区| 国产男女免费完整版视频| 日韩无码黄色网站| 久久毛片基地| 国产va在线| 免费观看精品视频999| 亚洲swag精品自拍一区| 欧美成人a∨视频免费观看|