新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 有助于嵌入式系統(tǒng)順利開發(fā)的硬件獨(dú)立性設(shè)計(jì)方案

有助于嵌入式系統(tǒng)順利開發(fā)的硬件獨(dú)立性設(shè)計(jì)方案

作者:賽普拉斯半導(dǎo)體公司 產(chǎn)品市場營銷總監(jiān) Jon Pears 時(shí)間:2008-07-23 來源:EDN China 收藏

  我們從下圖2可以看出,“獲取溫度”這個(gè)矩形塊又?jǐn)U展為依賴于硬件且與熱敏電阻設(shè)計(jì)相關(guān)的不同功能塊,其中包括熱敏電阻的硬件特性及其接口電路等。

本文引用地址:http://butianyuan.cn/article/86122.htm

  溫度在熱敏電阻中以電阻表示;在信號(hào)調(diào)節(jié)電路中,電阻則表示為電壓,通過 ADC 轉(zhuǎn)換,電壓則轉(zhuǎn)換為 0 至 4095 之間的數(shù)值;在軟件中,該數(shù)值則轉(zhuǎn)換為機(jī)器可存儲(chǔ)和顯示的溫度值(比方說定點(diǎn)值溫度,間隔為0.1℃)。

  我們將溫度放入數(shù)據(jù)存儲(chǔ)系統(tǒng)中,讓數(shù)據(jù)值更新同步于控制算法,這樣溫度就能與控制算法一樣保持最新,從而確保將軟硬件更好地隔離開來。

  隨后,我們在設(shè)計(jì)方案中發(fā)現(xiàn),使用熱敏電阻的話將不能滿足溫度熱點(diǎn)的要求,一直在熱敏電阻與引腳之間運(yùn)行模擬線路的話,就會(huì)造成太多噪聲并導(dǎo)致信號(hào)損耗。

  因此,我們決定在溫度區(qū)采用集成電路 LM75 I2C 作為溫度,將溫度進(jìn)行本地轉(zhuǎn)化,并向I2C 總線提供數(shù)字值作為從設(shè)備。

  現(xiàn)在,為了獲得溫度值,如下圖 3所示,我們必須在中啟用 I2C 主通信硬件,讀取 LM75 中的一組寄存器,并將溫度的原生表達(dá)法(最低有效位為 0.125℃)轉(zhuǎn)化為此前選定的溫度表達(dá)法(定點(diǎn)值溫度,間隔為 0.1℃)。

  由于我們實(shí)現(xiàn)了控制軟件隔離,即便采用新的溫度讀取方法,控制應(yīng)用軟件也不會(huì)因?yàn)橛布淖兌艿接绊憽?/p>

  有關(guān)LM75的特性可以集中在上圖3所示的藍(lán)色矩形框中,我們可在不影響控制軟件的前提下對其加以檢查和驗(yàn)證。

  舉例來說,一些設(shè)備會(huì)在 I2C 主機(jī)每次讀取溫度值/寄存器時(shí)啟動(dòng)新的轉(zhuǎn)換,如果讀取速度過快或者過于頻繁,那么LM75 就難以完成轉(zhuǎn)換??刂扑惴▌t不用擔(dān)心這些問題。

  微控制器的抽取

  我們在上面的實(shí)例中有意識(shí)地改變了微控制器外部的硬件,說明外部硬件轉(zhuǎn)變不會(huì)影響控制軟件。同樣,即便微控制器內(nèi)部硬件發(fā)生變化,也不會(huì)造成影響。

  如果我們?nèi)鐖D 2 所示先設(shè)計(jì)熱敏電阻,隨后再改動(dòng)我們的微控制器,那么配置和讀取 ADC 的命令就會(huì)變化,對輸入進(jìn)行多路復(fù)用和采樣的寄存器序列也會(huì)變化,進(jìn)而計(jì)數(shù)到溫度的轉(zhuǎn)換也會(huì)發(fā)生改變。

  不過,由于這些變動(dòng)僅限于矩形之中(表示函數(shù)和/或宏定義以及調(diào)用),因此我們只需將原來矩形框中的內(nèi)容用新微控制器所需的新指令替換即可。這樣,即便硬件發(fā)生了變化,軟件仍然絲毫不受影響。

  然而我并沒有談到改用不同廠商的微控制器時(shí)可用什么設(shè)計(jì)工具來進(jìn)行相關(guān)調(diào)整的問題。事實(shí)上,許多廠商都提供了硬件初始化的設(shè)置向?qū)?,選擇同一廠商推出的新產(chǎn)品相對而言簡化了硬件更換過程。

  就簡化方案而言,微控制器廠商在自身的軟件開發(fā)工具中采用硬件提取技術(shù),從而進(jìn)一步簡化了這一工作。用戶可從目錄項(xiàng)中根據(jù)應(yīng)用需求選擇微控制器的外設(shè)功能,并可根據(jù)設(shè)計(jì)方案需求的變化進(jìn)行添加與刪減。

  利用 PWM1 或 ADC 等通用實(shí)例名,用戶可改變硬件的具體功能細(xì)節(jié),并讓工具來管理第一層提取或封裝器。舉例來說,在圖 2 中,如果我們需要增量型(積分型)ADC,而不是采用 SAR(逐次逼近)ADC的話,那么工具就能自動(dòng)改變中間淺藍(lán)色的矩形。

  我們還能在更高級(jí)層面上進(jìn)行提取。舉例來說,利用面向 PSoC 混合信號(hào)陣列產(chǎn)品的 PSoC Designer 與 PSoC Express 可視化設(shè)計(jì)工具,軟件默認(rèn)采用硬件提取方法,并自動(dòng)生成所有層(請見上圖2與圖3中的藍(lán)色部分)。

  如欲修改熱敏電阻,用戶可在 PSoC Express 的目錄中選擇“熱敏電阻”,并定義“計(jì)算所需速度”的控制算法,開發(fā)工具就會(huì)給出哪些 PSoC 器件可以為該應(yīng)用提供必需的資源。

  選擇某個(gè)器件時(shí),工具會(huì)以定點(diǎn)格式在一定的數(shù)據(jù)結(jié)構(gòu)中生成必要的固件來讀取、轉(zhuǎn)換并存儲(chǔ)熱敏電阻的溫度,并提供給“計(jì)算所需速度”算法。

  如果熱敏電阻的規(guī)范發(fā)生變化,那么用戶可選擇其他的 PSoC 器件,從而調(diào)整存儲(chǔ)容量、引腳數(shù)量、成本等。只顯示具有應(yīng)用必需資源的器件,而且能在不影響控制算法的情況下重新生成硬件提取層。

  或許在未來的什么時(shí)候,所有項(xiàng)目開發(fā)工作都可以制定出合理的計(jì)劃,市場營銷工作可以提前部署,明確客戶到底需要什么產(chǎn)品,而且計(jì)劃不會(huì)發(fā)生變化,具有預(yù)期特性的應(yīng)用軟件正好與選定的微控制器的存儲(chǔ)空間相符。

  不過在這一天到來之前,我們就應(yīng)通過封裝器和硬件層將所有硬件與控制軟件相隔離,這樣就能在很大程度上簡化系統(tǒng)的設(shè)計(jì)工作。

  放眼窗外,深呼吸,仰望長空,雄鷹展翅,隨時(shí)準(zhǔn)備攻擊捕獲獵物。時(shí)不我待,我們必須集中精力,全力以赴滿足緊迫的市場需求,堅(jiān)決打贏最后關(guān)頭調(diào)整硬件選擇這一仗,滿足最苛刻的客戶需求。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

電度表相關(guān)文章:電度表原理



上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉