www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]避免MCU或編程語(yǔ)言干擾設(shè)計(jì)

很多時(shí)候有人試圖讓你信服:他們的“東西”或最新的產(chǎn)品將成為或取代你的下一個(gè)產(chǎn)品設(shè)計(jì)。這是真的,每天我們都在采用零星的技巧來(lái)改進(jìn)嵌入式設(shè)計(jì),有些改進(jìn)確實(shí)是挑戰(zhàn),但是,如果不從可靠的、獨(dú)特的設(shè)計(jì)開始,沒有“新的技術(shù)”,產(chǎn)品不會(huì)成功。擺在我們面前的問(wèn)題是,設(shè)計(jì)需要時(shí)間,時(shí)間是一種易消逝的資源,并且,所有這些新事物、新設(shè)備、新工具很重要,但并不是最重要的事情。需要防漏洞實(shí)時(shí)操作系統(tǒng)嗎?需要更快的CPU內(nèi)核嗎?微控制器中需要更密集集成的外圍設(shè)備嗎?把這些問(wèn)題找出來(lái),找到答案并為之利用,但要知道“IT”不是設(shè)計(jì)的關(guān)鍵。關(guān)鍵是設(shè)計(jì)成仿佛你想要的一切已經(jīng)存在,完全取決于您的意愿,使您的產(chǎn)品、系統(tǒng)按照您的需求、期望、要求精密“包裝”,定義接口。按照您想要的方式,用layers和wrappers構(gòu)建設(shè)計(jì),你會(huì)發(fā)現(xiàn),采用最新的最好的事情,會(huì)使產(chǎn)品更高端,更快速,更便宜,更強(qiáng)大或者說(shuō)隨處滿足需求,可以在以后出現(xiàn)在您的后期設(shè)計(jì)時(shí),甚至出現(xiàn)在生產(chǎn)線上。

  該觀點(diǎn)還在不斷繼續(xù):

  ● 此類或那類嵌入式設(shè)計(jì)采用哪種CPU內(nèi)核最好?

  ● 開發(fā)嵌入式系統(tǒng)采用什么語(yǔ)言最好?哪個(gè)編譯器?

  ● 對(duì)于簡(jiǎn)單的主循環(huán)和中斷實(shí)時(shí)操作系統(tǒng),應(yīng)該購(gòu)買,自己編寫還是避開“操作系統(tǒng)”?

  作為經(jīng)驗(yàn)豐富的嵌入式系統(tǒng)的開發(fā)人員,既有大型系統(tǒng)的經(jīng)驗(yàn)(波音777飛行控制)又有小型單人項(xiàng)目(筆記本電腦熱風(fēng)扇控制)經(jīng)驗(yàn),應(yīng)避開單臺(tái)機(jī)器或語(yǔ)言的具體利弊,將更多的時(shí)間花在應(yīng)用程序設(shè)計(jì)和構(gòu)建上,并且獨(dú)立于語(yǔ)言和CPU內(nèi)核。這方面部分來(lái)自于對(duì)類似系統(tǒng)的工作,只是“再用于“下一個(gè)項(xiàng)目(雖然要求完全不同,并且切換到了微控制器)。我也參與過(guò)由幾個(gè)獨(dú)立的設(shè)備組成的系統(tǒng),每個(gè)設(shè)備都有自己的程序和微控制器,各部分經(jīng)常在不同的子項(xiàng)目之間來(lái)回使用:某個(gè)子項(xiàng)目中的編碼器可能是另一個(gè)項(xiàng)目的測(cè)試器,或當(dāng)完成自己的子項(xiàng)目的編碼后,會(huì)投入另一個(gè)子項(xiàng)目,以幫助完成項(xiàng)目。缺乏基于系統(tǒng)的設(shè)計(jì)方法會(huì)覺得這些情況很困難,難以按照計(jì)劃完成。通過(guò)獨(dú)立的系統(tǒng)設(shè)計(jì)可避免機(jī)器依賴性,讓設(shè)計(jì)復(fù)用和基于團(tuán)隊(duì)的設(shè)計(jì)不僅成為可能,而且加大了成功機(jī)會(huì)(如以后的增加要求)。

  最近的一個(gè)項(xiàng)目是我更加疑慮,幾乎每次都是,必須使設(shè)計(jì)適應(yīng)(有時(shí)根本就是)所選的語(yǔ)言和機(jī)器。我們已經(jīng)以某個(gè)系統(tǒng)架構(gòu)和設(shè)計(jì)開始,只是按一般方式考慮了集成微控制器及其外圍設(shè)備,我們只關(guān)注我們需要什么并不關(guān)心它是如何實(shí)現(xiàn)的,至少我們是這么認(rèn)為的。我們選擇了一些非常專業(yè)外設(shè)的新器件,并且開始編碼時(shí),發(fā)現(xiàn)需要花費(fèi)大量的時(shí)間來(lái)了解如何構(gòu)建硬件,以及如何根據(jù)需求最好地利用。當(dāng)我們發(fā)現(xiàn)好的方式來(lái)利用設(shè)備的某特征時(shí),設(shè)備的此特點(diǎn)通過(guò)代碼嵌入了系統(tǒng)級(jí)設(shè)計(jì)。我們已不再堅(jiān)持我們的系統(tǒng),不得不讓機(jī)器和具體操作改變了系統(tǒng)設(shè)計(jì)。于是只好停下來(lái)檢查問(wèn)題和實(shí)施方案,通過(guò)系統(tǒng)重新設(shè)計(jì)分離出依賴機(jī)器的“修復(fù)”,然后將“修復(fù)”融入系統(tǒng)四周的“包裝”中。

  當(dāng)設(shè)計(jì)某個(gè)應(yīng)用時(shí)(甚至單一微控制器),以調(diào)溫器為例,有一個(gè)創(chuàng)建好了的系統(tǒng)級(jí)視圖,描述了硬件和實(shí)施某種方式的應(yīng)用程序。該視圖用于多種用途,例如,可作為與高層管理人員或另一個(gè)小組進(jìn)行交流的工具(不希望知道所有細(xì)節(jié)),如自動(dòng)化測(cè)試人員。如果僅將其視為“視圖”而不是系統(tǒng)設(shè)計(jì),并且實(shí)施不是從系統(tǒng)設(shè)計(jì)自上而下,而是將其用作起點(diǎn),則問(wèn)題就出現(xiàn)了??紤]圖1所示的溫控系統(tǒng)。

  顯示系統(tǒng)相對(duì)簡(jiǎn)單,卻反映了許多嵌入式產(chǎn)品設(shè)計(jì)。在“溫度傳感”部分包含溫度輸入,其輸出進(jìn)入主系統(tǒng)“控制邏輯”部分。“控制邏輯”的其它輸入是標(biāo)記“用戶輸入”的部分,代表人機(jī)接口,大概設(shè)置了恒溫器的溫度調(diào)節(jié)。“控制邏輯”部分根據(jù)這些輸入確定了如何命令供暖、通風(fēng)和空調(diào)(HVAC)系統(tǒng),以保持恒溫器設(shè)定的溫度,將這些命令發(fā)送到“熱與冷命令”部分。最后一個(gè)部分是“顯示輸出”,將當(dāng)前系統(tǒng)狀態(tài)傳遞到用戶。當(dāng)前系統(tǒng)狀態(tài)的一部分是恒溫設(shè)置,另一部分是最新的溫度讀數(shù),最后部分是正在執(zhí)行的命令,以迫使溫度返回恒溫設(shè)置(即加熱、冷卻和/或打開或關(guān)閉風(fēng)扇)。

 正如前面所述,這是一個(gè)直接和相對(duì)簡(jiǎn)單的應(yīng)用,非常簡(jiǎn)單以至于不需要考慮系統(tǒng),而是很自然地跳到實(shí)施(我相信大多數(shù)讀者甚至可以說(shuō)出最喜歡的微控制器供應(yīng)商的型號(hào))??梢允怯糜诖渭?jí)市場(chǎng)的高端PC游戲圖形系統(tǒng)的墻恒溫器或溫度管理裝置。用于墻恒溫器的微控制器的具體實(shí)施基本不需用于圖形系統(tǒng)。重點(diǎn)是,無(wú)論設(shè)計(jì)顯得多么簡(jiǎn)單,都有很好的理由先設(shè)計(jì)系統(tǒng),然后實(shí)現(xiàn)它。將其盡量設(shè)計(jì)成適合通常應(yīng)用。

  開始時(shí),需要考慮理想的系統(tǒng)設(shè)計(jì),然后生成layers,在理想的系統(tǒng)和實(shí)際實(shí)施之間構(gòu)建wrappers(有時(shí)是雜亂的)。“控制邏輯”部分作為框圖的核心是有充分理由的-因?yàn)樗窍到y(tǒng)的內(nèi)核。周圍的每個(gè)部分都服務(wù)于“控制邏輯”部分,要根據(jù)需要提供“服務(wù)”。

  應(yīng)自“溫度傳感器”部分開始。其理由是獲得當(dāng)前/瞬時(shí)溫度,并以一致的格式提供出來(lái)。從“控制邏輯”的角度來(lái)看,其作用是“獲取溫度”,并以格式化的值(xxx.xx攝氏度)返回當(dāng)前溫度值。溫度傳感器部分的硬件wrappers將包括實(shí)施中任何需要用來(lái)將原溫度傳感輸入“翻譯”成預(yù)期格式的攝氏度。這可能意味著需要考慮獲得新讀數(shù)的最佳時(shí)間,如果溫度讀數(shù)中有太多的噪音(無(wú)論何種原因),應(yīng)添加過(guò)濾算法,并且如果溫度硬件出現(xiàn)故障,應(yīng)采用決策邏輯。重點(diǎn)是,“溫度傳感器”部分的輸出是什么,而且傳遞到“控制邏輯”應(yīng)為理想的溫度,所有的噪音,實(shí)際隱藏的細(xì)節(jié)都應(yīng)很容易的由wrapper代替。

  如果設(shè)計(jì)需要從系統(tǒng)中三個(gè)不同的點(diǎn)測(cè)量三個(gè)溫度值(對(duì)于計(jì)算機(jī)箱內(nèi)的計(jì)算機(jī)很普遍)怎么辦?處理這三個(gè)溫度是控制邏輯問(wèn)題(例如,何時(shí)多路輸出也將受到控制)?如果是這樣,從1個(gè)溫度轉(zhuǎn)換到3個(gè)溫度首先意味著“溫度傳感器”部分要更新,以提供3個(gè)溫度和為每個(gè)溫度實(shí)施創(chuàng)建的wrappers(允許多種類型的輸入),然后控制邏輯也因?yàn)槎鄠€(gè)輸出而更新。這可能意味著三個(gè)不同的“GetTemperature_n”服務(wù)或需要更新服務(wù)以確定是識(shí)別哪個(gè)溫度的參量。[!--empirenews.page--]

如果三個(gè)溫度僅僅用于加權(quán)以得到一個(gè)“更真實(shí)”的系統(tǒng)溫度,控制邏輯不需要改變,只需將含wrappers的溫度傳感塊以統(tǒng)一格式輸入這三個(gè)溫度,然后通過(guò)一個(gè)wrappers來(lái)對(duì)這三個(gè)溫度進(jìn)行加權(quán),生成控制邏輯所需的單一溫度。這種方法易于包含來(lái)自不同的溫度輸入(例如,圖形處理器的二極管結(jié)測(cè)量和連接到PCB的模擬熱敏電阻),因?yàn)閣rappers將系統(tǒng)邏輯與硬件隔離開。

  讓我們以兩個(gè)不同的實(shí)現(xiàn)例子驗(yàn)證這個(gè)論點(diǎn):一個(gè)用于墻恒溫器,另一個(gè)是顯卡上的溫度控制子系統(tǒng)。首先對(duì)于墻恒溫器,如圖2所示,假定使用基于8051的賽普拉斯PSoC3設(shè)備。“溫度傳感器”部分的硬件由連接到ADC(16位Δ-Σ轉(zhuǎn)換器)的熱敏電阻組成。“用戶輸入”部分的硬件由5個(gè)常開按鍵開關(guān)組成,一邊連接到電路接地端,另一邊連接到含內(nèi)部上拉電阻的5輸入數(shù)字端口。“熱和冷命令”模塊的硬件部分包括三個(gè)功率場(chǎng)效應(yīng)管,由配置為開漏低輸出的3輸出端口驅(qū)動(dòng)。最后,“顯示輸出”塊的硬件實(shí)現(xiàn)是串行字符液晶顯示器,能夠根據(jù)需要顯示字母數(shù)字字符串。

  對(duì)于第2個(gè)應(yīng)用,即顯示卡,將用戶輸入從離散開關(guān)變?yōu)镮2C基于寄存器的從接口(由主CPU而不是人類直接控制),并將串行LCD顯示變?yōu)镾PI-從控制顯示器(使用一系列的寄存器和指令,可能是安裝在主計(jì)算機(jī)外殼前面板上的遠(yuǎn)程變頻顯示,未安裝到顯卡上)。溫度輸入和HVAC命令保持不變。圖3顯示了早期實(shí)施的變化,假定使用基于8051的賽普拉斯PSoC3設(shè)備。

  用戶輸入的兩種實(shí)現(xiàn)均可服務(wù)于“GetThermostatSetting”、“IsHeaterEnabled”、“IsCoolerEnabled”和“IsFanOn”。對(duì)于第一個(gè)墻恒溫器應(yīng)用,“用戶輸入”將數(shù)字端口包裝到所列的服務(wù)中,當(dāng)設(shè)備被調(diào)用時(shí),提供端口的實(shí)時(shí)讀數(shù)(一種可能的實(shí)施)。對(duì)于另一個(gè)應(yīng)用,基于I2C從機(jī)的實(shí)現(xiàn),相同的服務(wù)將來(lái)自I2C主機(jī)寫入的寄存器的最新值返回到“控制邏輯”部分,也許經(jīng)常返回也許僅在上電時(shí)返回。并且這些實(shí)現(xiàn)還有很多其它特點(diǎn),包括用作切換鍵的墻上按鈕開關(guān)而不是瞬間讀數(shù),甚至在“用戶輸入”部分的wrappers深層進(jìn)行邊沿觸發(fā)異步處理。

  綜合上述的關(guān)鍵是:系統(tǒng)設(shè)計(jì)隱藏了硬件細(xì)節(jié);硬件和實(shí)施細(xì)節(jié)被系統(tǒng)設(shè)計(jì)包裝并隱藏。通過(guò)外端設(shè)計(jì)(即代碼)的實(shí)施細(xì)節(jié),可以保護(hù)這些應(yīng)用實(shí)現(xiàn)時(shí)避免分裂,可以做到個(gè)性化的設(shè)計(jì),權(quán)衡利弊,保證項(xiàng)目成功交付,并仍然能夠提供可復(fù)用性和組設(shè)計(jì)。不要讓賣方牽引注意力——先設(shè)計(jì)系統(tǒng),然后加強(qiáng)保護(hù)系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)細(xì)節(jié)不被抄襲。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉