當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]隨著嵌入式系統(tǒng)向體積更小、性能更高的方向發(fā)展,傳統(tǒng)的DIP(雙列直插)集成電路因體積龐大、元器件I/O引腳數(shù)量受封裝限制等缺陷,已逐漸淡出人們的視線。在嵌入式產(chǎn)品設(shè)計(jì)中,大量采用SMT貼片元器.

引言

隨著嵌入式系統(tǒng)向體積更小、性能更高的方向發(fā)展,傳統(tǒng)的DIP(雙列直插)集成電路因體積龐大、元器件I/O引腳數(shù)量受封裝限制等缺陷,已逐漸淡出人們的視線。在嵌入式產(chǎn)品設(shè)計(jì)中,大量采用SMT貼片元器件,既提高了性能,又節(jié)省了寶貴的空間。由于采用貼片元器件,無(wú)法將Flash存儲(chǔ)器等元器件從電路板上取下來(lái)單獨(dú)進(jìn)行編程。專用編程器的方式已經(jīng)很少采用,取而代之的是采用基于仿真器連接的JTAG接口的在線編程方式。這種在系統(tǒng)帶電編程的方式不受時(shí)間和空間的限制,隨時(shí)隨地都可進(jìn)行,且產(chǎn)品軟件版本升級(jí)容易。
在嵌入式系統(tǒng)中,為了實(shí)現(xiàn)程序的脫機(jī)自動(dòng)運(yùn)行,程序往往固化在電可擦除的Flash存儲(chǔ)器中。要實(shí)現(xiàn)一個(gè)嵌入式系統(tǒng)的帶電脫機(jī)運(yùn)行,在線編程就成為嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程的必經(jīng)之路。由于在線編程涉及到硬件和軟件方面的內(nèi)容,因此要從頂層設(shè)計(jì)和系統(tǒng)的角度來(lái)考慮在線編程。硬件設(shè)計(jì)要為軟件設(shè)計(jì)作鋪墊,盡可能簡(jiǎn)化軟件設(shè)計(jì)。

本文以TI公司的DSP芯片TMS320C6711D和AMD公司的4 Mb Flash存儲(chǔ)器AM29LV400B為例來(lái)介紹兩種在線編程方式。

1 DSP與Flash存儲(chǔ)器的兩種硬件連接關(guān)系

1.1 以Ready信號(hào)作為硬件握手

帶有Ready信號(hào)的TMS320C6711D的EMIF(Exterhal Memory Interface)接口與Flash存儲(chǔ)器AM29LV400B的硬件連接如圖1所示。由于AM29LV-400B輸出的就緒信號(hào)/忙信號(hào)()為OD(漏極開(kāi)路)輸出,需要在該信號(hào)上加上拉電阻并連接到VCC。

1.2 采用無(wú)Ready硬件連接的軟件握手

不帶Ready信號(hào)的TMS320C6711D與Flash存儲(chǔ)器AM29LV400B的硬件連接如圖2所示。

2 軟件設(shè)計(jì)

2.1 帶有硬件握手的軟件設(shè)計(jì)

帶有Ready信號(hào)連接的Flash存儲(chǔ)器編程時(shí)序如圖3所示。Flash的就緒信號(hào)/忙信號(hào)()輸出為低電平時(shí),表明Flash正忙,處于編程或擦除狀態(tài)。由于DSP與Flash存儲(chǔ)器采用Ready/Busy信號(hào)作為硬件握手信號(hào),當(dāng)Ready/Busy信號(hào)為低電平時(shí),CPU在總線時(shí)序上插入等待周期,直到Ready/Busy信號(hào)解除(為高電平)。在Ready信號(hào)為低電平期間,由于CPU處于等待狀態(tài),程序被暫停執(zhí)行,因此不需要通過(guò)軟件來(lái)判斷Flash存儲(chǔ)器的編程或擦除狀態(tài)。

Flash擦除函數(shù)如下:


2.2 帶有軟件握手的軟件設(shè)計(jì)

Flash的就緒信號(hào)/忙信號(hào)()輸出為低電平時(shí),表明Flash正忙,處于編程或擦除狀態(tài),此時(shí)寫(xiě)入或讀出的數(shù)據(jù)是無(wú)效的,不是程序員需要的數(shù)據(jù);當(dāng)該信號(hào)輸出為高電平時(shí),表明Flash已處于就緒狀態(tài),可對(duì)其進(jìn)行寫(xiě)入或讀出數(shù)據(jù)的操作。

由于DSP與Flash存儲(chǔ)器的接口采用軟件握手,在對(duì)Flash存儲(chǔ)器進(jìn)行編程或擦除時(shí),DSP的總線周期中不會(huì)由硬件自動(dòng)插入等待周期,如果此時(shí)仍采用2.1節(jié)的Flash編程函數(shù)對(duì)Flash存儲(chǔ)器進(jìn)行編程,則會(huì)得到錯(cuò)誤的編程結(jié)果。編程結(jié)束后會(huì)發(fā)現(xiàn)Flash存儲(chǔ)器中有一部分內(nèi)容仍然是0xFFFF,處于編程前的狀態(tài)。雖然對(duì)Flash存儲(chǔ)器進(jìn)行了編程操作,但由于Flash存儲(chǔ)器上一次編程操作還未完成,本次的編程操作無(wú)效,數(shù)據(jù)根本寫(xiě)不進(jìn)Flash存儲(chǔ)器。在CCS3.1中用“View/Memery”功能查看Flash存儲(chǔ)器,就會(huì)發(fā)現(xiàn)Flash存儲(chǔ)器中的數(shù)據(jù)等間隔地出現(xiàn)編程正確和編程不正確的現(xiàn)象。筆者在自己設(shè)計(jì)的TMS320C6711D-250嵌入式模塊(帶有AM29LV400B Flash存儲(chǔ)器)上,通過(guò)斷開(kāi)DSP與Flash存儲(chǔ)器的硬件Ready信號(hào)進(jìn)行編程測(cè)試,無(wú)等待狀態(tài)的測(cè)試結(jié)果見(jiàn)表1,有等待狀態(tài)的測(cè)試結(jié)果見(jiàn)表2。

可見(jiàn),在沒(méi)有硬件握手的情況下,需要通過(guò)軟件來(lái)判斷當(dāng)前Flash存儲(chǔ)器編程或擦除的狀態(tài)來(lái)進(jìn)行編程操作。如果Flash存儲(chǔ)器正處于編程或擦除過(guò)程中,則無(wú)法繼續(xù)對(duì)Flash存儲(chǔ)器進(jìn)行編程,需等到Flash存儲(chǔ)器上一次數(shù)據(jù)編程(寫(xiě)入)完成時(shí)才能進(jìn)行下一次數(shù)據(jù)編程(寫(xiě)入)。否則,會(huì)得到錯(cuò)誤的編程結(jié)果,造成編程后數(shù)據(jù)校驗(yàn)失敗。

大多數(shù)Flash存儲(chǔ)器都提供了一個(gè)或幾個(gè)狀態(tài)位來(lái)表示當(dāng)前Flash存儲(chǔ)器編程或擦除的狀態(tài),大多支持通過(guò)其數(shù)據(jù)總線D7數(shù)據(jù)位的狀態(tài)來(lái)判斷Flash存儲(chǔ)器當(dāng)前編程或擦除的狀態(tài)。這是大多數(shù)Flash存儲(chǔ)器數(shù)據(jù)手冊(cè)推薦的編程輪詢算法,但經(jīng)過(guò)筆者測(cè)試,這種算法比較繁瑣,會(huì)造成部分編程內(nèi)容不正確,可采用將編程數(shù)據(jù)讀出、與寫(xiě)入數(shù)據(jù)進(jìn)行比較的簡(jiǎn)單方法,實(shí)現(xiàn)軟件等待狀態(tài)的插入。

說(shuō)明:TMS320C6711D與AM29LV400B Flash存儲(chǔ)器采用16位數(shù)據(jù)連接,DSP EMIF CEl存儲(chǔ)器空間初始化為32位總線寬度(CEl端口連接16位Flash存儲(chǔ)器),讀取/寫(xiě)入Flash存儲(chǔ)器的32位數(shù)據(jù)中高16位無(wú)效。
帶有軟握手的Flash存儲(chǔ)器編程函數(shù)如下:

3 兩種在線編程方式的區(qū)別

在硬件上加入硬件握手的Flash存儲(chǔ)器在線編程方式設(shè)計(jì)簡(jiǎn)單,在應(yīng)用中只須考慮擦除和編程,而無(wú)須考慮Flash存儲(chǔ)器的當(dāng)前狀態(tài)。當(dāng)Flash存儲(chǔ)器正處于擦除和編程狀態(tài)而未完成時(shí),F(xiàn)lash存儲(chǔ)器產(chǎn)生的忙信號(hào)通過(guò)Flash存儲(chǔ)器與DSP之間的硬件連接直接送入DSP,由DSP硬件在其總線訪問(wèn)周期中自動(dòng)插入等待周期,暫停DSP處理器的執(zhí)行;當(dāng)Flash擦除和編程狀態(tài)完成時(shí),由Flash存儲(chǔ)器產(chǎn)生的就緒信號(hào)通過(guò)Flash存儲(chǔ)器與DSP之間的直接硬件連接將就緒信號(hào)送入DSP,解除DSP的等待狀態(tài),繼續(xù)程序的執(zhí)行。而采用軟件握手的Flash在線編程方式需要程序員在軟件中判斷Flash存儲(chǔ)器的當(dāng)前狀態(tài)。只有當(dāng)Flash存儲(chǔ)器擦除過(guò)程完成時(shí),才能對(duì)其進(jìn)行編程;當(dāng)Flash存儲(chǔ)器的一次編程(數(shù)據(jù)寫(xiě)入)過(guò)程完成時(shí),才能進(jìn)行下一次的編程(數(shù)據(jù)寫(xiě)入)。軟件設(shè)計(jì)繁瑣,且要經(jīng)過(guò)多次調(diào)試。

本站聲明: 本文章由作者或相關(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日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

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

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

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(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ì)開(kāi)幕式在貴陽(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)閉