MCU解密

要讀取感測器測量值暫存器的內容,MCU必須首先傳送感測器地址和暫存器指針。 為了讀出感測器測量值暫存器中的16位數據,MCU必須與感測器進行兩次8位數據通信。 MCU讀取感測器的測量值後,接下來就要進行換算並將結果顯示在LCD上。

MCU是視頻會議系統的核心部分,為用戶提供群組會議、多組會議的連線服務。目前主流廠商的MCU一般可以提供單機多達190個用戶的接入服務,並且可以進行級聯,主流廠家支持三級數字合併級聯(上級MCU可控制下級MCU終端,對終端進行選看,遙控攝像機等會議操作),可以基本滿足用戶的使用要求。MCU的使用和管理不應該太複雜,要使客戶方技術部甚至行政部的一般員工能夠操作。
工作原理MCU同溫度感測器之間通過I2C匯流排連線。I2C匯流排占用2條MCU輸入輸出口線,二者之間的通信完全依靠軟體完成。溫度感測器的地址可以通過2根地址引腳設定,這使得一根I2C匯流排上可以同時連線8個這樣的感測器。本方案中,感測器的7位地址已經設定為1001000。MCU需要訪問感測器時,先要發出一個8位的暫存器指針,然後再發出感測器的地址(7位地址,低位是WR信號)。感測器中有3個暫存器可供MCU使用,8位暫存器指針就是用來確定MCU究竟要使用哪個暫存器的。本方案中,主程式會不斷更新感測器的配置暫存器,這會使感測器工作於單步模式,每更新一次就會測量一次溫度。
要讀取感測器測量值暫存器的內容,MCU必須首先傳送感測器地址和暫存器指針。MCU發出一個啟動信號,接著發出感測器地址,然後將RD/WR管腳設為高電平,就可以讀取測量值暫存器。
為了讀出感測器測量值暫存器中的16位數據,MCU必須與感測器進行兩次8位數據通信。當感測器上電工作時,默認的測量精度為9位,分辨力為0.5C/lsb(量程為-128.5C至128.5C)。本方案採用默認測量精度,根據需要,可以重新設定感測器,將測量精度提高到12位。如果只要求作一般的溫度指示,比如自動調溫器,那么分辨力達到1C就可以滿足要求了。這種情況下,感測器的低8位數據可以忽略,只用高8位數據就可以達到分辨力1C的設計要求。由於讀取暫存器時是按先高8位後低8位的順序,所以低8位數據既可以讀,也可以不讀。唯讀取高8位數據的好處有二,第一是可以縮短MCU和感測器的工作時間,降低功耗;第二是不影響分辨力指標。
MCU讀取感測器的測量值後,接下來就要進行換算並將結果顯示在LCD上。整個處理過程包括:判斷顯示結果的正負號,進行二進制碼到BCD碼的轉換,將數據傳到LCD的相關暫存器中。
數據處理完畢並顯示結果之後,MCU會向感測器發出一個單步指令。單步指令會讓感測器啟動一次溫度測試,然後自動進入等待模式,直到模數轉換完畢。MCU發出單步指令後,就進入LPM3模式,這時MCU系統時鐘繼續工作,產生定時中斷喚醒CPU。定時的長短可以通過編程調整,以便適應具體套用的需要。

相關詞條

相關搜尋

熱門詞條

聯絡我們