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

更新於 2024/08/26閱讀時間約 6 分鐘

閱讀數據表(Datasheet)

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

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

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

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

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

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

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

數據表中需要注意的部分

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

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

實例分析

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

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


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

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

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

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

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

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

開發驅動的過程

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

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

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

其他資源

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

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

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

avatar-img
5會員
240內容數
歡迎來到「Will 進步本」!我們將探索計算機科學、商用英文和生成式AI。從基礎到前沿,共同學習和交流,拓展知識視野,啟發創新思維
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Will 進步本 的其他內容
電壓與電流 我們測量電量時使用電壓和電流,但這兩者都源於更基本的物理原理。
設計變更的應對策略 當我們手中已有了不同的架構圖時,下一步該如何進行?
硬體/軟體整合 產品的開發通常源自於一個想法或市場需求。某人會基於功能、成本以及上市時間來設計出一個高層次的產品設計。此時,專案排程通常會被建立,顯示出主要的里程碑和活動。
設計系統架構有兩種主要的方式:一種是從零開始構建,從一個想法或最終目標開始,逐步組織所有的要素,這稱為組合式設計(composition)。
系統設計的挑戰 嵌入式系統的設計猶如解開一個拼圖,即使是小型的系統也充滿了細節,讓人眼花繚亂。作為開發者,你需要具備全局視野,才能辨識哪些部分的問題能夠用簡單的方法解決,哪些部分則潛藏著複雜的相依性。這時,設計的關鍵在於:不要追求一開始就完美,而是從一個「還可以」的設計開始,然後逐步改進。
面對嵌入式系統挑戰的原則 嵌入式系統開發過程常被比喻為拼圖,一個個相互契合的組件形成完整系統。有時,你可能會強行將不匹配的組件拼在一起,但結果卻與預期的圖像不符。我們應該拋棄將開發最終結果視為單一版本程式碼的想法,嵌入式系統的開發更像是隨著時間變化的拼圖,涵蓋了概念、原型設計、硬體啟動、除錯、測試
電壓與電流 我們測量電量時使用電壓和電流,但這兩者都源於更基本的物理原理。
設計變更的應對策略 當我們手中已有了不同的架構圖時,下一步該如何進行?
硬體/軟體整合 產品的開發通常源自於一個想法或市場需求。某人會基於功能、成本以及上市時間來設計出一個高層次的產品設計。此時,專案排程通常會被建立,顯示出主要的里程碑和活動。
設計系統架構有兩種主要的方式:一種是從零開始構建,從一個想法或最終目標開始,逐步組織所有的要素,這稱為組合式設計(composition)。
系統設計的挑戰 嵌入式系統的設計猶如解開一個拼圖,即使是小型的系統也充滿了細節,讓人眼花繚亂。作為開發者,你需要具備全局視野,才能辨識哪些部分的問題能夠用簡單的方法解決,哪些部分則潛藏著複雜的相依性。這時,設計的關鍵在於:不要追求一開始就完美,而是從一個「還可以」的設計開始,然後逐步改進。
面對嵌入式系統挑戰的原則 嵌入式系統開發過程常被比喻為拼圖,一個個相互契合的組件形成完整系統。有時,你可能會強行將不匹配的組件拼在一起,但結果卻與預期的圖像不符。我們應該拋棄將開發最終結果視為單一版本程式碼的想法,嵌入式系統的開發更像是隨著時間變化的拼圖,涵蓋了概念、原型設計、硬體啟動、除錯、測試
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
這篇假日長文描述了作者自己進行每日一章的閱讀企劃的經驗,並分享了從投資書籍閱讀中所得知的心得和寫作的改變,同時也分享了投資及閱讀的感觸。
Thumbnail
問題意識為什麼重要?因為它是整篇心得的動力來源,好比車子的引擎或是軟體的驅動程式;少了問題意識,孩子根本不知道為什麼要寫心得,以及怎麼樣動筆寫心得。這學期我設計的閱讀心得寫作課程,加入了一個簡單的步驟,可有效為學生建立起問題意識。這個步驟是……
Thumbnail
就算未來人工智慧能夠寫文章,散文作家或許還是最不需要擔心的一群。沒有5W1H的嚴謹結構,不需要起承轉合的情節,散文所需的只是作家本身的才華,而真正優秀的散文作品,則會給人一體成型的暢快感,並驚艷於作者的創意與文采。《青檸色時代》作者林薇晨的文字,就具有如此的魅力,然而相關的介紹卻極少。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
這篇假日長文描述了作者自己進行每日一章的閱讀企劃的經驗,並分享了從投資書籍閱讀中所得知的心得和寫作的改變,同時也分享了投資及閱讀的感觸。
Thumbnail
問題意識為什麼重要?因為它是整篇心得的動力來源,好比車子的引擎或是軟體的驅動程式;少了問題意識,孩子根本不知道為什麼要寫心得,以及怎麼樣動筆寫心得。這學期我設計的閱讀心得寫作課程,加入了一個簡單的步驟,可有效為學生建立起問題意識。這個步驟是……
Thumbnail
就算未來人工智慧能夠寫文章,散文作家或許還是最不需要擔心的一群。沒有5W1H的嚴謹結構,不需要起承轉合的情節,散文所需的只是作家本身的才華,而真正優秀的散文作品,則會給人一體成型的暢快感,並驚艷於作者的創意與文采。《青檸色時代》作者林薇晨的文字,就具有如此的魅力,然而相關的介紹卻極少。