《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于I2C總線(xiàn)多步進(jìn)電機(jī)實(shí)驗(yàn)平臺(tái)的開(kāi)發(fā)
基于I2C總線(xiàn)多步進(jìn)電機(jī)實(shí)驗(yàn)平臺(tái)的開(kāi)發(fā)
2015年微型機(jī)與應(yīng)用第12期
晏 亮,潘貞汝,常 華
(中國(guó)農(nóng)業(yè)大學(xué) 信息與電氣工程學(xué)院,北京 100083)
摘要: 描述了基于I2C總線(xiàn)多步進(jìn)電機(jī)平臺(tái)的設(shè)計(jì),介紹了I2C總線(xiàn)通信協(xié)議的特點(diǎn),給出了I2C總線(xiàn)在1片主MSP430G2553和8片從MSP430G2553之間數(shù)據(jù)傳輸程序流程圖和整個(gè)平臺(tái)的硬件結(jié)構(gòu)框架,完成了基于I2C總線(xiàn)的單主多從通信,最終實(shí)現(xiàn)了對(duì)多路步進(jìn)電機(jī)的控制。
Abstract:
Key words :

  摘  要: 描述了基于I2C總線(xiàn)步進(jìn)電機(jī)平臺(tái)的設(shè)計(jì),介紹了I2C總線(xiàn)通信協(xié)議的特點(diǎn),給出了I2C總線(xiàn)在1片主MSP430G2553和8片從MSP430G2553之間數(shù)據(jù)傳輸程序流程圖和整個(gè)平臺(tái)的硬件結(jié)構(gòu)框架,完成了基于I2C總線(xiàn)的單主多從通信,最終實(shí)現(xiàn)了對(duì)多路步進(jìn)電機(jī)的控制。

  關(guān)鍵詞: I2C總線(xiàn);MSP430G2553;單主多從;步進(jìn)電機(jī)

0 引言

  I2C總線(xiàn)是兩線(xiàn)式串行總線(xiàn),用于連接微控制器及其外圍設(shè)備,是微電子通信控制領(lǐng)域廣泛采用的一種總線(xiàn)標(biāo)準(zhǔn)。它是同步通信的一種特殊形式,具有接口線(xiàn)少、控制方式簡(jiǎn)單、器件封裝形式小、通信速率較高等優(yōu)點(diǎn)。本文介紹一種利用I2C總線(xiàn)協(xié)議,通過(guò)單主多從模式,利用1段音頻信號(hào)控制8個(gè)單片機(jī)實(shí)現(xiàn)不同方向、速率的轉(zhuǎn)動(dòng)。

1 I2C總線(xiàn)技術(shù)

  1.1 I2C總線(xiàn)接口

  本文所用的芯片主要為T(mén)I公司的MSP430G2553芯片,其中的I2C模式是通過(guò)USCI_Bx模塊來(lái)進(jìn)行配置的,本文主要應(yīng)用了USCI_B0模塊[1]。在I2C模式中,USCI通過(guò)兩線(xiàn)式I2C串行總線(xiàn)提供了MSP430與I2C兼容器件的連接。外部器件串行依附在I2C總線(xiàn)上,通過(guò)2-線(xiàn)I2C接口為USCI模塊發(fā)送數(shù)據(jù)或從USCI接收數(shù)據(jù)。如圖1所示,I2C總線(xiàn)由時(shí)鐘線(xiàn)SCL和數(shù)據(jù)線(xiàn)SDA構(gòu)成,在時(shí)鐘線(xiàn)SCL保持高電平期間,數(shù)據(jù)線(xiàn)SDA上的電平被拉低(即負(fù)跳變),為I2C的開(kāi)始信號(hào)[2]。在時(shí)鐘線(xiàn)SCL保持高電平期間,數(shù)據(jù)線(xiàn)SDA被釋放,是I2C的終止信號(hào)。

  如圖2所示,進(jìn)行數(shù)據(jù)傳送時(shí),在SCL呈現(xiàn)高電平期間,SDA上的電平必須保持穩(wěn)定,只有在SCL為低電平期間,才允許SDA上的電平改變狀態(tài)。

  關(guān)于傳輸速度,I2C總線(xiàn)在標(biāo)準(zhǔn)模式最高為100 kb/s,高速模式最高為400 kb/s。

  1.2 I2C總線(xiàn)數(shù)據(jù)傳輸

  I2C總線(xiàn)傳輸數(shù)據(jù)必須遵循規(guī)定的數(shù)據(jù)傳輸格式[2],主機(jī)給每個(gè)數(shù)據(jù)傳輸位產(chǎn)生一個(gè)時(shí)鐘脈沖,I2C模式對(duì)數(shù)據(jù)位進(jìn)行操作。在主機(jī)設(shè)置好I2C為發(fā)送模式后,USCI模塊會(huì)檢測(cè)總線(xiàn)是否可用,產(chǎn)生START條件。本文中將音頻信號(hào)依據(jù)頻率分為8段,并且每段對(duì)應(yīng)不同的從機(jī)地址,如此便可依據(jù)不同頻率將音頻信號(hào)發(fā)送給不同的從機(jī)。I2C模式支持7位和10位尋址模式[3],本文運(yùn)用了7位尋址模式。如圖3所示,在7位尋址模式中,第一個(gè)字節(jié)是7位從機(jī)地址和R/W位。接收器在每個(gè)字節(jié)結(jié)束后發(fā)送ACK位。

003.jpg

  所有掛到I2C總線(xiàn)的外圍器件各自都有一個(gè)唯一確定的地址[2]。任何時(shí)刻總線(xiàn)上只有一個(gè)主控器件對(duì)總線(xiàn)實(shí)行控制權(quán),分時(shí)實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳送。I2C總線(xiàn)上所有外圍器件都有規(guī)范的器件地址,器件地址由7位組成,它和1位方向位(R/W)構(gòu)成了I2C總線(xiàn)器件的尋址字節(jié)SLA,格式如圖4所示。

004.jpg

  其中高4位(A6、A5、A4、A3)是I2C總線(xiàn)外圍接口器件固有地址編碼,器件出廠(chǎng)時(shí)已固化好。A0~A2是對(duì)從機(jī)分配的不同地址,本文中MSP430G2553的高4位為0100[1],一共可以?huà)旖?個(gè)單片機(jī)。而最低位R/W為數(shù)據(jù)方向位,當(dāng)R/W為0時(shí),主機(jī)發(fā)送數(shù)據(jù),當(dāng)R/W為1時(shí),主機(jī)接收數(shù)據(jù)。本文中主機(jī)只用于發(fā)送數(shù)據(jù),故R/W位一直為0。本文中的8個(gè)從機(jī)地址分別為:40H、42H、44H、46H、48H、4AH、4CH和4EH。

  故總線(xiàn)上的數(shù)據(jù)傳輸過(guò)程[4]是:(1)主控制器發(fā)送開(kāi)始信號(hào)S;(2)主控制器發(fā)送芯片尋址字節(jié);(3)從器件發(fā)出應(yīng)答信號(hào)ACK;(4)主控制器發(fā)送數(shù)據(jù)尋址字節(jié);(5)發(fā)送者發(fā)送數(shù)據(jù),接受者接收數(shù)據(jù);(6)主控制器發(fā)送停止信號(hào)P終止數(shù)據(jù)傳輸。其流程圖如圖5所示。

005.jpg

2 I2C的系統(tǒng)硬件結(jié)構(gòu)

006.jpg

  圖6是本文所研究平臺(tái)的整體框圖,在此系統(tǒng)中8個(gè)從機(jī)對(duì)應(yīng)8種不同音符頻段,分別控制8個(gè)電機(jī)的轉(zhuǎn)速。系統(tǒng)的主要功能是通過(guò)PC由MATLAB對(duì)給定音頻進(jìn)行編碼[5],產(chǎn)生單片機(jī)可用的曲譜編碼,然后通過(guò)串口將所產(chǎn)生的編碼發(fā)送給主MSP430G2553,主機(jī)在尋址時(shí)先判斷編碼范圍,然后通過(guò)I2C總線(xiàn)尋址相應(yīng)的從機(jī),并向被尋址的MSP430G2553發(fā)送相應(yīng)的音頻編碼。從機(jī)將所接收到的音頻編碼作為定時(shí)器的定時(shí)周期,利用定時(shí)器產(chǎn)生相應(yīng)的脈沖信號(hào),從而驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。

007.jpg

  為實(shí)現(xiàn)單主多從單片機(jī)MSP430G2553之間的通信,將主機(jī)I2C總線(xiàn)上的SCL(P1.6)和SDA(P1.7)分別與從機(jī)的SCL(P1.6)和SDA(P1.7)相連接,并且在VCC與SCL、SDA兩個(gè)信號(hào)之間分別接上10 k?贅的上拉電阻,如圖7所示。由此從機(jī)的P1.6就成了時(shí)鐘接收端,P1.7為數(shù)據(jù)接收端。通過(guò)編程將主機(jī)發(fā)送的數(shù)據(jù)送入Buff,從機(jī)通過(guò)讀Buff中的數(shù)據(jù)將其實(shí)時(shí)轉(zhuǎn)換為頻率改變的方波,并通過(guò)P1.5口將其發(fā)送給電機(jī)驅(qū)動(dòng)器,從而實(shí)現(xiàn)控制步進(jìn)電機(jī)的功能。

3 I2C單主多從通信

  首先將USCI模塊初始化,使主機(jī)/從機(jī)可以進(jìn)行接收/發(fā)送操作,初始化過(guò)程如下[6]:將USCI中軟件復(fù)位位UCSWRST置位來(lái)初始化所有的USCI寄存器,配置P1.6和P1.7分別為I2C的SCL端口和SDA端口,通過(guò)UCMST和UCMODEx選擇I2C模式和主機(jī)或從機(jī)模式。然后通過(guò)置位UCSEEL_2來(lái)選擇主機(jī)時(shí)鐘為SMCLK  (1 MHz),并將主時(shí)鐘12分頻為100 kHz作為主機(jī)中的SCL時(shí)鐘[1]。上述模塊初始化完成后,清除UCSWRST,釋放USCI,使能發(fā)送中斷。

  對(duì)于主發(fā)送模塊,初始化之后需要把從地址設(shè)置為7 bit,再將目標(biāo)從地址寫(xiě)入寄存器UCB0I2CSA中。本系統(tǒng)將所給的音頻信號(hào)按照頻率分為8段,每段對(duì)應(yīng)不同的從機(jī)地址,使主機(jī)通過(guò)判斷與不同的從機(jī)地址相匹配。初始化完成后通過(guò)置位UCRT和UCTXSTT,使主機(jī)工作在發(fā)送模式并產(chǎn)生一個(gè)起始條件。當(dāng)?shù)刂纷x入U(xiǎn)CB0I2CSA中后,硬件會(huì)自動(dòng)識(shí)別并找到與之相對(duì)應(yīng)的從機(jī),一旦地址匹配則UCSTTIFG置位,主機(jī)進(jìn)入LPM0模式并且觸發(fā)中斷,將要發(fā)送的數(shù)據(jù)寫(xiě)入U(xiǎn)CB0TXBUF中,當(dāng)從機(jī)地址被應(yīng)答時(shí)UCTXSTT位即刻清零。本文中將音頻信號(hào)裝入數(shù)組中,當(dāng)所有數(shù)據(jù)發(fā)送完畢后產(chǎn)生一個(gè)STOP條件,并將UCB0TXIFG清零同時(shí)退出低功耗模式。圖8為主機(jī)發(fā)送模式流程圖。

008.jpg

  對(duì)于從接收模塊,由于要對(duì)主機(jī)中讀取的數(shù)據(jù)進(jìn)行處理,本文中選用定時(shí)器A將其數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的脈沖波,從而達(dá)到控制電機(jī)的目的。因此需要先將定時(shí)器A初始化[7],為了不影響主機(jī)中SMCLK,本文使定時(shí)器A工作在A(yíng)CLK時(shí)鐘下。隨后將其USCI模塊設(shè)置為I2C接收模式,并且無(wú)需設(shè)置USCI時(shí)鐘。一旦從設(shè)備中UCB0RXBUF接收到的新數(shù)據(jù)被讀走,從設(shè)備即發(fā)送一個(gè)應(yīng)答信號(hào)給主設(shè)備,然后開(kāi)始下一個(gè)數(shù)據(jù)的接收。定時(shí)器A將接收到的數(shù)據(jù)通過(guò)定時(shí)器中斷產(chǎn)生頻率改變的方波,并通過(guò)P1.5口輸出,從而控制步進(jìn)電機(jī)依據(jù)音頻信號(hào)的不同頻率來(lái)變速轉(zhuǎn)動(dòng)。圖9為從機(jī)接收模式流程圖。

009.jpg

4 結(jié)論

  本文介紹的I2C總線(xiàn)單主多從通信系統(tǒng)占用I/O資源少,功耗低,傳輸速率高,能夠以較高性能控制步進(jìn)電機(jī)隨音樂(lè)轉(zhuǎn)動(dòng)。從實(shí)驗(yàn)結(jié)果來(lái)看,主從單片機(jī)可以通過(guò)該總線(xiàn)系統(tǒng)進(jìn)行非常可靠的通信,進(jìn)而可在各個(gè)領(lǐng)域取得廣泛應(yīng)用。

參考文獻(xiàn)

  [1] MSP430x2xx Users′ guide[Z].2004.

  [2] 沈建華,楊艷琴,翟驍曙.MSP430系列16位超低功耗單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2004.

  [3] 賈朱紅,張曉冬.基于I2C總線(xiàn)的單主多從單片機(jī)之間的通信[J].微計(jì)算機(jī)信息,2009(8):101-102.

  [4] 鄧忠華,李霞,陳浩.I2C總線(xiàn)技術(shù)在單片機(jī)串行擴(kuò)展中的應(yīng)用[J].武漢理工大學(xué)學(xué)報(bào)(交通科學(xué)與工程版),2005(2):227-229,247.

  [5] 孫金中,馮炳軍.基于I2C總線(xiàn)控制的音頻處理電路設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009(18):85-88.

  [6] 吳小平,李莉,何鑫,等.I2C總線(xiàn)及其數(shù)據(jù)通信編程[J].微計(jì)算機(jī)信息,2000(2):11-13.

  [7] 陳光建,賈金玲.基于單片機(jī)的I2C總線(xiàn)系統(tǒng)設(shè)計(jì)[J].儀器儀表學(xué)報(bào),2006(S3):2465-2466,2472.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲黄色免费| 欧美夜福利tv在线| 国产综合久久| 国产精品日日摸夜夜摸av| 欧美日韩精品是欧美日韩精品| 玖玖玖免费嫩草在线影院一区| 久久不见久久见免费视频1| 午夜在线不卡| 午夜精品久久久久| 亚洲摸下面视频| 亚洲欧美综合网| 亚洲欧美综合| 欧美一区二区国产| 久久国产精品久久久久久久久久| 欧美一区二区三区在线观看视频 | 99热这里只有成人精品国产| 亚洲日本va午夜在线影院| 亚洲国产黄色| 亚洲国产午夜| 亚洲人成人一区二区在线观看| 亚洲区中文字幕| 夜夜精品视频一区二区| 国产精品99久久99久久久二8| 在线综合欧美| 亚洲欧美日本国产专区一区| 午夜久久美女| 久久精品免费电影| 亚洲激情成人| 亚洲免费观看高清完整版在线观看| 99精品国产99久久久久久福利| 夜夜爽av福利精品导航 | 女同性一区二区三区人了人一| 欧美xx视频| 欧美日本国产在线| 国产精品久久久一区二区三区| 国产精品高清网站| 国产亚洲成精品久久| 黄色国产精品| 亚洲激情在线播放| 亚洲一区二区精品| 欧美在线中文字幕| 亚洲久久成人| 亚洲欧美日韩国产一区| 久久久久久久一区| 欧美成人精品一区二区| 欧美日韩一卡二卡| 国产欧美婷婷中文| 依依成人综合视频| 日韩一级网站| 午夜一区二区三区不卡视频| 亚洲国产影院| 亚洲主播在线| 久久久久网址| 欧美日韩三级电影在线| 国产酒店精品激情| 亚洲国产欧美不卡在线观看| 亚洲视频www| 亚洲国产精品日韩| 亚洲永久视频| 美女网站在线免费欧美精品| 欧美视频精品在线| 狠狠爱综合网| 亚洲视频国产视频| 亚洲黄色毛片| 香蕉av777xxx色综合一区| 老司机精品视频网站| 欧美日韩综合另类| 激情欧美丁香| 亚洲一区3d动漫同人无遮挡| 亚洲精品乱码| 久久精品久久综合| 国产精品a久久久久| 在线日韩av| 欧美一二三视频| 亚洲线精品一区二区三区八戒| 久久夜色精品国产亚洲aⅴ| 国产精品久久777777毛茸茸| 亚洲第一黄网| 欧美一区二区在线观看| 亚洲一区国产精品| 欧美本精品男人aⅴ天堂| 国产亚洲一区二区精品| 一区二区三区四区精品| 亚洲日本电影| 久久久久久久高潮| 国产欧美欧洲在线观看| av成人毛片| 日韩一区二区精品葵司在线| 久久久久看片| 国产欧美精品在线观看| 中文久久精品| 一区二区三区欧美日韩| 麻豆精品网站| 国产一区在线观看视频| 亚洲女同同性videoxma| 一区二区三区高清在线| 女同性一区二区三区人了人一| 国内精品一区二区三区| 午夜在线电影亚洲一区| 亚洲欧美日产图| 国产精品国产三级国产专播品爱网| 亚洲精品黄色| 一本色道久久综合亚洲二区三区 | 亚洲福利国产精品| 欧美一区二区三区久久精品茉莉花 | 亚洲精选大片| 日韩网站免费观看| 老司机精品福利视频| 很黄很黄激情成人| 久久国产高清| 久久久久免费观看| 韩国女主播一区二区三区| 午夜精品一区二区三区在线视| 午夜免费日韩视频| 国产精品免费网站| 亚洲婷婷综合久久一本伊一区| 在线一区观看| 欧美日韩一区二区三| 亚洲麻豆视频| 中文在线资源观看网站视频免费不卡 | 亚洲人成人一区二区三区| 久久免费精品视频| 国产在线拍偷自揄拍精品| 欧美在线国产精品| 久久久亚洲国产美女国产盗摄| 国产一区二区三区高清播放| 欧美亚洲色图校园春色| 欧美制服丝袜| 国产婷婷色一区二区三区四区| 午夜一区二区三区不卡视频| 久久成人精品电影| 国产一区二区黄| 久久精品成人| 另类综合日韩欧美亚洲| 亚洲电影欧美电影有声小说| 亚洲日本va在线观看| 欧美国产日本韩| 日韩视频在线免费观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品高潮呻吟视频| 性久久久久久久| 久久一区二区三区超碰国产精品| 在线播放中文字幕一区| 亚洲另类自拍| 欧美午夜电影一区| 亚洲一区综合| 久久露脸国产精品| 亚洲国产影院| 亚洲永久视频| 国产在线精品一区二区中文| 亚洲日本中文字幕| 欧美视频精品在线| 性欧美1819性猛交| 农村妇女精品| aa日韩免费精品视频一| 久久精品成人| 亚洲国产精品电影在线观看| 亚洲网站视频| 国产日韩欧美电影在线观看| 亚洲级视频在线观看免费1级| 欧美精品久久久久久久免费观看| 夜夜爽www精品| 久久精品国产视频| 亚洲欧洲美洲综合色网| 亚洲欧美国产日韩天堂区| 狠狠v欧美v日韩v亚洲ⅴ| 一区二区电影免费在线观看| 国产精品夜夜嗨| 91久久精品日日躁夜夜躁国产| 欧美日韩免费观看中文| 欧美亚洲一区二区在线| 欧美美女喷水视频| 欧美一区二区精品| 欧美激情在线免费观看| 亚洲欧美日韩在线一区| 欧美成人精品福利| 亚洲影院色无极综合| 美女诱惑黄网站一区| 在线综合视频| 欧美成人精品不卡视频在线观看 | 国产精品网站视频| 91久久极品少妇xxxxⅹ软件| 欧美午夜一区二区福利视频| 欧美专区第一页| 欧美天天综合网| 亚洲高清在线精品| 欧美午夜剧场| 亚洲欧洲精品一区二区| 国产精自产拍久久久久久| 一本色道精品久久一区二区三区| 国产日韩精品一区| 中文日韩电影网站| 在线观看日韩一区| 午夜精品免费| 亚洲美女视频在线观看| 久久久夜精品| 亚洲一区在线观看免费观看电影高清| 欧美高清在线视频观看不卡| 欧美亚洲一区| 国产精品毛片高清在线完整版|