22. 在電子防震技術(shù)中,有那些IC或器件可供選擇?
答:在電子防震技術(shù)中,最重要的技術(shù)之一要數(shù)是RAM技術(shù),而一直以來都是因?yàn)樗某杀締栴},所以防震時(shí)間都一直不能增加,也就是說RAM本身就有限制,RAM的容量越大,造價(jià)就越高。而許多廠家就如何在RAM的限制里得到最大限度的記憶時(shí)間展開了開發(fā)研究。
23. 如何進(jìn)行編程可以減少程序的bug?
答:在此提供一些建議,因系統(tǒng)中實(shí)際運(yùn)行的參數(shù)都是有范圍的。系統(tǒng)運(yùn)行中要考慮的超范圍管理參數(shù)有:
l 物理參數(shù)。這些參數(shù)主要是系統(tǒng)的輸入?yún)?shù),它包括激勵(lì)參數(shù)、采集處理中的運(yùn)行參數(shù)和處理結(jié)束的結(jié)果參數(shù)。合理設(shè)定這些邊界,將超出邊界的參數(shù)都視為非正常激勵(lì)或非正?;貞?yīng)進(jìn)行出錯(cuò)處理。
l 資源參數(shù)。這些參數(shù)主要是系統(tǒng)中的電路、器件、功能單元的資源,如記憶體容量、存儲(chǔ)單元長度、堆迭深度。在程序設(shè)計(jì)中,對資源參數(shù)不允許超范圍使用。
l 應(yīng)用參數(shù)。這些應(yīng)用參數(shù)常表現(xiàn)為一些單片機(jī)、功能單元的應(yīng)用條件。如E2PROM的擦寫次數(shù)與資料存儲(chǔ)時(shí)間等應(yīng)用參數(shù)界限。
l 過程參數(shù)。指系統(tǒng)運(yùn)行中的有序變化的參數(shù)。
在上述參數(shù)群對一程序編寫者而言,須養(yǎng)成良好習(xí)慣,在程序的開頭,有順序的用自己喜歡文字參數(shù)對應(yīng)列表來替代,然后用自己定義的文字參數(shù)來編寫程序,這樣在做程序的修改及維護(hù)時(shí)只在程序的開頭做變動(dòng)即可,不用修改到程序段,才比較容易且不會(huì)出錯(cuò)。
24. 有人認(rèn)為單片機(jī)將被ARM等系列結(jié)構(gòu)的嵌入式系統(tǒng)所取代。單片機(jī)的生命期還有多長?
答:因?yàn)?位單片機(jī)與嵌入式系統(tǒng)的ARM在功能結(jié)構(gòu)和單價(jià)的差異,故應(yīng)用層次上就有很大的不同。 ARM適用于系統(tǒng)復(fù)雜度較大的高級產(chǎn)品,如PDA、手機(jī)等應(yīng)用。而8位單片機(jī)因架構(gòu)簡單,硬件資源相對較少,適用于一般的工業(yè)控制,消費(fèi)性家電……等等。評估單片機(jī)近期是否會(huì)給ARM取代,要觀察兩個(gè)因素:
l 芯片成本
因ARM的工作頻率較高,電路較龐大,所需的芯片制造工藝要求在0。25U以上,成本較高。8位單片機(jī)工作頻率相對較低,電路較小,所需的芯片制造工藝在0。5U 即可,成本較低。
l 功能定位
ARM的功能較單片機(jī)強(qiáng),但兩者定位不同。就如現(xiàn)階段不會(huì)有人用ARM去作一個(gè)簡單的工業(yè)定時(shí)開關(guān)。當(dāng)然,如果兩者單價(jià)相同也無不可,但現(xiàn)實(shí)是有很大的單價(jià)差距。
至于將來,因芯片制造成本會(huì)不斷下降,上述的成本差異影響愈來愈少!但我估計(jì)在往后5年單片機(jī)仍有價(jià)格優(yōu)勢,仍能存活!但ARM是否會(huì)精簡架構(gòu),降低成本,搶奪低階市場?我想可能性不大,ARM應(yīng)該會(huì)向上發(fā)展。同樣,單片機(jī)也只能向上發(fā)展,如16位,高功能……等。原因就是因?yàn)樾酒圃旃に囘M(jìn)步太快。壓迫芯片設(shè)計(jì)往高集成發(fā)展。
25. 在單片機(jī)C編成時(shí),如何才能使生成的代碼具有和匯編一樣的效率?
答:如果是使用C語言編程時(shí),不太可能生成的代碼具有1:1和匯編一樣的效率。
C語言命令要被硬件識(shí)別并執(zhí)行,必須通過編譯器編譯。編譯器分為前端、中端、后端。前端與各種計(jì)算機(jī)語言寫的程序打交道,后端與處理器的基本指令集接軌。所以如果使用C編程時(shí),要達(dá)到最高的效率,最好能夠很了解所使用的C編譯器。先試驗(yàn)一下每條C語言編譯以后對應(yīng)的匯編語言的語句行數(shù),這樣就可以很明確的知道效率。在今后編程的時(shí)候,使用編譯效率最高的語句,這樣就能確保單片機(jī)C編程的時(shí)候同樣的功能不同的C程序,編譯效率最高。但是各家的C編譯器都會(huì)有一定的差異,優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長度和執(zhí)行時(shí)間僅比以匯編語言編寫的同樣功能程度長5-20%,所以不同廠家的C編譯器的編譯效率也會(huì)有所不同。
26. ARM單片機(jī)和哪種內(nèi)核的單片機(jī)比較接近?
答:嚴(yán)格的說,ARM不是單片機(jī),是一個(gè)嵌入式的實(shí)時(shí)操作系統(tǒng)。ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。ARM將其技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和OEM廠商,每個(gè)廠商得到的都是一套獨(dú)一無二的ARM相關(guān)技術(shù)及服務(wù)。所以市場上像Intel、IBM、LG半導(dǎo)體、NEC、SONY、菲利浦和國半這樣的大公司都有ARM系列,現(xiàn)在不存在什幺ARM單片機(jī)和哪種內(nèi)核的單片機(jī)比較接近的問題。而且由于廠家購買內(nèi)核后會(huì)根據(jù)自己芯片應(yīng)用方向的不同,自行添加不同的外掛功能模塊,所以,同樣內(nèi)核的芯片其提供的功能是不同的。
27. 從51轉(zhuǎn)到ARM會(huì)有困難嗎?
答:從51轉(zhuǎn)到ARM,其實(shí)編程之類的原理都是一樣的,但是要注意的是ARM是一個(gè)RISC的架構(gòu),在ARM的應(yīng)用開放源代碼的程序很多,要想提高自己,就要多看別人的程序,linux,uc/os-II等等這些都是很好的源碼。
28. 我學(xué)過MCS51單片機(jī)教材,很有興趣,但缺乏實(shí)踐經(jīng)驗(yàn),手頭沒有任何道具可供演練,資金又有限,請問該怎么辦?
答:在沒有任何條件進(jìn)行實(shí)踐時(shí),如果真的有興趣,可以下載一些具有軟件仿真功能仿真軟件進(jìn)行一些編程,像一些做得比較好的51仿真軟件應(yīng)該具有這種功能。HOLTEK的仿真軟件HT-IDE3000也具有相應(yīng)的功能,同時(shí)它還具有LCD軟件仿真,周邊電路的軟件仿真。有興趣的話,也可以去免費(fèi)下載使用:http://www.holtek.com.cn/tech/tool/ide.htm。同時(shí)可以到一些電子市場去購買一些簡單器件自己練習(xí)搭一下電路以加強(qiáng)硬件方面的知識(shí)。
電子發(fā)燒友App
















評論