- 相關推薦
基于PIC單片機的便攜式測試記錄儀設計
以追求高可靠、低功耗、小體積設計思想的本記錄儀具有如下功能:對現場物理量進行實時采集、保存、處理與顯示;自動識別現場安裝的傳感器數量、傳感器號和量程;自動和手動兩種采集方式,自動采集適用于長期無人值班的固定場合,手動采集便于對分布在不同區域的物理量進行測試;與PC機通訊,可根據需要將采集數據下載至PC數據庫;實時打。蛔詸z功能,避免了系統運行過程中可能遇到本身無法容錯處理的異常事件而導致的死機現象。
1 硬件設計
1.1 總體設計原則
根據高可靠、低功耗、小體積的設計思想及應用對象幾乎對采集速度無要求(此處指系統本身的采集速度已遠遠超過實際應用要求)的特性,總體設計原則是: 元器件采用低功耗、寬范圍工作電源的CMOS集成電路;總線采用口線少的串行總線;允許情況下,盡量用軟件實現硬件功能,用中斷代替查詢工作方式;一旦系統空閑則立即使其進入低功耗休眠狀態,當需要時再用外部中斷予以喚醒。
1.2 硬件組成
根據總體設計原則,硬件組成如圖1所示。其中:單片機為美國MicroChip公司的中檔產品PIC16C74,+5V供電、4MHz主頻時功耗低于2mA;E2PROM存儲陣列由超低工作電壓(+2.5V~+5.5V)、具有可編程選擇多種特性的8KB智能化電可擦除存貯器24LC65芯片組成。其中,0#為傳感器識別片(以下簡稱識別片),保存現場實際安裝的傳感器數量、傳感器號及量程。該芯片被設計在放大器板上,永久安裝于現場。傳感器號由4位數字組成,前2位表示組號,后2位表示傳感器組內號。1# 為字典片,分為三個存儲區:第一存儲區被設置成高壽命寫入區,保存表頭參數,如疵點單元計數器、記錄計數器、記錄指針、自動采集時間等;第二存貯區為字典區,保存傳感器修正系數、實時打印所涉及的漢字國標碼等,查找時以傳感器號為關鍵字進行指針定位;第三存儲區被定義為疵點單元地址隊列,保存在寫過程中遇到的疵點單元地址。2!罚 為數據片,保存實時采集的數據。RS232口為最簡單的零調制3線經濟型,具有雙重功能,接上TPμP_T微型打印機,則進行實時打。唤由希校脵C,則與PC進行全雙工通訊。A/D轉換器MAX189為串行、12位逐次逼近型,功耗75mW,最大轉換時間8.5μs。實時時鐘DS1302具有可編程涓流充電功能,能夠提供秒、分、時、日、月、星期、年至2100年,并且對閏年和小于31天的月份進行自動調節。鍵盤由手動、自動、通訊、打印、清零等五個觸摸按鍵組成,通過按鍵產生外部中斷喚醒單片機完成相應功能。液晶顯示器(LCD)采用4位半靜態方式驅動,用來顯示處理后的結果以及系統運行過程中檢錯的代碼。32.768kHz晶振用于自動采集時產生定時中斷。
圖1 基于PIC單片機的便攜式測試記錄儀組成
1.3 工作原理
本記錄儀基本工作原理是:一旦系統完成某項工作后,立即進入低功耗休眠狀態,當需要時再由外部中斷予以喚醒。
1.3.1 加電初始化
加電后,首先初始化有關寄存器和接口,然后自檢各功能部件。測試結果無論正;蝈e誤均以代碼形式顯示在LCD上,進入休眠狀態。
1.3.2 采 集
本記錄儀有自動和手動兩種采集方式。
休眠狀態下,當按手動鍵時則進入手動采集過程。首先讀識別片和字典片,以確立現場中實際安裝的傳感器數量、量程及數據片可寫空間。若數據片未寫滿,則從組內0通道傳感器開始,循環對現場中實際安裝的所有傳感器進行采集、處理、顯示,直至當再按一次手動鍵時,方將傳感器號、量程、最近一次采集值(注意?不是實時處理后結果,而是原始A/D轉換碼值)以及采集時刻的日歷信息─年、月、日、時、分、秒等組成的記錄寫入記錄指針指向的數據片中,接著對表頭參數進行修改,進入休眠狀態。
休眠狀態下,當按自動鍵時則進入自動采集過程。首先開放定時中斷,然后進入采集─保存─休眠─喚醒─再采集─再保存─再休眠─再喚醒的循環狀態,直到數據片被寫滿或人工干預結束自動采集過程為止。上述喚醒由外部中斷完成,其單片機從休眠狀態到喚醒工作之間的時間間隔有等距和變距兩種形式可供選擇。所謂等距即每次采集的時間間隔相同。與其相反,變距則每次采集的時間間隔隨采集次數的增多而變長或縮短,視實際應用需要而確定。本記錄儀出廠設置為等距1小時,即每間隔1小時采集1次。
1.3.3 通訊和打印
休眠狀態下,當按通訊鍵時,進入和PC通訊過程。首先由PC端Win98下的專門處理軟件完成串口1(若記錄儀與PC Com1口相連)或串口2(若記錄儀與PC Com2口相連)的自動配置,然后可根據工具條上的圖文進行等距、變距、選擇、數據下載、事后處理等操作。
休眠狀態下,當按打印鍵后,則在TPμP_T微型打印機上打印出所有保存的記錄。
1.3.4 清 零
休眠狀態下,當按清零鍵時,則清除數據片中保存的所有記錄,即使記錄指針指向數據片首址。
2 軟件設計
本記錄儀軟件由實時處理程序和組成記錄儀諸功能部件的驅動程序組成。
2.1 實時處理程序
實時處理程序調用相關驅動程序完成模擬量采集、數字濾波、插值運算、實時顯示、記錄合成及記錄保存。本記錄儀采用的記錄格式從高至低依序為:傳感器號,量程,采集值,年,月,日,時,分,秒。
2.2 驅動程序設計
驅動程序設計的基本思想是:首先完成相關接口、寄存器的初始化,然后根據具體物理部件產生微操作時序,并對操作過程中遇到的異常事件進行容錯處理。
2.2.1 讀/寫E2PROM 驅動程序
I2C總線由時鐘線(SCL)和數據線(SDA)組成。根據I2C總線協議,將圖1所采用的24LC65芯片的讀/寫操作按操作順序分解為:使總線處于空閑狀態(SCL、SDA均為高電平);發送讀/寫啟動信號(SCL保持高電平,SDA從高變低產生下降沿);在數據線SDA上讀或寫數據位(SCL高電平時,SDA狀態為有效的讀或寫數據位,SDA狀態,即0或1的變化必須在 SCL低電平期間完成);發送讀/寫結束信號(SCL保持高電平,SDA從低變高產生上升沿)。如果為寫操作,每寫完1字節數據后,24LC65在數據線SDA上回送握手應答信號,表示該字節數據已被可靠寫入。以上微操作通過匯編語言編程實現。
本記錄儀以記錄方式讀/寫數據片。因此,對寫來說,首先讀字典片,以便用其中的表頭參數判斷當前數據片是否已寫滿。若已寫滿,則在LCD上顯示無寫空間標記代碼,然后返回休眠狀態;否則,將記錄寫入記錄指針所指向的數據片中,同時
【基于PIC單片機的便攜式測試記錄儀設計】相關文章:
基于PIC單片機的熱能表研制03-18
基于單片機的MicroDrive接口設計03-20
基于PIC的無線數據傳輸發射機設計03-19
基于單片機的CAN智能總線節點的設計03-07
基于51單片機復位電路設計03-07
基于單片機的液位測量系統設計03-07
基于RTX51的單片機軟件設計03-18
基于FPGA的RISC8位單片機設計03-30