多功能監護儀的無線通訊系統
本系統設計為1臺主機,6臺從機,采用簡單的輪詢機制。首先主機根據不同的從機地址,向其中的一臺從機發出數據請求,在一段確定的時間之內,如果沒有得到回傳的數據,就可以判斷為超時。如果得到的數據有錯誤,nRF24L01會自動啟動錯誤重傳機制。由于經過了CRC校驗,可以確認上層得到的數據就是正確的數據。在數據鏈路層,由于上行(數據由從機到主機)和下行(數據由主機到從機)的數據量不同,上行的數據量較大,是主要的數據通道,下行的數據量很小,只有一些控制信號,所以上行的數據包采用32 B/包,而下行的數據包采用8 B/包。按照從機的UART接收的數據速率為19 200 b/s,每秒的數據量約為19 200/8 B,即2 400 B/s。按照32 B/包計算,每秒需要傳輸2 400/32包,即75包。從機使用的控制器只負責存儲與轉發,ATmega8具有1 000 B的SRAM,可以開辟出320 B,即10個數據包的上行緩沖區,在每個輪詢周期,每臺從機傳送320 B的數據。所以把輪詢廚期設為10 ms,在每個輪詢周期內,主機分別與6臺從機交換一次數據,每秒可以有大于10個輪詢周期,射頻部分收發狀態的切換時間,只有幾個μs,可以忽略。扣除SPI通訊中協議的開銷,每秒上行通道可以傳送大于3 200 B的數據,這個速度超過從機從UART接收數據的速度,可以保證不丟數據。至于下行數據鏈路,由于數據量很小,可以忽略不計。
本文引用地址:http://www.104case.com/article/84269.htm5 本設計的亮點
為什么不用藍牙:藍牙具有完善的協議層,可以保證不同手持設備之間數據的自由交換,但藍牙為了確保互換性而形成的協議包結構相當復雜,這不僅導致了其硬件的復雜性,也大幅度增加了處理量和同步處理需求,導致電池消耗迅速增加。
為什么不用WiFi:不可否認WiFi具有更好的通用性、更快的數據速率,但同樣對接口的硬件具有相當高的性能要求,無法與普通的單片機相連。如果采用更高性能的處理器,會增加硬件的復雜度和軟件的成本,同時WiFi的高功耗也不適合使用電池供電的多功能監護儀。
為什么不使用ZigBee:ZigBee也是一種近距離低速率數據交換的可選設計,但ZigBee的傳輸速率只有250 k/s,不能滿足本系統的需求。ZigBee協議復雜、開發難度大、周期長,這進一步限制了中小廠商的使用。
6 結 語
本嵌入式系統的設計應該以系統本身的需求為中心,而不能把一個系統的設計生搬硬套到另外,一個系統上。另外一個優秀的嵌入式系統還要兼顧硬件、軟件、功耗、應用環境等各種因素。
評論