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

淺析IIC及其在電子羅盤上的應用

2019-03-25 08:01:52鄭傳堯
電腦知識與技術 2019年3期

鄭傳堯

摘要:STM32模擬IIC,實現與QMC5883L電子羅盤通信,經過數學計算得到最終數據并顯示在LCD屏上的指定位置,通過數值判斷方向,實現簡單指南針的功能。

關鍵詞:STM32;電子羅盤;IIC;軟件模擬

中圖分類號:TP391? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2019)03-0218-03

人機交互(HMI)已經獨立為一門學科。人機界面(HCI)指出,HCI是人與計算機之間傳遞、交換信息的媒介和對話接口。手機是人機交互的完美體現。從古代的司南到近代的實體指南針,再到手機界面上的虛擬指南針,在這個過程中,指南針賦予時代發展的意義重大。電子羅盤在虛擬指南針實現上起到了信息采集者的作用。信息采集完后需要信息運輸者進行傳輸,IIC總線起到了信息運輸者的作用。在運輸過程中為了保證運輸效率,正確率,必須對傳輸過程制定約束, IIC總線協議起到約束的作用。只有保證信息采集者、信息運輸者能夠正常運作,才能實現數據最后的視覺呈現。

1 IIC介紹

物理結構上,SDA和SCL構成IIC的通信線路,其中SDA為數據線,提供數據傳輸,SCL為時鐘線,提供傳輸時鐘。連接在IIC總線上的設備,既可以作為數據發送端,同時也可以作為數據接收端。當主控器為Master時,被控器為Slave時,并聯在總線上,他們各自都有唯一的地址,這些地址就是打開IIC總線上連接設備大門的鑰匙。在信息傳輸過程中,連接在IIC總線上的每一個器件都可作為Master、Slave使用,也可作為發送端、接收端使用。CPU發出的控制信號分為地址碼和數據碼兩個部分:地址碼用來選址,數據碼是通信的內容,這樣各個器件的控制電路雖然掛在同一條總線上,卻彼此獨立。圖1為IIC總線設備連接硬件結構圖。

圖2為IIC總線時序圖,從圖中得知IIC總線在傳送數據的過程中共有三種類型信號,分別是:開始信號(START)、應答信號(ACK)和結束信號(STOP)。SCL為高電平時,SDA由高電平跳變為低電平,這個過程定義為開始信號;Master(Slave)在接收到8位數據后,將發送數據的Slave(Master)發出特定的低電平脈沖(ACK=0),表示已接收到數據,這個過程定義為應答信號;SCL為高電平時,SDA由低電平調變為高電平,這個過程定義為結束信號。在進行數據傳送時,時鐘信號為高電平期間,數據線上的數據必須保持穩定,另外IIC總線協議規定,每傳送一個字節數據(含地址及命令字)后都要有一個應答信號,已確定數據傳送是否被對方收到。

2電子羅盤介紹

電子羅盤,別名數字指南針,它是利用地磁場來定北極的裝置。與傳統指針式相比,它功耗低,體積小,精度高,最重要的是它的輸出信號通過處理后生成的數字信號可以用來實現機械控制。

2.1 QMC5883L介紹

QMC5883L是一款高精度三軸AMR(AMR:全稱Anisotropic Magnetoresistance,各向異性磁電阻)傳感器,采用7位尋址(寫地址: 0x1a,讀地址:0x1b)自帶溫控補償功能保證信號輸出的穩定性。它憑借其優異的性能,可以被廣泛應用于無人機、高精度工業和汽車電子領域。

QMC5883L有兩種操作模式,分別是Standby Mode和Continuous Mode,通過寄存器(09H)的模式位控制。當傳感器處于Standby Mode,傳感器本身很少功能被激活,功耗低,并且在這種模式下沒有磁力計測量,內部時鐘也停止,當傳感器處于Continous Mode(模式位:01)下,磁傳感器連續進行測量并將測量數據放入數據輸出寄存器中。

2.2 QMC5883L模式設置介紹

如圖3IIC寫操作順序圖,可以理解Master執行寫操作設置Slave為Continous Mode的流程。首先Master發送START信號后緊接著發送8位2進制信號(Slave地址+R/W模式位),等待Slave發出的ACK,收到ACK后證明Master與從機已經建立好通信,緊接著Master又發送8位2進制數來選擇需要設置從機某一個寄存器的地址(這里寄存器地址位0x09),收到Slave發出的ACK后,Master馬上發送所選擇Slave寄存器需要設置的內容,收到Slave發出的ACK后,Master發送STOP信號,斷開與Slave的通信,此時Slave的工作模式已經被設置好了。

如圖4IIC讀操作順序圖,可以理解Master讀取地址0x00H~0x07H內容的流程。首先通過寫操作確定讀取內容的首地址為0x00H,接下來通過IIC總線設置模塊為讀模式,每接收一個8位數據,Master產生一個ACK,直到接收到0x07H內容后發送NACK信號,緊接著發送STOP信號完成讀取操作。

3單片機模擬IIC通信

在這里選擇軟件模擬IIC的最大好處就是便移植,任何一個單片機,只要有IO口,這段代碼就可以很好的移植過去。相比較而言,硬件IIC每換一款MCU,就得重新編碼,移植麻煩。

本次采用設備為正點原子STM32F7開發板、QMC5883L電子羅盤、12V電源適配器、TFTLCD屏、杜邦線。

3.1結構設計

圖5為所選開發板的部分IO外設資源分布圖(開發板和裸機不能相提并論,開發板IO已經資源分配好,亂用會導致意外錯誤產生)。本次設計需要使用開發板的PH4(SCL)和PH5(SDA)這兩個GPIO口。表1為QMC5883L的IO資源分配表,以此來確定開發板與電子羅盤的硬件連接方式。從表1得知QMC5883L的SCL與SDA的序號分別位1號和16號,即在硬件連接的時候,PH4與1號相連,PH5與16號相連,2號口與11號口分別與開發板上的VDD(3.3V)與GND相連。LCD屏直接與STM32F7開發板對應的接口相連。

3.2原理實現

此處通過代碼來分析STM32模擬IIC通信和QMC5883交流系統實現的過程。以下均為封裝好的函數體,分別定義起始信號函數為void IIC_Start(void);結束信號函數為void IIC_Stop(void);產生應答信號函數為void IIC_Ack(void);不產生應答信號函數為void NAck(void);發送一個字節函數為void IIC_Send_Byte(u8 tad);接收一個字節函數為u8 IIC_Read_Byte(void)。

QMC5883L電子羅盤必須進行初始化操作才能正常使用,初始化操作中包含設置電子羅盤為ContinousMode的過程,其他配置內容均按照用戶手冊來書寫。根據圖3寫操作順序圖,調用定義好的函數,完成初始化操作

完成QMC5883L初始化操作后,緊接著就是實現STM32獲取QMC5883L傳回來數據。通過QMC5883L數據手冊得知我們需要的數據連續存放在0x00H~0x05H這6個地址中。首先通過寫操作設置QMC5883L設置讀取的起始地址為0x00H,然后通過IIC總線設置QMC5883L為讀模式,讀取起始地址為0x00H的內容。

完成以上步驟QMC5883L采集得數據已經存放在QMCBUF這個數組里面,這些數據是原始數據,不可以拿來直接使用,需要做數學處理。得到最后的Angle_XY、Angle_XZ、Angel_YZ這個三個變量是我們可以直接使用的。

3.3結論

通過與手機指南針對比,當Angle_XY的結果為0.000000或者360.000000時,QMC5883L上的X軸指向正南方;當Angle_XY的結果為90.000000時,X軸指向正西方;當Angle_XY的結果為180.000000時,X軸指向正北方;當Angle_XY的結果為270.000000時,X軸指向正東方。通過這個結果得出,QMC5883L是順時針計數的。

QMC5883L是各向異性磁電阻傳感器,易受周圍磁場干擾,所以使用之前需要做參數校準。

4拓展應用

QMC5883L和GPS聯合使用可以實現低速設備的簡單定位導航功能。

理念介紹:以電子羅盤X軸指向為低速設備的初始前進方向,得到一個初始的Angle_XY值,利用GPS模塊得到低速設備當前點A的經緯度,和目的點B的經緯度聯合使用,通過數學計算算出A、B兩點與正南方的夾角[Θ],然后算出[Θ]與Angle_XY的差值[Δ]。我們只需要判斷[Δ]的值是否為0,若為0說明低速設備朝向是目的點方向。通過這種方式,低速設備可以主動巡航到目標點。

5結束語

文章介紹了IIC總線的物理結構和通信協議,并實現了STM32與QMC5883L電子羅盤的通信,得出IIC通信占用的IO資源少,操作方便的結論。IIC總線協議是實現IIC總線傳輸的必要條件,把器件的地址當成器件的標識符是保證傳輸正確率的前提。IIC只是眾多通信方式的其中一種,另外如SPI通信、CAN通信、無線通信、藍牙通信等等在我們的日常生活中都可以碰得到,它們利用各自優勢服務于物聯網,豐富了人類物質精神需求,推進人機交互的發展。

參考文獻:

[1] 郭天祥.51單片機C語言教程[M].北京:電子工業出版社,2012:178-192.

[2] 張洋,左忠凱,劉軍.STM32F7原理與應用:HAL庫版.上[M].北京:北京航空航天大學出版社,2017:465-484.

【通聯編輯:唐一東】

主站蜘蛛池模板: 成人久久18免费网站| 国产美女人喷水在线观看| 色综合中文| 人妻一本久道久久综合久久鬼色 | 在线欧美日韩国产| 午夜无码一区二区三区| 伊人久综合| 久久久噜噜噜| 国模粉嫩小泬视频在线观看| 亚洲视频欧美不卡| 久草热视频在线| 日韩精品成人在线| 高潮毛片无遮挡高清视频播放| 91精品亚洲| 97综合久久| 国产午夜不卡| 国产香蕉在线| 99中文字幕亚洲一区二区| 成人午夜天| 在线视频亚洲欧美| 日韩欧美国产区| 国产欧美日韩免费| 青青久在线视频免费观看| 成人蜜桃网| 欧美精品啪啪| 欧洲欧美人成免费全部视频| 精品一区国产精品| 国产人免费人成免费视频| h视频在线播放| 色偷偷男人的天堂亚洲av| 国产丝袜第一页| 欧美日韩精品综合在线一区| 最新国产成人剧情在线播放| 亚洲天堂精品在线观看| 国产在线八区| 四虎永久免费在线| 欧美国产中文| 性色在线视频精品| 欧洲成人在线观看| 五月激情婷婷综合| 91福利在线看| …亚洲 欧洲 另类 春色| 欧洲亚洲欧美国产日本高清| 日日碰狠狠添天天爽| 99热国产这里只有精品9九| 高清不卡一区二区三区香蕉| 999精品视频在线| 国产视频大全| 国产99欧美精品久久精品久久| 国产色婷婷| 99热这里只有精品在线播放| 亚洲欧美一区二区三区图片 | 手机精品福利在线观看| 亚洲Av综合日韩精品久久久| 在线国产你懂的| 农村乱人伦一区二区| 毛片手机在线看| 99激情网| 99国产精品国产高清一区二区| 日韩高清欧美| 高潮爽到爆的喷水女主播视频| 国产99视频精品免费观看9e| 色婷婷成人网| 国产成人精品三级| 国产成人亚洲无码淙合青草| 国产理论最新国产精品视频| 91久久偷偷做嫩草影院精品| 久热99这里只有精品视频6| 国产人前露出系列视频| 91久久夜色精品国产网站| 色婷婷天天综合在线| 国产无码高清视频不卡| 国产精品自在在线午夜| 亚洲三级网站| 亚洲va视频| 欧美日韩激情在线| 婷婷综合缴情亚洲五月伊| 欧美va亚洲va香蕉在线| 亚洲首页在线观看| A级全黄试看30分钟小视频| 视频二区亚洲精品| 手机在线国产精品|