嵌入式系統開發7: 閱讀 Datasheet

閱讀時間約 6 分鐘

閱讀數據表(Datasheet)

在產品開發的過程中,面對發佈壓力,往往會讓我們無法慢下來仔細閱讀元件的數據表、手冊以及應用說明。更糟糕的是,儘管我們可能已經翻遍了這些文件,卻發現什麼也沒記住,因為這些文件中的專業術語對我們來說就像外語一樣陌生。而當我們的程式無法運作時,便會忍不住抱怨硬體出了問題。

對於軟體工程師來說,可以將每個芯片視作一個單獨的軟體庫。例如,你需要花費多少時間來學習一個軟體庫(如 Qt、OpenCV、Zephyr、Unity 或 TensorFlow)?同樣的時間大約也是你熟悉處理器及其外設所需要的時間。處理器甚至有類似 API 的方法來與外設進行通信。和軟體庫一樣,你通常只需閱讀文檔的一部分便能開始工作,但最好的做法是先知道哪些部分最重要,避免無意中陷入不必要的細節中。

數據表就像是外設的 API 手冊。確保你擁有最新版本的數據表(可以檢查製造商的網站或進行在線搜尋)。接下來,我將告訴你該重點閱讀哪些部分,又有哪些部分可以等到需要時再看。

硬體元件數據表的基本概念

硬體元件由其數據表來描述,而數據表常常充滿了密集的信息,令人望而卻步。閱讀數據表是一門藝術,這需要經驗和耐心。首先要了解的是,數據表並不是為你而寫的,而是為電氣工程師寫的,更確切地說,是為那些已經熟悉這個元件或類似元件的電氣工程師準備的。

某種程度上,閱讀數據表就像進入了一場技術對話的中途。比方說,如果你已經熟悉了三到四個加速計或類似的元件,那麼當你面對下一個元件時,便可以只讀其概述部分,迅速了解這個元件和你以往的經驗有何不同。但如果你是個新手,數據表可能就顯得過於簡略了,並且往往假設讀者已經有一定的背景知識。

因此,在閱讀數據表時,概述部分可以跳過(或者至少稍後再看)。相較於概述,描述部分更值得關注。它通常占據數據表的前幾頁,密集而精煉,是理解這個元件的關鍵部分。你應該詳細閱讀這段描述,甚至可以大聲讀出來,畫出重要信息,或者試著向別人解釋這些內容。

數據表中需要注意的部分

閱讀數據表時,應注意哪些部分可以忽略,而哪些部分則是關鍵。以下幾個部分通常在第一遍閱讀時可以跳過,但當出現問題時,它們可能會提供解決方案:

  • 引腳分佈圖:當你進行故障排除時,如果需要探測芯片的某些引腳,這部分資料就變得至關重要。引腳分佈圖提供了每個引腳的功能和狀態,特別是那些使用 NAME 或加有修飾符的引腳,可能表示低電平有效信號。
  • 性能特徵:這些表格和圖表詳細描述了元件的性能特徵。在第一次閱讀時,這些信息可能顯得過於細節化,但當你遇到元件無法正常運作時,這些數據可以幫助你確認是否存在溫度或電壓問題。
  • 樣本電路圖:這些樣本電路圖可以與驅動代碼類比,當元件出現問題時,檢查樣本電路圖是否與你的實際電路相匹配,這有助於發現潛在的設計問題。

實例分析

例如,假設你在使用一個新型加速計,但發現它在某些情況下數據讀取不穩定。你可以查看數據表中的性能特徵部分,可能會發現該加速計的精度在一定電壓範圍之外會下降,這可能是問題的根源。同樣,當你遇到引腳信號異常時,查閱引腳分佈圖可以幫助你確認信號的高低電平是否符合預期,從而進一步進行排查。

總的來說,閱讀數據表並不是一件簡單的事情,它需要耐心和對細節的關注。但是,掌握這項技能對於解決硬件與軟件之間的問題是至關重要的,這將幫助你在開發過程中更快地找到解決方案並提升產品質量。


適用於軟體開發者的數據表部分

最終,在數據表的中途,你會遇到一些文本,標題可能是「應用資訊」或「操作原理」。或者,數據表可能會從表格和圖表轉換為文本和示意圖。這部分就是你需要開始詳細閱讀的地方。雖然可以先略讀以找出你所需要的資訊位置,但最後還是要從頭到尾細讀這部分。作為額外的好處,這裡的文本可能會連結到一些有價值的應用說明和用戶手冊。

閱讀這部分數據表時,應該思考如何在你的系統中實現這個元件的驅動。它如何通信?如何初始化?你的軟體需要做什麼才能有效使用該元件?是否有嚴格的時間要求?你的處理器能夠處理這些要求嗎?

分析數據表對程式碼的影響

在閱讀數據表的過程中,標記可能會影響程式碼的部分,這樣你可以稍後回到這些部分進行深入研究。時間圖是很好的停頓點,讓你可以喘口氣並消化信息。時間圖可以幫助你將文本與預期實現結合起來。例如,這些圖表會顯示信號的變化順序及其時間間隔,這對於處理和協調硬體與軟體之間的通信至關重要。

此外,確保你擁有該元件的最新數據表,並檢查製造商的網站是否有 errata(勘誤表),這會提供數據表中的錯誤更正。勘誤表可能針對數據表中的錯誤或元件本身的缺陷。大多數元件都會有某種類型的勘誤,這些錯誤有時候會直接影響你對驅動的實現。

開發驅動的過程

當你完成數據表的閱讀並開始編寫驅動時,通常會發現需要反覆回顧數據表的某些部分。最常見的流程是先實現與芯片的接口,再進一步開發通信方法,最後實際使用芯片。在這個過程中,你可能需要重新閱讀數據表,以便更好地理解芯片的特性及其在不同情況下的行為。

這是一個需要耐心的過程,像烏龜和兔子賽跑一樣,耐心細讀才能更好地掌握這些資訊。一旦驅動程式完成並且運行正常,你可以再回到數據表的頂部閱讀功能摘要,因為此時你已經熟悉了該類型的元件,對摘要部分的理解也會更深。

即使如此,在處理類似的元件時,你仍然需要重新閱讀數據表的某些部分。不過,經驗的積累會讓你更快速地掌握關鍵資訊,並且你會發現數據表首頁的摘要提供了更多的幫助。

其他資源

在處理外設時,還有其他資源可以幫助你更好地使用元件:

  • 如果芯片有用戶手冊,一定要查看它。
  • 應用說明 通常會提供具體的使用案例,這些案例往往伴隨有廠商提供的示例程式碼。還可以搜尋廠商的代碼庫。
  • 可以在 GitHub 或網絡上搜尋該元件的相關信息。其他開發者的示例程式碼可以為你提供參考,展示應該如何正確使用該元件。

在深入研究之前,先環顧四周,答案可能就在你還未發現的地方。例如,你在使用某款晶片時遇到的問題,可能其他開發者也遇到過,他們的經驗與解決方案將大大減少你的探索時間。

5會員
240內容數
歡迎來到「Will 進步本」!我們將探索計算機科學、商用英文和生成式AI。從基礎到前沿,共同學習和交流,拓展知識視野,啟發創新思維
留言0
查看全部
發表第一個留言支持創作者!
Will 進步本 的其他內容
電壓與電流 我們測量電量時使用電壓和電流,但這兩者都源於更基本的物理原理。
設計變更的應對策略 當我們手中已有了不同的架構圖時,下一步該如何進行?
硬體/軟體整合 產品的開發通常源自於一個想法或市場需求。某人會基於功能、成本以及上市時間來設計出一個高層次的產品設計。此時,專案排程通常會被建立,顯示出主要的里程碑和活動。
設計系統架構有兩種主要的方式:一種是從零開始構建,從一個想法或最終目標開始,逐步組織所有的要素,這稱為組合式設計(composition)。
系統設計的挑戰 嵌入式系統的設計猶如解開一個拼圖,即使是小型的系統也充滿了細節,讓人眼花繚亂。作為開發者,你需要具備全局視野,才能辨識哪些部分的問題能夠用簡單的方法解決,哪些部分則潛藏著複雜的相依性。這時,設計的關鍵在於:不要追求一開始就完美,而是從一個「還可以」的設計開始,然後逐步改進。
面對嵌入式系統挑戰的原則 嵌入式系統開發過程常被比喻為拼圖,一個個相互契合的組件形成完整系統。有時,你可能會強行將不匹配的組件拼在一起,但結果卻與預期的圖像不符。我們應該拋棄將開發最終結果視為單一版本程式碼的想法,嵌入式系統的開發更像是隨著時間變化的拼圖,涵蓋了概念、原型設計、硬體啟動、除錯、測試
電壓與電流 我們測量電量時使用電壓和電流,但這兩者都源於更基本的物理原理。
設計變更的應對策略 當我們手中已有了不同的架構圖時,下一步該如何進行?
硬體/軟體整合 產品的開發通常源自於一個想法或市場需求。某人會基於功能、成本以及上市時間來設計出一個高層次的產品設計。此時,專案排程通常會被建立,顯示出主要的里程碑和活動。
設計系統架構有兩種主要的方式:一種是從零開始構建,從一個想法或最終目標開始,逐步組織所有的要素,這稱為組合式設計(composition)。
系統設計的挑戰 嵌入式系統的設計猶如解開一個拼圖,即使是小型的系統也充滿了細節,讓人眼花繚亂。作為開發者,你需要具備全局視野,才能辨識哪些部分的問題能夠用簡單的方法解決,哪些部分則潛藏著複雜的相依性。這時,設計的關鍵在於:不要追求一開始就完美,而是從一個「還可以」的設計開始,然後逐步改進。
面對嵌入式系統挑戰的原則 嵌入式系統開發過程常被比喻為拼圖,一個個相互契合的組件形成完整系統。有時,你可能會強行將不匹配的組件拼在一起,但結果卻與預期的圖像不符。我們應該拋棄將開發最終結果視為單一版本程式碼的想法,嵌入式系統的開發更像是隨著時間變化的拼圖,涵蓋了概念、原型設計、硬體啟動、除錯、測試
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
這篇假日長文描述了作者自己進行每日一章的閱讀企劃的經驗,並分享了從投資書籍閱讀中所得知的心得和寫作的改變,同時也分享了投資及閱讀的感觸。
Thumbnail
問題意識為什麼重要?因為它是整篇心得的動力來源,好比車子的引擎或是軟體的驅動程式;少了問題意識,孩子根本不知道為什麼要寫心得,以及怎麼樣動筆寫心得。這學期我設計的閱讀心得寫作課程,加入了一個簡單的步驟,可有效為學生建立起問題意識。這個步驟是……
Thumbnail
就算未來人工智慧能夠寫文章,散文作家或許還是最不需要擔心的一群。沒有5W1H的嚴謹結構,不需要起承轉合的情節,散文所需的只是作家本身的才華,而真正優秀的散文作品,則會給人一體成型的暢快感,並驚艷於作者的創意與文采。《青檸色時代》作者林薇晨的文字,就具有如此的魅力,然而相關的介紹卻極少。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
這篇假日長文描述了作者自己進行每日一章的閱讀企劃的經驗,並分享了從投資書籍閱讀中所得知的心得和寫作的改變,同時也分享了投資及閱讀的感觸。
Thumbnail
問題意識為什麼重要?因為它是整篇心得的動力來源,好比車子的引擎或是軟體的驅動程式;少了問題意識,孩子根本不知道為什麼要寫心得,以及怎麼樣動筆寫心得。這學期我設計的閱讀心得寫作課程,加入了一個簡單的步驟,可有效為學生建立起問題意識。這個步驟是……
Thumbnail
就算未來人工智慧能夠寫文章,散文作家或許還是最不需要擔心的一群。沒有5W1H的嚴謹結構,不需要起承轉合的情節,散文所需的只是作家本身的才華,而真正優秀的散文作品,則會給人一體成型的暢快感,並驚艷於作者的創意與文采。《青檸色時代》作者林薇晨的文字,就具有如此的魅力,然而相關的介紹卻極少。