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

基于SPI接口的多機擴展和通信方法

2011-07-02 01:14:05楊鎮首李軍
自動化與信息工程 2011年2期
關鍵詞:分配方法

楊鎮首 李軍

(廣東工業大學自動化學院)

基于SPI接口的多機擴展和通信方法

楊鎮首 李軍

(廣東工業大學自動化學院)

以一主兩從的多機系統為例,介紹了一種多個微控制器柔性擴展和可靠通信的方法。基于SPI接口,外加一根地址分配控制線實現了對從機的地址分配,應用軟件尋址方式和自定義通信協議實現了主機對從機的數據查詢和發送。實際應用表明,該方法占用較少的I/O資源、通信速率高且穩定可靠,可推廣應用于其他多機系統。

微控制器;SPI接口;多機通信;通信協議

1 引言

現代測控領域中,工業電子產品往往不是孤立存在的,而是需要能夠數據共享,實現多機通信的功能,因而在大多數電子產品的設計中要考慮多機擴展和通信問題。比如在各種采用微處理器的控制系統中,就要求能實現多微處理器的柔性擴展和它們之間的數據通信。本文以廣泛應用于工業實時控制、通信設備、家用電器等各個領域的AVR單片機組成的一主兩從系統為例,介紹一種基于SPI接口的高速可靠的多微處理器擴展和通信方法,包括該方法的實現原理、硬件連接和軟件實現。

2 通信接口的選擇

通信接口的選擇關系到整個多機擴展的構成和通信方案的設計。微控制器的通信方式包括并行通信和串行通信,其中串行通信方式有SPI通信接口、UART通信接口、I2C通信接口等。在通信接口的選擇中,通信的可靠性要放在首位。由于并行通信方式通道間會有互相干擾,當傳輸出錯時,要重新傳送數據,而且要求數據同時到達接收端,但往往各通道由于布線長度不一等原因難以保證真正的一致性。另外采用并行通信方式占用了較多的I/O資源,不適合于小型系統,所以本文選擇了串行通信方式。基于SPI通信接口的速度較快,而且通信協議也較為簡單,相對來說也比較穩定等優點,本設計就選用SPI接口來實現多機通信。

SPI接口是全雙工同步串行外設接口,采用主從模式架構,支持單主多從模式應用。時鐘由主機控制,在時鐘移位脈沖下,數據按位傳輸,輸入輸出為全雙工通信方式。SPI數據通信時的主-從連接與數據傳送方式如圖1所示[1]。

圖1 SPI數據通信時的主-從機連接與數據傳送方式

由圖1可知,SPI數據傳輸系統是由主機和從機兩部分組成;主要是由主、從雙方的兩個移位寄存器和主機SPI時鐘發生器組成,主機為SPI數據傳輸的控制方。由SPI的主機將SS輸出線的電平拉低,作為同步數據傳輸的初始化信號,通知從機進入傳輸狀態,然后主機啟動時鐘發生器產生同步時鐘信號SCK,預先存在兩個移位寄存器中的數據在SCK的驅動下進行循環移位操作,完成主-從機之間的數據交換,傳輸的數據為8位,按位傳輸。

SPI通過一根時鐘引線SCK將主機和從機同步,主機的數據由MOSI進入從機,而同時從機的數據由MISO進入主機。因此,它的串行數據交換不需要增加起始位、停止位等用于同步的格式位,直接將要傳送的數據寫入到主機的SPI發送數據寄存器,這個寫入過程自動啟動主機的發送過程。對于從機,同樣在SCK的節拍下將出現在引腳MOSI上的數據逐位移到從機的移位寄存器,當接收完一個完整的數據塊后,設置中斷標志,通知從機這個數據塊已接收完畢,同時將移位寄存器接收到的內容復制到從機的SPI接收數據寄存器。可以看出,用戶編程只需在發送數據時寫數據到SPI發送數據寄存器,在接收數據時讀SPI接收數據寄存器,其余的移位、同步、置位收發標志等工作都由內置的SPI模塊自動完成。

3 多機擴展和通信的實現原理

以一主兩從的系統結構、主從都為Atmega128單片機為例,介紹多機擴展和通信方案。系統框圖如圖2所示,主機分別同兩個從機的SPI接口相連,另外主從機間還增加了地址分配使能線AD。在理論上這種擴展方法可以實現無數個從機的擴展和通信,筆者在實際的應用中擴展到了8個從機。下面就主從機之間的通信方法作詳細的介紹。

圖2 系統框圖

3.1 地址分配

在多機通信系統中,主機通過從機地址對各個從機進行訪問,因此,要求每個從機都有唯一的地址。為確保地址的唯一性和可靠性,就必須對從機進行統一編址。

常用編址方式是將撥碼開關連接在從機的I/O上,用人工撥碼來實現編址。撥碼開關打開和關閉分別代表著0和1,這也就代表著一定的數據,這個數據就是該從機的地址。這種硬編址方式簡單且容易操作,但是占用從機的I/O資源。當從機數量增加時,用于撥碼開關的I/O口也要相應地增加,而且編址需要人工操作來實現,在實際應用中很不方便[2]。

本文設計了一種軟件編址方式,采用主機自動給從機分配地址的方法。在硬件上,只需在SPI通信接口的基礎上增加一根地址分配使能線就能實現,如圖2所示。其實現原理是:

主機通過AD線向從機1發出處理地址分配使能信號,與此同時,從機1通過AD線禁止從機2地址分配使能,保證在地址分配期間某一時刻只有一個從機進行地址信息處理。主機通過SPI接口向各從機發出地址分配信息,從機都接收到主機傳來的地址信息,但此時只有從機1的地址分配是使能的,所以只有從機1對地址分配信息進行處理,通過以下時序對從機1進行地址分配:

① 主機向從機發送地址分配起始標識符‘(’,告訴從機此時進行地址分配操作,從機1向主機反饋確認信息;

② 主機向從機發送地址,從機1進行地址存儲并向主機反饋確認信息;

③ 主機向從機發送地址分配結束標識符‘)’,告訴從機已完成地址分配。

主機成功對從機1進行地址分配后,主機關閉從機1的地址分配使能,從機1開啟從機2的地址分配使能,同理,依照以上時序,主機完成對所有從機的地址分配。

3.2 數據查詢

主機對所有的從機進行了統一編址后,每個從機都擁有了唯一的地址,這樣主機和從機之間就可以進行數據查詢和發送操作了。

數據查詢操作時,首先主機向所有從機發出其要查詢從機的地址,所有從機接到主機發來的地址后和自己的地址信息進行比較,地址匹配的從機就響應主機并將數據傳給主機,這樣就完成了主機對一個從機的數據查詢。數據查詢操作的時序為:

① 主機向從機發送數據查詢起始標識符‘[’,從機以此識別為數據查詢操作;

② 主機向從機發送數據查詢的地址值,從機接收地址信息并和自己的地址比較,相同者才進行下面的操作,不同者就不做任何操作;

③ 對應地址的從機向主機發回數據,主機進行數據接收;

④ 從機向主機發送數據結束標識符‘]’,告訴主機數據傳送結束。

依照時序,主機就可以對全部從機或者某個從機進行數據查詢。

3.3 數據發送

數據發送操作時,首先主機向所有需要向其發送數據的從機發出地址信息,所有從機接到主機發來的地址后和自己的地址信息進行比較,地址匹配的從機就響應主機并做好接受數據的準備,這樣就完成了主機向一個從機發送數據的過程。數據發送的時序為:

① 主機向從機發送數據及起始標識符‘<’,從機以此識別為數據發送操作;

② 主機根據從機地址發送數據,從機接收地址信息并和自己的地址比較,相同者才進行下面的操作,不同者就不做任何操作;

③ 主機向從機發送數據;

④ 結束后主機向從機發送數據結束標識符‘>’,告訴從機數據傳送結束。

依照時序,主機就可以根據需要向全部或者某個從機進行數據發送。

4 軟件設計

根據以上對多機擴展和通信方法的介紹,我們可以進入軟件實現。圖3和圖4分別給出了主從機中地址分配部分的程序流程圖,根據前面介紹的原理,主從機的數據查詢和發送程序也類似于地址分配部分,限于篇幅不再贅述。

5 結束語

本文介紹了一種多機擴展和通信的實現方法,該方法在標準SPI接口的基礎上加上一根普通I/O線并采用軟件編址的方式來實現了對從機的地址分配,與硬件編址方式比較更節省I/O資源且簡單并容易實現,理論上這種方法擴展的從機數量可達到無數個。

圖3 地址分配程序流程圖(主機)

圖4 地址分配程序流程圖(從機)

基于SPI接口,數據查詢發送的通信速率更快,理論上可以達到從機CPU總線頻率的四分之一,筆者在擴展的8個從機系統中SPI速率完全可以達到從機總線頻率的最大值即四分之一。在擴展和通信中使用了自定義通信協議,更確保了通信的安全可靠。相比于文獻[2]~[4]介紹的方法,本文所提出的多機擴展和通信方法更為簡單可行、安全可靠。

[1] 馬潮.高檔8位單片機ATmega128原理與開發應用指南[M].北京:北京航空航天大學出版社,2004:123-130.

[2] 胡文,胥布工.一種PLC擴展板尋址方法的實現[J].制造業自動化,2003(11):36-38.

[3] 趙學軍.基于多機SPI協議的多機通信[J].單片機與嵌入式系統應用,2006(7):67-68.

[4] 張志利.基于RS232協議的單片機多機通信網絡研究[J].自動化技術與應用,2009,28(4):54-55.

A Method of Multi-Microcontroller Expansion and Communication Based on SPI Interface

Yang Zhenshou Li Jun

(School of Automation of Guangdong University of Technology.)

Taking a multi-microcontroller system with one host microcontroller and two slave microcontrollers as example, a method of multi-microcontroller’s flexible expansion and reliable communication is introduced in this paper. Based on SPI interface, the distribution of the slave address is realized with an additional address assignment control line. The dates receiving and sending between host microcontroller and slave are also realized with using the software addressing and author's communication protocol. Practice has proved that this method takes up less I/O resources, has higher communication rate and reliability communication, and can be wildly used.

Microcontroller; SPI Interface; Multi-Microcontroller Communication; Communication Protocol

楊鎮首,男,1988生,碩士研究生,主要研究方向:嵌入式測控裝置。

李軍,男,1962生,副教授,碩士生導師,主要研究方向:嵌入式測控裝置,智能控制技術。

猜你喜歡
分配方法
基于可行方向法的水下機器人推力分配
應答器THR和TFFR分配及SIL等級探討
遺產的分配
學習方法
一種分配十分不均的財富
績效考核分配的實踐與思考
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 亚洲成人网在线观看| 久久久久亚洲AV成人人电影软件 | 欧美视频在线观看第一页| 国产亚洲欧美日韩在线一区二区三区| 996免费视频国产在线播放| www.av男人.com| 国产欧美成人不卡视频| 国产欧美精品专区一区二区| 色悠久久久久久久综合网伊人| 五月婷婷亚洲综合| 国产一区二区三区在线观看免费| a级毛片免费看| 国产精品毛片一区视频播| 免费国产高清精品一区在线| 高清乱码精品福利在线视频| 国产va欧美va在线观看| 国产日韩丝袜一二三区| 九色在线观看视频| 欧洲欧美人成免费全部视频| 国产精品私拍在线爆乳| 亚洲欧美激情另类| 久久精品中文字幕少妇| 亚洲第一视频免费在线| 国产极品嫩模在线观看91| 粉嫩国产白浆在线观看| 亚洲色婷婷一区二区| 永久免费精品视频| 久久综合九色综合97网| 亚洲国产成人久久77| 波多野结衣一区二区三区88| 人与鲁专区| 久久黄色一级视频| 国产91全国探花系列在线播放| 久久www视频| 国产麻豆va精品视频| 欧亚日韩Av| 久久网欧美| AV天堂资源福利在线观看| 国产美女自慰在线观看| 国产小视频在线高清播放| 久久影院一区二区h| 九九九精品视频| 熟妇丰满人妻| 九九热在线视频| 国产成人精品男人的天堂| 九色在线观看视频| 91成人免费观看| 在线免费亚洲无码视频| 国产乱子伦手机在线| 亚洲精品国产精品乱码不卞| 欧美激情第一区| 99久久国产精品无码| 亚洲一级毛片| 国产真实乱子伦精品视手机观看 | 伊人久久久久久久| 婷婷久久综合九色综合88| 日本黄色不卡视频| 26uuu国产精品视频| 自偷自拍三级全三级视频 | 亚洲色精品国产一区二区三区| 亚洲中文无码av永久伊人| 日韩欧美视频第一区在线观看 | 国产69精品久久久久孕妇大杂乱| 亚洲 日韩 激情 无码 中出| 亚洲黄网在线| 亚洲无码高清一区二区| 99国产精品免费观看视频| 青青国产在线| 一级毛片在线播放免费观看| 日韩欧美国产成人| 四虎精品国产AV二区| 亚洲三级a| 扒开粉嫩的小缝隙喷白浆视频| 色综合久久无码网| 久久无码av一区二区三区| 国产内射一区亚洲| av午夜福利一片免费看| 看国产一级毛片| 亚洲成人手机在线| 久久精品日日躁夜夜躁欧美| 亚洲精品日产精品乱码不卡| 欧美不卡视频在线观看|