<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 移動(dòng)計(jì)算SoC IP組件設(shè)計(jì)

          移動(dòng)計(jì)算SoC IP組件設(shè)計(jì)

          作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò) 收藏

          1 引言

          本文引用地址:http://www.ex-cimer.com/article/201706/349100.htm

            移動(dòng)操作或(mobile computing)原是通訊領(lǐng)域的研究方向,隨著數(shù)字技術(shù)和嵌入式計(jì)算技術(shù)的發(fā)展、應(yīng)用與融合,移動(dòng)操作已逐步成為嵌入式系統(tǒng)中很具發(fā)展?jié)摿Φ囊粋€(gè)領(lǐng)域[1]。(System on a Chip)是嵌入式系統(tǒng)的研究和開(kāi)發(fā)熱點(diǎn)[2],其運(yùn)用現(xiàn)代計(jì)算機(jī)和微電子學(xué)的高技術(shù),實(shí)現(xiàn)單片系統(tǒng)集成,減小了體積、提高了運(yùn)行效率、增強(qiáng)了可靠性、降低了功耗、減少了成本,被稱作嵌入式系統(tǒng)應(yīng)用的理想結(jié)構(gòu)。移動(dòng)操作和二者的結(jié)合開(kāi)拓出了嵌入式系統(tǒng)研究與應(yīng)用的新天地。為了解釋移動(dòng)操作的應(yīng)用,這里舉一個(gè)例子,如圖1所示。

          圖1 一種移動(dòng)操作SoC的工作示意圖

            在圖1中,移動(dòng)操作SoC被設(shè)置在汽車上,它通過(guò)GSM通信網(wǎng)絡(luò)和控制中心、住家建立通信聯(lián)系。車主能夠通過(guò)汽車上的移動(dòng)操作SoC控制住家的各種家用電器設(shè)備,如在回家的路上可以啟動(dòng)電飯煲和微波爐;也可以向控制中心發(fā)出咨詢和數(shù)據(jù)提取信息。同時(shí),車主可以通過(guò)移動(dòng)操作SoC對(duì)住家內(nèi)設(shè)置的保安系統(tǒng)、防火系統(tǒng)進(jìn)行檢查,及時(shí)發(fā)現(xiàn)問(wèn)題,并向控制中心求助。另一方面,住家的安全問(wèn)題信息也可以通過(guò)GSM傳遞給控制中心和車主,以便及時(shí)采取措施。

            當(dāng)車主在住家時(shí),汽車上的移動(dòng)操作SoC和車上的防盜系統(tǒng)連接,在發(fā)生汽車被盜事件時(shí),及時(shí)向車主和控制中心報(bào)警。

            由此可見(jiàn),在移動(dòng)通信日益發(fā)達(dá)的今天,移動(dòng)操作SoC必將成為嵌入式系統(tǒng)應(yīng)用研究新的熱點(diǎn)之一,有著廣闊的發(fā)展空間。

            2 移動(dòng)操作SoC的結(jié)構(gòu)

            作為SoC在移動(dòng)通信控制的分支,移動(dòng)操作SoC和一般的SoC在設(shè)計(jì)上是相似的。作為一個(gè)系統(tǒng)的核心,SoC要完成運(yùn)行、操作或控制功能,必須有相應(yīng)的組件配合。而多數(shù)組件,尤其是外部組件在SoC內(nèi)都要有一個(gè)對(duì)應(yīng)的控制器。所以,為了實(shí)現(xiàn)應(yīng)用對(duì)象操作,SoC要設(shè)計(jì)相當(dāng)數(shù)量的組件控制器。組件控制器的設(shè)計(jì),對(duì)SoC而言就是一些IP(Intellectual Property)組件的設(shè)計(jì)。由于可編程器件PLD具有簡(jiǎn)單易學(xué)、修改方便的特點(diǎn),常常被用來(lái)作為設(shè)計(jì)IP組件的硬件支撐。

            移動(dòng)操作SoC的基本結(jié)構(gòu)見(jiàn)圖2。在移動(dòng)操作SoC中,核心是嵌入式微處理器MPU。實(shí)際上,多數(shù)的MPU和是由MPU或PLD設(shè)計(jì)與開(kāi)發(fā)公司提供的,如MCS51系列的NIOS和32位的ARM系列MPU核,分別由Altera和Arm公司提供給用戶[3]。

          圖2 移動(dòng)操作SoC的基本結(jié)構(gòu)

            從用戶的角度來(lái)看,進(jìn)行SoC設(shè)計(jì)的主要工作是IP組件的設(shè)計(jì),以及系統(tǒng)的連接。盡管SoC的IP核分為硬核、軟核、固核,對(duì)于非專業(yè)集成電路設(shè)計(jì)的用戶來(lái)說(shuō),多數(shù)采用基于PLD的設(shè)計(jì)方法。也就是軟硬結(jié)合的IP固核設(shè)計(jì)。

            從圖2可以看出,移動(dòng)操作SoC的IP設(shè)計(jì)主要包括兩個(gè)部分:GSM接口IP組件和外部接口IP組件。其中GSM接口IP組件建立移動(dòng)操作SoC和GSM網(wǎng)絡(luò)的通信聯(lián)系和相應(yīng)的數(shù)據(jù)變換;外部接口IP組件則負(fù)責(zé)SoC與外部設(shè)備間的數(shù)據(jù)聯(lián)系,并對(duì)某些外部設(shè)備器驅(qū)動(dòng)控制作用。

            相對(duì)來(lái)說(shuō),外部接口IP組件包含的內(nèi)容更豐富。因?yàn)椋@類IP組件對(duì)應(yīng)的外部設(shè)備范圍較廣,而GSM接口IP組件只對(duì)應(yīng)GSM網(wǎng)絡(luò)。對(duì)一個(gè)嵌入了移動(dòng)操作SoC的電子產(chǎn)品而言,常用的外部設(shè)備包括鍵盤(pán)、顯示、外部存儲(chǔ)器和鳴響器件等。無(wú)論是鍵盤(pán)、顯示、外部存儲(chǔ)器,還是鳴響器件,其相應(yīng)的IP組件都具有一定驅(qū)動(dòng)控制功能。

            基于PLD設(shè)計(jì)SoC的IP組件是較常用的方法。目前,應(yīng)用較多PLD器件是FPGA和CPLD,本文中介紹的IP組件設(shè)計(jì)是在基于VHDL編程的FPGA上完成的[4]。

            3 移動(dòng)操作SoC的IP組件設(shè)計(jì)

            外部接口IP組件是移動(dòng)操作SoC應(yīng)用中常用且范圍較廣的IP組件。外部數(shù)據(jù)存儲(chǔ)器是SoC的一種常用外部設(shè)備。為了實(shí)現(xiàn)SoC對(duì)外部數(shù)據(jù)存儲(chǔ)器的高效管理,要設(shè)計(jì)一個(gè)外部數(shù)據(jù)存儲(chǔ)器IP組件。這個(gè)組件被命名為ram_fct。外部數(shù)據(jù)存儲(chǔ)器IP組件結(jié)構(gòu)可參考圖3。

            對(duì)照?qǐng)D2,圖3中的ram_fct是外部數(shù)據(jù)存儲(chǔ)器的IP組件,處于外部數(shù)據(jù)存儲(chǔ)器和嵌入式MPU之間,通過(guò)數(shù)據(jù)(datain)、地址線(addrin)、控制(reset, write_e)和信號(hào)線(clk)等與MPU建立聯(lián)系。

          圖3 外部RAM IP組件的結(jié)構(gòu)



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();