電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1976|回復(fù): 0
收起左側(cè)

凌陽嵌入式物聯(lián)網(wǎng)培訓(xùn)_嵌入式應(yīng)用設(shè)計(jì)模式

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-5 14:28:11 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
凌陽嵌入式物聯(lián)網(wǎng)培訓(xùn)_嵌入式應(yīng)用設(shè)計(jì)模式,   

嵌入式應(yīng)用是指嵌入于各種設(shè)備及應(yīng)用產(chǎn)品內(nèi)部的計(jì)算機(jī)應(yīng)用。嵌入式應(yīng)用分微控制器(Microcontroller,簡稱MCU)和嵌入式微處理器(Embedded Microprocessor,簡稱MPU)的應(yīng)用。微控制器即國內(nèi)俗稱的單片機(jī),由 Single Chip Computer翻譯而來,主要是面向控制,是計(jì)算機(jī)小型化發(fā)展的產(chǎn)物。嵌入式微處理器主要是面向數(shù)據(jù)處理,有相應(yīng)的CPU對應(yīng)。單片機(jī)是20世紀(jì)80年代初引入我國的。經(jīng) 20多年的發(fā)展,單片機(jī)品種不斷增多,功能不斷增強(qiáng),應(yīng)用范圍不斷擴(kuò)大,開發(fā)時(shí)間(Time to Market)要求越來越短。為了節(jié)省時(shí)間,嵌入式微處理器在16位和32位應(yīng)用場合得到使用,大量的微機(jī)程序可直接引用。在軟件開發(fā)上,由匯編語言編程、高級(jí)語言C語言編程,轉(zhuǎn)向在實(shí)時(shí)操作系統(tǒng)(Real Time Operating System,簡稱RTOS)之上編程。在硬件設(shè)計(jì)上,由使用分立元件和微機(jī)接口芯片轉(zhuǎn)向更加集成化的設(shè)計(jì)模式——CPU+PLD+AD/DA.CPU即 MCU或MPU, PLD即可編程邏輯器件。模數(shù)混合的集成電路很難設(shè)計(jì)生產(chǎn),現(xiàn)階段AD/DA即模數(shù)和數(shù)模轉(zhuǎn)換器等模擬電路還采用傳統(tǒng)的設(shè)計(jì)方法。PLD芯片可以在系統(tǒng)編程ISP(In System Programming),硬件已經(jīng)軟化,隨時(shí)可以進(jìn)行修改。1999年全國大學(xué)生電子設(shè)計(jì)競賽和許多產(chǎn)品的硬件設(shè)計(jì)已采用這種設(shè)計(jì)模式。為進(jìn)一步縮短開發(fā)時(shí)間、加強(qiáng)管理,平臺(tái)觀念已逐步引入到產(chǎn)品的設(shè)計(jì)開發(fā)過程中。從隨意性開發(fā)轉(zhuǎn)向平臺(tái)開發(fā)模式是嵌入式應(yīng)用軟硬件設(shè)計(jì)開發(fā)的發(fā)展趨勢。

一、 軟件開發(fā)

單片機(jī)生產(chǎn)廠家不斷增多,單片機(jī)品種層出不窮。單片機(jī)廣泛選擇是當(dāng)今產(chǎn)品開發(fā)的一個(gè)重要環(huán)節(jié)。每個(gè)單片機(jī)系列的指令系統(tǒng)不同,與指令系統(tǒng)對應(yīng)的匯編助記符就不同。匯編語言的不兼容性使得在一種單片機(jī)上編制的程序,在另一種單片機(jī)上不能運(yùn)行,單片機(jī)重新選型后程序必須重新編制。匯編語言的難記、難讀及易搞混,每個(gè)匯編程序員深有同感。自己編制的程序過一段時(shí)間修改時(shí),往往要重讀很大部分,經(jīng)過長時(shí)間回憶才能找到問題所在。修改別人留下的匯編源程序,若程序的注釋說明不詳細(xì)、程序的思路不清晰、子程序使用不夠多的話,還不如自己重新編制。

用C語言編程是單片機(jī)軟件開發(fā)的必然趨勢。C語言是一種編譯型程序設(shè)計(jì)語言,它兼顧了多種高級(jí)語言的特點(diǎn),并具備匯編語言的功能。 C語言有功能豐富的庫函數(shù)、運(yùn)算速度快、編譯效率高、可移植性好,而且可以直接實(shí)現(xiàn)對系統(tǒng)硬件的控制。C語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言,支持當(dāng)前程序設(shè)計(jì)中廣泛采用的由頂向下結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)。采用C語言也不必對單片機(jī)和硬件接口的結(jié)構(gòu)有很深入的了解,編譯器可以自動(dòng)完成變量存儲(chǔ)單元的分配,編程者專注于應(yīng)用軟件部分的設(shè)計(jì)即可,這樣大大加快了軟件的開發(fā)速度。采用C語言可以很容易地進(jìn)行單片機(jī)的程序移植工作,有利于產(chǎn)品中單片機(jī)的重新選型。采用C語言,可針對單片機(jī)常用的接口芯片編制通用的驅(qū)動(dòng)函數(shù),針對常用的功能模塊、算法等編制相應(yīng)的函數(shù)。這些函數(shù)經(jīng)過歸納整理可形成專家?guī)旌瘮?shù),供廣大的單片機(jī)愛好者使用、完善,這樣可大大提高國內(nèi)單片機(jī)軟件設(shè)計(jì)水平。C語言可讀性的特點(diǎn),更容易使大家借鑒前人的開發(fā)經(jīng)驗(yàn),提高自己的軟件設(shè)計(jì)水平。對于C語言生成代碼的時(shí)空效率,一般來講,程序代碼長度增加20%,程序執(zhí)行速度約減慢20%.這在片內(nèi)程序存儲(chǔ)器不斷擴(kuò)大、晶振頻率不斷提高的今天,已不是主要考慮的問題。況且,這是和優(yōu)秀的匯編程序員編制代碼的比較。當(dāng)然,非常注重代碼效率的場合可以是以C語言為主,匯編語言為輔。匯編語言掌握到只要可以讀懂程序,在時(shí)間要求比較嚴(yán)格的模塊中進(jìn)行程序的優(yōu)化即可。在可移植性方面,單片機(jī)C語言都符合ANSI C標(biāo)

準(zhǔn),差別主要是有關(guān)片內(nèi)資源的不同配置及使用,這可以通過采用不同的頭文件,經(jīng)過少量的加工就可以實(shí)現(xiàn)。隨著國內(nèi)單片機(jī)開發(fā)工具研制水平的提高,現(xiàn)在的單片機(jī)仿真器普遍支持C語言程序調(diào)試,為單片機(jī)編程使用C語言提供了便利的條件。單片機(jī)的C語言相對微機(jī)的C語言要好學(xué)得多,它沒有微機(jī) C語言有關(guān)文件的使用,也不必掌握標(biāo)準(zhǔn)輸入輸出設(shè)備有關(guān)的格式要求。北京航空航天大學(xué)出版社出版的《單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)》(修訂版)教材是專為沒有C基礎(chǔ)的人編寫的,大量的實(shí)例可引導(dǎo)大家進(jìn)入單片機(jī)C時(shí)代。嵌入式微處理器是以C、C++甚至JAVA語言進(jìn)行編程的,并普遍采用RTOS.

在嵌入式應(yīng)用中使用RTOS是由于嵌入式應(yīng)用一般是計(jì)算機(jī)實(shí)時(shí)系統(tǒng),有兩個(gè)重要特性:實(shí)時(shí)性和可靠性。實(shí)時(shí)性標(biāo)準(zhǔn)常用“系統(tǒng)響應(yīng)時(shí)間”來衡量,即當(dāng)一外部事件發(fā)生,系統(tǒng)能在多少時(shí)間內(nèi)響應(yīng)事件。RTOS分強(qiáng)實(shí)時(shí)和弱實(shí)時(shí)兩種。強(qiáng)實(shí)時(shí)RTOS用于對時(shí)間要求比較嚴(yán)格的場合?煽啃詷(biāo)準(zhǔn)常用系統(tǒng)平均無故障運(yùn)行時(shí)間,即平均的故障間隔時(shí)間MTBF來衡量。操作系統(tǒng)(OS)是一組計(jì)算機(jī)程序的集合,用來有效地控制和管理計(jì)算機(jī)的硬件和軟件資源,即合理地對資源進(jìn)行調(diào)度,并為用戶提供方便的應(yīng)用接口。它為應(yīng)用支持軟件提供運(yùn)行環(huán)境,即對程序開發(fā)者提供功能強(qiáng)、使用方便的開發(fā)環(huán)境。OS的前身就是監(jiān)控程序,類似于單片機(jī)仿真器的監(jiān)控程序。RTOS是多任務(wù)的,每個(gè)用戶的應(yīng)用程序可以設(shè)計(jì)成多個(gè)不同的任務(wù),這些任務(wù)可以并發(fā)執(zhí)行,提高系統(tǒng)的吞吐量,更有效地利用系統(tǒng)資源。常用的任務(wù)調(diào)度算法為:優(yōu)先級(jí)加輪詢、非搶占式優(yōu)先級(jí)調(diào)度、按優(yōu)先級(jí)搶占的調(diào)度算法。任務(wù)間通信與同步機(jī)制為:郵箱、隊(duì)列、信號(hào)量、事件標(biāo)志。劃分任務(wù)時(shí),任務(wù)之間的通信要盡可能少,這樣可以簡化設(shè)計(jì)。基于任務(wù)的設(shè)計(jì)可擴(kuò)展、可管理、可大大提高系統(tǒng)的可靠性。RTOS提供給用戶的是各種系統(tǒng)調(diào)用。中斷、時(shí)間基準(zhǔn)及定時(shí)的管理都由RTOS完成。采用RTOS編程可大幅度縮短程序的開發(fā)時(shí)間。RTOS一般都可裁剪、移植,適用于多種硬件環(huán)境,可以和應(yīng)用程序一起固化到應(yīng)用系統(tǒng)中。隨著后PC時(shí)代的來臨,微軟維納斯計(jì)劃推出Windows CE,我國女媧計(jì)劃推出自主版權(quán)的Hopen實(shí)時(shí)多任務(wù)操作系統(tǒng)。 “3C”結(jié)合的信息家電問世,RTOS引起國內(nèi)業(yè)界的極大關(guān)注。國內(nèi)已引入pSOS、 VRTX、VxWorks、QNX、Nucleus等RTOS以及 CMX和RTXC小型適合單片機(jī)的帶源代碼的RTOS.免費(fèi)公開內(nèi)核的RTLinux和 μCOS也是使用的熱點(diǎn)。清華大學(xué)出版社出版了《工業(yè)控制計(jì)算機(jī)實(shí)時(shí)操作系統(tǒng)》。國際上很有名的有關(guān)μCOS的專著《Micro C/OS-ii The Real Time Kernel》不久將在國內(nèi)翻譯出版。 RTOS會(huì)更加深入人心,嵌入式應(yīng)用軟件開發(fā)由匯編、C向 RTOS發(fā)展。[!--empirenews.page--]

二、 硬件設(shè)計(jì)

單片機(jī),即一個(gè)芯片就是一個(gè)計(jì)算機(jī),代表著計(jì)算機(jī)小型化的理想。隨著超大規(guī)模高速集成電路 VHSIC(Very High Speed Integrated Circuit)的發(fā)展,專用集成電路 ASIC(Application Special Integrated Circuit)設(shè)計(jì)已使片上系統(tǒng) SOC(System On a Chip)的設(shè)計(jì)與制造正在或已經(jīng)成為現(xiàn)實(shí)。單片機(jī)和SOC是硬件設(shè)計(jì)高度集成化的產(chǎn)物。高度集成可以增加系統(tǒng)的可靠性、縮小體積并降低成本。集成電路產(chǎn)品的集成度,目前仍然保持每18個(gè)月增長一倍的發(fā)展速度(摩爾定律),而產(chǎn)品的生命周期卻日趨縮短,因此,迫切要求提高ASIC芯片的設(shè)計(jì)速度。其中最重要的是盡可能重復(fù)運(yùn)用已有的設(shè)計(jì)成果,采用具有知識(shí)產(chǎn)權(quán)的功能單元塊,即IP核(Intelligence Property Core)。因此,必須重視IP核的開發(fā)和重用。在設(shè)計(jì)方法上運(yùn)用電子設(shè)計(jì)自動(dòng)化(EDA)工具,使用 VHDL和 Verilog硬件描述語言HDL(Hardware Description Language)進(jìn)行硬件的設(shè)計(jì)。VHDL支持行為級(jí)描述,并有IEEE 87和IEEE 93標(biāo)準(zhǔn),設(shè)計(jì)效率明顯高于Verilog,更加受歡迎。從集成電路的觀點(diǎn)看,單片機(jī)是IP核,常用接口芯嵌入式適合哪些專業(yè), 嵌入式技術(shù)吧, 嵌入式分布平臺(tái), 單片機(jī)和嵌入式區(qū)別, 棗莊嵌入式工程師, qt嵌入式環(huán)境移植, 嵌入式系統(tǒng)比賽作品, 墻壁嵌入式置物臺(tái), 嵌入式內(nèi)核版本, 嵌入式下載的軟件, 美式半嵌入式雙臺(tái)盆, 嵌入式計(jì)算機(jī)品牌, 嵌入式人機(jī)交互設(shè)計(jì), 什么叫嵌入式面試, 40歲學(xué)習(xí)嵌入式, 嵌入式和單片機(jī), 嵌入式系統(tǒng)怎么解釋, 嵌入式光管盤,

片 8255、8250、8279等也有類似功能的IP核。8051單片機(jī)得到Philips、Atmel等眾多廠商的支持也得益于其IP核的互換和轉(zhuǎn)讓。內(nèi)含CPU的可編程邏輯器件已列入集成電路生產(chǎn)廠家的生產(chǎn)計(jì)劃。模數(shù)混合的集成電路還存在設(shè)計(jì)制造難度。目前,嵌入式應(yīng)用硬件設(shè)計(jì)采用滿足要求的單片機(jī)是理想的選擇,采用CPU+PLD+AD/DA模式是明智的選擇。可編程邏輯器件的發(fā)展經(jīng)歷了由GAL/PAL、EPLD向 CPLD/FPGA(復(fù)雜可編程邏輯器件/現(xiàn)場可編程邏輯器件)發(fā)展,集成度越來越高。Lattice、Altera、Xilinx、AMD等公司提供可編程邏輯器件和EDA設(shè)計(jì)工具,支持HDL文本輸入和原理圖輸入,配備編輯、編譯、仿真、綜合、芯片編程等功能。通過在系統(tǒng)編程ISP(In System Programming)或稱在線下載,利用微機(jī)并口配有的下載電纜和可編程器件的JTAG接口相連,即可修改系統(tǒng)中PLD部分的設(shè)計(jì),實(shí)現(xiàn)硬件設(shè)計(jì)的軟化。系統(tǒng)定制電路部分的設(shè)計(jì)已從ASIC集成電路設(shè)計(jì)的殿堂變成電子工程師的必備知識(shí)。集成電路的設(shè)計(jì)和電子電路的設(shè)計(jì)在融合。當(dāng)然,單片機(jī)外接的簡單邏輯也可采用邏輯表達(dá)式和 ABEL語言設(shè)計(jì)GAL芯片或PSD器件實(shí)現(xiàn)。PSD器件上含有PLD、FLASH、EEPROM、RAM等,是單片機(jī)較理想的外接芯片,F(xiàn)內(nèi)置 FLASH的單片機(jī)也有帶JTAG或類似接口的產(chǎn)品,支持在線程序下載,生產(chǎn)廠家有 TI、Atmel、Microchip等。只須簡單的下載開發(fā)工具,大大方便了程序的開發(fā)和現(xiàn)場的修改。在線修改是電子設(shè)計(jì)的革命,是發(fā)展方向。硬件電路設(shè)計(jì)采用VHDL語言是發(fā)展趨勢。VHDL語言是電子工程師的必備知識(shí),VHDL語言比C語言還容易掌握。

國內(nèi)出版的VHDL書有:西安電子科技大學(xué)出版社的《VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)》(修訂版)、電子科技大學(xué)出版社的《VHDL實(shí)用教程》和清華大學(xué)出版社的《VHDL簡明教程》及《VHDL語言100例詳解》等。

三、 平臺(tái)模式

隨著計(jì)算機(jī)技術(shù)、微電子技術(shù)和網(wǎng)絡(luò)技術(shù)、軟件技術(shù)的不斷發(fā)展,人類社會(huì)正逐步進(jìn)入后PC時(shí)代,嵌入式應(yīng)用是當(dāng)今計(jì)算機(jī)發(fā)展的一個(gè)熱點(diǎn)。嵌入式應(yīng)用的從業(yè)人員來自各行各業(yè),技術(shù)背景參差不齊,很多還是非電子類專業(yè)。應(yīng)用的設(shè)計(jì)帶有很大的自主性、隨意性。低水平重復(fù)勞動(dòng)是制約產(chǎn)品設(shè)計(jì)水平的關(guān)鍵因素。20年來嵌入式應(yīng)用的發(fā)展,國內(nèi)業(yè)界已成一定氣候,嵌入式應(yīng)用設(shè)計(jì)亟待從隨意性設(shè)計(jì)轉(zhuǎn)入平臺(tái)開發(fā)模式。

平臺(tái)開發(fā)模式,即在一個(gè)設(shè)計(jì)集團(tuán)中,實(shí)行嚴(yán)格的標(biāo)準(zhǔn)化、系列化、規(guī)范化設(shè)計(jì),將某一類產(chǎn)品領(lǐng)域的基本硬件結(jié)構(gòu)及基本軟件形成產(chǎn)品的“統(tǒng)一機(jī)芯”,即基礎(chǔ)平臺(tái),并將基礎(chǔ)平臺(tái)相關(guān)的周邊擴(kuò)展電路及應(yīng)用軟件進(jìn)行優(yōu)化、篩選,形成基礎(chǔ)平臺(tái)的平臺(tái)庫資源。在開發(fā)新產(chǎn)品時(shí),利用基礎(chǔ)平臺(tái),并選擇平臺(tái)庫中的相關(guān)資源進(jìn)行。

嵌入式應(yīng)用設(shè)計(jì)亟待發(fā)展軟/硬IP產(chǎn)業(yè),完善軟/硬IP功能庫。專家?guī)旌瘮?shù)是廣義的軟IP,網(wǎng)絡(luò)應(yīng)用使用的TCP/IP協(xié)議軟件是典型的軟 IP.在平臺(tái)方式下,基礎(chǔ)軟硬件工作可解決在平臺(tái)之中。常用的外圍接口芯片8255、8250、8279等都可以做成類似功能的硬IP,軟件庫函數(shù)可包含它們的驅(qū)動(dòng)程序。鍵盤可規(guī)范成8鍵、4×4鍵、8×8鍵設(shè)計(jì),LED顯示可規(guī)范成8個(gè)或16個(gè)數(shù)碼管。顯示和鍵盤掃描可編成標(biāo)準(zhǔn)程序。嵌入式應(yīng)用的從業(yè)人員可互相借鑒交流 IP,建設(shè)自己的開發(fā)平臺(tái)。

基于平臺(tái)觀念的設(shè)計(jì)工具有我國東大阿爾派公司的NEST2000通用型嵌入式系統(tǒng)設(shè)計(jì)平臺(tái)和美國I-

Logix公司的基于UML的面向嵌入式應(yīng)用的軟件開發(fā)環(huán)境——Rhapsody.NEST2000面向信息終端類產(chǎn)品設(shè)計(jì),采用32位微處理器作為核心,支持FLASH、DRAM、SRAM等存儲(chǔ)器,具有LCD顯示、觸摸屏、語音、鍵盤、紅外調(diào)制解調(diào)器、條形碼閱讀器、IC卡等多種外圍接口模塊,其支撐軟件包括RTOS、網(wǎng)絡(luò)協(xié)議(TCP/IP)、圖形用戶接口(GUI)、嵌入式數(shù)據(jù)庫系統(tǒng)以及JAVA平臺(tái)等。硬件模塊可以方便地根據(jù)用戶的需求進(jìn)行選擇使用,軟件平臺(tái)提供它們的驅(qū)動(dòng)程序,在RTOS 之上提供給用戶應(yīng)用程序接口(API),可以最快速度地完成產(chǎn)品應(yīng)用軟件的開發(fā)。Phapsody采用迭代增量式軟件開發(fā)方法,支持可視化建模,支持基于模型調(diào)試。更令人驚訝的是,改變模型,代碼隨之改變,并可自動(dòng)生成可讀性好,可直接使用的C、C++、 JAVA語言代碼。隨著平臺(tái)觀念逐步深入人心,愿嵌入式應(yīng)用的設(shè)計(jì)人員都能建設(shè)平臺(tái)、使用平臺(tái),借鑒前人的設(shè)計(jì)開發(fā)經(jīng)驗(yàn),利用自己的技術(shù)儲(chǔ)備,以最快的速度推出新產(chǎn)品。

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表