基于MSP430的流量檢測儀設計
2.2 軟件的設計
本文引用地址:http://dyxdggzs.com/article/247592.htm2.2.1 模塊的設計
對于流量檢測儀而言,其設計過(guò)程某些程序的執行需要通過(guò)實(shí)際時(shí)間來(lái)進(jìn)行調度。而此機制要想實(shí)現需要借助于MSP430單片機中所具有的TIMER-A及TIMER-B等實(shí)現。根據本系統的設計,需要定時(shí)器在32768Hz的條件下每秒進(jìn)行一次中斷,因此,需要對TIMER-B進(jìn)行以下方面的設置:
將時(shí)鐘源定義為ACLK;TBCTL=TBSSEL0+TBCLR
允許中斷定時(shí)器;TBCCTL0=CCIE
將定時(shí)器的定時(shí)時(shí)間設為1s;TBCCR0=0X7FFF
在增計數模式進(jìn)行定時(shí)器的工作;
TBCTL1=MC0
這樣,即可實(shí)現定時(shí)器1s中1次的中斷服務(wù)程序,在此程序中進(jìn)行相應定時(shí)器的設計,以便進(jìn)行計時(shí)相關(guān)操作。系統采用了熱電阻PT100.由于MSP430單片機自帶ADC12模塊,因此可將所采集的溫度通過(guò)A/D進(jìn)行轉換。為了對溫度及其他模擬量進(jìn)行即時(shí)處理,系統采用了序列通道多次轉換模式。轉換完成后結果會(huì )存放于A(yíng)DC12MEM之中。
對于系統的軟件而言,其包括上層及下層模塊兩部分軟件,其中,上層收到中心命令后可借助于射頻無(wú)線(xiàn)通信方式對下層進(jìn)行命令的發(fā)送,并進(jìn)行計時(shí)。若下層無(wú)數據返回,一旦超時(shí)上層會(huì )重新進(jìn)行命令的發(fā)送。若3次以上仍無(wú)數據返回,則將被認為下層工作出現異常,并向中心提交異常信號。由于MSP430單片機僅存在一個(gè)串口,而上。下層模塊需2個(gè)串口,而第2個(gè)串口需要借助于定時(shí)器A所具有的捕獲/比較功能來(lái)實(shí)現。
2.2.2 無(wú)線(xiàn)通信協(xié)議
系統的通信協(xié)議包括3層:一是物理層,主要是通過(guò)NRF401模塊實(shí)現的;二是數據鏈路層,此層主要負責進(jìn)行無(wú)線(xiàn)數據傳輸的提供;三是應用層,進(jìn)行數據的發(fā)送時(shí),需將此層所傳送來(lái)的較長(cháng)數據幀進(jìn)行拆分,并進(jìn)行包頭與校驗和,而后再重新進(jìn)行打包并發(fā)送。
由于NRF401靈敏度極高,因此,若無(wú)數據的傳輸時(shí),其數據的輸出腳將會(huì )存在雜波的輸出,此類(lèi)雜波將會(huì )受到MCU串口的接收和處理。四個(gè)字節的0×CC加上一個(gè)字節的0×F0可保證數據幀到達之前雙方之間通訊的同步實(shí)現。系統協(xié)議采用的是兩個(gè)字節的幀頭,即兩個(gè)0×55,其加上起始和停止位之后,實(shí)際過(guò)程中發(fā)送的將為0101010101,因此可有效保證數據獲得確認。此外,由于十個(gè)字節數據后為校驗和,因此采用16位的crc校驗可確保數據傳輸過(guò)程的準確性。此時(shí)接收方會(huì )對crc及校驗和進(jìn)行比較,若不同說(shuō)明傳輸過(guò)程發(fā)生錯誤,此時(shí)接收方會(huì )講錯誤幀編號進(jìn)行記錄,待所有數據發(fā)送結束后,可返回錯誤編號,并要求重新進(jìn)行發(fā)送。
若所有數據均接收正常,則會(huì )確認發(fā)送正確。
3.結語(yǔ)
MSP430單片機由于其功耗超低等特點(diǎn),因而在流量檢測中得到很好的應用。
通過(guò)基于MSP430單片機的流量檢測儀的設計,根本上解決了傳統流量檢測過(guò)程中精度問(wèn)題以及檢測儀受液體影響而壽命降低等多方面弊端,因而在流量檢測方面具有十分良好的發(fā)展前景。
評論