發布成功
讚賞金額:
您輸入的金額有誤,請重新輸入
支付金額:5元
支付方式:
讚賞成功!
你的讚賞是對作者最大的肯定~?
01 設計滿足要求的最精簡的係統
單片機,又稱微控製器,是把中央處理器、存儲(chu) 器、定時/計數器、各種輸入輸出接口等都集成在一塊集成電路芯片上的微型計算機。正確估計單片機的能力,知道單片機能做什麽(me) ,最大程度的挖掘單片機的潛力對一個(ge) 單片機係統設計者來說是至關(guan) 重要的。我們(men) 應該有這樣一個(ge) 認識,即單片機的處理能力是非常強大的。
早期的PC機,其CPU(8086)處理能力和8051相當,卻能處理相當複雜的任務。單片機的能力的關(guan) 鍵就在軟件設計者編寫(xie) 的軟件上。隻有充分地了解到單片機的能力,才不會(hui) 做出“冗餘(yu) ”的係統設計。而采用許多的外圍芯片來實現單片機能實現的功能。這樣做,即增加了係統成本,也可能會(hui) 降低了係統的可靠性。
02 使用看門狗
看門狗電路通常是一塊在有規律的時間間隔中進行更新的硬件。更新一般由單片機來完成,如果在一定間隔內(nei) 沒能更新看門狗,那看門狗將產(chan) 生複位信號,重新複位單片機。更新看門狗的具體(ti) 形式多是給看門狗芯片相關(guan) 引腳提供一個(ge) 電平上升沿或讀寫(xie) 它的某個(ge) 寄存器。使用看門狗電路將在單片機發生故障進行死機狀態時,重新複位單片機。
當前有多種看門狗的芯片,如MAXIM 公司的MAX802,MAX813等。而且,有好多種單片機中本身就集成有看門狗。一個(ge) 外部的看門狗是最好的,因為(wei) 它不依賴於(yu) 單片機。如果可能的話,看門狗更新程序不應該放在中斷或是子程序中,原則上應該放在主程序中。
我曾經見過一個(ge) 工程師,他所調試的程序在運行時偶爾會(hui) 引起看門狗的複位動作,於(yu) 是他幹脆在每10ms就中斷一次的時鍾中斷程序中清看門狗。我相信他也知道使看門狗失去作用,可他卻沒有不是去查明引起這個(ge) 現象的真正原因。因此,我想提醒大家:不論什麽(me) 理由,絕對不要忽略係統故障的真正原因。高質量的產(chan) 品來自於(yu) 高素質的工程師,高質量的產(chan) 品造就高素質的工程師。
03 確定係統的複位信號可靠
這是一個(ge) 很容易忽略的問題。當你在設計單片機係統時,你腦中有這個(ge) 概念嗎?什麽(me) 樣的複位信號才是可靠的嗎?你用示波器查看過你設計的產(chan) 品的複位信號嗎?不穩定的複位信號可能會(hui) 產(chan) 生什麽(me) 樣的後果?你有沒有發現過你所設計的單片機係統,每次重新上電啟動後,數據變得亂(luan) 七八糟,並且每一次現象並不相同,找不出規律,或者有時候幹脆不運行,或者有時候進入一種死機狀態,有時候又一點事都沒有正常運行?在這種情況下,你應該查一下你的係統的複位信號。
一般在單片機的數據手冊(ce) (Datasheet)中都會(hui) 提到該單片機需要的複位信號的要求。複位電平的寬度和幅度都應滿足芯片的要求,並且要求保持穩定。還有特別重要的一點就是複位電平應與(yu) 電源上電在同一時刻發生,即芯片一上電,複位信號就已產(chan) 生。不然,由於(yu) 沒有經過複位,單片機中的寄存器的值為(wei) 隨機值,上電時就會(hui) 按PC寄存器中的隨機內(nei) 容開始運行程序,這樣很容易進行誤操作或進入死機狀態。
04 確定係統的初始化有效
係統程序開始應延時一段時間。這是很多單片機程序設計中的常用方法,為(wei) 什麽(me) 呢?因為(wei) 係統中的芯片以及器件從(cong) 上電開始到正常工作的狀態往往有一段時間,程序開始時延時一段時間,是讓係統中所有器件到達正常工作狀態。究竟延時多少才算合適?這取決(jue) 於(yu) 係統的各芯片中到達正常工作狀態的時間,通常以最慢的為(wei) 準。
一般來說,延時20-100毫秒已經足夠。對於(yu) 係統中使用嵌入式MODEM等“慢熱”型的器件來說,則應更長。當然,這都需要在係統實際運行中進行調整。
05 上電時對係統進行檢測
上電時對係統中進行檢測是單片機程序中的一個(ge) 良好設計。在硬件設計時也應該細細考慮將各個(ge) 使用到的芯片、接口設計成容易使用軟件進行測試的模式。很多有經驗的單片機設計者都會(hui) 在係統上電時(特別是第一次上電時)進行全麵的檢測,或者更進一步,將係統的運行狀態中分為(wei) 測試模式和正常運行模式,通過加入測試模式對係統進行詳細的檢測,使得係統的批量檢測更為(wei) 方便容易。另外要注意的是,一個(ge) 簡單明了的故障顯示界麵也是頗要費得心思的。
比如:係統的外部RAM(數據存儲(chu) 器)是單片機係統中常用的器件。外部RAM如果存在問題,程序通常都會(hui) 成為(wei) 一匹脫韁的野馬。因此,程序在啟動時(至少在第一次上電啟動時)一定要對外部RAM進行檢測。 檢測內(nei) 容包括:
1)檢測RAM 中的單元。這主要通過寫(xie) 入和讀出的數據保持一致。
2)檢測單片機與(yu) RAM 之間的地址數據總線。總線即沒有互相短路,也沒有連接到“地”上。
另外,很多芯片,都提供了測試的方法。如串行通信芯片UART,都帶環路測試的功能。
06 按EMC測試要求設計硬件
EMC 測試要求已經成為(wei) 產(chan) 品的必需。
07 盡可能使用Small 模式編譯
對比Large模式和Compact 模式,Small 模式能生成更為(wei) 緊湊的代碼。在Small 模式下,C51 編譯器將沒有使用關(guan) 鍵詞,如idata、pdata、xdata特殊聲明的變量通通放在data單元中。在編程中,對於(yu) 在的數據區,可以指定放在外部存儲(chu) 器中。
關(guan) 於(yu) 必威官方网站手机網
必威官方网站手机網是一個(ge) 電子方案開發供應鏈平台,提供從(cong) 找方案到研發采購的全鏈條服務。找方案,上必威官方网站手机網!在方案超市找到合適的方案就可以直接買(mai) ,沒有找到就到快包定製開發。必威官方网站手机網積累了一大批方案商和企業(ye) 開發資源,能提供標準的模塊和核心板以及定製開發服務,按要求交付PCBA、整機產(chan) 品、軟件或IoT係統。更多信息,敬請訪問https://www.interviewcrusher.com